
Hi Tom,
On 18 April 2015 at 09:51, Tom Rini trini@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@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@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@chromium.org >> Reviewed-by: Marek Vasut marex@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@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@chromium.org> Reviewed-by: Marek Vasut <marex@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:
- checkout the offending commit
- git am the 2 patches
- note down the commit id of the 2 patches as just applied
- checkout u-boot-dm/master
- 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@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