summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorJeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>2014-12-02 15:30:35 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:41:43 (GMT)
commit61e11f34ac77956187358ff3b2984e9ecc6ac580 (patch)
treeb2ce298529acafd239684c3b4e22f6335376813a /drivers/staging
parent68c62733d873ca6a1410d7e6f9020512a5c0af07 (diff)
downloadlinux-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>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/fsl_qbman/bman_config.c6
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);