[U-Boot] [PATCH v4 6/9] dm: usb: Add support for interrupt queues to the dm usb code

Hans de Goede hdegoede at redhat.com
Sat May 9 16:41:21 CEST 2015


Hi,

On 06-05-15 16:41, Simon Glass wrote:
> Hi Hans,
>
> On 5 May 2015 at 11:42, Simon Glass <sjg at chromium.org> wrote:
>> On 5 May 2015 at 03:54, Hans de Goede <hdegoede at redhat.com> wrote:
>>> Interrupt endpoints typically are polled for a long time by the usb
>>> controller before they return anything, so calls to submit_int_msg() can
>>> take a long time to complete this.
>>>
>>> To avoid this the u-boot code has the an interrupt queue mechanism / API,
>>> add support for this to the driver-model usb code.
>>>
>>> See the added doc comments for more details.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>>> Acked-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>   drivers/usb/host/usb-uclass.c | 36 ++++++++++++++++++++++++++++++++
>>>   include/usb.h                 | 48 ++++++++++++++++++++++++++++++++++++++++++-
>>>   2 files changed, 83 insertions(+), 1 deletion(-)
>>
>> Applied to u-boot-dm, thanks!
>
> Again I am getting ahead of myself. This one fails on some Samsung boards:
>
> 35: dm: usb: Add support for interrupt queues to the dm usb code
>         arm:  +   arndale odroid snow odroid-xu3
> +drivers/usb/host/ehci-hcd.o: In function `create_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1258: multiple definition of
> `create_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:71:
> first defined here
> +drivers/usb/host/ehci-hcd.o: In function `poll_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1414: multiple definition of
> `poll_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:83:
> first defined here
> +drivers/usb/host/ehci-hcd.o: In function `destroy_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1450: multiple definition of
> `destroy_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:94:
> first defined here
> +make[2]: *** [drivers/usb/host/built-in.o] Error 1
> +make[1]: *** [drivers/usb/host] Error 2
>
> I'll drop this patch until you respin it.

Weird, in my tree, after this patch, the definition of create_int_queue
in ehci-hcd.c is in a "#ifndef CONFIG_DM_USB" block. So I think this maybe
an issue elsewhere. Maybe related to "[PATCH v2 79/80] dm: usb: exynos: Drop legacy USB code"
which judging from your mail timestamps you did not have applied yet when seeing this
build failure.

Anyways I see that you've already merged quite a bit of my patches, so I'll rebase
on top of u-boot-dm/master, fix all the review comments and I'll also look into this
one.

Regards,

Hans


More information about the U-Boot mailing list