All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] usb: Move determination of TT hub address/port into seperate function
Date: Sat, 19 Dec 2015 19:27:50 +0100	[thread overview]
Message-ID: <5675A1A6.2000607@redhat.com> (raw)
In-Reply-To: <5191768.b0hjKpqhCx@pebbles.site>

Hi,

On 19-12-15 18:17, Stefan Bruens wrote:
> On Friday 18 December 2015 11:00:19 Hans de Goede wrote:
>> Hi,
>>
>> On 18-12-15 02:11, Stefan Br?ns wrote:
>>> Start split and complete split tokens need the hub address and the
>>> downstream port of the first HS hub (device view).
>>>
>>> The core of the function was duplicated in both host/ehci_hcd and
>>> musb-new/usb-compat.h.
>>>
>>> Signed-off-by: Stefan Br?ns <stefan.bruens@rwth-aachen.de>
>>
>> Thanks for working on this, I think I've spotted one small bug though, see
>> comments inline.
>
> Ah, sorry for not mentioning this.
>
> Yes, this changes the musb code, but this was on purpose.

IMHO that is not how this should be dealt with, if what we're currently
doing for musb is wrong (I do not know if it is), then fixing this does
not belong in a patch which is only moving code around. Such a fix
clearly belongs in a separate follow-up patch, and then you can use
everything you've just typed:

 > Rationale:
>
> The ifdef'ed Linux kernel code uses the 1 based port number, whereas U-Boot
> puts a 0 based port number into the register. The reason the 0 based port
> number apparently works can probably be taken from the USB 2.0 spec:
>
> 8.4.2.2 Start-Split Transaction Token
> ... The host must correctly set the port field for single and multiple TT hub
> implementations. A single TT hub implementation *may ignore* the port field.
>
> Actually, as far as I unterstand, a multi TT hub defaults to single TT
> (bAlternateSetting: 0) until switched via SetInterface, so even "port 42"
> would work.
>
> I have somewhat verified this assumption by hardcoding the port number and
> split transactions still work. Used hubs are the RPi onboard SMC9514 and an
> external "05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB". The former is a
> multi TT hub, the latter single TT only.

As a commit msg for such a separate patch. As a general rule of thumb never
make 2 separate / independent changes in a single commit just because they
happen to touch overlapping lines of code.

> I have no board with musb, but I think a 0 based port number is wrong.

I've a board with musb, and I plan to test your patch as soon as a new version
which re-adds the -1 for musb is posted. If you decided to do a second patch to
remove the -1, I can then test that afterwards, with as an added bonus that if
things break I can also tell you if it is the new shared helper which breaks
things, or the removing of the -1 :)

Regards,

Hans

  reply	other threads:[~2015-12-19 18:27 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-13  4:17 [U-Boot] [PATCH 0/6] usb: dwc2: add SPLIT transaction support Stefan Brüns
2015-12-13  4:17 ` [U-Boot] [PATCH 1/6] usb: dwc2: avoid out of bounds access Stefan Brüns
2015-12-13  4:41   ` Marek Vasut
2015-12-16  2:58   ` Stephen Warren
2015-12-16 10:29     ` Marek Vasut
2015-12-17  1:44       ` Stefan Bruens
2015-12-13  4:17 ` [U-Boot] [PATCH 2/6] usb: dwc2: Handle NAK during CONTROL DATA and STATUS stage Stefan Brüns
2015-12-13  4:46   ` Marek Vasut
2015-12-16  3:07   ` Stephen Warren
2015-12-17  3:09     ` Stefan Bruens
2015-12-13  4:17 ` [U-Boot] [PATCH 3/6] usb: dwc2: determine TT hub address and port for split transactions Stefan Brüns
2015-12-13  4:43   ` Marek Vasut
2015-12-16  3:17   ` Stephen Warren
2015-12-17  3:16     ` Stefan Bruens
2015-12-18  1:11       ` [U-Boot] [PATCH] usb: Move determination of TT hub address/port into seperate function Stefan Brüns
2015-12-18  2:35         ` Marek Vasut
2015-12-18 10:00         ` Hans de Goede
2015-12-19 17:17           ` Stefan Bruens
2015-12-19 18:27             ` Hans de Goede [this message]
2015-12-19 20:16               ` [U-Boot] [PATCH 1/2 v2] " Stefan Brüns
2015-12-19 20:16                 ` [U-Boot] [PATCH 2/2 v2] usb: musb: Fix hub port number for SPLIT transactions Stefan Brüns
2015-12-21 19:33                   ` Hans de Goede
2015-12-21 20:27                     ` Marek Vasut
2015-12-21 23:02                       ` Stefan Bruens
2015-12-21 23:08                         ` Marek Vasut
2015-12-19 20:26               ` [U-Boot] [PATCH 1/2 v3] usb: Move determination of TT hub address/port into seperate function Stefan Brüns
2015-12-20 19:12                 ` Hans de Goede
2015-12-21 19:32                   ` Hans de Goede
2015-12-13  4:17 ` [U-Boot] [PATCH 4/6] usb: dwc2: add helper function for setting SPLIT HC registers Stefan Brüns
2015-12-13  4:44   ` Marek Vasut
2015-12-16  3:19   ` Stephen Warren
2015-12-13  4:17 ` [U-Boot] [PATCH 5/6] usb: dwc2: add support for SPLIT transactions Stefan Brüns
2015-12-13  4:48   ` Marek Vasut
2015-12-16  3:36   ` Stephen Warren
2015-12-20  0:17     ` Stefan Bruens
2015-12-20  0:41       ` Marek Vasut
2015-12-13  4:17 ` [U-Boot] [PATCH 6/6] usb: dwc2: remove no longer used wait_for_chhltd() Stefan Brüns
2015-12-13  4:48   ` Marek Vasut
2015-12-16  3:36   ` Stephen Warren
2015-12-13  4:41 ` [U-Boot] [PATCH 0/6] usb: dwc2: add SPLIT transaction support Marek Vasut
2015-12-16  2:53 ` Stephen Warren

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=5675A1A6.2000607@redhat.com \
    --to=hdegoede@redhat.com \
    --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.