OMAP baseline test results for v3.8-rc3
Aaro Koskinen
aaro.koskinen at iki.fi
Mon Jan 14 17:42:22 EST 2013
On Mon, Jan 14, 2013 at 11:18:46PM +0200, Felipe Balbi wrote:
> On Mon, Jan 14, 2013 at 10:46:54PM +0200, Aaro Koskinen wrote:
> > [ 0.207946] twl 1-0048: PIH (irq 23) chaining IRQs 338..346
> > [ 0.208129] twl 1-0048: power (irq 343) chaining IRQs 346..353
> > [ 0.209350] twl4030_gpio twl4030_gpio: gpio (irq 338) chaining IRQs 354..371
> > [ 1.218749] omap_i2c omap_i2c.1: timeout waiting for bus ready
> > [ 1.218811] omap_i2c omap_i2c.1: SA 0049 CON 9602 CNT 0004
>
> here's the issue, there is unloaded data in the FIFO. Can you enable
> full I2C debugging logs ?
If I enable I2C DEBUGs, the problem is not reproducible. Everything
looks normal:
[ 0.270141] twl 1-0048: PIH (irq 23) chaining IRQs 338..346
[ 0.270294] twl 1-0048: power (irq 343) chaining IRQs 346..353
[ 0.270477] i2c i2c-1: master_xfer[0] W, addr=0x49, len=1
[ 0.270538] i2c i2c-1: master_xfer[1] R, addr=0x49, len=1
[ 0.270568] omap_i2c omap_i2c.1: addr: 0x0049, len: 1, flags: 0x0, stop: 0
[ 0.270629] omap_i2c omap_i2c.1: IRQ (ISR = 0x0010)
[ 0.270690] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)
[ 0.270751] omap_i2c omap_i2c.1: addr: 0x0049, len: 1, flags: 0x1, stop: 1
[ 0.270843] omap_i2c omap_i2c.1: IRQ (ISR = 0x0008)
[ 0.270874] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)
[ 0.270935] i2c i2c-1: master_xfer[0] W, addr=0x49, len=2
[ 0.270965] omap_i2c omap_i2c.1: addr: 0x0049, len: 2, flags: 0x0, stop: 1
[ 0.271026] omap_i2c omap_i2c.1: IRQ (ISR = 0x0010)
[ 0.271118] omap_i2c omap_i2c.1: IRQ (ISR = 0x0004)
[ 0.272155] twl4030_gpio twl4030_gpio: gpio (irq 338) chaining IRQs 354..371
> > > git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git i2c-deferred-STP
> >
> > I could not reproduce the issue with these. Tested around 20 boots.
> > There's a noticeable delay (over 4 secs!) around where I2C is initialized
> > and used for the first time, but no errors and the boot completes:
> >
> > [ 0.187530] SCSI subsystem initialized
> > [ 0.188110] usbcore: registered new interface driver usbfs
> > [ 0.188415] usbcore: registered new interface driver hub
> > [ 0.188781] usbcore: registered new device driver usb
> > [ 0.189453] musb-omap2430 musb-omap2430: invalid resource
> > [ 4.296905] twl 1-0048: PIH (irq 23) chaining IRQs 338..346
> > [ 4.297088] twl 1-0048: power (irq 343) chaining IRQs 346..353
> > [ 4.329010] twl4030_gpio twl4030_gpio: gpio (irq 338) chaining IRQs 354..371
> > [ 4.470123] VUSB1V5: 1500 mV normal standby
> > [ 4.470916] VUSB1V8: 1800 mV normal standby
>
> cool, at least it works, but looks like there is something still weird
> going on. Can you enable full logs so I see what's happening ?
With your patches, all DEBUG logs are identical (there is same
amount I2C of transfers), except there is only a single interrupt per
transfer. Still, the transfers are taking considerably longer, and we
see those delays in the boot:
[ 4.281280] twl 1-0048: PIH (irq 23) chaining IRQs 338..346
[ 4.281433] twl 1-0048: power (irq 343) chaining IRQs 346..353
[ 4.281616] i2c i2c-1: master_xfer[0] W, addr=0x49, len=1
[ 4.281677] i2c i2c-1: master_xfer[1] R, addr=0x49, len=1
[ 4.281707] omap_i2c omap_i2c.1: addr: 0x0049, len: 1, flags: 0x0, stop: 0
[ 4.281799] omap_i2c omap_i2c.1: IRQ (ISR = 0x0010)
[ 4.281829] omap_i2c omap_i2c.1: addr: 0x0049, len: 1, flags: 0x1, stop: 1
[ 4.281921] omap_i2c omap_i2c.1: IRQ (ISR = 0x0008)
[ 4.296905] i2c i2c-1: master_xfer[0] W, addr=0x49, len=2
[ 4.296936] omap_i2c omap_i2c.1: addr: 0x0049, len: 2, flags: 0x0, stop: 1
[ 4.296997] omap_i2c omap_i2c.1: IRQ (ISR = 0x0010)
[ 4.313476] twl4030_gpio twl4030_gpio: gpio (irq 338) chaining IRQs 354..371
This log excerpt has only 3 transfers, but the time duration is already
10x longer compared to vanilla 3.8-rc3.
A.
More information about the linux-arm-kernel
mailing list