Re: Alternative approach to solve the deferred probe
From: Grygorii Strashko
Date: Thu Oct 22 2015 - 11:14:12 EST
Hi Russell,
On 10/21/2015 09:28 PM, Russell King - ARM Linux wrote:
> On Wed, Oct 21, 2015 at 09:13:48PM +0300, Grygorii Strashko wrote:
>> But I worry a bit (and that my main point) about these few additional
>> rounds of deferred device probing which I have right now and which allows
>> some of drivers to finish, finally, their probes successfully.
>> With proposed change I'll get more messages in boot log, but some of
>> them will belong to drivers which have been probed successfully and so,
>> they will be not really useful.
>
> Then you haven't properly understood my proposal.
>
> I want to get rid of all the "X deferred its probing" messages up until
> the point that we set the "please report deferred probes" flag.
>
> That _should_ mean that all the deferred probing that goes on becomes
> _totally_ silent and becomes hidden (unless you really want to see it,
> in which case we can make a debug option which turns it on) up until
> we're at the point where we want to enter userspace.
>
> At that point, we then report into the kernel log which devices are
> still deferring and, via appropriately placed dev_warn_deferred(),
> the reasons why the devices are being deferred.
>
> So, gone will be all the messages earlier in the log about device X
> not having a GPIO/clock/whatever because the device providing the
> GPIO/clock/whatever hasn't been probed.
>
> If everything is satisfied by the time we run this last round (again,
> I'm not using a three line sentence to describe exactly what I mean,
> I'm sure you know by now... oops, I just did) then the kernel will
> report nothing about any deferrals. That's _got_ to be an improvement.
Sorry Master, but you really don't need to spend so much time typing the
same things three times - I understand what are you trying to do :(
I did my comments with assumption that it's not officially prohibited/deprecated
to register drivers (and execute probes) from late_initcall() layer
(just recommended) and there are still bunch of drivers which are doing this.
Now I see that it's not a recommendation any more, and deferred_probe_initcall()
might be a good place to activate driver_deferred_probe_report if goal is to
identify and fix such drivers.
Sorry for your time.
>
>>
>> As result, I think, the most important thing is to identify (or create)
>> some point during kernel boot when it will be possible to say that all
>> built-in drivers (at least) finish their probes 100% (done or defer).
>>
>> Might be do_initcalls() can be updated (smth like this):
>> static void __init do_initcalls(void)
>> {
>> int level;
>>
>> for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++)
>> do_initcall_level(level);
>>
>> + wait_for_device_probe();
>> + /* Now one final round, reporting any devices that remain deferred */
>> + driver_deferred_probe_report = true;
>> + driver_deferred_probe_trigger();
>> + wait_for_device_probe();
>> }
>>
>> Also, in my opinion, it will be useful if this debugging feature will be
>> optional.
>
> I wonder why you want it optional... so I'm going to guess and cover
> both cases I can think of below to head off another round of reply on
> this point (sorry if this sucks eggs.)
>
> I don't see it as being optional, because it's going to be cheap to run
> in the case of a system which has very few or no errors - which is what
> you should have for production systems, right?
>
Also, I've spend some time today testing your proposal - hope you'll find results
useful.
I've applied truncated version of your patch (diff below) on TI's 4.1 kernel and
run few tests (log is below) on dra7-evm/am43xx-gpevm - K4.1 is not far away from LKML,
so I assume this test is valid. Overall boot process consists from two stages:
kernel boot and modules loading.
My Changes:
- only really_probe() modified to show deferred device/drivers
>From the log I can see additional messages in log when modules are loading,
because driver_deferred_probe_report is still true - dwc3 probes were deferred,
but then finally succeeded.
So, as you've mentioned, it seems a good thing to deactivate driver_deferred_probe_report and
provide user with ability to turn it on again (and probably re-trigger deferred
device probing).
I've found no issues during Kernel boot (built-in) time, new messages are displayed only
if probe is failed for some drivers:
[ 3.219700] ====================================== deferred_probe_initcalll
[ 3.226820] platform omapdrm.0: Driver omapdrm requests probe deferral
[ 3.233378] platform omapdrm.0: deferring probe: ==== Driver omapdrm requests probe deferral
[ 3.242084] dra7evm-tpd12s015 encoder@1: failed to parse CT CP HPD gpio
[ 3.248737] platform encoder@1: Driver dra7evm-tpd12s015 requests probe deferral
[ 3.256168] platform encoder@1: deferring probe: ==== Driver dra7evm-tpd12s015 requests probe deferral
[ 3.265763] connector-hdmi connector@1: failed to find video source
[ 3.272067] platform connector@1: Driver connector-hdmi requests probe deferral
[ 3.279410] platform connector@1: deferring probe: ==== Driver connector-hdmi requests probe deferral
^^ above drivers will be deferred forever
Thanks.
--
regards,
-grygorii
S/ILKP
*************** [TEST CODE] ***********
---
drivers/base/dd.c | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index e7d2545..d61fa47 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -129,6 +129,27 @@ void driver_deferred_probe_del(struct device *dev)
mutex_unlock(&deferred_probe_mutex);
}
+static bool driver_deferred_probe_report;
+
+/**
+ * dev_warn_deferred() - report why a probe has been deferred
+ */
+void dev_warn_deferred(struct device *dev, const char *fmt, ...)
+{
+ if (driver_deferred_probe_report) {
+ struct va_format vaf;
+ va_list ap;
+
+ va_start(ap, fmt);
+ vaf.fmt = fmt;
+ vaf.va = ≈
+
+ dev_err(dev, "deferring probe: %pV", &vaf);
+ va_end(ap);
+ }
+}
+EXPORT_SYMBOL_GPL(dev_warn_deferred);
+
static bool driver_deferred_probe_enable = false;
/**
* driver_deferred_probe_trigger() - Kick off re-probing deferred devices
@@ -188,6 +209,15 @@ static int deferred_probe_initcall(void)
driver_deferred_probe_trigger();
/* Sort as many dependencies as possible before exiting initcalls */
flush_workqueue(deferred_wq);
+
+ pr_err("====================================== deferred_probe_initcalll\n");
+
+ /* Now one final round, reporting any devices that remain deferred */
+ driver_deferred_probe_report = true;
+ driver_deferred_probe_trigger();
+ /* Sort as many dependencies as possible before exiting initcalls */
+ flush_workqueue(deferred_wq);
+
return 0;
}
late_initcall(deferred_probe_initcall);
@@ -342,7 +372,8 @@ probe_failed:
switch (ret) {
case -EPROBE_DEFER:
/* Driver requested deferred probing */
- dev_dbg(dev, "Driver %s requests probe deferral\n", drv->name);
+ dev_err(dev, "Driver %s requests probe deferral\n", drv->name);
+ dev_warn_deferred(dev, "==== Driver %s requests probe deferral\n", drv->name);
driver_deferred_probe_add(dev);
/* Did a trigger occur while probing? Need to re-trigger if yes */
if (local_trigger_count != atomic_read(&deferred_trigger_count))
--
2.6.2
*************** [BOOT LOG] ***********
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.1.10-rt10-02639-gd63d0be-dirty (lcpdbld@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 4.9-2015.05) ) #1 SMP PREEMPT RT Thu Oct 22 05:11:58 CDT 2015
[ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[ 0.000000] Machine model: TI DRA742
[ 0.000000] Reserved memory: created CMA memory pool at 0x95800000, size 56 MiB
[ 0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x99000000, size 64 MiB
[ 0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x9d000000, size 32 MiB
[ 0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created CMA memory pool at 0x9f000000, size 8 MiB
[ 0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
[ 0.000000] cma: Reserved 24 MiB at 0xde000000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] DRA752 ES1.1
[ 0.000000] PERCPU: Embedded 12 pages/cpu @ee9af000 s17792 r8192 d23168 u49152
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 390994
[ 0.000000] Kernel command line: console=ttyO0,115200n8 earlyprintk rootwait ip=:::::eth0:dhcp root=/dev/nfs rw nfsroot=192.168.0.1:/home/tigtfarm07/NFS_exports/dra7xx-evm1/autofs/1d8e30535854dc371534f96e3c6d5488,nolock
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 1356664K/1570816K available (6271K kernel code, 508K rwdata, 2240K rodata, 372K init, 266K bss, 25736K reserved, 188416K cma-reserved, 768000K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0858064 (8513 kB)
[ 0.000000] .init : 0xc0859000 - 0xc08b6000 ( 372 kB)
[ 0.000000] .data : 0xc08b6000 - 0xc09352c0 ( 509 kB)
[ 0.000000] .bss : 0xc0938000 - 0xc097ab78 ( 267 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Additional per-CPU info printed with stalls.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] Offload RCU callbacks from all CPUs
[ 0.000000] Offload RCU callbacks from CPUs: 0-1.
[ 0.000000] OMAP clockevent source: timer1 at 32768 Hz
[ 0.000000] clocksource 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns
[ 0.000000] OMAP clocksource: 32k_counter at 32768 Hz
[ 0.000427] Architected cp15 timer(s) running at 6.14MHz (virt).
[ 0.000457] clocksource arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
[ 0.000463] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
[ 0.000470] Switching to timer-based delay loop, resolution 162ns
[ 0.001360] Console: colour dummy device 80x30
[ 0.001486] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.001488] This ensures that you still see kernel messages. Please
[ 0.001489] update your kernel commandline.
[ 0.001502] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
[ 0.001506] pid_max: default: 32768 minimum: 301
[ 0.001583] Security Framework initialized
[ 0.001620] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.001626] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.002189] Initializing cgroup subsys blkio
[ 0.002197] Initializing cgroup subsys memory
[ 0.002221] Initializing cgroup subsys devices
[ 0.002228] Initializing cgroup subsys freezer
[ 0.002236] Initializing cgroup subsys perf_event
[ 0.002278] CPU: Testing write buffer coherency: ok
[ 0.002517] /cpus/cpu@0 missing clock-frequency property
[ 0.002598] /cpus/cpu@1 missing clock-frequency property
[ 0.002609] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002653] Setting up static identity map for 0x80008280 - 0x800082f0
[ 0.120957] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.121040] Brought up 2 CPUs
[ 0.121054] SMP: Total of 2 processors activated (24.59 BogoMIPS).
[ 0.121061] CPU: All CPU(s) started in SVC mode.
[ 0.121513] devtmpfs: initialized
[ 0.149180] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
[ 0.149968] omap_hwmod: l3_main_2 using broken dt data from ocp
[ 0.164029] omap_hwmod: tptc0 using broken dt data from edma-controller
[ 0.164509] omap_hwmod: tptc1 using broken dt data from edma-controller
[ 0.338569] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.342242] pinctrl core: initialized pinctrl subsystem
[ 0.343204] NET: Registered protocol family 16
[ 0.345772] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.354459] OMAP GPIO hardware version 0.1
[ 0.362174] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
[ 0.388931] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.388942] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.391765] omap4_sram_init:Unable to allocate sram needed to handle errata I688
[ 0.391775] omap4_sram_init:Unable to get sram pool needed to handle errata I688
[ 0.392434] OMAP DMA hardware revision 0.0
[ 0.409403] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.412466] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver
[ 0.413035] platform fixedregulator-sd: Driver reg-fixed-voltage requests probe deferral
[ 0.418357] omap-iommu 40d01000.mmu: 40d01000.mmu registered
[ 0.418619] omap-iommu 40d02000.mmu: 40d02000.mmu registered
[ 0.418864] omap-iommu 58882000.mmu: 58882000.mmu registered
[ 0.419116] omap-iommu 55082000.mmu: 55082000.mmu registered
[ 0.419488] omap-iommu 41501000.mmu: 41501000.mmu registered
[ 0.419750] omap-iommu 41502000.mmu: 41502000.mmu registered
[ 0.420001] vgaarb: loaded
[ 0.420424] SCSI subsystem initialized
[ 0.421911] palmas 0-0058: IRQ missing: skipping irq request
[ 0.441468] palmas 0-0058: Muxing GPIO 2e, PWM 0, LED 0
[ 0.513681] pcf857x 0-0020: probed
[ 0.514304] pcf857x 0-0021: probed
[ 0.514450] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
[ 0.531230] GPIO line 465 (vin6_sel_s0) hogged as output/low
[ 0.531421] pcf857x 1-0026: probed
[ 0.531580] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
[ 0.532021] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
[ 0.532308] pps_core: LinuxPPS API ver. 1 registered
[ 0.532317] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@xxxxxxxx>
[ 0.532346] PTP clock support registered
[ 0.533009] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
[ 0.533319] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
[ 0.533623] Advanced Linux Sound Architecture Driver Initialized.
[ 0.534366] Switched to clocksource arch_sys_counter
[ 0.544551] NET: Registered protocol family 2
[ 0.545253] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.545334] TCP bind hash table entries: 8192 (order: 5, 229376 bytes)
[ 0.545623] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.545685] UDP hash table entries: 512 (order: 3, 32768 bytes)
[ 0.545741] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes)
[ 0.545949] NET: Registered protocol family 1
[ 0.546240] RPC: Registered named UNIX socket transport module.
[ 0.546249] RPC: Registered udp transport module.
[ 0.546256] RPC: Registered tcp transport module.
[ 0.546263] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.547419] CPU PMU: Failed to parse /pmu/interrupt-affinity[0]
[ 0.547454] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[ 0.549458] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.549541] audit: initializing netlink subsys (disabled)
[ 0.549576] audit: type=2000 audit(0.530:1): initialized
[ 0.556198] VFS: Disk quotas dquot_6.6.0
[ 0.556369] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.558508] NFS: Registering the id_resolver key type
[ 0.558542] Key type id_resolver registered
[ 0.558550] Key type id_legacy registered
[ 0.558610] jffs2: version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.
[ 0.560591] NET: Registered protocol family 38
[ 0.560698] bounce: pool size: 64 pages
[ 0.560713] io scheduler noop registered
[ 0.560727] io scheduler deadline registered
[ 0.560879] io scheduler cfq registered (default)
[ 0.564728] pinctrl-single 4a003400.pinmux: 281 pins at pa fc003400 size 1124
[ 0.574576] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
[ 0.574590] pci_bus 0000:00: root bus resource [io 0x1000-0xffff]
[ 0.574600] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
[ 0.574612] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.574765] pci 0000:00:00.0: IOMMU is currently not supported for PCI
[ 0.575026] PCI: bus0: Fast back to back transfers disabled
[ 0.575470] pci 0000:01:00.0: IOMMU is currently not supported for PCI
[ 0.575814] PCI: bus1: Fast back to back transfers disabled
[ 0.575950] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
[ 0.575966] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
[ 0.575978] pci 0000:00:00.0: BAR 9: assigned [mem 0x20300000-0x203fffff pref]
[ 0.575989] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
[ 0.576002] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
[ 0.576017] pci 0000:01:00.0: BAR 1: assigned [mem 0x20200000-0x2027ffff]
[ 0.576037] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2033ffff pref]
[ 0.576048] pci 0000:01:00.0: BAR 0: assigned [mem 0x20280000-0x2029ffff]
[ 0.576067] pci 0000:01:00.0: BAR 3: assigned [mem 0x202a0000-0x202a3fff]
[ 0.576086] pci 0000:01:00.0: BAR 2: assigned [io 0x1000-0x101f]
[ 0.576106] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.576116] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
[ 0.576128] pci 0000:00:00.0: bridge window [mem 0x20200000-0x202fffff]
[ 0.576138] pci 0000:00:00.0: bridge window [mem 0x20300000-0x203fffff pref]
[ 0.579925] OMAP DSS rev 6.1
[ 0.580244] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
[ 0.580839] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
[ 0.581749] platform encoder@1: Driver dra7evm-tpd12s015 requests probe deferral
[ 0.582201] connector-hdmi connector@1: failed to find video source
[ 0.582219] platform connector@1: Driver connector-hdmi requests probe deferral
[ 0.585743] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.588508] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 299, base_baud = 3000000) is a 8250
[ 1.662547] console [ttyS0] enabled
[ 1.666661] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 300, base_baud = 3000000) is a 8250
[ 1.676287] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 301, base_baud = 3000000) is a 8250
[ 1.686280] [drm] Initialized drm 1.1.0 20060810
[ 1.700726] brd: module loaded
[ 1.708417] loop: module loaded
[ 1.712651] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.723546] mousedev: PS/2 mouse device common for all mice
[ 1.729154] i2c /dev entries driver
[ 1.734581] omap_hsmmc 4809c000.mmc: Got CD GPIO
[ 1.739413] omap_hsmmc 4809c000.mmc: no pinctrl state for hs200_1_8v mode
[ 1.746235] omap_hsmmc 4809c000.mmc: no pinctrl state for ddr_1_8v mode
[ 1.753335] platform 4809c000.mmc: Driver omap_hsmmc requests probe deferral
[ 1.760862] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr104 mode
[ 1.767334] omap_hsmmc 480b4000.mmc: no pinctrl state for hs200_1_8v mode
[ 1.774151] omap_hsmmc 480b4000.mmc: no pinctrl state for ddr50 mode
[ 1.780537] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr50 mode
[ 1.786920] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
[ 1.793302] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
[ 1.800000] evm_3v3_sw: supplied by sysen1
[ 1.845119] omap_hsmmc 480d1000.mmc: no pinctrl state for sdr104 mode
[ 1.851589] omap_hsmmc 480d1000.mmc: no pinctrl state for hs200_1_8v mode
[ 1.858426] omap_hsmmc 480d1000.mmc: no pinctrl state for ddr50 mode
[ 1.864810] omap_hsmmc 480d1000.mmc: no pinctrl state for sdr50 mode
[ 1.871192] omap_hsmmc 480d1000.mmc: no pinctrl state for ddr_1_8v mode
[ 1.888212] mmc0: MAN_BKOPS_EN bit is not set
[ 1.896106] mmc0: new DDR MMC card at address 0001
[ 1.901266] mmcblk0: mmc0:0001 MMC08G 7.25 GiB
[ 1.905933] mmcblk0boot0: mmc0:0001 MMC08G partition 1 8.00 MiB
[ 1.911994] mmcblk0boot1: mmc0:0001 MMC08G partition 2 8.00 MiB
[ 1.918716] mmcblk0: p1 p2 p3
[ 1.995125] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
[ 2.001694] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
[ 2.009016] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
[ 2.015924] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
[ 2.026077] davinci-mcasp 48468000.mcasp: ERRATA i868 workaround is enabled
[ 2.035132] davinci-mcasp 4847c000.mcasp: ERRATA i868 workaround is enabled
[ 2.042544] Initializing XFRM netlink socket
[ 2.046882] NET: Registered protocol family 17
[ 2.051375] NET: Registered protocol family 15
[ 2.055925] Key type dns_resolver registered
[ 2.060338] omap_voltage_late_init: Voltage driver support not added
[ 2.066734] sr_dev_init: Unable to get voltage domain pointer for VDD core
[ 2.073638] sr_dev_init: Unable to get voltage domain pointer for VDD mpu
[ 2.080738] Power Management for TI OMAP4+ devices.
[ 2.085863] ThumbEE CPU extension supported.
[ 2.090164] Registering SWP/SWPB emulation handler
[ 2.094984] SmartReflex Class3 initialized
[ 2.100743] dmm 4e000000.dmm: workaround for errata i878 in use
[ 2.108418] dmm 4e000000.dmm: initialized all PAT entries
[ 2.114210] platform omapdrm.0: Driver omapdrm requests probe deferral
[ 2.123162] omap_hsmmc 4809c000.mmc: Got CD GPIO
[ 2.128009] omap_hsmmc 4809c000.mmc: no pinctrl state for hs200_1_8v mode
[ 2.134830] omap_hsmmc 4809c000.mmc: no pinctrl state for ddr_1_8v mode
[ 2.196401] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.203044] [drm] No driver support for vblank timestamp query.
[ 2.209023] omapdrm omapdrm.0: No connectors reported connected with modes
[ 2.215933] [drm] Cannot find any crtc or sizes - going 1024x768
[ 2.227640] [drm] Enabling DMM ywrap scrolling
[ 2.239535] Console: switching to colour frame buffer device 128x48
[ 2.251305] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
[ 2.257253] omapdrm omapdrm.0: registered panic notifier
[ 2.274429] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
[ 2.280400] ====================================== deferred_probe_initcalll
[ 2.334387] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
[ 2.340513] davinci_mdio 48485000.mdio: detected phy mask fffffff3
[ 2.344381] mmc2: host does not support reading read-only switch, assuming write-enable
[ 2.349716] mmc2: new high speed SDHC card at address e624
[ 2.354396] mmcblk1: mmc2:e624 SU04G 3.69 GiB
[ 2.362506] mmcblk1: p1 p2 p3
[ 2.372593] libphy: 48485000.mdio: probed
[ 2.376626] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
[ 2.384668] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver unknown
[ 2.393389] cpsw 48484000.ethernet: Detected MACID = b4:99:4c:0b:e4:e6
[ 2.400896] cpsw 48484000.ethernet: cpsw: Detected MACID = b4:99:4c:0b:e4:e7
[ 2.408583] hctosys: unable to open rtc device (rtc0)
[ 2.413661] sr_init: No PMIC hook to init smartreflex
[ 2.418903] sr_init: platform driver register failed for SR
[ 2.441783] net eth0: initializing cpsw version 1.15 (0)
[ 2.528312] net eth0: phy found : id is : 0x20005c7a
[ 6.531286] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 6.554382] Sending DHCP requests ., OK
[ 6.624439] IP-Config: Got DHCP answer from 192.168.0.1, my address is 192.168.0.192
[ 6.632426] IP-Config: Complete:
[ 6.635674] device=eth0, hwaddr=b4:99:4c:0b:e4:e6, ipaddr=192.168.0.192, mask=255.255.255.0, gw=192.168.0.1
[ 6.645895] host=192.168.0.192, domain=ti.com, nis-domain=(none)
[ 6.652364] bootserver=192.168.0.1, rootserver=192.168.0.1, rootpath=
[ 6.659095] nameserver0=192.0.2.2, nameserver1=192.0.2.3
[ 6.665282] ldousb: disabling
[ 6.668549] vmmcwl_fixed: disabling
[ 6.672054] aic_dvdd: disabling
[ 6.675417] ALSA device list:
[ 6.678397] No soundcards found.
[ 6.687614] VFS: Mounted root (nfs filesystem) on device 0:15.
[ 6.693779] devtmpfs: mounted
[ 6.697044] Freeing unused kernel memory: 372K (c0859000 - c08b6000)
INIT: version 2.88 booting
Starting udev
[ 7.129889] udevd[175]: starting version 182
[ 7.329630] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
[ 7.349436] remoteproc0: 58820000.ipu is available
[ 7.358961] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 7.431205] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 7.452181] remoteproc0: Direct firmware load for dra7-ipu1-fw.xem4 failed with error -2
[ 7.456683] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
[ 7.471645] remoteproc1: 55020000.ipu is available
[ 7.471649] remoteproc1: Note: remoteproc is still under development and considered experimental.
[ 7.471653] remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 7.480262] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[ 7.510612] remoteproc2: 40800000.dsp is available
[ 7.510618] remoteproc2: Note: remoteproc is still under development and considered experimental.
[ 7.510622] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 7.514543] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
[ 7.523301] remoteproc3: 41000000.dsp is available
[ 7.523306] remoteproc3: Note: remoteproc is still under development and considered experimental.
[ 7.523309] remoteproc3: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[ 7.614060] remoteproc0: Falling back to user helper
[ 7.672048] aic_dvdd: supplied by evm_3v3_sw
[ 7.736112] omap_rng 48090000.rng: OMAP Random Number Generator ver. 20
[ 8.067185] media: Linux media interface: v0.10
[ 8.216475] omap_rtc 48838000.rtc: rtc core: registered 48838000.rtc as rtc0
[ 8.217206] Linux video capture interface: v2.00
[ 8.276707] random: nonblocking pool is initialized
[ 8.394957] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[ 8.420281] platform 48880000.omap_dwc3_1: deferring probe: ==== Driver omap-dwc3 requests probe deferral
[ 8.423788] ov1063x 1-0037: Failed writing register 0x0103!
[ 8.423807] ov1063x: probe of 1-0037 failed with error -121
[ 8.488870] remoteproc0: failed to load dra7-ipu1-fw.xem4
[ 8.729862] platform 488c0000.omap_dwc3_2: Driver omap-dwc3 requests probe deferral
[ 8.733069] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
[ 8.733072] e1000e: Copyright(c) 1999 - 2014 Intel Corporation.
[ 8.733178] e1000e 0000:01:00.0: enabling device (0140 -> 0142)
[ 8.733435] e1000e 0000:01:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 8.750383] omap_hwmod: usb_otg_ss1: _wait_target_disable failed
[ 8.750685] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[ 8.750692] platform 48880000.omap_dwc3_1: deferring probe: ==== Driver omap-dwc3 requests probe deferral
[ 8.779935] omap_hwmod: usb_otg_ss1: _wait_target_disable failed
[ 8.780067] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[ 8.780073] platform 48880000.omap_dwc3_1: deferring probe: ==== Driver omap-dwc3 requests probe deferral
[ 8.951061] CAN device driver interface
[ 8.963296] e1000e 0000:01:00.0 eth2: registered PHC clock
[ 8.963304] e1000e 0000:01:00.0 eth2: (PCI Express:2.5GT/s:Width x1) 68:05:ca:36:2b:25
[ 8.963311] e1000e 0000:01:00.0 eth2: Intel(R) PRO/1000 Network Connection
[ 8.966445] e1000e 0000:01:00.0 eth2: MAC: 3, PHY: 8, PBA No: E46981-008
[ 9.024825] omap_hwmod: usb_otg_ss1: _wait_target_disable failed
[ 9.027031] platform 48880000.omap_dwc3_1: Driver omap-dwc3 requests probe deferral
[ 9.027039] platform 48880000.omap_dwc3_1: deferring probe: ==== Driver omap-dwc3 requests probe deferral
[ 9.287323] remoteproc2: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
[ 9.287327] remoteproc2: Falling back to user helper
[ 9.308265] omap-dwc3 48880000.omap_dwc3_1: **** dwc3_omap_probe done
[ 9.341969] platform 488c0000.omap_dwc3_2: deferring probe: ==== Driver omap-dwc3 requests probe deferral
[ 9.357153] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
[ 9.363840] remoteproc1: registered virtio0 (type 7)
[ 9.390936] omap-dwc3 488c0000.omap_dwc3_2: **** dwc3_omap_probe done
[ 9.411821] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 9.487056] input: gpio_keys as /devices/platform/gpio_keys/input/input0
[ 9.530380] asoc-simple-card sound@0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok
[ 9.572735] c_can_platform 4ae3c000.can: c_can_platform device registered (regs=fce3c000, irq=349)
[ 9.585025] vip 48970000.vip: loading firmware vpdma-1b8.bin
[ 9.592896] ahci 4a140000.sata: SSS flag set, parallel bus scan disabled
[ 9.599650] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[ 9.608289] ahci 4a140000.sata: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part ccc apst
[ 9.703388] scsi host0: ahci
[ 9.763672] omap-hdmi-audio omap-hdmi-audio.0.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[ 9.803153] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 336
[ 10.164442] ata1: SATA link down (SStatus 0 SControl 300)
[ 10.642315] remoteproc2: failed to load dra7-dsp1-fw.xe66
[ 10.659698] remoteproc3: Direct firmware load for dra7-dsp2-fw.xe66 failed with error -2
[ 10.671669] remoteproc3: Falling back to user helper
[ 10.811525] remoteproc1: powering up 55020000.ipu
[ 10.820600] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)
[ 10.820686] 10 ofpart partitions found on MTD device spi32766.0
[ 10.820693] Creating 10 MTD partitions on "spi32766.0":
[ 10.820702] 0x000000000000-0x000000010000 : "QSPI.SPL"
[ 10.886395] 0x000000010000-0x000000020000 : "QSPI.SPL.backup1"
[ 10.895608] remoteproc3: failed to load dra7-dsp2-fw.xe66
[ 10.909877] 0x000000020000-0x000000030000 : "QSPI.SPL.backup2"
[ 10.912583] 0x000000030000-0x000000040000 : "QSPI.SPL.backup3"
[ 10.913546] 0x000000040000-0x000000140000 : "QSPI.u-boot"
[ 10.914433] vip 48970000.vip: VPDMA firmware loaded
[ 10.914670] vpe 489d0000.vpe: Device registered as /dev/video0
[ 10.938439] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
[ 10.962444] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
[ 11.011549] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
[ 11.071277] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
[ 11.080616] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
[ 11.415621] EXT4-fs (mmcblk0p3): mounted filesystem without journal. Opts: (null)
[ 11.439508] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 11.476702] remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3480916
[ 11.491518] EXT4-fs (mmcblk1p3): mounted filesystem without journal. Opts: (null)
[ 11.495115] EXT4-fs (mmcblk1p2): warning: maximal mount count reached, running e2fsck is recommended
[ 11.505950] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 11.536011] FAT-fs (mmcblk0p2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 11.641063] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 11.690531] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
[ 11.894821] dwc3 48890000.usb: **** dwc3_probe done
[ 11.972740] remoteproc1: remote processor 55020000.ipu is now up
[ 11.999719] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 12.003008] virtio_rpmsg_bus virtio0: creating channel rpmsg-rpc addr 0x3b
[ 12.085055] rpmsg_rpc rpmsg0: probing service rpmsg-dce with src 1024 dst 59
[ 12.092778] rpmsg_rpc rpmsg0: published functions = 8
[ 12.387531] dwc3 488d0000.usb: **** dwc3_probe done
[ 12.555405] usbcore: registered new interface driver usbfs
[ 12.561001] usbcore: registered new interface driver hub
[ 12.566496] usbcore: registered new device driver usb
[ 12.619632] dwc3 48890000.usb: otg: primary host xhci-hcd.1.auto registered
[ 12.626635] dwc3 48890000.usb: otg: shared host xhci-hcd.1.auto registered
[ 12.633543] dwc3 48890000.usb: otg: can't start till gadget registers
[ 12.640118] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[ 12.645652] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
[ 12.653905] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x00010010
[ 12.662779] xhci-hcd xhci-hcd.2.auto: irq 463, io mem 0x488d0000
[ 12.668985] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 12.681600] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.688857] usb usb1: Product: xHCI Host Controller
[ 12.693757] usb usb1: Manufacturer: Linux 4.1.10-rt10-02639-gd63d0be-dirty xhci-hcd
[ 12.701448] usb usb1: SerialNumber: xhci-hcd.2.auto
[ 12.707274] hub 1-0:1.0: USB hub found
[ 12.711077] hub 1-0:1.0: 1 port detected
[ 12.715501] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
[ 12.721021] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 2
[ 12.728804] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 12.737061] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 12.743880] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.751136] usb usb2: Product: xHCI Host Controller
[ 12.756039] usb usb2: Manufacturer: Linux 4.1.10-rt10-02639-gd63d0be-dirty xhci-hcd
[ 12.763727] usb usb2: SerialNumber: xhci-hcd.2.auto
[ 12.769500] hub 2-0:1.0: USB hub found
[ 12.773298] hub 2-0:1.0: 1 port detected
bootlogd: cannot allocate pseudo tty: No such file or directory
Starting random number generator daemon.
[ 13.034435] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[ 13.176262] usb 1-1: New USB device found, idVendor=154b, idProduct=007a
[ 13.183002] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 13.190859] usb 1-1: Product: USB 2.0 FD
[ 13.194810] usb 1-1: Manufacturer: PNY Technologies
[ 13.199717] usb 1-1: SerialNumber: AEC12H25YE11003156
[ 13.209498] usb 1-1: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
[ 13.218598] usb 1-1: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
[ 13.280307] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 13.287194] scsi host1: usb-storage 1-1:1.0
[ 13.293029] usbcore: registered new interface driver usb-storage
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/