mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
mhi: cntrl: qcom: expand debug modes for new device bringup
When bringing up a new device attach to the host driver, MHI controller can have more than one debug mode to allow for configurable versions and make it easier to choose firmware images and allow/disallow forced suspend/resume done to choose new PHY settings. Change-Id: Id2ecd98cfbaba40aca96bd167c34bfa5fd03818e Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
This commit is contained in:
parent
7973005538
commit
7eee98e175
2 changed files with 26 additions and 4 deletions
|
|
@ -403,6 +403,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--) {
|
||||
|
|
@ -676,7 +681,7 @@ static struct mhi_controller *mhi_register_controller(struct pci_dev *pci_dev)
|
|||
bool use_s1;
|
||||
u32 addr_win[2];
|
||||
const char *iommu_dma_type;
|
||||
int ret, i;
|
||||
int ret, i, len;
|
||||
|
||||
if (!of_node)
|
||||
return ERR_PTR(-ENODEV);
|
||||
|
|
@ -752,14 +757,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;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,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…
Reference in a new issue