[U-Boot] Please pull u-boot-dm.git [take 2]

Simon Glass sjg at chromium.org
Sat Apr 18 22:43:02 CEST 2015


Hi Tom,

On 18 April 2015 at 09:51, Tom Rini <trini at konsulko.com> wrote:
> On Sat, Apr 18, 2015 at 09:26:21AM -0600, Simon Glass wrote:
>> Hi,
>>
>> On 18 April 2015 at 06:07, Tom Rini <trini at konsulko.com> wrote:
>> >
>> > On Sat, Apr 18, 2015 at 07:10:41AM -0400, Tom Rini wrote:
>> > > On Sat, Apr 18, 2015 at 12:31:54PM +0200, Hans de Goede wrote:
>> > > > Hi,
>> > > >
>> > > > On 18-04-15 11:19, Hans de Goede wrote:
>> > > > >Hi,
>> > > > >
>> > > > >On 17-04-15 21:39, Hans de Goede wrote:
>> > > > >>Hi,
>> > > > >>
>> > > > >>On 17-04-15 21:28, Hans de Goede wrote:
>> > > > >>>Hi,
>> > > > >>>
>> > > > >>>On 17-04-15 19:53, Tom Rini wrote:
>> > > > >
>> > > > ><snip>
>> > > > >
>> > > > >>>>I haven't had a chance to bisect yet but I will in a few hours.
>> > > > >>>
>> > > > >>>No need to, I've just completed a bisect, it points to:
>> > > > >>>
>> > > > >>>5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f is the first bad commit
>> > > > >>>commit 5bca5a6303f3526ab2cf9c0a62cd26c16e0d5c2f
>> > > > >>>Author: Simon Glass <sjg at chromium.org>
>> > > > >>>Date:   Wed Mar 25 12:22:27 2015 -0600
>> > > > >>>
>> > > > >>>     dm: usb: Drop the EHCI weak functions
>> > > > >>>
>> > > > >>>     These are a pain with driver model because we might have different EHCI
>> > > > >>>     drivers which want to implement them differently. Now that they use
>> > > > >>>     consistent function signatures, we can in good conscience move them to
>> > > > >>>     a struct.
>> > > > >>>
>> > > > >>>     Signed-off-by: Simon Glass <sjg at chromium.org>
>> > > > >>>     Reviewed-by: Marek Vasut <marex at denx.de>
>> > > > >>>
>> > > > >>>I'm going to first spend some time with my family now, I may look into
>> > > > >>>this later tonight, or otherwise this weekend. I'll be sure to check mail
>> > > > >>>first to avoid double work, so feel free to fix the problem while I'm
>> > > > >>>relaxing :)
>> > > > >>
>> > > > >>Ok, so I could not help myself and took a quick look at the patch causing the
>> > > > >>issue, this fixes the reset on usb scan problem:
>> > > > >>
>> > > > >>diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
>> > > > >>index eda9f69..a847ac5 100644
>> > > > >>--- a/drivers/usb/host/ehci-sunxi.c
>> > > > >>+++ b/drivers/usb/host/ehci-sunxi.c
>> > > > >>@@ -34,6 +34,8 @@ int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
>> > > > >>               (uint32_t)*hccr, (uint32_t)*hcor,
>> > > > >>               (uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
>> > > > >>
>> > > > >>+ ehci_set_controller_priv(index, NULL, NULL);
>> > > > >>+
>> > > > >>         return 0;
>> > > > >>  }
>> > > > >>
>> > > > >>And should probably be squashed into the original patch to avoid bisect
>> > > > >>problems.
>> > > > >>
>> > > > >>But with this in place, all is still not well wrt non devicetree usb,
>> > > > >>usb keyboard support does not work, "usb tree" says:
>> > > > >>
>> > > > >>USB device tree:
>> > > > >>   1  Hub (480 Mb/s, 0mA)
>> > > > >>   |  u-boot EHCI Host Controller
>> > > > >>   |
>> > > > >>   +-2  Hub (480 Mb/s, 100mA)
>> > > > >>     |
>> > > > >>     +-3  Hub (12 Mb/s, 100mA)
>> > > > >>       |
>> > > > >>       | -1  See Interface (12 Mb/s, 0mA)
>> > > > >>       |
>> > > > >>
>> > > > >>Note the -1 as device number for the "See Interface" device.
>> > > > >>
>> > > > >>This particular usb setup used to work fine.
>> > > > >>
>> > > > >>I guess this is another issue to git bisect, no idea when I'll get around
>> > > > >>to that.
>> > > > >
>> > > > >Ok, so I've done a git bisect of this (using a branch with my patch for
>> > > > >the usb-reset issue squashed into the original commit to keep things
>> > > > >bisectable), and it points to:
>> > > > >
>> > > > >commit 3f7af70db23fc1c6b8f9e1bd966cadf2eb139f93
>> > > > >Author: Simon Glass <sjg at chromium.org>
>> > > > >Date:   Wed Mar 25 12:22:07 2015 -0600
>> > > > >
>> > > > >     dm: usb: Complete the splitting up of usb_new_device()
>> > > > >
>> > > > >     This function now calls usb_setup_device() to set up the device and
>> > > > >     usb_hub_probe() to check if it is a hub. The XHCI special case is now a
>> > > > >     parameter to usb_setup_device(). The latter will be used by the USB uclass
>> > > > >     when it is added, since it does not rely on any CONFIGs or legacy data
>> > > > >     structures.
>> > > > >
>> > > > >     Signed-off-by: Simon Glass <sjg at chromium.org>
>> > > > >     Reviewed-by: Marek Vasut <marex at denx.de>
>> > > > >
>> > > > >(the commit id may be of because as said I'm using a custom branch for this).
>> > > > >
>> > > > >I'll see if I can figure out why that commit breaks things, but I thought
>> > > > >I would share the bisect result ASAP to avoid double work.
>> > > >
>> > > > Attached are 2 patches (to be squashed into the original for bisectability)
>> > > > which fix things. See the commit messages for details.
>> > > >
>> > > > Note these do not apply on top of u-boot-dm/master, they apply on top of
>> > > > the offending commit.
>> > > >
>> > > > What I've done to get these "integrated" into my dm-master branch is:
>> > > >
>> > > > 1) checkout the offending commit
>> > > > 2) git am the 2 patches
>> > > > 3) note down the commit id of the 2 patches as just applied
>> > > > 4) checkout u-boot-dm/master
>> > > > 5) git rebase -i origin/master
>> > > >   And then add lines with "pick <commit-id>"
>> > > >   directly after the line for the troublesome commit
>> > > >
>> > > > And then when everything looks good, redo the rebase -i and change the
>> > > > pick into fixup.
>> > >
>> > > Interesting, you bisected down to a slightly different commit for the
>> > > problem I'm having also with a keyboard.  I'll squash yours in, in my
>> > > local testing branch, and see if that helps my issue as well, thanks!
>> >
>> > Also fixes the issue I saw.
>> >
>> > Tested-by: Tom Rini <trini at konsulko.com>
>>
>> Thank you both, and sorry that I had such limited time the last few
>> days to really dig into this.
>
> No worries.  It's almost like this is a community effort and not just
> "lets make Simon do all the DM work" ;)  And thanks for doing so much of
> the DM work!

Thanks. I've sent v3 after a bit more testing with your patches (and Hans').

Regards,
Simon


More information about the U-Boot mailing list