Re: [PATCH] scsi: ufs: ufs-pci: Add support for QEMU

From: Adrian Hunter
Date: Tue Aug 01 2023 - 07:16:08 EST


On 1/08/23 12:20, Jeuk Kim wrote:
> On 1/08/23, Adrian Hunter wrote:
>> On 1/08/23 10:37, Jeuk Kim wrote:
>>> Add PCI ID to support QEMU ufs.
>>>
>>> The new qemu ufs device can be found at
>>> https://lore.kernel.org/qemu-devel/20230727155239.GA979354@fedora
>>
>> Please say something about why a UFS device is being virtualized
>> and what features it is expected to support.
>
> Hi Adrian!
>
> UFS device emulation feature has been newly added to QEMU recently.
> Currently, QEMU UFS supports basic io and query request features,
> and plans to add more features in the future.
>
> With the addition of the QEMU ufs device emulation feature,
> QEMU UFS decided to use the pci device id of 0x0013 in the REDHAT vendor id (0x1b36).
>
> However, this information is not registered in the linux ufs driver,
> so the current linux kernel does not recognize the QEMU UFS device.
> Therefore, I want to register the QEMU ufs pci id through this patch.
>
> Do I need to add the above content to the commit message?

I was really hoping for an explanation of "Why?" i.e.
why does anyone want a virtual UFS device? Why not use
any existing virtual block device?

And yes, please add to the commit message

>
> Thanks,
> Jeuk
>
>>>
>>> Signed-off-by: Jeuk Kim <jeuk20.kim@xxxxxxxxxxx>
>>> ---
>>>   drivers/ufs/host/ufshcd-pci.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/ufs/host/ufshcd-pci.c b/drivers/ufs/host/ufshcd-pci.c
>>> index cf3987773051..29d322931427 100644
>>> --- a/drivers/ufs/host/ufshcd-pci.c
>>> +++ b/drivers/ufs/host/ufshcd-pci.c
>>> @@ -590,6 +590,7 @@ static const struct dev_pm_ops ufshcd_pci_pm_ops = {
>>>   };
>>>  
>>>   static const struct pci_device_id ufshcd_pci_tbl[] = {
>>> +        { PCI_VENDOR_ID_REDHAT, 0x0013, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
>>>          { PCI_VENDOR_ID_SAMSUNG, 0xC00C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
>>>          { PCI_VDEVICE(INTEL, 0x9DFA), (kernel_ulong_t)&ufs_intel_cnl_hba_vops },
>>>          { PCI_VDEVICE(INTEL, 0x4B41), (kernel_ulong_t)&ufs_intel_ehl_hba_vops },