ARM: bcm2835: use phys_to_bus() for mbox
Subsystems (4)
PATCH v2 1/1 ARM: bcm2835: use phys_to_bus() for mbox
When we communicate with the VideoCore to perform property mailbox transactions, that is a DMA operation as far as the property buffer is concerned. Use phys_to_bus() on that buffer.
---
v2: Rebase on top of bcm283x mbox header move.
While this isn't USB-related, it does depend on patches that went into the USB topic/dwc2 tree. Either this can be merged there, or we'll have to wait until that branch is merged into u-boot/master and then merge this.
As best I can tell, this is the last place we need to do this. SDHCI has potential but CONFIG_MMC_SDMA isn't set so I don't believe the code does any DMA. LCD has potential, but the VideoCore allocates the display surface, programs the display engine, and passes the surface's CPU pointer back to the CPU in a firmware message, of U-Boot isn't involved in setting up the DMA HW.
--- arch/arm/mach-bcm283x/mbox.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
arch/arm/mach-bcm283x/mbox.c +3 -2
@@ -7,6 +7,7 @@#include <common.h> #include <asm/io.h> #include <asm/arch/mbox.h> +#include <phys2bus.h> #define TIMEOUT 1000/* ms */
@@ -110,10 +111,10 @@ int bcm2835_mbox_call_prop(u32 chan, struct bcm2835_mbox_hdr *buffer)dump_buf (buffer);#endif - ret =bcm2835_mbox_call_raw (chan, (u32 )buffer, &rbuffer); + ret =bcm2835_mbox_call_raw (chan,phys_to_bus ((u32 )buffer), &rbuffer);if (ret)return ret; -if (rbuffer != (u32 )buffer) { +if (rbuffer !=phys_to_bus ((u32 )buffer)) {printf ("mbox: Response buffer mismatch\n" );return -1 ; }
Signature · 1 line
1.9.1
PATCH v2 1/1 ARM: bcm2835: use phys_to_bus() for mbox
Quoted 5 lines · Stephen Warren
When we communicate with the VideoCore to perform property mailbox transactions, that is a DMA operation as far as the property buffer is concerned. Use
phys_to_bus()on that buffer.Signed-off-by Stephen Warren <[email protected]>
Applied to u-boot-usb topic/dwc2 , thanks!
Best regards,
Marek Vasut
PATCH v2 1/1 ARM: bcm2835: use phys_to_bus() for mbox
In reply to Stephen WarrenQuoted 5 lines · Stephen Warren
When we communicate with the VideoCore to perform property mailbox transactions, that is a DMA operation as far as the property buffer is concerned. Use
phys_to_bus()on that buffer.Signed-off-by Stephen Warren <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150528/ad746caf/attachment.sig>
PATCH v2 1/1 ARM: bcm2835: use phys_to_bus() for mbox
Quoted 9 lines · Tom Rini
Quoted 5 lines · Stephen Warren
When we communicate with the VideoCore to perform property mailbox transactions, that is a DMA operation as far as the property buffer is concerned. Use
phys_to_bus()on that buffer.Signed-off-by Stephen Warren <[email protected]>Applied to u-boot/master, thanks!
That's odd. Since this patch had a dependency on a series that touched the DWC2 USB driver, Marek applied this to a USB branch back on Apr 14, and it's been pulled into u-boot/master since then. See 122426d46e31 "ARM: bcm2835: use phys_to_bus() for mbox".
PATCH v2 1/1 ARM: bcm2835: use phys_to_bus() for mbox
In reply to Tom RiniQuoted 9 lines · Tom Rini
Quoted 5 lines · Stephen Warren
When we communicate with the VideoCore to perform property mailbox transactions, that is a DMA operation as far as the property buffer is concerned. Use
phys_to_bus()on that buffer.Signed-off-by Stephen Warren <[email protected]>Applied to u-boot/master, thanks!
Mutter about patchwork being out of sync, I see this has been in for some time..
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150528/2c315c97/attachment.sig>