mbox series

[v4,0/3] hw/ufs: Add Universal Flash Storage (UFS) support

Message ID cover.1688459061.git.jeuk20.kim@gmail.com
Headers show
Series hw/ufs: Add Universal Flash Storage (UFS) support | expand

Message

Jeuk Kim July 4, 2023, 8:33 a.m. UTC
From: Jeuk Kim <jeuk20.kim@samsung.com>

Since v3:
- Replace softmmu_ss -> system_ss in meson

Since v2:
Addressed review comment from Stefan Hajnoczi. The main fixes are as
follows.
- Use of SPDX licence identifiers
- fixed endianness error
- removed memory leak
- fixed DMA error handling logic

Since v1:
- use macros of "hw/registerfields.h" (Addressed Philippe's review
  comments)

This patch series adds support for a new PCI-based UFS device.

The UFS pci device id (PCI_DEVICE_ID_REDHAT_UFS) is not registered
in the Linux kernel yet, so it does not work right away, but I confirmed
that it works with Linux when the UFS pci device id is registered.

I have also verified that it works with Windows 10.

Jeuk Kim (3):
  hw/ufs: Initial commit for emulated Universal-Flash-Storage
  hw/ufs: Support for Query Transfer Requests
  hw/ufs: Support for UFS logical unit

 MAINTAINERS              |    6 +
 docs/specs/pci-ids.rst   |    2 +
 hw/Kconfig               |    1 +
 hw/meson.build           |    1 +
 hw/ufs/Kconfig           |    4 +
 hw/ufs/lu.c              | 1441 +++++++++++++++++++++++++++++++++++
 hw/ufs/meson.build       |    1 +
 hw/ufs/trace-events      |   59 ++
 hw/ufs/trace.h           |    1 +
 hw/ufs/ufs.c             | 1545 ++++++++++++++++++++++++++++++++++++++
 hw/ufs/ufs.h             |  131 ++++
 include/block/ufs.h      | 1048 ++++++++++++++++++++++++++
 include/hw/pci/pci.h     |    1 +
 include/hw/pci/pci_ids.h |    1 +
 include/scsi/constants.h |    1 +
 meson.build              |    1 +
 16 files changed, 4244 insertions(+)
 create mode 100644 hw/ufs/Kconfig
 create mode 100644 hw/ufs/lu.c
 create mode 100644 hw/ufs/meson.build
 create mode 100644 hw/ufs/trace-events
 create mode 100644 hw/ufs/trace.h
 create mode 100644 hw/ufs/ufs.c
 create mode 100644 hw/ufs/ufs.h
 create mode 100644 include/block/ufs.h

Comments

Jeuk Kim July 11, 2023, 10:31 a.m. UTC | #1
Hi,
Any more reviews...?

Dear Stefan
If you don't mind, Could you give it "reviewed-by"?
And is there anything else I should do...?

Thanks,
Jeuk

On 2023-07-04 오후 5:33, Jeuk Kim wrote:
> From: Jeuk Kim <jeuk20.kim@samsung.com>
> 
> Since v3:
> - Replace softmmu_ss -> system_ss in meson
> 
> Since v2:
> Addressed review comment from Stefan Hajnoczi. The main fixes are as
> follows.
> - Use of SPDX licence identifiers
> - fixed endianness error
> - removed memory leak
> - fixed DMA error handling logic
> 
> Since v1:
> - use macros of "hw/registerfields.h" (Addressed Philippe's review
>    comments)
> 
> This patch series adds support for a new PCI-based UFS device.
> 
> The UFS pci device id (PCI_DEVICE_ID_REDHAT_UFS) is not registered
> in the Linux kernel yet, so it does not work right away, but I confirmed
> that it works with Linux when the UFS pci device id is registered.
> 
> I have also verified that it works with Windows 10.
> 
> Jeuk Kim (3):
>    hw/ufs: Initial commit for emulated Universal-Flash-Storage
>    hw/ufs: Support for Query Transfer Requests
>    hw/ufs: Support for UFS logical unit
> 
>   MAINTAINERS              |    6 +
>   docs/specs/pci-ids.rst   |    2 +
>   hw/Kconfig               |    1 +
>   hw/meson.build           |    1 +
>   hw/ufs/Kconfig           |    4 +
>   hw/ufs/lu.c              | 1441 +++++++++++++++++++++++++++++++++++
>   hw/ufs/meson.build       |    1 +
>   hw/ufs/trace-events      |   59 ++
>   hw/ufs/trace.h           |    1 +
>   hw/ufs/ufs.c             | 1545 ++++++++++++++++++++++++++++++++++++++
>   hw/ufs/ufs.h             |  131 ++++
>   include/block/ufs.h      | 1048 ++++++++++++++++++++++++++
>   include/hw/pci/pci.h     |    1 +
>   include/hw/pci/pci_ids.h |    1 +
>   include/scsi/constants.h |    1 +
>   meson.build              |    1 +
>   16 files changed, 4244 insertions(+)
>   create mode 100644 hw/ufs/Kconfig
>   create mode 100644 hw/ufs/lu.c
>   create mode 100644 hw/ufs/meson.build
>   create mode 100644 hw/ufs/trace-events
>   create mode 100644 hw/ufs/trace.h
>   create mode 100644 hw/ufs/ufs.c
>   create mode 100644 hw/ufs/ufs.h
>   create mode 100644 include/block/ufs.h
>
Stefan Hajnoczi July 18, 2023, 6:56 p.m. UTC | #2
On Tue, Jul 11, 2023 at 07:31:02PM +0900, Jeuk Kim wrote:
> Hi,
> Any more reviews...?
> 
> Dear Stefan
> If you don't mind, Could you give it "reviewed-by"?
> And is there anything else I should do...?

Sorry for the late reply. I was on vacation and am working my way
through pending code review and bug reports.

I have started reviewing this series and should be finish on Wednesday
or Thursday.

Stefan
Jeuk Kim July 18, 2023, 11:01 p.m. UTC | #3
On 2023-07-19 오전 3:56, Stefan Hajnoczi wrote:
> On Tue, Jul 11, 2023 at 07:31:02PM +0900, Jeuk Kim wrote:
>> Hi,
>> Any more reviews...?
>>
>> Dear Stefan
>> If you don't mind, Could you give it "reviewed-by"?
>> And is there anything else I should do...?
> 
> Sorry for the late reply. I was on vacation and am working my way
> through pending code review and bug reports.
> 
> I have started reviewing this series and should be finish on Wednesday
> or Thursday.
> 
> Stefan

Thank you for your review.
I have seen your comments on PATCH v4.
I'll send you a patch v5 as soon as I fix the things you commented on.

Thanks again.
Jeuk