This patchset introduces add support for MCQ introduced in UFSHCI 4.0. The first patch adds a simple helper to get the address of MCQ queue config registers. The second one enables MCQ feature by adding mandatory vops callback functions required at MCQ initialization phase. The last one is to prevent a case where number of MCQ is given 1 since driver allocates poll_queues first rather than I/O queues to handle device commands. Instead of causing exception handlers due to no I/O queue, failfast during the initialization time. --- v2: - https://lore.kernel.org/linux-scsi/20240531103821.1583934-1-minwoo.im@xxxxxxxxxxx/T/#t - Not separate the newly introduced function from the actuall caller in the other patch by squash the second patch to the first one (Bart). - Rename ufs_redhat_* in ufshcd-pci.c to ufs_qemu_* to represent that it's for QEMU UFS PCI device (Bart). Minwoo Im (2): ufs: pci: Add support MCQ for QEMU-based UFS ufs: mcq: Prevent no I/O queue case for MCQ drivers/ufs/core/ufs-mcq.c | 23 +++++++++++++++++ drivers/ufs/host/ufshcd-pci.c | 48 ++++++++++++++++++++++++++++++++++- include/ufs/ufshcd.h | 1 + 3 files changed, 71 insertions(+), 1 deletion(-) -- 2.34.1