Re: [PATCH V3] scsi: ufs: Add specific callback for setting DMA mask
From: Alim Akhtar
Date: Mon May 28 2018 - 02:48:40 EST
Hi Bart
On 05/20/2018 07:51 PM, Bart Van Assche wrote:
> On Sun, 2018-05-20 at 07:54 +0530, Alim Akhtar wrote:
>> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
>> index a355d98..9a1374e 100644
>> --- a/drivers/scsi/ufs/ufshcd.c
>> +++ b/drivers/scsi/ufs/ufshcd.c
>> @@ -7781,6 +7781,9 @@ EXPORT_SYMBOL_GPL(ufshcd_dealloc_host);
>> */
>> static int ufshcd_set_dma_mask(struct ufs_hba *hba)
>> {
>> + if (hba->vops && hba->vops->set_dma_mask)
>> + return hba->vops->set_dma_mask(hba);
>> +
>> if (hba->capabilities & MASK_64_ADDRESSING_SUPPORT) {
>> if (!dma_set_mask_and_coherent(hba->dev, DMA_BIT_MASK(64)))
>> return 0;
>> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
>> index 1332e54..89c6dae 100644
>> --- a/drivers/scsi/ufs/ufshcd.h
>> +++ b/drivers/scsi/ufs/ufshcd.h
>> @@ -297,6 +297,7 @@ struct ufs_pwr_mode_info {
>> * @resume: called during host controller PM callback
>> * @dbg_register_dump: used to dump controller debug information
>> * @phy_initialization: used to initialize phys
>> + * @set_dma_mask: used to set variant specific DMA mask
>> */
>> struct ufs_hba_variant_ops {
>> const char *name;
>> @@ -325,6 +326,7 @@ struct ufs_hba_variant_ops {
>> int (*resume)(struct ufs_hba *, enum ufs_pm_op);
>> void (*dbg_register_dump)(struct ufs_hba *hba);
>> int (*phy_initialization)(struct ufs_hba *);
>> + int (*set_dma_mask)(struct ufs_hba *hba);
>> };
>
> I want to see the code that sets the .set_dma_mask callback function. Where
> is it? If it is outside the upstream kernel, please consider to send it
> upstream before making changes like this. Adding support for out-of-tree
> kernel code is frowned upon big time in the kernel community.
>
Thanks for review and feedback.
Ok, I will include this patch with the series which uses this particular
patch set.
Thanks!
> Bart.
>
>
>