diff options
author | Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> | 2014-12-02 15:30:35 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:41:43 (GMT) |
commit | 61e11f34ac77956187358ff3b2984e9ecc6ac580 (patch) | |
tree | b2ce298529acafd239684c3b4e22f6335376813a | |
parent | 68c62733d873ca6a1410d7e6f9020512a5c0af07 (diff) | |
download | linux-fsl-qoriq-61e11f34ac77956187358ff3b2984e9ecc6ac580.tar.xz |
qbman: Add bman version check when reading idle register
The STATE_IDLE register was added to BMan hw version 2.1.0
Anything earlier than this will return undefined value.
This is required in order to not abort suspend phase due to false information
Change-Id: I055b37571fc7d500018e8a736cbfffc8e5920f3f
Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/24834
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com>
Reviewed-by: Roy Pledge <roy.pledge@freescale.com>
Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
-rw-r--r-- | drivers/staging/fsl_qbman/bman_config.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/staging/fsl_qbman/bman_config.c b/drivers/staging/fsl_qbman/bman_config.c index b52f77b..07f6e2f 100644 --- a/drivers/staging/fsl_qbman/bman_config.c +++ b/drivers/staging/fsl_qbman/bman_config.c @@ -678,6 +678,12 @@ static int bman_pm_suspend_noirq(struct device *dev) bm_err_isr_disable_write(bm, 0xffffffff); bm_err_isr_status_clear(bm, 0xffffffff); + if (bman_ip_rev < BMAN_REV21) { +#ifdef CONFIG_PM_DEBUG + pr_info("Bman version doesn't have STATE_IDLE\n"); +#endif + return 0; + } idle_state = bm_in(STATE_IDLE); if (!(idle_state & 0x1)) { pr_err("Bman not idle 0x%x aborting\n", idle_state); |