Message ID | ecc0563a5a48e3339e59760cc8cb73a698061851.1608352548.git.kwmad.kim@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | permit to set block parameters per vendor | expand |
On 2020-12-19 12:38, Kiwoong Kim wrote: > Thers could be some cases to set block paramters s/Thers/There/g > per host, because of its own dma structurs or whatever. s/structurs/structure/g > > Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com> > --- > drivers/scsi/ufs/ufshcd.c | 2 ++ > drivers/scsi/ufs/ufshcd.h | 8 ++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index 92d433d..58f9cb6 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -4758,6 +4758,8 @@ static int ufshcd_slave_configure(struct > scsi_device *sdev) > > ufshcd_crypto_setup_rq_keyslot_manager(hba, q); > > + ufshcd_vops_config_request_queue(hba, sdev); How about make it more univeral, like ufshcd_vops_slave_configure()? Thanks, Can Guo. > + > return 0; > } > > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > index 61344c4..657bdbd 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -329,6 +329,7 @@ struct ufs_hba_variant_ops { > void *data); > int (*program_key)(struct ufs_hba *hba, > const union ufs_crypto_cfg_entry *cfg, int slot); > + void (*config_request_queue)(struct scsi_device *sdev); > }; > > /* clock gating state */ > @@ -1228,6 +1229,13 @@ static inline void > ufshcd_vops_config_scaling_param(struct ufs_hba *hba, > hba->vops->config_scaling_param(hba, profile, data); > } > > +static inline void ufshcd_vops_config_request_queue(struct ufs_hba > *hba, > + struct scsi_device *sdev) > +{ > + if (hba->vops && hba->vops->config_request_queue) > + hba->vops->config_request_queue(sdev); > +} > + > extern struct ufs_pm_lvl_states ufs_pm_lvl_states[]; > > /*
> > Thers could be some cases to set block paramters > > s/Thers/There/g > > > per host, because of its own dma structurs or whatever. > > s/structurs/structure/g > > > > > Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com> > > --- > > drivers/scsi/ufs/ufshcd.c | 2 ++ > > drivers/scsi/ufs/ufshcd.h | 8 ++++++++ > > 2 files changed, 10 insertions(+) > > > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > > index 92d433d..58f9cb6 100644 > > --- a/drivers/scsi/ufs/ufshcd.c > > +++ b/drivers/scsi/ufs/ufshcd.c > > @@ -4758,6 +4758,8 @@ static int ufshcd_slave_configure(struct > > scsi_device *sdev) > > > > ufshcd_crypto_setup_rq_keyslot_manager(hba, q); > > > > + ufshcd_vops_config_request_queue(hba, sdev); > > How about make it more univeral, like ufshcd_vops_slave_configure()? > > Thanks, > > Can Guo. > Will refer and thanks for all of your comments Thanks. Kiwoong Kim > > + > > return 0; > > } > > > > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h > > index 61344c4..657bdbd 100644 > > --- a/drivers/scsi/ufs/ufshcd.h > > +++ b/drivers/scsi/ufs/ufshcd.h > > @@ -329,6 +329,7 @@ struct ufs_hba_variant_ops { > > void *data); > > int (*program_key)(struct ufs_hba *hba, > > const union ufs_crypto_cfg_entry *cfg, int slot); > > + void (*config_request_queue)(struct scsi_device *sdev); > > }; > > > > /* clock gating state */ > > @@ -1228,6 +1229,13 @@ static inline void > > ufshcd_vops_config_scaling_param(struct ufs_hba *hba, > > hba->vops->config_scaling_param(hba, profile, data); } > > > > +static inline void ufshcd_vops_config_request_queue(struct ufs_hba > > *hba, > > + struct scsi_device *sdev) > > +{ > > + if (hba->vops && hba->vops->config_request_queue) > > + hba->vops->config_request_queue(sdev); > > +} > > + > > extern struct ufs_pm_lvl_states ufs_pm_lvl_states[]; > > > > /*
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 92d433d..58f9cb6 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -4758,6 +4758,8 @@ static int ufshcd_slave_configure(struct scsi_device *sdev) ufshcd_crypto_setup_rq_keyslot_manager(hba, q); + ufshcd_vops_config_request_queue(hba, sdev); + return 0; } diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index 61344c4..657bdbd 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -329,6 +329,7 @@ struct ufs_hba_variant_ops { void *data); int (*program_key)(struct ufs_hba *hba, const union ufs_crypto_cfg_entry *cfg, int slot); + void (*config_request_queue)(struct scsi_device *sdev); }; /* clock gating state */ @@ -1228,6 +1229,13 @@ static inline void ufshcd_vops_config_scaling_param(struct ufs_hba *hba, hba->vops->config_scaling_param(hba, profile, data); } +static inline void ufshcd_vops_config_request_queue(struct ufs_hba *hba, + struct scsi_device *sdev) +{ + if (hba->vops && hba->vops->config_request_queue) + hba->vops->config_request_queue(sdev); +} + extern struct ufs_pm_lvl_states ufs_pm_lvl_states[]; /*
Thers could be some cases to set block paramters per host, because of its own dma structurs or whatever. Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com> --- drivers/scsi/ufs/ufshcd.c | 2 ++ drivers/scsi/ufs/ufshcd.h | 8 ++++++++ 2 files changed, 10 insertions(+)