[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<DM6PR04MB6575E8CF999266A049F7F077FCF22@DM6PR04MB6575.namprd04.prod.outlook.com>
Date: Wed, 29 May 2024 21:07:51 +0000
From: Avri Altman <Avri.Altman@....com>
To: Bart Van Assche <bvanassche@....org>, "Martin K . Petersen"
<martin.petersen@...cle.com>
CC: Bean Huo <beanhuo@...ron.com>, Peter Wang <peter.wang@...iatek.com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v6 2/3] scsi: ufs: Maximum RTT supported by the host
driver
>
> On 5/26/24 01:16, Avri Altman wrote:
> > - rtt = min_t(int, dev_info->rtt_cap, hba->nortt);
> > + if (hba->vops && hba->vops->max_num_rtt)
> > + rtt = hba->vops->max_num_rtt;
> > + else
> > + rtt = min_t(int, dev_info->rtt_cap, hba->nortt);
> > +
>
> Shouldn't what the controller supports be compared with what the device
> supports, e.g. as follows?
>
> min_t(int, dev_info->rtt_cap, hba->vops->max_num_rtt ? : hba->nortt);
Yes, this is an option too.
The one that I proposed allows to entirely overrides the negotiation.
I think your suggestion is better.
Will change.
>
> > struct ufs_hba_variant_ops {
> > const char *name;
> > + int max_num_rtt;
>
> Hmm ... why 'int' instead of an unsigned type? If the type would be changed
> into 'u8' (the type of rtt_cap) then the above min_t() can be changed into
> min().
Nortt is 0 based, meaning it can be 256, which some of the platforms in the market do use, so u8 is not enough.
Thanks,
Avri
>
> Thanks,
>
> Bart.
Powered by blists - more mailing lists