Hi Martin, Please consider this series of UFS driver patches for the next merge window. Thank you, Bart. Changes compared to v4: - Included changes for the MediaTek driver in patch "Inline is_mcq_enabled()". Dropped the Reviewed-by tags from that patch. - Added a patch that moves the "hba->mcq_enabled = true" assignment into ufshcd_mcq_enable(). Later patches have been modified such that hba->mcq_enabled assignments only happen inside ufshcd_mcq_enable() and ufshcd_mcq_disable(). Changes compared to v3: - In patch 9/9, enable MCQ before reading the maximum number of active commands (MAC). - Added two refactoring patches: "Inline is_mcq_enabled()" and "Move the ufshcd_mcq_enable() call". Changes compared to v2: - In patch 1/7, remove more duplicate declarations. Changes compared to v1: - Based upon reviewer feedback, a new patch that renames the MASK_TRANSFER_REQUESTS_SLOTS constant has been added. - Because there is no agreement about these patches, the following three patches have been left out: "Make ufshcd_poll() complain about unsupported arguments", "Make the polling code report which command has been completed" and also "Check for completion from the timeout handler". Bart Van Assche (10): scsi: ufs: Declare functions once scsi: ufs: Initialize struct uic_command once scsi: ufs: Remove two constants scsi: ufs: Rename the MASK_TRANSFER_REQUESTS_SLOTS constant scsi: ufs: Initialize hba->reserved_slot earlier scsi: ufs: Inline is_mcq_enabled() scsi: ufs: Move the "hba->mcq_enabled = true" assignment scsi: ufs: Move the ufshcd_mcq_enable() call scsi: ufs: Inline ufshcd_mcq_vops_get_hba_mac() scsi: ufs: Make .get_hba_mac() optional drivers/ufs/core/ufs-mcq.c | 31 +++++++-- drivers/ufs/core/ufshcd-priv.h | 15 +---- drivers/ufs/core/ufshcd.c | 109 ++++++++++++++++---------------- drivers/ufs/host/ufs-mediatek.c | 6 +- include/ufs/ufshcd.h | 13 ++-- include/ufs/ufshci.h | 3 +- 6 files changed, 90 insertions(+), 87 deletions(-)