From: Daejun Park <daejun7.park@samsung.com>
To: Avri Altman <Avri.Altman@wdc.com>,
Daejun Park <daejun7.park@samsung.com>,
ALIM AKHTAR <alim.akhtar@samsung.com>,
"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"asutoshd@codeaurora.org" <asutoshd@codeaurora.org>,
"beanhuo@micron.com" <beanhuo@micron.com>,
"stanley.chu@mediatek.com" <stanley.chu@mediatek.com>,
"cang@codeaurora.org" <cang@codeaurora.org>,
"bvanassche@acm.org" <bvanassche@acm.org>,
"tomas.winkler@intel.com" <tomas.winkler@intel.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Sang-yoon Oh <sangyoon.oh@samsung.com>,
Sung-Jun Park <sungjun07.park@samsung.com>,
yongmyung lee <ymhungry.lee@samsung.com>,
Jinyoung CHOI <j-young.choi@samsung.com>,
Adel Choi <adel.choi@samsung.com>,
BoRam Shin <boram.shin@samsung.com>
Subject: RE: [RFC PATCH v2 2/5] scsi: ufs: Add UFS-feature layer
Date: Wed, 17 Jun 2020 19:09:56 +0900 [thread overview]
Message-ID: <231786897.01592388781837.JavaMail.epsvc@epcpadp2> (raw)
In-Reply-To: <SN6PR04MB46402D067BE2BFE003170FB8FC9A0@SN6PR04MB4640.namprd04.prod.outlook.com>
> > This patch is adding UFS feature layer to UFS core driver.
> >
> > UFS Driver data structure (struct ufs_hba)
> > │
> > ┌--------------┐
> > │ UFS feature │ <-- HPB module
> > │ layer │ <-- other extended feature module
> > └--------------┘
> > Each extended UFS-Feature module has a bus of ufs-ext feature type.
> > The UFS feature layer manages common APIs used by each extended feature
> > module. The APIs are set of UFS Query requests and UFS Vendor commands
> > related to each extended feature module.
> >
> > Other extended features can also be implemented using the proposed APIs.
> > For example, in Write Booster, "prep_fn" can be used to guarantee the
> > lifetime of UFS by updating the amount of write IO.
> > And reset/reset_host/suspend/resume can be used to manage the kernel task
> > for checking lifetime of UFS.
> >
> > The following 6 callback functions have been added to "ufshcd.c".
> > prep_fn: called after construct upiu structure
> > reset: called after proving hba
> > reset_host: called before ufshcd_host_reset_and_restore
> > suspend: called before ufshcd_suspend
> > resume: called after ufshcd_resume
> > rsp_upiu: called in ufshcd_transfer_rsp_status with SAM_STAT_GOOD state
> >
> > Signed-off-by: Daejun Park <daejun7.park@samsung.com>
> > ---
> > drivers/scsi/ufs/Makefile | 2 +-
> > drivers/scsi/ufs/ufsfeature.c | 148 ++++++++++++++++++++++++++++++++++
> > drivers/scsi/ufs/ufsfeature.h | 69 ++++++++++++++++
> > drivers/scsi/ufs/ufshcd.c | 17 ++++
> > drivers/scsi/ufs/ufshcd.h | 3 +
> > 5 files changed, 238 insertions(+), 1 deletion(-)
> > create mode 100644 drivers/scsi/ufs/ufsfeature.c
> > create mode 100644 drivers/scsi/ufs/ufsfeature.h
> >
> > diff --git a/drivers/scsi/ufs/Makefile b/drivers/scsi/ufs/Makefile
> > index 94c6c5d7334b..fe3a92b06c87 100644
> > --- a/drivers/scsi/ufs/Makefile
> > +++ b/drivers/scsi/ufs/Makefile
> > @@ -5,7 +5,7 @@ obj-$(CONFIG_SCSI_UFS_DWC_TC_PLATFORM) += tc-dwc-
> > g210-pltfrm.o ufshcd-dwc.o tc-d
> > obj-$(CONFIG_SCSI_UFS_CDNS_PLATFORM) += cdns-pltfrm.o
> > obj-$(CONFIG_SCSI_UFS_QCOM) += ufs-qcom.o
> > obj-$(CONFIG_SCSI_UFSHCD) += ufshcd-core.o
> > -ufshcd-core-y += ufshcd.o ufs-sysfs.o
> > +ufshcd-core-y += ufshcd.o ufs-sysfs.o ufsfeature.o
> How about making it
> > ufshcd-core-$(CONFIG_UFS_FEATURES) += ufsfeature.o
> So that you won't check none-hpb driver on every response etc.
It's not a big problem because it only needs a simple checking.
In addition, I think that it is not necessary to separate them because the UFS feature is enabled in most of the user cases.
Thanks,
Daejun
next prev parent reply other threads:[~2020-06-17 10:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p1>
2020-06-15 6:27 ` [RFC PATCH v2 0/5] scsi: ufs: Add Host Performance Booster Support Daejun Park
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p4>
2020-06-15 9:08 ` [RFC PATCH v2 3/5] scsi: ufs: Introduce HPB module Daejun Park
2020-06-17 8:07 ` Avri Altman
2020-06-17 11:31 ` Avri Altman
2020-06-15 9:41 ` [RFC PATCH v2 5/5] scsi: ufs: Prepare HPB read for cached sub-region Daejun Park
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p7>
2020-06-15 9:30 ` [RFC PATCH v2 4/5] scsi: ufs: L2P map management for HPB read Daejun Park
2020-06-15 13:35 ` Bean Huo
2020-06-17 11:44 ` Avri Altman
2020-06-18 10:22 ` Avri Altman
2020-06-16 1:17 ` Daejun Park
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p5>
2020-06-15 7:21 ` [RFC PATCH v2 1/5] scsi: ufs: Add UFS feature related parameter Daejun Park
2020-06-17 10:30 ` [RFC PATCH v2 3/5] scsi: ufs: Introduce HPB module Daejun Park
2020-06-17 18:24 ` Bean Huo
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p3>
2020-06-18 1:06 ` Daejun Park
2020-06-18 6:19 ` Avri Altman
2020-06-18 0:53 ` Daejun Park
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p8>
2020-06-15 7:23 ` [RFC PATCH v2 2/5] scsi: ufs: Add UFS-feature layer Daejun Park
2020-06-15 13:09 ` Bean Huo
2020-06-17 7:08 ` Avri Altman
[not found] ` <CGME20200615062708epcms2p19a7fbc051bcd5e843c29dcd58fff4210@epcms2p6>
2020-06-16 1:18 ` Daejun Park
2020-06-17 6:55 ` Avri Altman
2020-06-17 8:57 ` Alim Akhtar
2020-06-17 9:41 ` Bean Huo
2020-06-17 9:53 ` Alim Akhtar
2020-06-18 1:03 ` [RFC PATCH v2 4/5] scsi: ufs: L2P map management for HPB read Daejun Park
2020-06-18 6:12 ` Avri Altman
2020-06-17 10:09 ` Daejun Park [this message]
2020-06-19 0:12 ` Daejun Park
2020-06-22 4:10 ` [RFC PATCH v2 0/5] scsi: ufs: Add Host Performance Booster Support Bart Van Assche
2020-06-19 0:16 ` [RFC PATCH v2 4/5] scsi: ufs: L2P map management for HPB read Daejun Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=231786897.01592388781837.JavaMail.epsvc@epcpadp2 \
--to=daejun7.park@samsung.com \
--cc=Avri.Altman@wdc.com \
--cc=adel.choi@samsung.com \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=beanhuo@micron.com \
--cc=boram.shin@samsung.com \
--cc=bvanassche@acm.org \
--cc=cang@codeaurora.org \
--cc=j-young.choi@samsung.com \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sangyoon.oh@samsung.com \
--cc=stanley.chu@mediatek.com \
--cc=sungjun07.park@samsung.com \
--cc=tomas.winkler@intel.com \
--cc=ymhungry.lee@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).