Loading drivers/scsi/ufs/ufshcd.c +3 −0 Original line number Diff line number Diff line Loading @@ -1806,6 +1806,9 @@ static int ufshcd_config_max_pwr_mode(struct ufs_hba *hba) u8 pwr[] = {FASTAUTO_MODE, FASTAUTO_MODE}; int ret; if (hba->quirks & UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE) return 0; /* Get the connected lane count */ ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDRXDATALANES), &lanes[RX]); ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDTXDATALANES), &lanes[TX]); Loading drivers/scsi/ufs/ufshcd.h +6 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,12 @@ struct ufs_hba { * controller to have a single command at a time for the device */ #define UFSHCD_QUIRK_BROKEN_DEVICE_Q_CMND (1 << 4) /* * Power mode switch is broken, the power mode will be default * to PWM-G1 or the one set by bootloader. */ #define UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE (1 << 5) struct uic_command *active_uic_cmd; struct mutex uic_cmd_mutex; Loading Loading
drivers/scsi/ufs/ufshcd.c +3 −0 Original line number Diff line number Diff line Loading @@ -1806,6 +1806,9 @@ static int ufshcd_config_max_pwr_mode(struct ufs_hba *hba) u8 pwr[] = {FASTAUTO_MODE, FASTAUTO_MODE}; int ret; if (hba->quirks & UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE) return 0; /* Get the connected lane count */ ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDRXDATALANES), &lanes[RX]); ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDTXDATALANES), &lanes[TX]); Loading
drivers/scsi/ufs/ufshcd.h +6 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,12 @@ struct ufs_hba { * controller to have a single command at a time for the device */ #define UFSHCD_QUIRK_BROKEN_DEVICE_Q_CMND (1 << 4) /* * Power mode switch is broken, the power mode will be default * to PWM-G1 or the one set by bootloader. */ #define UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE (1 << 5) struct uic_command *active_uic_cmd; struct mutex uic_cmd_mutex; Loading