[PATCH] staging: dwc2: set up all module params
Stephen Warren
swarren at wwwdotorg.org
Tue Nov 26 18:34:38 PST 2013
(trimming out the devicetree list and maintainers for this discussion)
On 11/26/2013 12:52 PM, Paul Zimmerman wrote:
>> From: Stephen Warren [mailto:swarren at wwwdotorg.org]
>> Sent: Tuesday, November 26, 2013 11:43 AM
>>
>> On 11/26/2013 12:27 PM, Paul Zimmerman wrote:
>>>> From: Stephen Warren [mailto:swarren at wwwdotorg.org]
>>>> Sent: Monday, November 25, 2013 9:03 PM
>>>>
>>>> The DWC2 USB controller in the BCM2835 (Raspberry Pi) needs some non-
>>>> default parameters. Select these based on the compatible value from the
>>>> DT node. For all other HW, fall back to the default parameters currently
>>>> in use.
>>>>
>>>> The values in params_bcm2835[] were posted to the mailing list by Paul
>>>> quite some time ago. I made a couple of minor modifications since then;
>>>> to set ahbcfg instead of ahb_single, and to set uframe_sched.
>>>
>>> Hi Stephen,
>>>
>>> I don't see any code in this patch that is setting uframe_sched?
>>
>> Hmm, that's true. What value should it be set to for the BCM2835, do you
>> know? I obviously have it set to 0, which seems to work out OK...
>
> It definitely should be enabled for the Pi, so set it to 1.
Hmm. I should have tested that patch better before I sent it...
With .uframe_sched=1, my model B's built-in Ethernet chip works fine.
I've passed many MB of data through it without issue, including pings, a
kernel source download, and package updates.
However, I just enabled .uframe_sched=1 on my model A, which has a USB
hub and USB wireless dongle attached. Now USB enumeration doesn't work,
and booting the kernel is extremely slow, with lots of USB-related
messages. I've run that board for a few days straight without issue,
with .uframe_sched=0 and periodic network use.
Does this imply that .uframe_sched=1 isn't correct for the Pi, or that
the code that flag enables has issues?
FWIW, the problematic kernel log is below. Unfortunately, I can't debug
this much since that Pi is deployed "in production" in my daughter's
room, and she's (hopefully...) asleep. I'll also be away starting
tomorrow morning until Mon evening.
> [ 1.907615] dwc2 20980000.usb: DWC OTG Controller
> [ 1.915043] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
> [ 1.924766] dwc2 20980000.usb: irq 33, io mem 0x00000000
> [ 1.932906] usb usb1: default language 0x0409
> [ 1.939969] usb usb1: udev 1, busnum 1, minor = 0
> [ 1.947325] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> [ 1.956906] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [ 1.966981] usb usb1: Product: DWC OTG Controller
> [ 1.974570] usb usb1: Manufacturer: Linux 3.13.0-rc1-next-20131125+ dwc2_hsotg
> [ 1.984841] usb usb1: SerialNumber: 20980000.usb
> [ 1.993202] usb usb1: usb_probe_device
> [ 2.000066] usb usb1: configuration #1 chosen from 1 choice
> [ 2.008968] usb usb1: adding 1-0:1.0 (config #1, interface 0)
> [ 2.018227] hub 1-0:1.0: usb_probe_interface
> [ 2.025763] hub 1-0:1.0: usb_probe_interface - got id
> [ 2.033990] hub 1-0:1.0: USB hub found
> [ 2.040891] hub 1-0:1.0: 1 port detected
> [ 2.047796] hub 1-0:1.0: standalone hub
> [ 2.054580] hub 1-0:1.0: ganged power switching
> [ 2.061983] hub 1-0:1.0: individual port over-current protection
> [ 2.070833] hub 1-0:1.0: Single TT
> [ 2.076944] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
> [ 2.086102] hub 1-0:1.0: power on to power good time: 2ms
> [ 2.094549] hub 1-0:1.0: local power source is good
> [ 2.102344] hub 1-0:1.0: enabling power on all ports
> [ 2.112008] tsl2563 1-0039: model 5, rev. 0
> [ 2.121210] oprofile: no performance counters
> [ 2.128318] oprofile: using timer interrupt.
> [ 2.135673] TCP: cubic registered
> [ 2.142836] NET: Registered protocol family 10
> [ 2.151272] sit: IPv6 over IPv4 tunneling driver
> [ 2.159514] NET: Registered protocol family 17
> [ 2.180761] kjournald starting. Commit interval 5 seconds
> [ 2.198444] EXT3-fs (mmcblk0p2): using internal journal
> [ 2.206507] hub 1-0:1.0: port 1: status 0101 change 0001
> [ 2.214470] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
> [ 2.224234] VFS: Mounted root (ext3 filesystem) on device 179:2.
> [ 2.235386] devtmpfs: mounted
> [ 2.242299] Freeing unused kernel memory: 364K (c062b000 - c0686000)
> [ 2.320341] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
> [ 2.329613] hub 1-0:1.0: port 1, status 0101, change 0000, 12 Mb/s
> [ 2.530412] usb 1-1: new high-speed USB device number 2 using dwc2
> [ 2.751660] usb 1-1: default language 0x0409
> [ 2.765327] usb 1-1: udev 2, busnum 1, minor = 1
> [ 2.773274] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
> [ 2.783242] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
> [ 2.793644] usb 1-1: Product: USB2.0 Hub
> [ 2.809964] usb 1-1: usb_probe_device
> [ 2.817287] usb 1-1: configuration #1 chosen from 1 choice
> [ 2.830629] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
> [ 2.839847] hub 1-1:1.0: usb_probe_interface
> [ 2.847447] hub 1-1:1.0: usb_probe_interface - got id
> [ 2.855751] hub 1-1:1.0: USB hub found
> [ 2.869581] hub 1-1:1.0: 4 ports detected
> [ 2.881180] hub 1-1:1.0: standalone hub
> [ 2.888190] hub 1-1:1.0: individual port power switching
> [ 2.896619] hub 1-1:1.0: individual port over-current protection
> [ 2.905707] hub 1-1:1.0: Single TT
> [ 2.912126] hub 1-1:1.0: TT requires at most 32 FS bit times (2664 ns)
> [ 2.921702] hub 1-1:1.0: Port indicators are supported
> [ 2.929775] hub 1-1:1.0: power on to power good time: 100ms
> [ 3.007154] hub 1-1:1.0: local power source is good
> [ 3.024584] hub 1-1:1.0: enabling power on all ports
> [ 3.042751] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
> [ 3.063948] hub 1-0:1.0: port 1 enable change, status 00000503
> [ 3.144448] hub 1-1:1.0: port 3: status 0101 change 0001
> [ 3.250480] hub 1-1:1.0: state 7 ports 4 chg 0008 evt 0000
> [ 3.267967] hub 1-1:1.0: port 3, status 0101, change 0000, 12 Mb/s
> [ 3.360727] usb 1-1.3: new high-speed USB device number 3 using dwc2
> [ 3.911643] udevd[153]: starting version 175
> [ 3.932030] random: nonblocking pool is initialized
> [ 8.409157] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 13.490307] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 18.490307] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 18.570623] usb 1-1.3: device descriptor read/64, error -110
> [ 23.680299] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 28.680298] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 33.680302] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 33.760573] usb 1-1.3: device descriptor read/64, error -110
> [ 33.957649] usb 1-1.3: new high-speed USB device number 4 using dwc2
> [ 38.970299] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 43.970297] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 48.970309] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 49.050528] usb 1-1.3: device descriptor read/64, error -110
> [ 54.160295] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 59.160304] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 64.160329] usb 1-1.3: khubd timed out on ep0in len=0/64
> [ 64.240595] usb 1-1.3: device descriptor read/64, error -110
> [ 64.430619] usb 1-1.3: new high-speed USB device number 5 using dwc2
> [ 69.430295] usb 1-1.3: khubd timed out on ep0out len=0/0
> [ 74.640290] usb 1-1.3: khubd timed out on ep0out len=0/0
> [ 74.850246] usb 1-1.3: device not accepting address 5, error -110
> [ 74.930547] usb 1-1.3: new high-speed USB device number 6 using dwc2
> [ 79.930327] usb 1-1.3: khubd timed out on ep0out len=0/0
> [ 85.140296] usb 1-1.3: khubd timed out on ep0out len=0/0
> [ 85.350240] usb 1-1.3: device not accepting address 6, error -110
> [ 85.360128] hub 1-1:1.0: unable to enumerate USB device on port 3
> [ 85.369117] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0008
> [ 88.556896] EXT3-fs (mmcblk0p2): using internal journal
> [ 94.693733] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
> [ 103.858645] Adding 102396k swap on /var/swap. Priority:-1 extents:27 across:478692k SS
More information about the linux-rpi-kernel
mailing list