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(-)