Loading drivers/bus/mhi/core/mhi_init.c +0 −1 Original line number Diff line number Diff line Loading @@ -1342,7 +1342,6 @@ int of_register_mhi_controller(struct mhi_controller *mhi_cntrl) spin_lock_init(&mhi_cntrl->wlock); INIT_WORK(&mhi_cntrl->st_worker, mhi_pm_st_worker); INIT_WORK(&mhi_cntrl->fw_worker, mhi_fw_load_worker); INIT_WORK(&mhi_cntrl->syserr_worker, mhi_pm_sys_err_worker); INIT_WORK(&mhi_cntrl->low_priority_worker, mhi_low_priority_worker); init_waitqueue_head(&mhi_cntrl->state_event); Loading drivers/bus/mhi/core/mhi_internal.h +1 −1 Original line number Diff line number Diff line Loading @@ -746,7 +746,7 @@ int mhi_queue_state_transition(struct mhi_controller *mhi_cntrl, enum MHI_ST_TRANSITION state); void mhi_pm_st_worker(struct work_struct *work); void mhi_fw_load_worker(struct work_struct *work); void mhi_pm_sys_err_worker(struct work_struct *work); void mhi_process_sys_err(struct mhi_controller *mhi_cntrl); void mhi_low_priority_worker(struct work_struct *work); int mhi_ready_state_transition(struct mhi_controller *mhi_cntrl); void mhi_ctrl_ev_task(unsigned long data); Loading drivers/bus/mhi/core/mhi_main.c +3 −4 Original line number Diff line number Diff line Loading @@ -1194,8 +1194,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi_cntrl, MHI_PM_SYS_ERR_DETECT); write_unlock_irq(&mhi_cntrl->pm_lock); if (new_state == MHI_PM_SYS_ERR_DETECT) schedule_work( &mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); break; } default: Loading Loading @@ -1539,7 +1538,7 @@ void mhi_ctrl_ev_task(unsigned long data) } write_unlock_irq(&mhi_cntrl->pm_lock); if (pm_state == MHI_PM_SYS_ERR_DETECT) schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); } } Loading Loading @@ -1624,7 +1623,7 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) mhi_cntrl->status_cb(mhi_cntrl, mhi_cntrl->priv_data, MHI_CB_FATAL_ERROR); else schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); } exit_intvec: Loading drivers/bus/mhi/core/mhi_pm.c +11 −21 Original line number Diff line number Diff line Loading @@ -549,20 +549,9 @@ static void mhi_pm_disable_transition(struct mhi_controller *mhi_cntrl, to_mhi_pm_state_str(transition_state)); /* We must notify MHI control driver so it can clean up first */ if (transition_state == MHI_PM_SYS_ERR_PROCESS) { /* * if controller support rddm, we do not process * sys error state, instead we will jump directly * to rddm state */ if (mhi_cntrl->rddm_image) { MHI_LOG( "Controller Support RDDM, skipping SYS_ERR_PROCESS\n"); return; } if (transition_state == MHI_PM_SYS_ERR_PROCESS) mhi_cntrl->status_cb(mhi_cntrl, mhi_cntrl->priv_data, MHI_CB_SYS_ERROR); } mutex_lock(&mhi_cntrl->pm_mutex); write_lock_irq(&mhi_cntrl->pm_lock); Loading Loading @@ -724,7 +713,7 @@ int mhi_debugfs_trigger_reset(void *data, u64 val) write_unlock_irq(&mhi_cntrl->pm_lock); if (cur_state == MHI_PM_SYS_ERR_DETECT) schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); return 0; } Loading Loading @@ -808,15 +797,16 @@ void mhi_low_priority_worker(struct work_struct *work) } } void mhi_pm_sys_err_worker(struct work_struct *work) void mhi_process_sys_err(struct mhi_controller *mhi_cntrl) { struct mhi_controller *mhi_cntrl = container_of(work, struct mhi_controller, syserr_worker); MHI_LOG("Enter with pm_state:%s MHI_STATE:%s\n", to_mhi_pm_state_str(mhi_cntrl->pm_state), TO_MHI_STATE_STR(mhi_cntrl->dev_state)); /* * if controller supports rddm, we do not process sys error state, * instead we will jump directly to rddm state */ if (mhi_cntrl->rddm_image) { MHI_LOG("Controller supports RDDM, skipping SYS_ERR_PROCESS\n"); return; } mhi_queue_disable_transition(mhi_cntrl, MHI_PM_SYS_ERR_PROCESS); } Loading include/linux/mhi.h +0 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,6 @@ struct mhi_controller { /* worker for different state transitions */ struct work_struct st_worker; struct work_struct fw_worker; struct work_struct syserr_worker; struct work_struct low_priority_worker; wait_queue_head_t state_event; Loading Loading
drivers/bus/mhi/core/mhi_init.c +0 −1 Original line number Diff line number Diff line Loading @@ -1342,7 +1342,6 @@ int of_register_mhi_controller(struct mhi_controller *mhi_cntrl) spin_lock_init(&mhi_cntrl->wlock); INIT_WORK(&mhi_cntrl->st_worker, mhi_pm_st_worker); INIT_WORK(&mhi_cntrl->fw_worker, mhi_fw_load_worker); INIT_WORK(&mhi_cntrl->syserr_worker, mhi_pm_sys_err_worker); INIT_WORK(&mhi_cntrl->low_priority_worker, mhi_low_priority_worker); init_waitqueue_head(&mhi_cntrl->state_event); Loading
drivers/bus/mhi/core/mhi_internal.h +1 −1 Original line number Diff line number Diff line Loading @@ -746,7 +746,7 @@ int mhi_queue_state_transition(struct mhi_controller *mhi_cntrl, enum MHI_ST_TRANSITION state); void mhi_pm_st_worker(struct work_struct *work); void mhi_fw_load_worker(struct work_struct *work); void mhi_pm_sys_err_worker(struct work_struct *work); void mhi_process_sys_err(struct mhi_controller *mhi_cntrl); void mhi_low_priority_worker(struct work_struct *work); int mhi_ready_state_transition(struct mhi_controller *mhi_cntrl); void mhi_ctrl_ev_task(unsigned long data); Loading
drivers/bus/mhi/core/mhi_main.c +3 −4 Original line number Diff line number Diff line Loading @@ -1194,8 +1194,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi_cntrl, MHI_PM_SYS_ERR_DETECT); write_unlock_irq(&mhi_cntrl->pm_lock); if (new_state == MHI_PM_SYS_ERR_DETECT) schedule_work( &mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); break; } default: Loading Loading @@ -1539,7 +1538,7 @@ void mhi_ctrl_ev_task(unsigned long data) } write_unlock_irq(&mhi_cntrl->pm_lock); if (pm_state == MHI_PM_SYS_ERR_DETECT) schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); } } Loading Loading @@ -1624,7 +1623,7 @@ irqreturn_t mhi_intvec_threaded_handlr(int irq_number, void *dev) mhi_cntrl->status_cb(mhi_cntrl, mhi_cntrl->priv_data, MHI_CB_FATAL_ERROR); else schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); } exit_intvec: Loading
drivers/bus/mhi/core/mhi_pm.c +11 −21 Original line number Diff line number Diff line Loading @@ -549,20 +549,9 @@ static void mhi_pm_disable_transition(struct mhi_controller *mhi_cntrl, to_mhi_pm_state_str(transition_state)); /* We must notify MHI control driver so it can clean up first */ if (transition_state == MHI_PM_SYS_ERR_PROCESS) { /* * if controller support rddm, we do not process * sys error state, instead we will jump directly * to rddm state */ if (mhi_cntrl->rddm_image) { MHI_LOG( "Controller Support RDDM, skipping SYS_ERR_PROCESS\n"); return; } if (transition_state == MHI_PM_SYS_ERR_PROCESS) mhi_cntrl->status_cb(mhi_cntrl, mhi_cntrl->priv_data, MHI_CB_SYS_ERROR); } mutex_lock(&mhi_cntrl->pm_mutex); write_lock_irq(&mhi_cntrl->pm_lock); Loading Loading @@ -724,7 +713,7 @@ int mhi_debugfs_trigger_reset(void *data, u64 val) write_unlock_irq(&mhi_cntrl->pm_lock); if (cur_state == MHI_PM_SYS_ERR_DETECT) schedule_work(&mhi_cntrl->syserr_worker); mhi_process_sys_err(mhi_cntrl); return 0; } Loading Loading @@ -808,15 +797,16 @@ void mhi_low_priority_worker(struct work_struct *work) } } void mhi_pm_sys_err_worker(struct work_struct *work) void mhi_process_sys_err(struct mhi_controller *mhi_cntrl) { struct mhi_controller *mhi_cntrl = container_of(work, struct mhi_controller, syserr_worker); MHI_LOG("Enter with pm_state:%s MHI_STATE:%s\n", to_mhi_pm_state_str(mhi_cntrl->pm_state), TO_MHI_STATE_STR(mhi_cntrl->dev_state)); /* * if controller supports rddm, we do not process sys error state, * instead we will jump directly to rddm state */ if (mhi_cntrl->rddm_image) { MHI_LOG("Controller supports RDDM, skipping SYS_ERR_PROCESS\n"); return; } mhi_queue_disable_transition(mhi_cntrl, MHI_PM_SYS_ERR_PROCESS); } Loading
include/linux/mhi.h +0 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,6 @@ struct mhi_controller { /* worker for different state transitions */ struct work_struct st_worker; struct work_struct fw_worker; struct work_struct syserr_worker; struct work_struct low_priority_worker; wait_queue_head_t state_event; Loading