All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/5] usb: ehci: Implement V2P mapping
Date: Fri, 26 Feb 2016 11:16:23 -0700	[thread overview]
Message-ID: <56D09677.5090408@wwwdotorg.org> (raw)
In-Reply-To: <56D08370.60808@denx.de>

On 02/26/2016 09:55 AM, Marek Vasut wrote:
> On 02/26/2016 05:48 PM, Stephen Warren wrote:
>> On 01/26/2016 07:14 PM, Marek Vasut wrote:
>>> Certain processor architectures, like MIPS, require that the USB
>>> structures and transfer buffers are passed with their PA to the
>>> USB controller. If VA is passed, the USB will not work. Add the
>>> necessary virt_to_phys() calls into the USB EHCI code to make it
>>> work.
>>
>> FYI, this causes some cast size warnings, e.g.:
>>
>>> +make
>>> O=/home/swarren/shared/git_wa/tegra-uboot-flasher/u-boot/build-p2371-2180
>>> -s p2371-2180_defconfig
>>> +make
>>> O=/home/swarren/shared/git_wa/tegra-uboot-flasher/u-boot/build-p2371-2180
>>> -s -j8
>>> In file included from ../arch/arm/include/asm/byteorder.h:29:0,
>>>                   from ../include/compiler.h:125,
>>>                   from ../include/image.h:19,
>>>                   from ../include/common.h:88,
>>>                   from ../drivers/usb/host/ehci-hcd.c:10:
>>> ../drivers/usb/host/ehci-hcd.c: In function ?ehci_td_buffer?:
>>> ../drivers/usb/host/ehci-hcd.c:248:49: warning: cast to pointer from
>>> integer of different size [-Wint-to-pointer-cast]
>>>     td->qt_buffer[idx] = cpu_to_hc32(virt_to_phys((void *)addr));
>>>                                                   ^
>>> ../include/linux/byteorder/little_endian.h:34:51: note: in definition
>>> of macro ?__cpu_to_le32?
>>>   #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
>>>                                                     ^
>>> ../drivers/usb/host/ehci-hcd.c:248:24: note: in expansion of macro
>>> ?cpu_to_hc32?
>>>     td->qt_buffer[idx] = cpu_to_hc32(virt_to_phys((void *)addr));
>>>                          ^
>>
>> (This is a 64-bit ARM platform, so I had CROSS_COMPILE=aarch64-linux-gnu-)
>
> Tom reported this to me too, sorry :-(
>
> Do you have an idea how to fix this too? I am now installing arm64
> toolchain.

I haven't looked at it yet. I've seen similar problems in the bast 
handled by casting between integer types before casting to pointers e.g. 
something like the following guess:

uint32_t pa;
void *p = (void *)(uintptr_t)pa;

> Do you know about some nice arm64 board with USB for testing?

There's always the Jetson TX1; it is the p2371-2180 that I was building 
above:

http://www.nvidia.com/object/jetson-tx1-dev-kit.html

  reply	other threads:[~2016-02-26 18:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-27  2:13 [U-Boot] [PATCH 1/5] mips: cache: Bulletproof the code against cornercases Marek Vasut
2016-01-27  2:14 ` [U-Boot] [PATCH 2/5] usb: ehci: Use map_physmem in ehci-generic Marek Vasut
2016-01-27 14:21   ` Alexey Brodkin
2016-01-27 16:14     ` Marek Vasut
2016-01-27  2:14 ` [U-Boot] [PATCH 3/5] usb: ehci: Implement V2P mapping Marek Vasut
2016-02-26 16:48   ` Stephen Warren
2016-02-26 16:55     ` Marek Vasut
2016-02-26 18:16       ` Stephen Warren [this message]
2016-02-26 18:44         ` Marek Vasut
2016-02-26 19:12           ` Stephen Warren
2016-02-26 19:16             ` Marek Vasut
2016-01-27  2:14 ` [U-Boot] [PATCH 4/5] usb: ehci: Clear USBMODE_BE on LE MMIO Marek Vasut
2016-01-27  2:14 ` [U-Boot] [PATCH 5/5] usb: ehci: Be explicit about the BE IO accessors Marek Vasut
2016-01-27 14:56 ` [U-Boot] [PATCH 1/5] mips: cache: Bulletproof the code against cornercases Daniel Schwierzeck
2016-01-27 16:15   ` Marek Vasut
2016-02-01 21:29 ` Daniel Schwierzeck
2016-02-01 21:31   ` Marek Vasut
2016-02-01 21:40     ` Daniel Schwierzeck
2016-02-01 21:45       ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56D09677.5090408@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.