[PATCH v4 0/2] scsi: ufs: Add support for the aggregated read query opcode
Hyeoncheol Jeong <[email protected]>
| Newsgroups | org.kernel.vger.linux-scsi,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260728092208epcms2p881b17276fb41c006a4229c1d073b4ad0@epcms2p8> |
UFS 5.0 / JEDEC 220H introduces the AGGREGATED READ query opcode (0x9), which retrieves an aggregated data packet bundling multiple Descriptors, Attributes and Flags in a single QUERY RESPONSE UPIU. Such a packet can be far larger than a single descriptor, so the reserved (device management) tag gets a dedicated UCD with an enlarged response area. Patch 1 is a preparatory cleanup that switches the BSG query descriptor length to unsigned types. Patch 2 adds the aggregated read support. Changes since v3: - Patch 1: drop the (u16) cast in min() (Bart Van Assche). - Patch 2: reject Advanced RPMB BSG requests with more than UFSHCD_DEVMAN_SG_ENTRIES scatter-gather segments before dma_map_sg() (Sashiko AI / Bart Van Assche). v3: https://lore.kernel.org/linux-scsi/20260724030812epcms2p4eb2c77cb4dcd5fd51ca9c3eaa5ea4bfa@epcms2p4/ v2: https://lore.kernel.org/linux-scsi/20260722084819epcms2p49c27fce999e821385f7b5d7ea5a02868@epcms2p4/ Hyeoncheol Jeong (2): scsi: ufs: Use unsigned types for the BSG query descriptor length scsi: ufs: Add support for the aggregated read query opcode drivers/ufs/core/ufs-mcq.c | 14 ++++-- drivers/ufs/core/ufs_bsg.c | 49 +++++++++++-------- drivers/ufs/core/ufshcd.c | 98 ++++++++++++++++++++++++++++---------- include/ufs/ufs.h | 6 +++ include/ufs/ufshcd.h | 20 ++++++++ include/ufs/ufshci.h | 12 +++++ 6 files changed, 151 insertions(+), 48 deletions(-) -- 2.25.1