Message ID | 20240516055124.24490-3-avri.altman@wdc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | scsi: ufs: Allow RTT negotiation | expand |
On 5/15/24 23:51, Avri Altman wrote: > Allow platform vendors to take precedence having their own rtt > negotiation mechanism. This makes sense because the host controller's > nortt characteristic may defer among vendors. defer -> vary? > + void (*rtt_set)(struct ufs_hba *hba, u8 *desc_buf); Please change "rtt_set" into "set_rtt" such that the word order matches the regular word order in the English language. Thanks, Bart.
> > On 5/15/24 23:51, Avri Altman wrote: > > Allow platform vendors to take precedence having their own rtt > > negotiation mechanism. This makes sense because the host controller's > > nortt characteristic may defer among vendors. > > defer -> vary? > > > + void (*rtt_set)(struct ufs_hba *hba, u8 *desc_buf); > > Please change "rtt_set" into "set_rtt" such that the word order matches > the regular word order in the English language. Done. Thanks, Avri > > Thanks, > > Bart.
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index c472bfdf071e..0407d1064e74 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -8312,7 +8312,10 @@ static int ufs_get_device_desc(struct ufs_hba *hba) if (hba->ext_iid_sup) ufshcd_ext_iid_probe(hba, desc_buf); - ufshcd_rtt_set(hba, desc_buf); + if (hba->vops && hba->vops->rtt_set) + hba->vops->rtt_set(hba, desc_buf); + else + ufshcd_rtt_set(hba, desc_buf); /* * ufshcd_read_string_desc returns size of the string diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h index d74bd2d67b06..9237ea65bd26 100644 --- a/include/ufs/ufshcd.h +++ b/include/ufs/ufshcd.h @@ -329,6 +329,7 @@ struct ufs_pwr_mode_info { * @get_outstanding_cqs: called to get outstanding completion queues * @config_esi: called to config Event Specific Interrupt * @config_scsi_dev: called to configure SCSI device parameters + * @rtt_set: negotiate rtt */ struct ufs_hba_variant_ops { const char *name; @@ -374,6 +375,7 @@ struct ufs_hba_variant_ops { int (*get_outstanding_cqs)(struct ufs_hba *hba, unsigned long *ocqs); int (*config_esi)(struct ufs_hba *hba); + void (*rtt_set)(struct ufs_hba *hba, u8 *desc_buf); }; /* clock gating state */
Allow platform vendors to take precedence having their own rtt negotiation mechanism. This makes sense because the host controller's nortt characteristic may defer among vendors. Signed-off-by: Avri Altman <avri.altman@wdc.com> --- drivers/ufs/core/ufshcd.c | 5 ++++- include/ufs/ufshcd.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-)