[PATCH v4 0/2] scsi: ufs: Add support for the aggregated read query opcode

From: Hyeoncheol Jeong

Date: Tue Jul 28 2026 - 05:54:11 EST


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