On 13/12/23 19:04, Guenter Roeck wrote:
On 12/13/23 09:19, Philippe Mathieu-Daudé wrote:
Hi Guenter,

On 13/12/23 18:12, Peter Maydell wrote:
On Wed, 13 Dec 2023 at 01:49, Guenter Roeck <li...@roeck-us.net> wrote:

All tests using pxa2xx_mmc to access mmc cards on pxa2xx platforms
such as borzoi fail starting with commit a2e1753b80 ("memory: prevent
dma-reentracy issues"). Disable reentrancy guard to fix the problem.

Fixes: a2e1753b80 ("memory: prevent dma-reentracy issues")
Signed-off-by: Guenter Roeck <li...@roeck-us.net>
---
  hw/sd/pxa2xx_mmci.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c
index 5e8ea69188..27ae8f2888 100644
--- a/hw/sd/pxa2xx_mmci.c
+++ b/hw/sd/pxa2xx_mmci.c
@@ -555,6 +555,8 @@ static void pxa2xx_mmci_instance_init(Object *obj)
      qdev_init_gpio_out_named(dev, &s->rx_dma, "rx-dma", 1);
      qdev_init_gpio_out_named(dev, &s->tx_dma, "tx-dma", 1);

+    s->iomem.disable_reentrancy_guard = true;
+

All patches that set this flag should include a comment which
explains what the device access path that triggers the reentrancy
is, please.

Can we get a reproducer or backtrace please?

qemu-system-arm: warning: Blocked re-entrant IO on MemoryRegion: pxa2xx-mmci at addr: 0x40
[    0.770246] mmc0: invalid bus width
[    0.770962] mmc0: error -22 whilst initialising SD card
[    0.828179] mmc0: invalid bus width
[    0.828445] mmc0: error -22 whilst initialising SD card

with:

qemu-system-arm -M borzoi -kernel arch/arm/boot/zImage -no-reboot -snapshot \     -device sd-card,drive=d0 -drive file=/tmp/flash,format=raw,if=none,id=d0 \
     -usb -device usb-net,netdev=net0 -netdev user,id=net0 \
     --append "root=/dev/mmcblk0 rootwait console=ttyS0"

Thank you, I'll have a look after Christmas.

Regards,

Phil.

Reply via email to