Loading drivers/bus/mhi/core/mhi_boot.c +4 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,10 @@ int mhi_download_rddm_img(struct mhi_controller *mhi_cntrl, bool in_panic) void __iomem *base = mhi_cntrl->bhie; u32 rx_status; /* device supports RDDM but controller wants to skip ramdumps */ if (!mhi_cntrl->rddm_supported || !mhi_cntrl->rddm_image) return -EINVAL; if (in_panic) return __mhi_download_rddm_in_panic(mhi_cntrl); Loading drivers/bus/mhi/core/mhi_init.c +1 −1 Original line number Diff line number Diff line Loading @@ -1760,7 +1760,7 @@ int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl) * allocate rddm table if specified, this table is for debug purpose * so we'll ignore erros */ if (mhi_cntrl->rddm_size) { if (mhi_cntrl->rddm_supported && mhi_cntrl->rddm_size) { mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->rddm_image, mhi_cntrl->rddm_size); Loading drivers/bus/mhi/core/mhi_main.c +11 −9 Original line number Diff line number Diff line Loading @@ -1211,7 +1211,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi_cntrl, * event instead of sys error state change event */ if (mhi_cntrl->ee == MHI_EE_RDDM || mhi_cntrl->rddm_image) mhi_cntrl->rddm_supported) break; MHI_ERR("MHI system error detected\n"); Loading Loading @@ -1637,20 +1637,20 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) TO_MHI_EXEC_STR(ee), TO_MHI_STATE_STR(state)); if (mhi_cntrl->power_down) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; } if (state == MHI_STATE_SYS_ERR) { MHI_ERR("MHI system error detected\n"); pm_state = mhi_tryset_pm_state(mhi_cntrl, MHI_PM_SYS_ERR_DETECT); } if (mhi_cntrl->rddm_supported) { /* exit as power down is already initiated */ if (mhi_cntrl->power_down || ee != MHI_EE_RDDM) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; } if (ee == MHI_EE_RDDM) { write_lock_irq(&mhi_cntrl->pm_lock); /* prevent multiple entries for RDDM execution environment */ if (mhi_cntrl->ee == MHI_EE_RDDM) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; Loading @@ -1670,6 +1670,8 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) goto exit_intvec; } write_unlock_irq(&mhi_cntrl->pm_lock); /* if device is in RDDM, don't bother processing SYS_ERR */ if (ee != MHI_EE_RDDM && pm_state == MHI_PM_SYS_ERR_DETECT) { wake_up_all(&mhi_cntrl->state_event); Loading drivers/bus/mhi/core/mhi_pm.c +5 −1 Original line number Diff line number Diff line Loading @@ -856,7 +856,7 @@ void mhi_process_sys_err(struct mhi_controller *mhi_cntrl) * if controller supports rddm, we do not process sys error state, * instead we will jump directly to rddm state */ if (mhi_cntrl->rddm_image) { if (mhi_cntrl->rddm_supported) { MHI_CNTRL_LOG( "Controller supports RDDM, skipping SYS_ERR_PROCESS\n"); return; Loading Loading @@ -1720,6 +1720,10 @@ int mhi_force_rddm_mode(struct mhi_controller *mhi_cntrl) to_mhi_pm_state_str(mhi_cntrl->pm_state), TO_MHI_EXEC_STR(mhi_cntrl->ee)); /* device does not support RDDM */ if (!mhi_cntrl->rddm_supported) return -EINVAL; /* device already in rddm */ if (mhi_cntrl->ee == MHI_EE_RDDM) return 0; Loading drivers/net/wireless/cnss2/pci.c +1 −0 Original line number Diff line number Diff line Loading @@ -4378,6 +4378,7 @@ static int cnss_pci_register_mhi(struct cnss_pci_data *pci_priv) mhi_ctrl->sbl_size = SZ_512K; mhi_ctrl->seg_len = SZ_512K; mhi_ctrl->fbc_download = true; mhi_ctrl->rddm_supported = true; mhi_ctrl->log_buf = ipc_log_context_create(CNSS_IPC_LOG_PAGES, "cnss-mhi", 0); Loading Loading
drivers/bus/mhi/core/mhi_boot.c +4 −0 Original line number Diff line number Diff line Loading @@ -276,6 +276,10 @@ int mhi_download_rddm_img(struct mhi_controller *mhi_cntrl, bool in_panic) void __iomem *base = mhi_cntrl->bhie; u32 rx_status; /* device supports RDDM but controller wants to skip ramdumps */ if (!mhi_cntrl->rddm_supported || !mhi_cntrl->rddm_image) return -EINVAL; if (in_panic) return __mhi_download_rddm_in_panic(mhi_cntrl); Loading
drivers/bus/mhi/core/mhi_init.c +1 −1 Original line number Diff line number Diff line Loading @@ -1760,7 +1760,7 @@ int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl) * allocate rddm table if specified, this table is for debug purpose * so we'll ignore erros */ if (mhi_cntrl->rddm_size) { if (mhi_cntrl->rddm_supported && mhi_cntrl->rddm_size) { mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->rddm_image, mhi_cntrl->rddm_size); Loading
drivers/bus/mhi/core/mhi_main.c +11 −9 Original line number Diff line number Diff line Loading @@ -1211,7 +1211,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi_cntrl, * event instead of sys error state change event */ if (mhi_cntrl->ee == MHI_EE_RDDM || mhi_cntrl->rddm_image) mhi_cntrl->rddm_supported) break; MHI_ERR("MHI system error detected\n"); Loading Loading @@ -1637,20 +1637,20 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) TO_MHI_EXEC_STR(ee), TO_MHI_STATE_STR(state)); if (mhi_cntrl->power_down) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; } if (state == MHI_STATE_SYS_ERR) { MHI_ERR("MHI system error detected\n"); pm_state = mhi_tryset_pm_state(mhi_cntrl, MHI_PM_SYS_ERR_DETECT); } if (mhi_cntrl->rddm_supported) { /* exit as power down is already initiated */ if (mhi_cntrl->power_down || ee != MHI_EE_RDDM) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; } if (ee == MHI_EE_RDDM) { write_lock_irq(&mhi_cntrl->pm_lock); /* prevent multiple entries for RDDM execution environment */ if (mhi_cntrl->ee == MHI_EE_RDDM) { write_unlock_irq(&mhi_cntrl->pm_lock); goto exit_intvec; Loading @@ -1670,6 +1670,8 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) goto exit_intvec; } write_unlock_irq(&mhi_cntrl->pm_lock); /* if device is in RDDM, don't bother processing SYS_ERR */ if (ee != MHI_EE_RDDM && pm_state == MHI_PM_SYS_ERR_DETECT) { wake_up_all(&mhi_cntrl->state_event); Loading
drivers/bus/mhi/core/mhi_pm.c +5 −1 Original line number Diff line number Diff line Loading @@ -856,7 +856,7 @@ void mhi_process_sys_err(struct mhi_controller *mhi_cntrl) * if controller supports rddm, we do not process sys error state, * instead we will jump directly to rddm state */ if (mhi_cntrl->rddm_image) { if (mhi_cntrl->rddm_supported) { MHI_CNTRL_LOG( "Controller supports RDDM, skipping SYS_ERR_PROCESS\n"); return; Loading Loading @@ -1720,6 +1720,10 @@ int mhi_force_rddm_mode(struct mhi_controller *mhi_cntrl) to_mhi_pm_state_str(mhi_cntrl->pm_state), TO_MHI_EXEC_STR(mhi_cntrl->ee)); /* device does not support RDDM */ if (!mhi_cntrl->rddm_supported) return -EINVAL; /* device already in rddm */ if (mhi_cntrl->ee == MHI_EE_RDDM) return 0; Loading
drivers/net/wireless/cnss2/pci.c +1 −0 Original line number Diff line number Diff line Loading @@ -4378,6 +4378,7 @@ static int cnss_pci_register_mhi(struct cnss_pci_data *pci_priv) mhi_ctrl->sbl_size = SZ_512K; mhi_ctrl->seg_len = SZ_512K; mhi_ctrl->fbc_download = true; mhi_ctrl->rddm_supported = true; mhi_ctrl->log_buf = ipc_log_context_create(CNSS_IPC_LOG_PAGES, "cnss-mhi", 0); Loading