UFSHCI 4.0 spec introduced MCQ(Multi-Circular Queue) to support multiple command queues for UFS controller. To test ufs-mcq path of kernel, MCQ emulated device would be a good choice to go with.
The first patch added newly introduced fields in UFSHCI 4.0 to support MCQ. The other one made the actual changes for MCQ. v2: It fixed printing error event trace even in normal shutdown cases for SQ/CQ tear-down by checking whether each SQ/CQ is valid or not. The default value of mcq-maxq was updated to 2 from 1 to prevent the kernel from allocating a single queue as a poll_queue by default and to ensure that io_queues exist to handle device commands. Please review. Thanks, Minwoo Im (2): hw/ufs: Update MCQ-related fields to block/ufs.h hw/ufs: Add support MCQ of UFSHCI 4.0 hw/ufs/trace-events | 17 ++ hw/ufs/ufs.c | 478 ++++++++++++++++++++++++++++++++++++++++++-- hw/ufs/ufs.h | 98 ++++++++- include/block/ufs.h | 131 +++++++++++- 4 files changed, 702 insertions(+), 22 deletions(-) -- 2.34.1