Loading drivers/bus/mhi/controllers/mhi_qcom.c +17 −4 Original line number Diff line number Diff line Loading @@ -390,6 +390,11 @@ static int mhi_force_suspend(struct mhi_controller *mhi_cntrl) MHI_CNTRL_LOG("Entered\n"); if (debug_mode == MHI_DEBUG_NO_D3 || debug_mode == MHI_FWIMAGE_NO_D3) { MHI_CNTRL_LOG("Exited due to debug mode:%d\n", debug_mode); return ret; } mutex_lock(&mhi_cntrl->pm_mutex); for (; itr; itr--) { Loading Loading @@ -666,7 +671,7 @@ static struct mhi_controller *mhi_register_controller(struct pci_dev *pci_dev) const struct firmware_info *firmware_info; bool use_bb; u64 addr_win[2]; int ret, i; int ret, i, len; if (!of_node) return ERR_PTR(-ENODEV); Loading Loading @@ -747,14 +752,22 @@ static struct mhi_controller *mhi_register_controller(struct pci_dev *pci_dev) if (ret) goto error_register; for (i = 0; i < ARRAY_SIZE(firmware_table); i++) { len = ARRAY_SIZE(firmware_table); for (i = 0; i < len; i++) { firmware_info = firmware_table + i; /* debug mode always use default */ if (!debug_mode && mhi_cntrl->dev_id == firmware_info->dev_id) if (mhi_cntrl->dev_id == firmware_info->dev_id) break; } if (debug_mode) { if (debug_mode <= MHI_DEBUG_D3) firmware_info = firmware_table + (len - 1); MHI_CNTRL_LOG("fw info: debug_mode:%d dev_id:%d image:%s\n", debug_mode, firmware_info->dev_id, firmware_info->fw_image); } mhi_cntrl->fw_image = firmware_info->fw_image; mhi_cntrl->edl_image = firmware_info->edl_image; Loading drivers/bus/mhi/controllers/mhi_qcom.h +9 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,15 @@ extern const char * const mhi_ee_str[MHI_EE_MAX]; #define TO_MHI_EXEC_STR(ee) (ee >= MHI_EE_MAX ? "INVALID_EE" : mhi_ee_str[ee]) enum mhi_debug_mode { MHI_DEBUG_MODE_OFF, MHI_DEBUG_NO_D3, /* use debug.mbn as fw image and skip first M3/D3 */ MHI_DEBUG_D3, /* use debug.mbn as fw image and allow first M3/D3 */ MHI_FWIMAGE_NO_D3, /* use fw image if found and skip first M3/D3 */ MHI_FWIMAGE_D3, /* use fw image if found and allow first M3/D3 */ MHI_DEBUG_MODE_MAX = MHI_FWIMAGE_D3, }; enum mhi_suspend_mode { MHI_ACTIVE_STATE, MHI_DEFAULT_SUSPEND, Loading Loading
drivers/bus/mhi/controllers/mhi_qcom.c +17 −4 Original line number Diff line number Diff line Loading @@ -390,6 +390,11 @@ static int mhi_force_suspend(struct mhi_controller *mhi_cntrl) MHI_CNTRL_LOG("Entered\n"); if (debug_mode == MHI_DEBUG_NO_D3 || debug_mode == MHI_FWIMAGE_NO_D3) { MHI_CNTRL_LOG("Exited due to debug mode:%d\n", debug_mode); return ret; } mutex_lock(&mhi_cntrl->pm_mutex); for (; itr; itr--) { Loading Loading @@ -666,7 +671,7 @@ static struct mhi_controller *mhi_register_controller(struct pci_dev *pci_dev) const struct firmware_info *firmware_info; bool use_bb; u64 addr_win[2]; int ret, i; int ret, i, len; if (!of_node) return ERR_PTR(-ENODEV); Loading Loading @@ -747,14 +752,22 @@ static struct mhi_controller *mhi_register_controller(struct pci_dev *pci_dev) if (ret) goto error_register; for (i = 0; i < ARRAY_SIZE(firmware_table); i++) { len = ARRAY_SIZE(firmware_table); for (i = 0; i < len; i++) { firmware_info = firmware_table + i; /* debug mode always use default */ if (!debug_mode && mhi_cntrl->dev_id == firmware_info->dev_id) if (mhi_cntrl->dev_id == firmware_info->dev_id) break; } if (debug_mode) { if (debug_mode <= MHI_DEBUG_D3) firmware_info = firmware_table + (len - 1); MHI_CNTRL_LOG("fw info: debug_mode:%d dev_id:%d image:%s\n", debug_mode, firmware_info->dev_id, firmware_info->fw_image); } mhi_cntrl->fw_image = firmware_info->fw_image; mhi_cntrl->edl_image = firmware_info->edl_image; Loading
drivers/bus/mhi/controllers/mhi_qcom.h +9 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,15 @@ extern const char * const mhi_ee_str[MHI_EE_MAX]; #define TO_MHI_EXEC_STR(ee) (ee >= MHI_EE_MAX ? "INVALID_EE" : mhi_ee_str[ee]) enum mhi_debug_mode { MHI_DEBUG_MODE_OFF, MHI_DEBUG_NO_D3, /* use debug.mbn as fw image and skip first M3/D3 */ MHI_DEBUG_D3, /* use debug.mbn as fw image and allow first M3/D3 */ MHI_FWIMAGE_NO_D3, /* use fw image if found and skip first M3/D3 */ MHI_FWIMAGE_D3, /* use fw image if found and allow first M3/D3 */ MHI_DEBUG_MODE_MAX = MHI_FWIMAGE_D3, }; enum mhi_suspend_mode { MHI_ACTIVE_STATE, MHI_DEFAULT_SUSPEND, Loading