]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - jacinto7_multimedia/ti-img-encode-decode.git/commitdiff
encoder: Fix hang on Page Fault
authorDavid Huang <d-huang@ti.com>
Thu, 18 Mar 2021 14:33:24 +0000 (09:33 -0500)
committerDavid Huang <d-huang@ti.com>
Thu, 18 Mar 2021 14:36:28 +0000 (09:36 -0500)
Remove prints fron ISR context, and change Event call to use 0 timeout
since this exists within ISR context.

Signed-off-by: David Huang <d-huang@ti.com>
driver/encoder/topaz_device.c
osal/src/tirtos/osa_event.c

index bac5082ed12cb6524f464b3acc43ebc9c1810d51..e141ed9ae0ae0cd07b7ca05fabb2e4140091d8a6 100644 (file)
@@ -648,7 +648,7 @@ int32 topazdd_send_msg(void *dd_str_ctx, enum mtx_cmd_id cmd_id,
         return err;
 }
 
-#define WAIT_FOR_SYNC_RETRIES 100
+#define WAIT_FOR_SYNC_RETRIES 1200
 #define WAIT_FOR_SYNC_TIMEOUT 1
 
 static int32 topazdd_wait_on_sync(struct img_comm_socket *sock, uint32 wb_val)
@@ -1419,7 +1419,6 @@ osa_bool topazdd_threaded_isr(void * inst_data)
 
        /* If interrupts not defined then...*/
        if (!ctx || !ctx->initialized) {
-               OSA_PR_ERR(" in topazdd_isr but not yet initialized!\n");
                return osa_false;
        }
 
@@ -1445,7 +1444,6 @@ osa_irqreturn_t topazdd_isr(void * inst_data)
 
        /* If interrupts not defined then...*/
        if (!ctx || !ctx->initialized) {
-               OSA_PR_ERR(" in topazdd_isr but not yet initialized!\n");
                return OSA_IRQ_NONE;
        }
 
@@ -1466,10 +1464,6 @@ osa_irqreturn_t topazdd_isr(void * inst_data)
                static osa_bool dump_once = osa_true;
 
                if (dump_once) {
-                       uint32 mmu_status;
-                       mmu_status = VXE_RD_REG32(ctx->multi_core_mem_addr, TOPAZHP_TOP_CR_MMU_STATUS);
-                       /* keep minimum from kernel hoping we will have enough time to dump all registers (print out MMU status) */
-                       OSA_PR_ERR("Page fault [%08x %08X]\n", reg, mmu_status);
                        VXE_WR_REG32(ctx->multi_core_mem_addr, TOPAZHP_TOP_CR_MULTICORE_HOST_INT_ENAB, 0);
 
                        dump_once = osa_false; /* only on first page fault for readability */
index 3126c5b0ad071bdfcc6599e3957aba52ee1c6fb0..eb43cfdf0709c445d35c649425cf58ce86f2552d 100644 (file)
@@ -32,7 +32,7 @@ void osa_destroy_event_obj(void * event)
 int32 osa_wait_event_obj(void *event, osa_bool uninterruptible, uint32 timeout)
 {
        uint32 ret_val;
-       ret_val = EventP_pend(event, EventP_ID_NONE, EventP_ID_00, 12);
+       ret_val = EventP_pend(event, EventP_ID_NONE, EventP_ID_00, 0);
        if (ret_val == 0) {
                return IMG_ERROR_TIMEOUT;
        } else {