linux-gbmc: Re-enable I3C HCI DMA mode on server-3-0-arm Remove 0034-mipi-i3c-hci-disable-DMA-experimental.patch so that AST27xx Server 3.0 ARM platforms use MIPI I3C HCI hardware DMA ring transfers instead of forcing PIO mode. With the DMA ring depth increased to 255 entries and DMA/PIO descriptor boundary checks in place in linux-gbmc, hardware DMA mode operates reliably at full I3C bus throughput without FIFO underruns. Tested: Verified I3C DMA mode boot and PLDM firmware transfers on Mandolin Beach. fusion2 in presubmits Google-Bug-Id: 495976188 Google-Bug-Id: 445435578 Change-Id: I229fcb5ec8f367c6d1fa4cf15ab1279437b1b761 Signed-off-by: Sam Agazaryan <samagazaryan@google.com> TAG=agy CONV=fcf63151-ac56-4e8a-aa33-24f4d6e60cbe
diff --git a/recipes-kernel/linux/aspeed_g7_files/0034-mipi-i3c-hci-disable-DMA-experimental.patch b/recipes-kernel/linux/aspeed_g7_files/0034-mipi-i3c-hci-disable-DMA-experimental.patch deleted file mode 100644 index 8b22ed2..0000000 --- a/recipes-kernel/linux/aspeed_g7_files/0034-mipi-i3c-hci-disable-DMA-experimental.patch +++ /dev/null
@@ -1,30 +0,0 @@ -From b89e82f02345e0168ad3dece51d879778a815674 Mon Sep 17 00:00:00 2001 -From: Tom Craig <craigt@google.com> -Date: Sun, 4 May 2025 21:34:52 -0700 -Subject: [PATCH 9/9] mipi-i3c-hci: disable DMA *experimental* - -For experimentation purposes, disable DMA on mipi-i3c-hci. This -forces the I3C controllers on AST27xx A1 silicon to use PIO mode. - -Signed-off-by: Tom Craig <craigt@google.com> ---- - drivers/i3c/master/mipi-i3c-hci/core.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c -index 19df976ea267..5079ee8e478b 100644 ---- a/drivers/i3c/master/mipi-i3c-hci/core.c -+++ b/drivers/i3c/master/mipi-i3c-hci/core.c -@@ -1336,7 +1336,8 @@ static int i3c_hci_init(struct i3c_hci *hci) - - regval = reg_read(RING_HEADERS_SECTION); - offset = FIELD_GET(RING_HEADERS_OFFSET, regval); -- hci->RHS_regs = offset ? hci->base_regs + offset : NULL; -+ hci->RHS_regs = NULL; // Disable DMA, force to use PIO mode. -+ // hci->RHS_regs = offset ? hci->base_regs + offset : NULL; - dev_info(&hci->master.dev, "Ring Headers at offset %#x\n", offset); - - regval = reg_read(PIO_SECTION); --- -2.49.0.906.g1f30a19c02-goog -
diff --git a/recipes-kernel/linux/linux-gbmc_aspeedg7.bb b/recipes-kernel/linux/linux-gbmc_aspeedg7.bb index 5d48b35..8bcf0d5 100644 --- a/recipes-kernel/linux/linux-gbmc_aspeedg7.bb +++ b/recipes-kernel/linux/linux-gbmc_aspeedg7.bb
@@ -20,10 +20,4 @@ file://i3c-hub.cfg \ " -# Server3.0 ast2750 customized patches -# TODO(b/495976188) temporary solution is to have the patch apply to arm platforms only -SRC_URI:append:aspeed-g7:server-3-0-arm = " \ - file://0034-mipi-i3c-hci-disable-DMA-experimental.patch \ -" - KCONFIG_MODE="--allnoconfig"