diff mbox

[U-Boot,2/5] usb: ehci: Use map_physmem in ehci-generic

Message ID 1453860843-5835-2-git-send-email-marex@denx.de
State Accepted
Delegated to: Marek Vasut
Headers show

Commit Message

Marek Vasut Jan. 27, 2016, 2:14 a.m. UTC
Some architectures, like MIPS, require remapping of the registers.
Add the map_physmem() call to handle it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
---
 drivers/usb/host/ehci-generic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Alexey Brodkin Jan. 27, 2016, 2:21 p.m. UTC | #1
Hi Marek,

On Wed, 2016-01-27 at 03:14 +0100, Marek Vasut wrote:
> Some architectures, like MIPS, require remapping of the registers.
> Add the map_physmem() call to handle it.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> ---

Probably I'm missing something but I cannot apply it
on top of current master:
------------------------->8----------------------
Applying: mips: cache: Bulletproof the code against cornercases
Applying: usb: ehci: Use map_physmem in ehci-generic
error: patch failed: drivers/usb/host/ehci-generic.c:5
error: drivers/usb/host/ehci-generic.c: patch does not apply
Patch failed at 0002 usb: ehci: Use map_physmem in ehci-generic
The copy of the patch that failed is found in:
   /home/abrodkin/Projects/sources/git/u-boot/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort"
------------------------->8----------------------

Note I'm applying entire series but not that only patch.

-Alexey
Marek Vasut Jan. 27, 2016, 4:14 p.m. UTC | #2
On Wednesday, January 27, 2016 at 03:21:17 PM, Alexey Brodkin wrote:
> Hi Marek,

Hi,

> On Wed, 2016-01-27 at 03:14 +0100, Marek Vasut wrote:
> > Some architectures, like MIPS, require remapping of the registers.
> > Add the map_physmem() call to handle it.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> > Cc: Hans de Goede <hdegoede@redhat.com>
> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> > Cc: Alexey Brodkin <abrodkin@synopsys.com>
> > ---
> 
> Probably I'm missing something but I cannot apply it
> on top of current master:
> ------------------------->8----------------------
> Applying: mips: cache: Bulletproof the code against cornercases
> Applying: usb: ehci: Use map_physmem in ehci-generic
> error: patch failed: drivers/usb/host/ehci-generic.c:5
> error: drivers/usb/host/ehci-generic.c: patch does not apply
> Patch failed at 0002 usb: ehci: Use map_physmem in ehci-generic
> The copy of the patch that failed is found in:
>    /home/abrodkin/Projects/sources/git/u-boot/.git/rebase-apply/patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort"
> ------------------------->8----------------------
> 
> Note I'm applying entire series but not that only patch.

Probably because of 4feefdcfe916113ac6e1837ea22857f25fe1771c , that's
easy to fix though.

Best regards,
Marek Vasut
diff mbox

Patch

diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c
index 1292caa..6d58ef8 100644
--- a/drivers/usb/host/ehci-generic.c
+++ b/drivers/usb/host/ehci-generic.c
@@ -5,6 +5,7 @@ 
  */
 
 #include <common.h>
+#include <asm/io.h>
 #include <dm.h>
 #include "ehci.h"
 
@@ -19,9 +20,10 @@  struct generic_ehci {
 
 static int ehci_usb_probe(struct udevice *dev)
 {
-	struct ehci_hccr *hccr = (struct ehci_hccr *)dev_get_addr(dev);
+	struct ehci_hccr *hccr;
 	struct ehci_hcor *hcor;
 
+	hccr = map_physmem(dev_get_addr(dev), 0x100, MAP_NOCACHE);
 	hcor = (struct ehci_hcor *)((uintptr_t)hccr +
 				    HC_LENGTH(ehci_readl(&hccr->cr_capbase)));