diff mbox series

[RFC,v1,1/2] ufs: add a vops to configure block parameter

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

Commit Message

Kiwoong Kim Dec. 19, 2020, 4:38 a.m. UTC
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(+)

Comments

Can Guo Dec. 21, 2020, 2:57 a.m. UTC | #1
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[];
> 
>  /*
Kiwoong Kim Dec. 21, 2020, 4:28 a.m. UTC | #2
> > 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 mbox series

Patch

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[];
 
 /*