RE: Question regarding MUSB and dynamic fifo sizing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2009-08-07 at 22:55 +0530, Pandita, Vikram wrote:
> 
> >-----Original Message-----
> >From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Peter
> >Barada
> >Sent: Friday, August 07, 2009 12:24 PM
> >To: Gadiyar, Anand
> >Cc: linux-omap
> >Subject: RE: Question regarding MUSB and dynamic fifo sizing
> >
> >On Fri, 2009-08-07 at 01:41 +0530, Gadiyar, Anand wrote:
> >> Peter Barada wrote:
> >> > I'm running into a problem where the MUSB controller stops talking with
> >> > the hardwired device on the other end, and I wasn to unload the musb as
> >> > a module and reload it to the connection working again.
> >> >
> >> > I can compile MSUB as a module, but when I load it the 2nd time it
> >> > complains with:
> >> >
> >> > OMAP-35x# modprobe musb_hdrc
> >> > musb_hdrc: version 6.0, pio, otg (peripheral+host), debug=0
> >> > musb_core_init 1421: reconfigure software for static FIFOs
> >> > musb_hdrc musb_hdrc: musb_init_controller failed with status -19
> >> >
> >> > This is due to the platform device wanting dynamic fifo sizing but the
> >> > CONFIGDATA register has DYNFIFO bit cleared.  Looking through the TRM, I
> >> > can't find informaiton on how the MUSB controller changes the state of
> >> > DYNFIFO - I'm guessing once any of the dynamic registers are written to
> >> > that the controller switches to Dynamic Fifo sizing.
> >>
> >> This patch from Ajay (already in mainline) should fix it for you.
> >>
> >> <http://marc.info/?l=linux-usb&m=124881724122257&w=2>
> >>
> >> The problem is not that the CONFIGDATA changes, but that we attempt
> >> to read from CONFIGDATA without having set the INDEX register to 0.
> >>
> >> CONFIGDATA is a read-only register.
> >
> >Thanks, that patch allows me to modprobe/rmmod the musb_hdrc module, but
> >shows another problem - after a modprobe/rmmod/modprobe of the musb_hdrc
> >driver I don't see any USB devices downstream of the MUSB:
> >
> >I have the following setup plugged in at boot(and left plugged in):
> >
> >MUSB -> OTG cable -> Hub -> thumbdrive
> >
> >When I modprobe the driver the first time I get:
> >
> >hub 1-1:1.0: hub_port_status failed (err = -110)
> >hub 1-1:1.0: hub_port_status failed (err = -110)
> >hub 1-1:1.0: hub_port_status failed (err = -110)
> >hub 1-1:1.0: hub_port_status failed (err = -110)
> >OMAP-35x# lsusb
> >Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc.
> >Bus 001 Device 001: ID 1d6b:0002
> 
> 
> Do things work fine without the hub for multiple insmod/rmmod?
> Case = MUSB -> OTG cable -> thumbdrive
> 
> Is hub introducing some issue here looking at above logs?

Someting strange is going on.  If I boot with the MUSB->OTG adapter ->
thumbdrive plugged in, and then modprobe the driver, it finds the
thumbdrive.  I can then remove/reinsert the OTG adapter -> thumbdrive
multiple times, and each time it is enumerated.

If I boot w/o the OTG adapter -> thumbdrive plugged in, modprobe the
musb driver, and then plug in the OTG adaptor ->thumbdrive, it is not
enumerated.

Any idea why I need the OTG adapter -> thumbdrive plugged in at kernel
boot for it to enumerate the thumbdrive?


-- 
Peter Barada <peterb@xxxxxxxxxxx>
Logic Product Development, Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux