File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8131,6 +8131,8 @@ static void ufshcd_set_rtt(struct ufs_hba *hba)
81318131 struct ufs_dev_info * dev_info = & hba -> dev_info ;
81328132 u32 rtt = 0 ;
81338133 u32 dev_rtt = 0 ;
8134+ int host_rtt_cap = hba -> vops && hba -> vops -> max_num_rtt ?
8135+ hba -> vops -> max_num_rtt : hba -> nortt ;
81348136
81358137 /* RTT override makes sense only for UFS-4.0 and above */
81368138 if (dev_info -> wspecversion < 0x400 )
@@ -8146,7 +8148,8 @@ static void ufshcd_set_rtt(struct ufs_hba *hba)
81468148 if (dev_rtt != DEFAULT_MAX_NUM_RTT )
81478149 return ;
81488150
8149- rtt = min_t (int , dev_info -> rtt_cap , hba -> nortt );
8151+ rtt = min_t (int , dev_info -> rtt_cap , host_rtt_cap );
8152+
81508153 if (rtt == dev_rtt )
81518154 return ;
81528155
Original file line number Diff line number Diff line change @@ -1785,6 +1785,7 @@ static int ufs_mtk_config_esi(struct ufs_hba *hba)
17851785 */
17861786static const struct ufs_hba_variant_ops ufs_hba_mtk_vops = {
17871787 .name = "mediatek.ufshci" ,
1788+ .max_num_rtt = MTK_MAX_NUM_RTT ,
17881789 .init = ufs_mtk_init ,
17891790 .get_ufs_hci_version = ufs_mtk_get_ufs_hci_version ,
17901791 .setup_clocks = ufs_mtk_setup_clocks ,
Original file line number Diff line number Diff line change @@ -189,4 +189,7 @@ struct ufs_mtk_host {
189189/* MTK delay of autosuspend: 500 ms */
190190#define MTK_RPM_AUTOSUSPEND_DELAY_MS 500
191191
192+ /* MTK RTT support number */
193+ #define MTK_MAX_NUM_RTT 2
194+
192195#endif /* !_UFS_MEDIATEK_H */
Original file line number Diff line number Diff line change @@ -295,6 +295,7 @@ struct ufs_pwr_mode_info {
295295/**
296296 * struct ufs_hba_variant_ops - variant specific callbacks
297297 * @name: variant name
298+ * @max_num_rtt: maximum RTT supported by the host
298299 * @init: called when the driver is initialized
299300 * @exit: called to cleanup everything done in init
300301 * @get_ufs_hci_version: called to get UFS HCI version
@@ -332,6 +333,7 @@ struct ufs_pwr_mode_info {
332333 */
333334struct ufs_hba_variant_ops {
334335 const char * name ;
336+ int max_num_rtt ;
335337 int (* init )(struct ufs_hba * );
336338 void (* exit )(struct ufs_hba * );
337339 u32 (* get_ufs_hci_version )(struct ufs_hba * );
You can’t perform that action at this time.
0 commit comments