[PATCH 09/10] dsp-bridge: deh: fix hdeh_mgr silliness

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx>
---
 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

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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux