[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN7PR08MB56848F46B73F3D9DF7E6AD3ADB310@BN7PR08MB5684.namprd08.prod.outlook.com>
Date: Fri, 17 Jan 2020 13:12:30 +0000
From: "Bean Huo (beanhuo)" <beanhuo@...ron.com>
To: Bart Van Assche <bvanassche@....org>, Bean Huo <huobean@...il.com>,
"alim.akhtar@...sung.com" <alim.akhtar@...sung.com>,
"avri.altman@....com" <avri.altman@....com>,
"asutoshd@...eaurora.org" <asutoshd@...eaurora.org>,
"jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"stanley.chu@...iatek.com" <stanley.chu@...iatek.com>,
"tomas.winkler@...el.com" <tomas.winkler@...el.com>,
"cang@...eaurora.org" <cang@...eaurora.org>
CC: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [EXT] Re: [PATCH v2 6/9] scsi: ufs: Delete is_init_prefetch from
struct ufs_hba
Hi, Bart
> > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> > index 44b7c0a44b8d..31b6e2a7c166 100644
> > --- a/drivers/scsi/ufs/ufshcd.c
> > +++ b/drivers/scsi/ufs/ufshcd.c
> > @@ -6967,8 +6967,7 @@ static int ufs_lu_add(struct ufs_hba *hba) {
> > int ret;
> >
> > - if (!hba->is_init_prefetch)
> > - ufshcd_init_icc_levels(hba);
> > + ufshcd_init_icc_levels(hba);
> >
> > /* Add required well known logical units to scsi mid layer */
> > ret = ufshcd_scsi_add_wlus(hba);
> > @@ -6994,8 +6993,6 @@ static int ufs_lu_add(struct ufs_hba *hba)
> > scsi_scan_host(hba->host);
> > pm_runtime_put_sync(hba->dev);
> >
> > - if (!hba->is_init_prefetch)
> > - hba->is_init_prefetch = true;
> > out:
> > return ret;
> > }
>
> The current code calls ufshcd_init_icc_levels() once per HBA. This patch changes
> that into one call per LUN. It seems like the patch description contradicts the
> code I see above.
>
No, it is still called once per HBA. The current UFS driver doesn't have per LU initialization path.
After this patch, the path likes this:
ufshcd_pltfrm_init(pdev, of_id->data);
ufshcd_init(hba, mmio_base, irq);
ufshcd_async_scan()
ufs_lu_add()-->ufshcd_init_icc_levels()
I should change ufs_lu_add() name to ufs_lus_add(), will make it clearer.
//Bean
Powered by blists - more mailing lists