From 61e11f34ac77956187358ff3b2984e9ecc6ac580 Mon Sep 17 00:00:00 2001 From: Jeffrey Ladouceur Date: Tue, 2 Dec 2014 10:30:35 -0500 Subject: 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 Reviewed-on: http://git.am.freescale.net:8181/24834 Tested-by: Review Code-CDREVIEW Reviewed-by: Haiying Wang Reviewed-by: Roy Pledge Reviewed-by: Geoff Thorpe Reviewed-by: Matthew Weigel 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); -- cgit v0.10.2