linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).