public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] dsp-bridge: deh: general cleanups
@ 2010-03-23 21:25 Felipe Contreras
  2010-03-23 21:25 ` [PATCH 01/10] dsp-bridge: deh: remove obvious comments Felipe Contreras
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Hi,

While trying to fix the recovery feature I stumbled many areas of improvments
in 'deh' (whatever that means).

I quickly tested tesed these changes in Nokia hw, there should be essentially
no functional changes.

Cheers.

Felipe Contreras (10):
  dsp-bridge: deh: remove obvious comments
  dsp-bridge: deh: trivial cleanups
  dsp-bridge: deh: remove unnecessary casts
  dsp-bridge: deh: improve logging stuff
  dsp-bridge: deh: report mmu faults as errors
  dsp-bridge: deh: decrease nesting levels
  dsp-bridge: deh: fix obvious return codes
  dsp-bridge: deh: reorganize create()
  dsp-bridge: deh: fix hdeh_mgr silliness
  dsp-bridge: deh: fix dummy_va_addr

 arch/arm/plat-omap/include/dspbridge/wmddeh.h |   24 +-
 drivers/dsp/bridge/wmd/ue_deh.c               |  392 +++++++++++--------------
 2 files changed, 191 insertions(+), 225 deletions(-)


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 01/10] dsp-bridge: deh: remove obvious comments
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 02/10] dsp-bridge: deh: trivial cleanups Felipe Contreras
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

They are weirdly formatted and don't provide any useful information.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |   25 +------------------------
 1 files changed, 1 insertions(+), 24 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 5edcce9..8d44180 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -60,10 +60,7 @@ static struct hw_mmu_map_attrs_t map_attrs = { HW_LITTLE_ENDIAN,
 #define VIRT_TO_PHYS(x)       ((x) - PAGE_OFFSET + PHYS_OFFSET)
 
 static u32 dummy_va_addr;
-/*
- *  ======== bridge_deh_create ========
- *      Creates DEH manager object.
- */
+
 dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
 			     struct dev_object *hdev_obj)
 {
@@ -126,10 +123,6 @@ dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
 	return status;
 }
 
-/*
- *  ======== bridge_deh_destroy ========
- *      Destroys DEH manager object.
- */
 dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 {
 	dsp_status status = DSP_SOK;
@@ -154,10 +147,6 @@ dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 	return status;
 }
 
-/*
- *  ======== bridge_deh_register_notify ========
- *      Registers for DEH notifications.
- */
 dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
 				   u32 notify_type,
 				   struct dsp_notification *hnotification)
@@ -173,10 +162,6 @@ dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
 	return status;
 }
 
-/*
- *  ======== bridge_deh_notify ========
- *      DEH error notification function. Informs user about the error.
- */
 void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 {
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
@@ -290,10 +275,6 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 	}
 }
 
-/*
- *  ======== bridge_deh_get_info ========
- *      Retrieves error information.
- */
 dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
 			    struct dsp_errorinfo *pErrInfo)
 {
@@ -317,10 +298,6 @@ dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
 	return status;
 }
 
-/*
- *  ======== bridge_deh_release_dummy_mem ========
- *      Releases memory allocated for dummy page
- */
 void bridge_deh_release_dummy_mem(void)
 {
 	kfree((void *)dummy_va_addr);
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 02/10] dsp-bridge: deh: trivial cleanups
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
  2010-03-23 21:25 ` [PATCH 01/10] dsp-bridge: deh: remove obvious comments Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-24  0:04   ` Omar Ramirez Luna
  2010-03-23 21:25 ` [PATCH 03/10] dsp-bridge: deh: remove unnecessary casts Felipe Contreras
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Mostly white-space formatting.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 arch/arm/plat-omap/include/dspbridge/wmddeh.h |   16 ++--
 drivers/dsp/bridge/wmd/ue_deh.c               |  111 +++++++++++++-----------
 2 files changed, 68 insertions(+), 59 deletions(-)

diff --git a/arch/arm/plat-omap/include/dspbridge/wmddeh.h b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
index 0152c43..e193029 100644
--- a/arch/arm/plat-omap/include/dspbridge/wmddeh.h
+++ b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
@@ -27,22 +27,22 @@
 
 #include <dspbridge/dehdefs.h>
 
-extern dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
-				    struct dev_object *hdev_obj);
+extern dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
+		struct dev_object *hdev_obj);
 
 extern dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr);
 
 extern dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
-				   struct dsp_errorinfo *pErrInfo);
+		struct dsp_errorinfo *pErrInfo);
 
 extern dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr,
-					  u32 event_mask,
-					  u32 notify_type,
-					  struct dsp_notification
-					  *hnotification);
+		u32 event_mask,
+		u32 notify_type,
+		struct dsp_notification *hnotification);
 
 extern void bridge_deh_notify(struct deh_mgr *hdeh_mgr,
-			      u32 ulEventMask, u32 dwErrInfo);
+		u32 ulEventMask, u32 dwErrInfo);
 
 extern void bridge_deh_release_dummy_mem(void);
+
 #endif /* WMDDEH_ */
diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 8d44180..284f378 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -52,7 +52,8 @@
 #include "_tiomap_pwr.h"
 #include <dspbridge/io_sm.h>
 
-static struct hw_mmu_map_attrs_t map_attrs = { HW_LITTLE_ENDIAN,
+static struct hw_mmu_map_attrs_t map_attrs = {
+	HW_LITTLE_ENDIAN,
 	HW_ELEM_SIZE16BIT,
 	HW_MMU_CPUES
 };
@@ -61,8 +62,8 @@ static struct hw_mmu_map_attrs_t map_attrs = { HW_LITTLE_ENDIAN,
 
 static u32 dummy_va_addr;
 
-dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
-			     struct dev_object *hdev_obj)
+dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
+		struct dev_object *hdev_obj)
 {
 	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = NULL;
@@ -70,9 +71,12 @@ dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
 	struct cfg_devnode *dev_node_obj;
 	struct wmd_dev_context *hwmd_context = NULL;
 
-	/*  Message manager will be created when a file is loaded, since
-	 *  size of message buffer in shared memory is configurable in
-	 *  the base image. */
+	/*
+	 * Message manager will be created when a file is loaded, since size
+	 * of message buffer in shared memory is configurable in the base
+	 * image.
+	 */
+
 	/* Get WMD context info. */
 	dev_get_wmd_context(hdev_obj, &hwmd_context);
 	DBC_ASSERT(hwmd_context);
@@ -87,14 +91,14 @@ dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
 
 		/* Create a MMUfault DPC */
 		tasklet_init(&deh_mgr_obj->dpc_tasklet, mmu_fault_dpc,
-			     (u32) deh_mgr_obj);
+				(u32) deh_mgr_obj);
 
 		if (DSP_SUCCEEDED(status))
 			status = dev_get_dev_node(hdev_obj, &dev_node_obj);
 
 		if (DSP_SUCCEEDED(status))
 			status =
-			    cfg_get_host_resources(dev_node_obj, &cfg_host_res);
+				cfg_get_host_resources(dev_node_obj, &cfg_host_res);
 
 		if (DSP_SUCCEEDED(status)) {
 			/* Fill in context structure */
@@ -105,8 +109,8 @@ dsp_status bridge_deh_create(OUT struct deh_mgr **phDehMgr,
 			deh_mgr_obj->err_info.dw_val3 = 0L;
 			/* Install ISR function for DSP MMU fault */
 			if ((request_irq(INT_DSP_MMU_IRQ, mmu_fault_isr, 0,
-					 "DspBridge\tiommu fault",
-					 (void *)deh_mgr_obj)) == 0)
+							"DspBridge\tiommu fault",
+							(void *)deh_mgr_obj)) == 0)
 				status = DSP_SOK;
 			else
 				status = DSP_EFAIL;
