public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Omar Ramirez Luna <omar.ramirez@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>
Cc: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
	Ameya Palande <ameya.palande@nokia.com>,
	Felipe Contreras <felipe.contreras@nokia.com>,
	Fernando Guzman <x0095840@ti.com>, Ernesto Ramos <ernesto@ti.com>,
	Omar Ramirez Luna <omar.ramirez@ti.com>
Subject: [PATCHv2 06/18] DSPBRIDGE: set PWRERROR notifications as an option
Date: Wed, 16 Dec 2009 20:15:51 -0600	[thread overview]
Message-ID: <1261016163-11091-7-git-send-email-omar.ramirez@ti.com> (raw)
In-Reply-To: <1261016163-11091-6-git-send-email-omar.ramirez@ti.com>

This patch enables/disables the option to register to be
notified about bridge driver PWR errors, generally caused
because the timer expires waiting for the dsp to change from
active to retention or hibernation.

This event, if enabled, will be signaled as a fatal error,
bridge driver will be unusable until a recovery method
cleans the error state.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 drivers/dsp/bridge/Kconfig              |   11 +++++++++++
 drivers/dsp/bridge/wmd/tiomap3430_pwr.c |    4 ++++
 drivers/dsp/bridge/wmd/ue_deh.c         |    2 ++
 3 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/dsp/bridge/Kconfig b/drivers/dsp/bridge/Kconfig
index 2fed82c..e494f02 100644
--- a/drivers/dsp/bridge/Kconfig
+++ b/drivers/dsp/bridge/Kconfig
@@ -34,3 +34,14 @@ config BRIDGE_DEBUG
 	depends on MPU_BRIDGE
 	help
 	  Say Y to enable Bridge debugging capabilities
