From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Date: Sat, 18 Apr 2015 12:31:54 +0200 Subject: [U-Boot] Please pull u-boot-dm.git [take 2] In-Reply-To: <553221BF.2090908@redhat.com> References: <20150417162753.GH16702@bill-the-cat> <20150417164643.GI16702@bill-the-cat> <20150417175302.GJ16702@bill-the-cat> <55315ED4.3000404@redhat.com> <55316186.8090204@redhat.com> <553221BF.2090908@redhat.com> Message-ID: <5532329A.7040800@redhat.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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: > > > >>>> 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 >>> 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 >>> Reviewed-by: Marek Vasut >>> >>> 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 > 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 > Reviewed-by: Marek Vasut > > (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 " directly after the line for the troublesome commit And then when everything looks good, redo the rebase -i and change the pick into fixup. Regards, Hans -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-FIXUP1-dm-usb-Complete-the-splitting-up-of-usb_new_d.patch Type: text/x-patch Size: 3975 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-FIXUP2-dm-usb-Complete-the-splitting-up-of-usb_new_d.patch Type: text/x-patch Size: 1756 bytes Desc: not available URL: