busdma problem

Sam Leffler sam at freebsd.org
Fri Jan 30 09:45:19 PST 2009


Andrew Thompson wrote:
> Hi,
>
>
> I am having an issue with busdma when bounce buffers are used. I have
> patched _bus_dmamap_sync_bp() to print out the details when a bounce
> happens and also print the driver buffer before and after.
>
> During normal dma everything is fine,
>
> Before: 0xc7c1ab40 data=c1:4b:a4:80:c0:5d:ed:78:00:00:08:0d:c1:1f:46:78:00:00:20:02:00:00:20:02:
> [...do dma...]
> After:  0xc7c1ab40 data=2c:03:4e:00:6f:00:76:00:61:00:74:00:65:00:6c:00:20:00:57:00:69:00:72:00:
>
> The buffer 2c:03:4e:00:... is the correct response from the hardware.
> When a bounce buffer is used I see the correct data come in and be
> bcopy'd to my memory region but it is not visible when read later.
>
> Before: 0xc7c29b40 data=c1:50:19:00:c0:5d:ed:f8:00:00:08:0d:c1:1f:46:78:00:00:20:02:00:00:20:02:
> dma bounced 0x1271000 -> 0xc7c29b40 len=193 data=2c:03:4e:00:6f:00:76:00:61:00:74:00:65:00:6c:00:20:00:57:00:69:00:72:00:
> After:  0xc7c29b40 data=c1:50:19:00:c0:5d:ed:f8:00:00:08:0d:c1:1f:46:78:00:00:20:02:00:00:20:02:
>
>
> This is on an xscale ixp425 with 128m memory, the PCI dma tag is limited
> to 64m.
>
>   
What device is involved?  Is this on HEAD?

    Sam



More information about the freebsd-arm mailing list