+
+comment "Bridge Notifications"
+	depends on MPU_BRIDGE
+
+config BRIDGE_NTFY_PWRERR
+	bool "Notify DSP Power Error"
+	depends on MPU_BRIDGE
+	help
+	  Enable notifications to registered clients on the event of power errror
+	  trying to suspend bridge driver. Say Y, to signal this event as a fatal
+	  error, this will require a bridge restart to recover.
diff --git a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
index f30da74..2d7be1c 100644
--- a/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
+++ b/drivers/dsp/bridge/wmd/tiomap3430_pwr.c
@@ -192,7 +192,9 @@ DSP_STATUS SleepDSP(struct WMD_DEV_CONTEXT *pDevContext, IN u32 dwCmd,
 	DSP_STATUS status = DSP_SOK;
 #ifdef CONFIG_PM
 	struct CFG_HOSTRES resources;
+#ifdef CONFIG_BRIDGE_NTFY_PWRERR
 	struct DEH_MGR *hDehMgr;
+#endif /* CONFIG_BRIDGE_NTFY_PWRERR */
 	u16 usCount = TIHELEN_ACKTIMEOUT;
 	enum HW_PwrState_t pwrState, targetPwrState;
 
@@ -267,8 +269,10 @@ DSP_STATUS SleepDSP(struct WMD_DEV_CONTEXT *pDevContext, IN u32 dwCmd,
 	if (!usCount) {
 		DBG_Trace(DBG_LEVEL7, "SleepDSP: Timed out Waiting for DSP"
 			 " STANDBY %x \n", pwrState);
+#ifdef CONFIG_BRIDGE_NTFY_PWRERR
 		DEV_GetDehMgr(pDevContext->hDevObject, &hDehMgr);
 		WMD_DEH_Notify(hDehMgr, DSP_PWRERROR, 0);
+#endif /* CONFIG_BRIDGE_NTFY_PWRERR */
 		return WMD_E_TIMEOUT;
 	} else {
 		DBG_Trace(DBG_LEVEL7, "SleepDSP: DSP STANDBY Pwr state %x \n",
diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 483a9c3..d6d6043 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -280,6 +280,7 @@ DBG_Trace(DBG_LEVEL6, "WMD_DEH_Notify: DSP_MMUFAULT, "
 			HW_MMU_EventAck(resources.dwDmmuBase,
 					 HW_MMU_TRANSLATION_FAULT);
 			break;
+#ifdef CONFIG_BRIDGE_NTFY_PWRERR
 		case DSP_PWRERROR:
 			/* reset errInfo structure before use */
 			pDehMgr->errInfo.dwErrMask = DSP_PWRERROR;
@@ -290,6 +291,7 @@ DBG_Trace(DBG_LEVEL6, "WMD_DEH_Notify: DSP_MMUFAULT, "
 			printk(KERN_ERR "WMD_DEH_Notify: DSP_PWRERROR, errInfo "
 					"= 0x%x\n", dwErrInfo);
 			break;
+#endif /* CONFIG_BRIDGE_NTFY_PWRERR */
 		default:
 			DBG_Trace(DBG_LEVEL6,
 				 "WMD_DEH_Notify: Unknown Error, errInfo = "
-- 
1.6.2.4


  reply	other threads:[~2009-12-17  2:08 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-17  2:15 [PATCHv2 00/18] First set of unreviewed patches Omar Ramirez Luna
2009-12-17  2:15 ` [PATCHv2 01/18] DSPBRIDGE: Fix compile break for WCD debug mask Omar Ramirez Luna
2009-12-17  2:15   ` [PATCHv2 02/18] DSPBRIDGE: enable smart/autoidle for mailbox sysconfig Omar Ramirez Luna
2009-12-17  2:15     ` [PATCHv2 03/18] DSPBRIDGE: Remove preproessor condition that could never work Omar Ramirez Luna
2009-12-17  2:15       ` [PATCHv2 04/18] DSPBRIDGE: Implemented Trampoline support for dynamic loader Omar Ramirez Luna
2009-12-17  2:15         ` [PATCHv2 05/18] DSPBRIDGE: Enable/Disable MCBSP_CLOCKS for MCBSP2 Omar Ramirez Luna
2009-12-17  2:15           ` Omar Ramirez Luna [this message]
2009-12-17  2:15             ` [PATCHv2 07/18] DSPBRIDGE: Enable peripheral clocks on wake up Omar Ramirez Luna
2009-12-17  2:15               ` [PATCHv2 08/18] DSPBRIDGE: Remove long busy-wait loops on PWRST transitions Omar Ramirez Luna
2009-12-17  2:15                 ` [PATCHv2 09/18] DSPBRIDGE: Rename usCount to timeout Omar Ramirez Luna
2009-12-17  2:15                   ` [PATCHv2 10/18] DSPBRIDGE: Trivial cleanup on DBDCD Omar Ramirez Luna
2009-12-17  2:15                     ` [PATCHv2 11/18] DSPBRIDGE: Do not panic on bad page count Omar Ramirez Luna
2009-12-17  2:15                       ` [PATCHv2 12/18] DSPBRIDGE: support loading 4 dependent DLL Omar Ramirez Luna
2009-12-17  2:15                         ` [PATCHv2 13/18] DSPBRIDGE: Memory leak in Node Register Notify Omar Ramirez Luna
2009-12-17  2:15                           ` [PATCHv2 14/18] DSPBRIDGE: check pointer before calling Proc_Detach Omar Ramirez Luna
2009-12-17  2:16                             ` [PATCHv2 15/18] DSPBRIDGE: check the status of DMM_GetHandle Omar Ramirez Luna
2009-12-17  2:16                               ` [PATCHv2 16/18] DSPBRIDGE: KFILE_Seek & KFILE_Tell, u32 replaced with loff_t Omar Ramirez Luna
2009-12-17  2:16                                 ` [PATCHv2 17/18] DSPBRIDGE: Delete unused files Omar Ramirez Luna
2009-12-17  2:16                                   ` [PATCHv2 18/18] DSPBRIDGE: Compilation fixes 2.6.31 Omar Ramirez Luna
2009-12-18 17:44                                     ` [PATCH 0/2] dsp-bridge: PM cleanups Felipe Contreras
2009-12-18 17:44                                     ` [PATCH 1/2] dsp-bridge: improve PM conditional code Felipe Contreras
2009-12-18 17:44                                     ` [PATCH 2/2] dsp-bridge: remove unused includes Felipe Contreras
2009-12-18 17:48                                     ` [PATCHv2 18/18] DSPBRIDGE: Compilation fixes 2.6.31 Felipe Contreras
2009-12-18 21:50                                       ` Ramirez Luna, Omar
2009-12-22 13:13 ` [PATCHv2 00/18] First set of unreviewed patches Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1261016163-11091-7-git-send-email-omar.ramirez@ti.com \
    --to=omar.ramirez@ti.com \
    --cc=Hiroshi.DOYU@nokia.com \
    --cc=ameya.palande@nokia.com \
    --cc=ernesto@ti.com \
    --cc=felipe.contreras@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=x0095840@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox