* [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 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