@@ -148,15 +152,15 @@ dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 }
 
 dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
-				   u32 notify_type,
-				   struct dsp_notification *hnotification)
+		u32 notify_type,
+		struct dsp_notification *hnotification)
 {
 	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
 	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
 		status = ntfy_register(deh_mgr_obj->ntfy_obj, hnotification,
-				       event_mask, notify_type);
+				event_mask, notify_type);
 	}
 
 	return status;
@@ -174,15 +178,15 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 	hw_status hw_status_obj;
 
 	status = cfg_get_host_resources((struct cfg_devnode *)
-					drv_get_first_dev_extension(),
-					&resources);
+			drv_get_first_dev_extension(),
+			&resources);
 
 	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
 		printk(KERN_INFO
-		       "bridge_deh_notify: ********** DEVICE EXCEPTION "
-		       "**********\n");
+				"bridge_deh_notify: ********** DEVICE EXCEPTION "
+				"**********\n");
 		dev_context =
-		    (struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
+			(struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
 
 		switch (ulEventMask) {
 		case DSP_SYSERROR:
@@ -193,54 +197,57 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			deh_mgr_obj->err_info.dw_val3 = 0L;
 			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
 			printk(KERN_ERR
-			       "bridge_deh_notify: DSP_SYSERROR, err_info "
-			       "= 0x%x\n", dwErrInfo);
+					"bridge_deh_notify: DSP_SYSERROR, err_info "
+					"= 0x%x\n", dwErrInfo);
 			break;
 		case DSP_MMUFAULT:
-			/* MMU fault routine should have set err info
-			 * structure */
+			/*
+			 * MMU fault routine should have set err info
+			 * structure.
+			 */
 			deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
 			printk(KERN_INFO "bridge_deh_notify: DSP_MMUFAULT,"
-			       "err_info = 0x%x\n", dwErrInfo);
+					"err_info = 0x%x\n", dwErrInfo);
 			printk(KERN_INFO
-			       "bridge_deh_notify: DSP_MMUFAULT, High "
-			       "Address = 0x%x\n",
-			       (unsigned int)deh_mgr_obj->err_info.dw_val1);
+					"bridge_deh_notify: DSP_MMUFAULT, High "
+					"Address = 0x%x\n",
+					(unsigned int)deh_mgr_obj->err_info.dw_val1);
 			printk(KERN_INFO "bridge_deh_notify: DSP_MMUFAULT, Low "
-			       "Address = 0x%x\n",
-			       (unsigned int)deh_mgr_obj->err_info.dw_val2);
+					"Address = 0x%x\n",
+					(unsigned int)deh_mgr_obj->err_info.dw_val2);
 			printk(KERN_INFO
-			       "bridge_deh_notify: DSP_MMUFAULT, fault "
-			       "address = 0x%x\n", (unsigned int)fault_addr);
+					"bridge_deh_notify: DSP_MMUFAULT, fault "
+					"address = 0x%x\n", (unsigned int)fault_addr);
 			dummy_va_addr =
-			    (u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
+				(u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
 			mem_physical =
-			    VIRT_TO_PHYS(PG_ALIGN_LOW
-					 ((u32) dummy_va_addr, PG_SIZE4K));
+				VIRT_TO_PHYS(PG_ALIGN_LOW
+						((u32) dummy_va_addr, PG_SIZE4K));
 			dev_context = (struct wmd_dev_context *)
-			    deh_mgr_obj->hwmd_context;
-			/* Reset the dynamic mmu index to fixed count if it
+				deh_mgr_obj->hwmd_context;
+			/*
+			 * Reset the dynamic mmu index to fixed count if it
 			 * exceeds 31. So that the dynmmuindex is always
-			 * between the range of standard/fixed entries
-			 * and 31. */
+			 * between the range of standard/fixed entries and 31.
+			 */
 			if (dev_context->num_tlb_entries >
-			    hw_mmu_max_tlb_count) {
+					hw_mmu_max_tlb_count) {
 				dev_context->num_tlb_entries =
-				    dev_context->fixed_tlb_entries;
+					dev_context->fixed_tlb_entries;
 			}
 			if (DSP_SUCCEEDED(status)) {
 				hw_status_obj =
-				    hw_mmu_tlb_add(resources.dw_dmmu_base,
-						   mem_physical, fault_addr,
-						   HW_PAGE_SIZE4KB, 1,
-						   &map_attrs, HW_SET, HW_SET);
+					hw_mmu_tlb_add(resources.dw_dmmu_base,
+							mem_physical, fault_addr,
+							HW_PAGE_SIZE4KB, 1,
+							&map_attrs, HW_SET, HW_SET);
 			}
 			/* send an interrupt to DSP */
 			hw_mbox_msg_write(resources.dw_mbox_base, MBOX_ARM2DSP,
-					  MBX_DEH_CLASS | MBX_DEH_EMMU);
+					MBX_DEH_CLASS | MBX_DEH_EMMU);
 			/* Clear MMU interrupt */
 			hw_mmu_event_ack(resources.dw_dmmu_base,
-					 HW_MMU_TRANSLATION_FAULT);
+					HW_MMU_TRANSLATION_FAULT);
 			break;
 #ifdef CONFIG_BRIDGE_NTFY_PWRERR
 		case DSP_PWRERROR:
@@ -251,13 +258,13 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			deh_mgr_obj->err_info.dw_val3 = 0L;
 			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
 			printk(KERN_ERR
-			       "bridge_deh_notify: DSP_PWRERROR, err_info "
-			       "= 0x%x\n", dwErrInfo);
+					"bridge_deh_notify: DSP_PWRERROR, err_info "
+					"= 0x%x\n", dwErrInfo);
 			break;
 #endif /* CONFIG_BRIDGE_NTFY_PWRERR */
 		default:
 			dev_dbg(bridge, "%s: Unknown Error, err_info = 0x%x\n",
-				__func__, dwErrInfo);
+					__func__, dwErrInfo);
 			break;
 		}
 
@@ -276,7 +283,7 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 }
 
 dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
-			    struct dsp_errorinfo *pErrInfo)
+		struct dsp_errorinfo *pErrInfo)
 {
 	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
@@ -285,8 +292,10 @@ dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
 	DBC_REQUIRE(pErrInfo);
 
 	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		/* Copy DEH error info structure to PROC error info
-		 * structure. */
+		/*
+		 * Copy DEH error info structure to PROC error info
+		 * structure.
+		 */
 		pErrInfo->dw_err_mask = deh_mgr_obj->err_info.dw_err_mask;
 		pErrInfo->dw_val1 = deh_mgr_obj->err_info.dw_val1;
 		pErrInfo->dw_val2 = deh_mgr_obj->err_info.dw_val2;
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 03/10] dsp-bridge: deh: remove unnecessary casts
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
  2010-03-23 21:25 ` [PATCH 01/10] dsp-bridge: deh: remove obvious comments Felipe Contreras
  2010-03-23 21:25 ` [PATCH 02/10] dsp-bridge: deh: trivial cleanups Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 04/10] dsp-bridge: deh: improve logging stuff Felipe Contreras
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 284f378..fae036f 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -137,7 +137,7 @@ dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 		bridge_deh_release_dummy_mem();
 		/* If notification object exists, delete it */
 		if (deh_mgr_obj->ntfy_obj)
-			(void)ntfy_delete(deh_mgr_obj->ntfy_obj);
+			ntfy_delete(deh_mgr_obj->ntfy_obj);
 		/* Disable DSP MMU fault */
 		free_irq(INT_DSP_MMU_IRQ, deh_mgr_obj);
 
@@ -275,7 +275,7 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 		/* Set the Board state as ERROR */
 		dev_context->dw_brd_state = BRD_ERROR;
 		/* Disable all the clocks that were enabled by DSP */
-		(void)dsp_peripheral_clocks_disable(dev_context, NULL);
+		dsp_peripheral_clocks_disable(dev_context, NULL);
 		/* Call DSP Trace Buffer */
 		print_dsp_trace_buffer(hdeh_mgr->hwmd_context);
 
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 04/10] dsp-bridge: deh: improve logging stuff
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (2 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 03/10] dsp-bridge: deh: remove unnecessary casts Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 05/10] dsp-bridge: deh: report mmu faults as errors Felipe Contreras
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Get rid of printk, use dev_foo, and prettify the output.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |   33 ++++++++++++---------------------
 1 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index fae036f..0c29442 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -182,9 +182,7 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			&resources);
 
 	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		printk(KERN_INFO
-				"bridge_deh_notify: ********** DEVICE EXCEPTION "
-				"**********\n");
+		dev_info(bridge, "%s: device exception\n", __func__);
 		dev_context =
 			(struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
 
@@ -196,9 +194,8 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			deh_mgr_obj->err_info.dw_val2 = 0L;
 			deh_mgr_obj->err_info.dw_val3 = 0L;
 			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
-			printk(KERN_ERR
-					"bridge_deh_notify: DSP_SYSERROR, err_info "
-					"= 0x%x\n", dwErrInfo);
+			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
+					__func__, "DSP_SYSERROR", dwErrInfo);
 			break;
 		case DSP_MMUFAULT:
 			/*
@@ -206,18 +203,13 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			 * structure.
 			 */
 			deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
-			printk(KERN_INFO "bridge_deh_notify: DSP_MMUFAULT,"
-					"err_info = 0x%x\n", dwErrInfo);
-			printk(KERN_INFO
-					"bridge_deh_notify: DSP_MMUFAULT, High "
-					"Address = 0x%x\n",
-					(unsigned int)deh_mgr_obj->err_info.dw_val1);
-			printk(KERN_INFO "bridge_deh_notify: DSP_MMUFAULT, Low "
-					"Address = 0x%x\n",
-					(unsigned int)deh_mgr_obj->err_info.dw_val2);
-			printk(KERN_INFO
-					"bridge_deh_notify: DSP_MMUFAULT, fault "
-					"address = 0x%x\n", (unsigned int)fault_addr);
+			dev_info(bridge, "%s: %s, err_info = 0x%x\n",
+					__func__, "DSP_MMUFAULT", dwErrInfo);
+			dev_info(bridge, "%s: %s, high=0x%x, low=0x%x, fault=0x%x\n",
+					__func__, "DSP_MMUFAULT",
+					(unsigned int) deh_mgr->err_info.dw_val1,
+					(unsigned int) deh_mgr->err_info.dw_val2,
+					(unsigned int) fault_addr);
 			dummy_va_addr =
 				(u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
 			mem_physical =
@@ -257,9 +249,8 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			deh_mgr_obj->err_info.dw_val2 = 0L;
 			deh_mgr_obj->err_info.dw_val3 = 0L;
 			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
-			printk(KERN_ERR
-					"bridge_deh_notify: DSP_PWRERROR, err_info "
-					"= 0x%x\n", dwErrInfo);
+			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
+					__func__, "DSP_PWRERROR", dwErrInfo);
 			break;
 #endif /* CONFIG_BRIDGE_NTFY_PWRERR */
 		default:
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 05/10] dsp-bridge: deh: report mmu faults as errors
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (3 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 04/10] dsp-bridge: deh: improve logging stuff Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 06/10] dsp-bridge: deh: decrease nesting levels Felipe Contreras
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 0c29442..4708c10 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -203,7 +203,7 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			 * structure.
 			 */
 			deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
-			dev_info(bridge, "%s: %s, err_info = 0x%x\n",
+			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
 					__func__, "DSP_MMUFAULT", dwErrInfo);
 			dev_info(bridge, "%s: %s, high=0x%x, low=0x%x, fault=0x%x\n",
 					__func__, "DSP_MMUFAULT",
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 06/10] dsp-bridge: deh: decrease nesting levels
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (4 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 05/10] dsp-bridge: deh: report mmu faults as errors Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 07/10] dsp-bridge: deh: fix obvious return codes Felipe Contreras
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |  293 +++++++++++++++++++--------------------
 1 files changed, 145 insertions(+), 148 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 4708c10..0a03e09 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -85,37 +85,44 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 	MEM_ALLOC_OBJECT(deh_mgr_obj, struct deh_mgr, SIGNATURE);
 	if (deh_mgr_obj == NULL) {
 		status = DSP_EMEMORY;
-	} else {
-		/* Create an NTFY object to manage notifications */
-		status = ntfy_create(&deh_mgr_obj->ntfy_obj);
+		goto leave;
+	}
 
-		/* Create a MMUfault DPC */
-		tasklet_init(&deh_mgr_obj->dpc_tasklet, mmu_fault_dpc,
-				(u32) deh_mgr_obj);
+	/* Create an NTFY object to manage notifications */
+	status = ntfy_create(&deh_mgr_obj->ntfy_obj);
 
-		if (DSP_SUCCEEDED(status))
-			status = dev_get_dev_node(hdev_obj, &dev_node_obj);
+	/* Create a MMUfault DPC */
+	tasklet_init(&deh_mgr_obj->dpc_tasklet, mmu_fault_dpc,
+			(u32) deh_mgr_obj);
 
-		if (DSP_SUCCEEDED(status))
-			status =
-				cfg_get_host_resources(dev_node_obj, &cfg_host_res);
+	if (DSP_FAILED(status))
+		goto leave;
 
-		if (DSP_SUCCEEDED(status)) {
-			/* Fill in context structure */
-			deh_mgr_obj->hwmd_context = hwmd_context;
-			deh_mgr_obj->err_info.dw_err_mask = 0L;
-			deh_mgr_obj->err_info.dw_val1 = 0L;
-			deh_mgr_obj->err_info.dw_val2 = 0L;
-			deh_mgr_obj->err_info.dw_val3 = 0L;
-			/* Install ISR function for DSP MMU fault */
-			if ((request_irq(INT_DSP_MMU_IRQ, mmu_fault_isr, 0,
-							"DspBridge\tiommu fault",
-							(void *)deh_mgr_obj)) == 0)
-				status = DSP_SOK;
-			else
-				status = DSP_EFAIL;
-		}
-	}
+	status = dev_get_dev_node(hdev_obj, &dev_node_obj);
+
+	if (DSP_FAILED(status))
+		goto leave;
+
+	status = cfg_get_host_resources(dev_node_obj, &cfg_host_res);
+
+	if (DSP_FAILED(status))
+		goto leave;
+
+	/* Fill in context structure */
+	deh_mgr_obj->hwmd_context = hwmd_context;
+	deh_mgr_obj->err_info.dw_err_mask = 0L;
+	deh_mgr_obj->err_info.dw_val1 = 0L;
+	deh_mgr_obj->err_info.dw_val2 = 0L;
+	deh_mgr_obj->err_info.dw_val3 = 0L;
+	/* Install ISR function for DSP MMU fault */
+	if ((request_irq(INT_DSP_MMU_IRQ, mmu_fault_isr, 0,
+					"DspBridge\tiommu fault",
+					(void *)deh_mgr_obj)) == 0)
+		status = DSP_SOK;
+	else
+		status = DSP_EFAIL;
+
+leave:
 	if (DSP_FAILED(status)) {
 		/* If create failed, cleanup */
 		bridge_deh_destroy((struct deh_mgr *)deh_mgr_obj);
@@ -129,41 +136,39 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 
 dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 {
-	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
-	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		/* Release dummy VA buffer */
-		bridge_deh_release_dummy_mem();
-		/* If notification object exists, delete it */
-		if (deh_mgr_obj->ntfy_obj)
-			ntfy_delete(deh_mgr_obj->ntfy_obj);
-		/* Disable DSP MMU fault */
-		free_irq(INT_DSP_MMU_IRQ, deh_mgr_obj);
+	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+		return DSP_SOK;
 
-		/* Free DPC object */
-		tasklet_kill(&deh_mgr_obj->dpc_tasklet);
+	/* Release dummy VA buffer */
+	bridge_deh_release_dummy_mem();
+	/* If notification object exists, delete it */
+	if (deh_mgr_obj->ntfy_obj)
+		ntfy_delete(deh_mgr_obj->ntfy_obj);
+	/* Disable DSP MMU fault */
+	free_irq(INT_DSP_MMU_IRQ, deh_mgr_obj);
 
-		/* Deallocate the DEH manager object */
-		MEM_FREE_OBJECT(deh_mgr_obj);
-	}
+	/* Free DPC object */
+	tasklet_kill(&deh_mgr_obj->dpc_tasklet);
 
-	return status;
+	/* Deallocate the DEH manager object */
+	MEM_FREE_OBJECT(deh_mgr_obj);
+
+	return DSP_SOK;
 }
 
 dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
 		u32 notify_type,
 		struct dsp_notification *hnotification)
 {
-	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
-	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		status = ntfy_register(deh_mgr_obj->ntfy_obj, hnotification,
-				event_mask, notify_type);
-	}
+	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+		return DSP_SOK;
 
-	return status;
+	return ntfy_register(deh_mgr_obj->ntfy_obj, hnotification,
+			event_mask, notify_type);
 }
 
 void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
@@ -181,121 +186,113 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			drv_get_first_dev_extension(),
 			&resources);
 
-	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		dev_info(bridge, "%s: device exception\n", __func__);
-		dev_context =
-			(struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
-
-		switch (ulEventMask) {
-		case DSP_SYSERROR:
-			/* reset err_info structure before use */
-			deh_mgr_obj->err_info.dw_err_mask = DSP_SYSERROR;
-			deh_mgr_obj->err_info.dw_val1 = 0L;
-			deh_mgr_obj->err_info.dw_val2 = 0L;
-			deh_mgr_obj->err_info.dw_val3 = 0L;
-			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
-			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
-					__func__, "DSP_SYSERROR", dwErrInfo);
-			break;
-		case DSP_MMUFAULT:
-			/*
-			 * MMU fault routine should have set err info
-			 * structure.
-			 */
-			deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
-			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
-					__func__, "DSP_MMUFAULT", dwErrInfo);
-			dev_info(bridge, "%s: %s, high=0x%x, low=0x%x, fault=0x%x\n",
-					__func__, "DSP_MMUFAULT",
-					(unsigned int) deh_mgr->err_info.dw_val1,
-					(unsigned int) deh_mgr->err_info.dw_val2,
-					(unsigned int) fault_addr);
-			dummy_va_addr =
-				(u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
-			mem_physical =
-				VIRT_TO_PHYS(PG_ALIGN_LOW
-						((u32) dummy_va_addr, PG_SIZE4K));
-			dev_context = (struct wmd_dev_context *)
-				deh_mgr_obj->hwmd_context;
-			/*
-			 * Reset the dynamic mmu index to fixed count if it
-			 * exceeds 31. So that the dynmmuindex is always
-			 * between the range of standard/fixed entries and 31.
-			 */
-			if (dev_context->num_tlb_entries >
-					hw_mmu_max_tlb_count) {
-				dev_context->num_tlb_entries =
-					dev_context->fixed_tlb_entries;
-			}
-			if (DSP_SUCCEEDED(status)) {
-				hw_status_obj =
-					hw_mmu_tlb_add(resources.dw_dmmu_base,
-							mem_physical, fault_addr,
-							HW_PAGE_SIZE4KB, 1,
-							&map_attrs, HW_SET, HW_SET);
-			}
-			/* send an interrupt to DSP */
-			hw_mbox_msg_write(resources.dw_mbox_base, MBOX_ARM2DSP,
-					MBX_DEH_CLASS | MBX_DEH_EMMU);
-			/* Clear MMU interrupt */
-			hw_mmu_event_ack(resources.dw_dmmu_base,
-					HW_MMU_TRANSLATION_FAULT);
-			break;
+	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+		return;
+
+	dev_info(bridge, "%s: device exception\n", __func__);
+	dev_context =
+		(struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
+
+	switch (ulEventMask) {
+	case DSP_SYSERROR:
+		/* reset err_info structure before use */
+		deh_mgr_obj->err_info.dw_err_mask = DSP_SYSERROR;
+		deh_mgr_obj->err_info.dw_val1 = 0L;
+		deh_mgr_obj->err_info.dw_val2 = 0L;
+		deh_mgr_obj->err_info.dw_val3 = 0L;
+		deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
+		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
+				__func__, "DSP_SYSERROR", dwErrInfo);
+		break;
+	case DSP_MMUFAULT:
+		/* MMU fault routine should have set err info structure. */
+		deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
+		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
+				__func__, "DSP_MMUFAULT", dwErrInfo);
+		dev_info(bridge, "%s: %s, high=0x%x, low=0x%x, fault=0x%x\n",
+				__func__, "DSP_MMUFAULT",
+				(unsigned int) deh_mgr->err_info.dw_val1,
+				(unsigned int) deh_mgr->err_info.dw_val2,
+				(unsigned int) fault_addr);
+		dummy_va_addr =
+			(u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
+		mem_physical =
+			VIRT_TO_PHYS(PG_ALIGN_LOW
+					((u32) dummy_va_addr, PG_SIZE4K));
+		dev_context = (struct wmd_dev_context *)
+			deh_mgr_obj->hwmd_context;
+		/*
+		 * Reset the dynamic mmu index to fixed count if it exceeds
+		 * 31. So that the dynmmuindex is always between the range of
+		 * standard/fixed entries and 31.
+		 */
+		if (dev_context->num_tlb_entries >
+				hw_mmu_max_tlb_count) {
+			dev_context->num_tlb_entries =
+				dev_context->fixed_tlb_entries;
+		}
+		if (DSP_SUCCEEDED(status)) {
+			hw_status_obj =
+				hw_mmu_tlb_add(resources.dw_dmmu_base,
+						mem_physical, fault_addr,
+						HW_PAGE_SIZE4KB, 1,
+						&map_attrs, HW_SET, HW_SET);
+		}
+		/* send an interrupt to DSP */
+		hw_mbox_msg_write(resources.dw_mbox_base, MBOX_ARM2DSP,
+				MBX_DEH_CLASS | MBX_DEH_EMMU);
+		/* Clear MMU interrupt */
+		hw_mmu_event_ack(resources.dw_dmmu_base,
+				HW_MMU_TRANSLATION_FAULT);
+		break;
 #ifdef CONFIG_BRIDGE_NTFY_PWRERR
-		case DSP_PWRERROR:
-			/* reset err_info structure before use */
-			deh_mgr_obj->err_info.dw_err_mask = DSP_PWRERROR;
-			deh_mgr_obj->err_info.dw_val1 = 0L;
-			deh_mgr_obj->err_info.dw_val2 = 0L;
-			deh_mgr_obj->err_info.dw_val3 = 0L;
-			deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
-			dev_err(bridge, "%s: %s, err_info = 0x%x\n",
-					__func__, "DSP_PWRERROR", dwErrInfo);
-			break;
+	case DSP_PWRERROR:
+		/* reset err_info structure before use */
+		deh_mgr_obj->err_info.dw_err_mask = DSP_PWRERROR;
+		deh_mgr_obj->err_info.dw_val1 = 0L;
+		deh_mgr_obj->err_info.dw_val2 = 0L;
+		deh_mgr_obj->err_info.dw_val3 = 0L;
+		deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
+		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
+				__func__, "DSP_PWRERROR", dwErrInfo);
+		break;
 #endif /* CONFIG_BRIDGE_NTFY_PWRERR */
-		default:
-			dev_dbg(bridge, "%s: Unknown Error, err_info = 0x%x\n",
-					__func__, dwErrInfo);
-			break;
-		}
-
-		/* Filter subsequent notifications when an error occurs */
-		if (dev_context->dw_brd_state != BRD_ERROR)
-			ntfy_notify(deh_mgr_obj->ntfy_obj, ulEventMask);
+	default:
+		dev_dbg(bridge, "%s: Unknown Error, err_info = 0x%x\n",
+				__func__, dwErrInfo);
+		break;
+	}
 
-		/* Set the Board state as ERROR */
-		dev_context->dw_brd_state = BRD_ERROR;
-		/* Disable all the clocks that were enabled by DSP */
-		dsp_peripheral_clocks_disable(dev_context, NULL);
-		/* Call DSP Trace Buffer */
-		print_dsp_trace_buffer(hdeh_mgr->hwmd_context);
+	/* Filter subsequent notifications when an error occurs */
+	if (dev_context->dw_brd_state != BRD_ERROR)
+		ntfy_notify(deh_mgr_obj->ntfy_obj, ulEventMask);
 
-	}
+	/* Set the Board state as ERROR */
+	dev_context->dw_brd_state = BRD_ERROR;
+	/* Disable all the clocks that were enabled by DSP */
+	dsp_peripheral_clocks_disable(dev_context, NULL);
+	/* Call DSP Trace Buffer */
+	print_dsp_trace_buffer(hdeh_mgr->hwmd_context);
 }
 
 dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
 		struct dsp_errorinfo *pErrInfo)
 {
-	dsp_status status = DSP_SOK;
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
 	DBC_REQUIRE(deh_mgr_obj);
 	DBC_REQUIRE(pErrInfo);
 
-	if (MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE)) {
-		/*
-		 * Copy DEH error info structure to PROC error info
-		 * structure.
-		 */
-		pErrInfo->dw_err_mask = deh_mgr_obj->err_info.dw_err_mask;
-		pErrInfo->dw_val1 = deh_mgr_obj->err_info.dw_val1;
-		pErrInfo->dw_val2 = deh_mgr_obj->err_info.dw_val2;
-		pErrInfo->dw_val3 = deh_mgr_obj->err_info.dw_val3;
-	} else {
-		status = DSP_EHANDLE;
-	}
+	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+		return DSP_EHANDLE;
 
-	return status;
+	/* Copy DEH error info structure to PROC error info structure. */
+	pErrInfo->dw_err_mask = deh_mgr_obj->err_info.dw_err_mask;
+	pErrInfo->dw_val1 = deh_mgr_obj->err_info.dw_val1;
+	pErrInfo->dw_val2 = deh_mgr_obj->err_info.dw_val2;
+	pErrInfo->dw_val3 = deh_mgr_obj->err_info.dw_val3;
+
+	return DSP_SOK;
 }
 
 void bridge_deh_release_dummy_mem(void)
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 07/10] dsp-bridge: deh: fix obvious return codes
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (5 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 06/10] dsp-bridge: deh: decrease nesting levels Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 08/10] dsp-bridge: deh: reorganize create() Felipe Contreras
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Now that the code is cleaner is easy to spot them.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 0a03e09..1add675 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -139,7 +139,7 @@ dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
 	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
-		return DSP_SOK;
+		return DSP_EHANDLE;
 
 	/* Release dummy VA buffer */
 	bridge_deh_release_dummy_mem();
@@ -165,7 +165,7 @@ dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
 	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 
 	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
-		return DSP_SOK;
+		return DSP_EHANDLE;
 
 	return ntfy_register(deh_mgr_obj->ntfy_obj, hnotification,
 			event_mask, notify_type);
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 08/10] dsp-bridge: deh: reorganize create()
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (6 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 07/10] dsp-bridge: deh: fix obvious return codes Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 09/10] dsp-bridge: deh: fix hdeh_mgr silliness Felipe Contreras
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 arch/arm/plat-omap/include/dspbridge/wmddeh.h |    2 +-
 drivers/dsp/bridge/wmd/ue_deh.c               |   22 ++++++++++++----------
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/arm/plat-omap/include/dspbridge/wmddeh.h b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
index e193029..d7b7ee9 100644
--- a/arch/arm/plat-omap/include/dspbridge/wmddeh.h
+++ b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
@@ -27,7 +27,7 @@
 
 #include <dspbridge/dehdefs.h>
 
-extern dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
+extern dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		struct dev_object *hdev_obj);
 
 extern dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr);
diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 1add675..104ab33 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -62,11 +62,11 @@ static struct hw_mmu_map_attrs_t map_attrs = {
 
 static u32 dummy_va_addr;
 
-dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
+dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		struct dev_object *hdev_obj)
 {
 	dsp_status status = DSP_SOK;
-	struct deh_mgr *deh_mgr_obj = NULL;
+	struct deh_mgr *deh_mgr_obj;
 	struct cfg_hostres cfg_host_res;
 	struct cfg_devnode *dev_node_obj;
 	struct wmd_dev_context *hwmd_context = NULL;
@@ -83,7 +83,7 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 	dummy_va_addr = 0;
 	/* Allocate IO manager object: */
 	MEM_ALLOC_OBJECT(deh_mgr_obj, struct deh_mgr, SIGNATURE);
-	if (deh_mgr_obj == NULL) {
+	if (!deh_mgr_obj) {
 		status = DSP_EMEMORY;
 		goto leave;
 	}
@@ -96,17 +96,17 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 			(u32) deh_mgr_obj);
 
 	if (DSP_FAILED(status))
-		goto leave;
+		goto err;
 
 	status = dev_get_dev_node(hdev_obj, &dev_node_obj);
 
 	if (DSP_FAILED(status))
-		goto leave;
+		goto err;
 
 	status = cfg_get_host_resources(dev_node_obj, &cfg_host_res);
 
 	if (DSP_FAILED(status))
-		goto leave;
+		goto err;
 
 	/* Fill in context structure */
 	deh_mgr_obj->hwmd_context = hwmd_context;
@@ -114,6 +114,7 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 	deh_mgr_obj->err_info.dw_val1 = 0L;
 	deh_mgr_obj->err_info.dw_val2 = 0L;
 	deh_mgr_obj->err_info.dw_val3 = 0L;
+
 	/* Install ISR function for DSP MMU fault */
 	if ((request_irq(INT_DSP_MMU_IRQ, mmu_fault_isr, 0,
 					"DspBridge\tiommu fault",
@@ -122,15 +123,16 @@ dsp_status bridge_deh_create(struct deh_mgr **phDehMgr,
 	else
 		status = DSP_EFAIL;
 
-leave:
+err:
 	if (DSP_FAILED(status)) {
 		/* If create failed, cleanup */
 		bridge_deh_destroy((struct deh_mgr *)deh_mgr_obj);
-		*phDehMgr = NULL;
-	} else {
-		*phDehMgr = (struct deh_mgr *)deh_mgr_obj;
+		deh_mgr_obj = NULL;
 	}
 
+leave:
+	*ret_deh_mgr = deh_mgr_obj;
+
 	return status;
 }
 
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 09/10] dsp-bridge: deh: fix hdeh_mgr silliness
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (7 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 08/10] dsp-bridge: deh: reorganize create() Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-03-23 21:25 ` [PATCH 10/10] dsp-bridge: deh: fix dummy_va_addr Felipe Contreras
  2010-04-15 12:12 ` [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 arch/arm/plat-omap/include/dspbridge/wmddeh.h |    8 +-
 drivers/dsp/bridge/wmd/ue_deh.c               |  104 +++++++++++-------------
 2 files changed, 52 insertions(+), 60 deletions(-)

diff --git a/arch/arm/plat-omap/include/dspbridge/wmddeh.h b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
index d7b7ee9..67beb08 100644
--- a/arch/arm/plat-omap/include/dspbridge/wmddeh.h
+++ b/arch/arm/plat-omap/include/dspbridge/wmddeh.h
@@ -30,17 +30,17 @@
 extern dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		struct dev_object *hdev_obj);
 
-extern dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr);
+extern dsp_status bridge_deh_destroy(struct deh_mgr *deh_mgr);
 
-extern dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
+extern dsp_status bridge_deh_get_info(struct deh_mgr *deh_mgr,
 		struct dsp_errorinfo *pErrInfo);
 
-extern dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr,
+extern dsp_status bridge_deh_register_notify(struct deh_mgr *deh_mgr,
 		u32 event_mask,
 		u32 notify_type,
 		struct dsp_notification *hnotification);
 
-extern void bridge_deh_notify(struct deh_mgr *hdeh_mgr,
+extern void bridge_deh_notify(struct deh_mgr *deh_mgr,
 		u32 ulEventMask, u32 dwErrInfo);
 
 extern void bridge_deh_release_dummy_mem(void);
diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index 104ab33..b1c3189 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -66,7 +66,7 @@ dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		struct dev_object *hdev_obj)
 {
 	dsp_status status = DSP_SOK;
-	struct deh_mgr *deh_mgr_obj;
+	struct deh_mgr *deh_mgr;
 	struct cfg_hostres cfg_host_res;
 	struct cfg_devnode *dev_node_obj;
 	struct wmd_dev_context *hwmd_context = NULL;
@@ -82,18 +82,17 @@ dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 	DBC_ASSERT(hwmd_context);
 	dummy_va_addr = 0;
 	/* Allocate IO manager object: */
-	MEM_ALLOC_OBJECT(deh_mgr_obj, struct deh_mgr, SIGNATURE);
-	if (!deh_mgr_obj) {
+	MEM_ALLOC_OBJECT(deh_mgr, struct deh_mgr, SIGNATURE);
+	if (!deh_mgr) {
 		status = DSP_EMEMORY;
 		goto leave;
 	}
 
 	/* Create an NTFY object to manage notifications */
-	status = ntfy_create(&deh_mgr_obj->ntfy_obj);
+	status = ntfy_create(&deh_mgr->ntfy_obj);
 
 	/* Create a MMUfault DPC */
-	tasklet_init(&deh_mgr_obj->dpc_tasklet, mmu_fault_dpc,
-			(u32) deh_mgr_obj);
+	tasklet_init(&deh_mgr->dpc_tasklet, mmu_fault_dpc, (u32) deh_mgr);
 
 	if (DSP_FAILED(status))
 		goto err;
@@ -109,16 +108,16 @@ dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		goto err;
 
 	/* Fill in context structure */
-	deh_mgr_obj->hwmd_context = hwmd_context;
-	deh_mgr_obj->err_info.dw_err_mask = 0L;
-	deh_mgr_obj->err_info.dw_val1 = 0L;
-	deh_mgr_obj->err_info.dw_val2 = 0L;
-	deh_mgr_obj->err_info.dw_val3 = 0L;
+	deh_mgr->hwmd_context = hwmd_context;
+	deh_mgr->err_info.dw_err_mask = 0L;
+	deh_mgr->err_info.dw_val1 = 0L;
+	deh_mgr->err_info.dw_val2 = 0L;
+	deh_mgr->err_info.dw_val3 = 0L;
 
 	/* Install ISR function for DSP MMU fault */
 	if ((request_irq(INT_DSP_MMU_IRQ, mmu_fault_isr, 0,
 					"DspBridge\tiommu fault",
-					(void *)deh_mgr_obj)) == 0)
+					(void *)deh_mgr)) == 0)
 		status = DSP_SOK;
 	else
 		status = DSP_EFAIL;
@@ -126,56 +125,51 @@ dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 err:
 	if (DSP_FAILED(status)) {
 		/* If create failed, cleanup */
-		bridge_deh_destroy((struct deh_mgr *)deh_mgr_obj);
-		deh_mgr_obj = NULL;
+		bridge_deh_destroy(deh_mgr);
+		deh_mgr = NULL;
 	}
 
 leave:
-	*ret_deh_mgr = deh_mgr_obj;
+	*ret_deh_mgr = deh_mgr;
 
 	return status;
 }
 
-dsp_status bridge_deh_destroy(struct deh_mgr *hdeh_mgr)
+dsp_status bridge_deh_destroy(struct deh_mgr *deh_mgr)
 {
-	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
-
-	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+	if (!MEM_IS_VALID_HANDLE(deh_mgr, SIGNATURE))
 		return DSP_EHANDLE;
 
 	/* Release dummy VA buffer */
 	bridge_deh_release_dummy_mem();
 	/* If notification object exists, delete it */
-	if (deh_mgr_obj->ntfy_obj)
-		ntfy_delete(deh_mgr_obj->ntfy_obj);
+	if (deh_mgr->ntfy_obj)
+		ntfy_delete(deh_mgr->ntfy_obj);
 	/* Disable DSP MMU fault */
-	free_irq(INT_DSP_MMU_IRQ, deh_mgr_obj);
+	free_irq(INT_DSP_MMU_IRQ, deh_mgr);
 
 	/* Free DPC object */
-	tasklet_kill(&deh_mgr_obj->dpc_tasklet);
+	tasklet_kill(&deh_mgr->dpc_tasklet);
 
 	/* Deallocate the DEH manager object */
-	MEM_FREE_OBJECT(deh_mgr_obj);
+	MEM_FREE_OBJECT(deh_mgr);
 
 	return DSP_SOK;
 }
 
-dsp_status bridge_deh_register_notify(struct deh_mgr *hdeh_mgr, u32 event_mask,
+dsp_status bridge_deh_register_notify(struct deh_mgr *deh_mgr, u32 event_mask,
 		u32 notify_type,
 		struct dsp_notification *hnotification)
 {
-	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
-
-	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+	if (!MEM_IS_VALID_HANDLE(deh_mgr, SIGNATURE))
 		return DSP_EHANDLE;
 
-	return ntfy_register(deh_mgr_obj->ntfy_obj, hnotification,
+	return ntfy_register(deh_mgr->ntfy_obj, hnotification,
 			event_mask, notify_type);
 }
 
-void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
+void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 ulEventMask, u32 dwErrInfo)
 {
-	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
 	struct wmd_dev_context *dev_context;
 	dsp_status status = DSP_SOK;
 	u32 mem_physical = 0;
@@ -188,27 +182,27 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			drv_get_first_dev_extension(),
 			&resources);
 
-	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+	if (!MEM_IS_VALID_HANDLE(deh_mgr, SIGNATURE))
 		return;
 
 	dev_info(bridge, "%s: device exception\n", __func__);
 	dev_context =
-		(struct wmd_dev_context *)deh_mgr_obj->hwmd_context;
+		(struct wmd_dev_context *)deh_mgr->hwmd_context;
 
 	switch (ulEventMask) {
 	case DSP_SYSERROR:
 		/* reset err_info structure before use */
-		deh_mgr_obj->err_info.dw_err_mask = DSP_SYSERROR;
-		deh_mgr_obj->err_info.dw_val1 = 0L;
-		deh_mgr_obj->err_info.dw_val2 = 0L;
-		deh_mgr_obj->err_info.dw_val3 = 0L;
-		deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
+		deh_mgr->err_info.dw_err_mask = DSP_SYSERROR;
+		deh_mgr->err_info.dw_val1 = 0L;
+		deh_mgr->err_info.dw_val2 = 0L;
+		deh_mgr->err_info.dw_val3 = 0L;
+		deh_mgr->err_info.dw_val1 = dwErrInfo;
 		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
 				__func__, "DSP_SYSERROR", dwErrInfo);
 		break;
 	case DSP_MMUFAULT:
 		/* MMU fault routine should have set err info structure. */
-		deh_mgr_obj->err_info.dw_err_mask = DSP_MMUFAULT;
+		deh_mgr->err_info.dw_err_mask = DSP_MMUFAULT;
 		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
 				__func__, "DSP_MMUFAULT", dwErrInfo);
 		dev_info(bridge, "%s: %s, high=0x%x, low=0x%x, fault=0x%x\n",
@@ -222,7 +216,7 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 			VIRT_TO_PHYS(PG_ALIGN_LOW
 					((u32) dummy_va_addr, PG_SIZE4K));
 		dev_context = (struct wmd_dev_context *)
-			deh_mgr_obj->hwmd_context;
+			deh_mgr->hwmd_context;
 		/*
 		 * Reset the dynamic mmu index to fixed count if it exceeds
 		 * 31. So that the dynmmuindex is always between the range of
@@ -250,11 +244,11 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 #ifdef CONFIG_BRIDGE_NTFY_PWRERR
 	case DSP_PWRERROR:
 		/* reset err_info structure before use */
-		deh_mgr_obj->err_info.dw_err_mask = DSP_PWRERROR;
-		deh_mgr_obj->err_info.dw_val1 = 0L;
-		deh_mgr_obj->err_info.dw_val2 = 0L;
-		deh_mgr_obj->err_info.dw_val3 = 0L;
-		deh_mgr_obj->err_info.dw_val1 = dwErrInfo;
+		deh_mgr->err_info.dw_err_mask = DSP_PWRERROR;
+		deh_mgr->err_info.dw_val1 = 0L;
+		deh_mgr->err_info.dw_val2 = 0L;
+		deh_mgr->err_info.dw_val3 = 0L;
+		deh_mgr->err_info.dw_val1 = dwErrInfo;
 		dev_err(bridge, "%s: %s, err_info = 0x%x\n",
 				__func__, "DSP_PWRERROR", dwErrInfo);
 		break;
@@ -267,32 +261,30 @@ void bridge_deh_notify(struct deh_mgr *hdeh_mgr, u32 ulEventMask, u32 dwErrInfo)
 
 	/* Filter subsequent notifications when an error occurs */
 	if (dev_context->dw_brd_state != BRD_ERROR)
-		ntfy_notify(deh_mgr_obj->ntfy_obj, ulEventMask);
+		ntfy_notify(deh_mgr->ntfy_obj, ulEventMask);
 
 	/* Set the Board state as ERROR */
 	dev_context->dw_brd_state = BRD_ERROR;
 	/* Disable all the clocks that were enabled by DSP */
 	dsp_peripheral_clocks_disable(dev_context, NULL);
 	/* Call DSP Trace Buffer */
-	print_dsp_trace_buffer(hdeh_mgr->hwmd_context);
+	print_dsp_trace_buffer(deh_mgr->hwmd_context);
 }
 
-dsp_status bridge_deh_get_info(struct deh_mgr *hdeh_mgr,
+dsp_status bridge_deh_get_info(struct deh_mgr *deh_mgr,
 		struct dsp_errorinfo *pErrInfo)
 {
-	struct deh_mgr *deh_mgr_obj = (struct deh_mgr *)hdeh_mgr;
-
-	DBC_REQUIRE(deh_mgr_obj);
+	DBC_REQUIRE(deh_mgr);
 	DBC_REQUIRE(pErrInfo);
 
-	if (!MEM_IS_VALID_HANDLE(deh_mgr_obj, SIGNATURE))
+	if (!MEM_IS_VALID_HANDLE(deh_mgr, SIGNATURE))
 		return DSP_EHANDLE;
 
 	/* Copy DEH error info structure to PROC error info structure. */
-	pErrInfo->dw_err_mask = deh_mgr_obj->err_info.dw_err_mask;
-	pErrInfo->dw_val1 = deh_mgr_obj->err_info.dw_val1;
-	pErrInfo->dw_val2 = deh_mgr_obj->err_info.dw_val2;
-	pErrInfo->dw_val3 = deh_mgr_obj->err_info.dw_val3;
+	pErrInfo->dw_err_mask = deh_mgr->err_info.dw_err_mask;
+	pErrInfo->dw_val1 = deh_mgr->err_info.dw_val1;
+	pErrInfo->dw_val2 = deh_mgr->err_info.dw_val2;
+	pErrInfo->dw_val3 = deh_mgr->err_info.dw_val3;
 
 	return DSP_SOK;
 }
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 10/10] dsp-bridge: deh: fix dummy_va_addr
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (8 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 09/10] dsp-bridge: deh: fix hdeh_mgr silliness Felipe Contreras
@ 2010-03-23 21:25 ` Felipe Contreras
  2010-04-15 12:12 ` [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
  10 siblings, 0 replies; 14+ messages in thread
From: Felipe Contreras @ 2010-03-23 21:25 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

It's supposed to be virtual, so u32 doesn't make sense.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 drivers/dsp/bridge/wmd/ue_deh.c |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/ue_deh.c b/drivers/dsp/bridge/wmd/ue_deh.c
index b1c3189..018905e 100644
--- a/drivers/dsp/bridge/wmd/ue_deh.c
+++ b/drivers/dsp/bridge/wmd/ue_deh.c
@@ -52,15 +52,15 @@
 #include "_tiomap_pwr.h"
 #include <dspbridge/io_sm.h>
 
+#define ALIGN_DOWN(x,a)  ((x)&(~((a)-1)))
+
 static struct hw_mmu_map_attrs_t map_attrs = {
 	HW_LITTLE_ENDIAN,
 	HW_ELEM_SIZE16BIT,
 	HW_MMU_CPUES
 };
 
-#define VIRT_TO_PHYS(x)       ((x) - PAGE_OFFSET + PHYS_OFFSET)
-
-static u32 dummy_va_addr;
+static void *dummy_va_addr;
 
 dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 		struct dev_object *hdev_obj)
@@ -80,7 +80,7 @@ dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
 	/* Get WMD context info. */
 	dev_get_wmd_context(hdev_obj, &hwmd_context);
 	DBC_ASSERT(hwmd_context);
-	dummy_va_addr = 0;
+	dummy_va_addr = NULL;
 	/* Allocate IO manager object: */
 	MEM_ALLOC_OBJECT(deh_mgr, struct deh_mgr, SIGNATURE);
 	if (!deh_mgr) {
@@ -210,13 +210,11 @@ void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 ulEventMask, u32 dwErrInfo)
 				(unsigned int) deh_mgr->err_info.dw_val1,
 				(unsigned int) deh_mgr->err_info.dw_val2,
 				(unsigned int) fault_addr);
-		dummy_va_addr =
-			(u32) mem_calloc(sizeof(char) * 0x1000, MEM_PAGED);
-		mem_physical =
-			VIRT_TO_PHYS(PG_ALIGN_LOW
-					((u32) dummy_va_addr, PG_SIZE4K));
+		dummy_va_addr = mem_calloc(0x1000, MEM_PAGED);
+		mem_physical = ALIGN_DOWN(virt_to_phys(dummy_va_addr), PAGE_SIZE);
 		dev_context = (struct wmd_dev_context *)
 			deh_mgr->hwmd_context;
+
 		/*
 		 * Reset the dynamic mmu index to fixed count if it exceeds
 		 * 31. So that the dynmmuindex is always between the range of
@@ -291,6 +289,6 @@ dsp_status bridge_deh_get_info(struct deh_mgr *deh_mgr,
 
 void bridge_deh_release_dummy_mem(void)
 {
-	kfree((void *)dummy_va_addr);
-	dummy_va_addr = 0;
+	kfree(dummy_va_addr);
+	dummy_va_addr = NULL;
 }
-- 
1.7.0.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 02/10] dsp-bridge: deh: trivial cleanups
  2010-03-23 21:25 ` [PATCH 02/10] dsp-bridge: deh: trivial cleanups Felipe Contreras
@ 2010-03-24  0:04   ` Omar Ramirez Luna
  0 siblings, 0 replies; 14+ messages in thread
From: Omar Ramirez Luna @ 2010-03-24  0:04 UTC (permalink / raw)
  To: Felipe Contreras; +Cc: linux-omap, Ameya Palande

On 3/23/2010 4:25 PM, Felipe Contreras wrote:
> Mostly white-space formatting.
>

Most of this white space changes were made because of rules defined when 
executing Lindent, if there is an agreement that this Lindent changes 
are bringing more trouble I think we should roll them back instead of 
manually fixing all of them.

Regards,

Omar

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 00/10] dsp-bridge: deh: general cleanups
  2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
                   ` (9 preceding siblings ...)
  2010-03-23 21:25 ` [PATCH 10/10] dsp-bridge: deh: fix dummy_va_addr Felipe Contreras
@ 2010-04-15 12:12 ` Felipe Contreras
  2010-04-19 20:37   ` Omar Ramirez Luna
  10 siblings, 1 reply; 14+ messages in thread
From: Felipe Contreras @ 2010-04-15 12:12 UTC (permalink / raw)
  To: linux-omap; +Cc: Ameya Palande, Omar Ramirez Luna, Felipe Contreras

On Wed, Mar 24, 2010 at 12:25 AM, Felipe Contreras
<felipe.contreras@gmail.com> wrote:
> While trying to fix the recovery feature I stumbled many areas of improvments
> in 'deh' (whatever that means).
>
> I quickly tested tesed these changes in Nokia hw, there should be essentially
> no functional changes.
>
> Cheers.
>
> Felipe Contreras (10):
>  dsp-bridge: deh: remove obvious comments
>  dsp-bridge: deh: trivial cleanups
>  dsp-bridge: deh: remove unnecessary casts
>  dsp-bridge: deh: improve logging stuff
>  dsp-bridge: deh: report mmu faults as errors
>  dsp-bridge: deh: decrease nesting levels
>  dsp-bridge: deh: fix obvious return codes
>  dsp-bridge: deh: reorganize create()
>  dsp-bridge: deh: fix hdeh_mgr silliness
>  dsp-bridge: deh: fix dummy_va_addr
>
>  arch/arm/plat-omap/include/dspbridge/wmddeh.h |   24 +-
>  drivers/dsp/bridge/wmd/ue_deh.c               |  392 +++++++++++--------------
>  2 files changed, 191 insertions(+), 225 deletions(-)

I guess these patches don't apply any more. Shall I rebase them? If so... where?

Cheers.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 00/10] dsp-bridge: deh: general cleanups
  2010-04-15 12:12 ` [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
@ 2010-04-19 20:37   ` Omar Ramirez Luna
  0 siblings, 0 replies; 14+ messages in thread
From: Omar Ramirez Luna @ 2010-04-19 20:37 UTC (permalink / raw)
  To: Felipe Contreras; +Cc: linux-omap, Ameya Palande

On 4/15/2010 7:12 AM, Felipe Contreras wrote:
> On Wed, Mar 24, 2010 at 12:25 AM, Felipe Contreras
> <felipe.contreras@gmail.com>  wrote:
>> While trying to fix the recovery feature I stumbled many areas of improvments
>> in 'deh' (whatever that means).
>>
>> I quickly tested tesed these changes in Nokia hw, there should be essentially
>> no functional changes.
>>
>> Cheers.
>>
>> Felipe Contreras (10):
>>   dsp-bridge: deh: remove obvious comments
>>   dsp-bridge: deh: trivial cleanups
>>   dsp-bridge: deh: remove unnecessary casts
>>   dsp-bridge: deh: improve logging stuff
>>   dsp-bridge: deh: report mmu faults as errors
>>   dsp-bridge: deh: decrease nesting levels
>>   dsp-bridge: deh: fix obvious return codes
>>   dsp-bridge: deh: reorganize create()
>>   dsp-bridge: deh: fix hdeh_mgr silliness
>>   dsp-bridge: deh: fix dummy_va_addr
>>
>>   arch/arm/plat-omap/include/dspbridge/wmddeh.h |   24 +-
>>   drivers/dsp/bridge/wmd/ue_deh.c               |  392 +++++++++++--------------
>>   2 files changed, 191 insertions(+), 225 deletions(-)
>
> I guess these patches don't apply any more. Shall I rebase them? If so... where?

As noted in a private mail, your patches were rebased and now pushed to 
dspbridge.

Only this patch was dropped "dsp-bridge: deh: trivial cleanups"[1]

I removed the trivial checkpatch warnings (80 char limit and space after 
comma) from 2 of them.

Omar

---
[1] http://marc.info/?l=linux-omap&m=126938906708916&w=2

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2010-04-19 20:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-23 21:25 [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
2010-03-23 21:25 ` [PATCH 01/10] dsp-bridge: deh: remove obvious comments Felipe Contreras
2010-03-23 21:25 ` [PATCH 02/10] dsp-bridge: deh: trivial cleanups Felipe Contreras
2010-03-24  0:04   ` Omar Ramirez Luna
2010-03-23 21:25 ` [PATCH 03/10] dsp-bridge: deh: remove unnecessary casts Felipe Contreras
2010-03-23 21:25 ` [PATCH 04/10] dsp-bridge: deh: improve logging stuff Felipe Contreras
2010-03-23 21:25 ` [PATCH 05/10] dsp-bridge: deh: report mmu faults as errors Felipe Contreras
2010-03-23 21:25 ` [PATCH 06/10] dsp-bridge: deh: decrease nesting levels Felipe Contreras
2010-03-23 21:25 ` [PATCH 07/10] dsp-bridge: deh: fix obvious return codes Felipe Contreras
2010-03-23 21:25 ` [PATCH 08/10] dsp-bridge: deh: reorganize create() Felipe Contreras
2010-03-23 21:25 ` [PATCH 09/10] dsp-bridge: deh: fix hdeh_mgr silliness Felipe Contreras
2010-03-23 21:25 ` [PATCH 10/10] dsp-bridge: deh: fix dummy_va_addr Felipe Contreras
2010-04-15 12:12 ` [PATCH 00/10] dsp-bridge: deh: general cleanups Felipe Contreras
2010-04-19 20:37   ` Omar Ramirez Luna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox