]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
i3c: mipi-i3c-hci: Increase DMA transfer ring size to maximum
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 3 Jun 2026 09:07:54 +0000 (12:07 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 14 Jun 2026 15:21:35 +0000 (17:21 +0200)
The DMA transfer ring is currently limited to 16 entries, despite the
MIPI I3C HCI supporting up to 32 devices.  When the ring lacks space for a
new transfer list, the driver returns -EBUSY, which can be unexpected
for clients.

Increase the DMA transfer ring size to the maximum supported value of
255 entries.  This effectively eliminates ring-space exhaustion in
practice and avoids the complexity of adding secondary queuing
mechanisms.

Even at the maximum size, the memory overhead remains small
(approximately 24 bytes per entry by default).

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260603090754.16252-18-adrian.hunter@intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/mipi-i3c-hci/dma.c

index 0136f3064adabb8fe9553388b1ff3adce6a9a133..5c6ae2055618450af45685200eb03358ec9543c2 100644 (file)
@@ -27,7 +27,7 @@
  */
 
 #define XFER_RINGS                     1       /* max: 8 */
-#define XFER_RING_ENTRIES              16      /* max: 255 */
+#define XFER_RING_ENTRIES              255     /* max: 255 */
 
 #define IBI_RINGS                      1       /* max: 8 */
 #define IBI_STATUS_RING_ENTRIES                32      /* max: 255 */