All of lore.kernel.org
 help / color / mirror / Atom feed
* Regression with 6cfcd5563b4f on BeagleBoard Rev C2
@ 2021-05-28 13:56 Jarkko Nikula
  2021-06-02  5:30 ` Tony Lindgren
  0 siblings, 1 reply; 6+ messages in thread
From: Jarkko Nikula @ 2021-05-28 13:56 UTC (permalink / raw)
  To: linux-omap; +Cc: Tony Lindgren

Hi

My old BeagleBoard Rev C2 stopped booting properly.

Booting stops "Waiting for root device /dev/mmcblk0p2..." but goes
forward if I feed e.g. ENTER over serial and have to press it through
almost the whole userspace booting. At some point during process it
seems to start working. Perhaps userspace fires some timer etc?

I bisected the issue into commit 6cfcd5563b4f
("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and
am4"). I used omap2plus_defconfig.

# cat /proc/cpuinfo
processor       : 0

model name      : ARMv7 Processor rev 3 (v7l)

BogoMIPS        : 594.73

Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls
vfpd32
CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x1

CPU part        : 0xc08

CPU revision    : 3



Hardware        : Generic OMAP3-GP (Flattened Device Tree)

Revision        : 0000

Serial          : 0000000000000000


Jarkko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Regression with 6cfcd5563b4f on BeagleBoard Rev C2
  2021-05-28 13:56 Regression with 6cfcd5563b4f on BeagleBoard Rev C2 Jarkko Nikula
@ 2021-06-02  5:30 ` Tony Lindgren
  2021-06-02 18:21   ` Jarkko Nikula
  0 siblings, 1 reply; 6+ messages in thread
From: Tony Lindgren @ 2021-06-02  5:30 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: linux-omap

Hi,

* Jarkko Nikula <jarkko.nikula@bitmer.com> [210528 13:56]:
> My old BeagleBoard Rev C2 stopped booting properly.
> 
> Booting stops "Waiting for root device /dev/mmcblk0p2..." but goes
> forward if I feed e.g. ENTER over serial and have to press it through
> almost the whole userspace booting. At some point during process it
> seems to start working. Perhaps userspace fires some timer etc?

Sounds like the beagleboard timer errata handling is either picking
a wrong clockevent timer, or later on ti-sysc misdetects the active
timer for clockevent and idles it.

What does dmesg say in the beginning for clockevent and clocksource
timers?

> I bisected the issue into commit 6cfcd5563b4f
> ("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and
> am4"). I used omap2plus_defconfig.

OK

Regards,

Tony

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Regression with 6cfcd5563b4f on BeagleBoard Rev C2
  2021-06-02  5:30 ` Tony Lindgren
@ 2021-06-02 18:21   ` Jarkko Nikula
  2021-06-04  6:35     ` Tony Lindgren
  0 siblings, 1 reply; 6+ messages in thread
From: Jarkko Nikula @ 2021-06-02 18:21 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap

[-- Attachment #1: Type: text/plain, Size: 570 bytes --]

Hi

On 6/2/21 8:30 AM, Tony Lindgren wrote:
> Sounds like the beagleboard timer errata handling is either picking
> a wrong clockevent timer, or later on ti-sysc misdetects the active
> timer for clockevent and idles it.
> 
> What does dmesg say in the beginning for clockevent and clocksource
> timers?
> 
I attached logs from commit 6cfcd5563b4f and commit 30c66fc30ee7 before
it. Perhaps this is relevant difference between them?

+ti-sysc: probe of 49032000.target-module failed with error -16
+ti-sysc: probe of 48304000.target-module failed with error -16

Jarkko

[-- Attachment #2: minicom.cap.6cfcd5563b4f --]
[-- Type: text/plain, Size: 11897 bytes --]

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.8.0-rc4-00002-g6cfcd5563b4f (jarkko@mylly64) (arm-linux-gnueabihf-gcc (Debian 8.3.0-2) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #10 SMP Wed Jun 2 21:00:02 EEST 2021
[    0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard
[    0.000000] Memory policy: Data cache writeback
[    0.000000] cma: Reserved 16 MiB at 0x8e800000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp)
[    0.000000] percpu: Embedded 19 pages/cpu s49036 r8192 d20596 u77824
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64452
[    0.000000] Kernel command line: console=ttyO2,115200n8 mpurate=auto buddy=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 226444K/260096K available (9216K kernel code, 797K rwdata, 2152K rodata, 1024K init, 255K bss, 17268K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 4.0) with 96 interrupts
[    0.000000] random: get_random_bytes called from start_kernel+0x2f0/0x530 with crng_init=0
[    0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[    0.000000] TI gptimer clockevent: 13000000 Hz at /ocp@68000000/target-module@49032000
[    0.000000] TI gptimer clocksource: always-on /ocp@68000000/target-module@48304000
[    0.000091] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns
[    0.000183] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.001525] Console: colour dummy device 80x30
[    0.001647] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
[    0.001708] This ensures that you still see kernel messages. Please
[    0.001770] update your kernel commandline.
[    0.001953] Calibrating delay loop... 594.73 BogoMIPS (lpj=2973696)
[    0.054626] pid_max: default: 32768 minimum: 301
[    0.055023] LSM: Security Framework initializing
[    0.055267] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.055358] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.057281] CPU: Testing write buffer coherency: ok
[    0.057464] CPU0: Spectre v2: using BPIALL workaround
[    0.058654] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.064666] Setting up static identity map for 0x80100000 - 0x80100078
[    0.066162] rcu: Hierarchical SRCU implementation.
[    0.069458] smp: Bringing up secondary CPUs ...
[    0.069549] smp: Brought up 1 node, 1 CPU
[    0.069641] SMP: Total of 1 processors activated (594.73 BogoMIPS).
[    0.069702] CPU: All CPU(s) started in SVC mode.
[    0.071624] devtmpfs: initialized
[    0.105041] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[    0.105712] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.105804] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.107757] pinctrl core: initialized pinctrl subsystem
[    0.109191] thermal_sys: Registered thermal governor 'fair_share'
[    0.109252] thermal_sys: Registered thermal governor 'step_wise'
[    0.109344] thermal_sys: Registered thermal governor 'user_space'
[    0.111968] NET: Registered protocol family 16
[    0.118377] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.150360] omap_hwmod: mcbsp2_sidetone using broken dt data from mcbsp
[    0.151367] omap_hwmod: mcbsp3_sidetone using broken dt data from mcbsp
[    0.246368] audit: initializing netlink subsys (disabled)
[    0.249053] cpuidle: using governor menu
[    0.249786] Reprogramming SDRC clock to 332000000 Hz
[    0.290405] audit: type=2000 audit(0.220:1): state=initialized audit_enabled=0 res=1
[    0.291351] OMAP GPIO hardware version 2.5
[    0.351928] omap-gpmc 6e000000.gpmc: GPMC revision 5.0
[    0.352020] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    0.388153] No ATAGs?
[    0.388244] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.442230] iommu: Default domain type: Translated 
[    0.444854] omap-iommu 480bd400.mmu: 480bd400.mmu registered
[    0.445770] platform 480bc000.isp: Adding to iommu group 0
[    0.449493] vgaarb: loaded
[    0.450500] SCSI subsystem initialized
[    0.457000] omap_i2c 48070000.i2c: bus 0 rev3.3 at 2600 kHz
[    0.459381] omap_i2c 48072000.i2c: bus 1 rev3.3 at 100 kHz
[    0.461517] omap_i2c 48060000.i2c: bus 2 rev3.3 at 100 kHz
[    0.462158] pps_core: LinuxPPS API ver. 1 registered
[    0.462249] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.462371] PTP clock support registered
[    0.465515] clocksource: Switched to clocksource dmtimer
[    1.654876] VFS: Disk quotas dquot_6.6.0
[    1.655120] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.691223] NET: Registered protocol family 2
[    1.692687] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.692810] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    1.692932] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    1.693054] TCP: Hash tables configured (established 2048 bind 2048)
[    1.693359] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.693481] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.693878] NET: Registered protocol family 1
[    1.698577] RPC: Registered named UNIX socket transport module.
[    1.698669] RPC: Registered udp transport module.
[    1.698730] RPC: Registered tcp transport module.
[    1.698791] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.698883] PCI: CLS 0 bytes, default 64
[    1.709625] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.712463] Initialise system trusted keyrings
[    1.713775] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    1.718200] NFS: Registering the id_resolver key type
[    1.718322] Key type id_resolver registered
[    1.718414] Key type id_legacy registered
[    1.718566] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.719268] Key type asymmetric registered
[    1.719360] Asymmetric key parser 'x509' registered
[    1.719482] io scheduler mq-deadline registered
[    1.719573] io scheduler kyber registered
[    1.738952] omap-dma-engine 48056000.dma-controller: OMAP DMA engine driver
[    1.743774] ti-sysc: probe of 49032000.target-module failed with error -16
[    1.744171] ti-sysc: probe of 48304000.target-module failed with error -16
[    1.744659] ti-sysc 480cb024.target-module: sysc_flags 00000100 != 00000110
[    1.746887] ti-sysc 480c9024.target-module: sysc_flags 00000100 != 00000110
[    1.751800] pinctrl-single 48002030.pinmux: 284 pins, size 568
[    1.752655] pinctrl-single 48002a00.pinmux: 46 pins, size 92
[    1.753814] pinctrl-single 480025d8.pinmux: 18 pins, size 36
[    1.762878] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    1.772247] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 88, base_baud = 3000000) is a 8250
[    1.776336] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 89, base_baud = 3000000) is a 8250
[    1.780151] 49020000.serial: ttyS2 at MMIO 0x49020000 (irq = 90, base_baud = 3000000) is a 8250
[    2.637878] random: fast init done
[    2.661865] printk: console [ttyS2] enabled
[    2.696990] brd: module loaded
[    2.721343] loop: module loaded
[    2.728332] Skipping twl internal clock init and using bootloader value (unknown osc rate)
[    2.755157] twl 0-0048: PIH (irq 23) chaining IRQs 147..155
[    2.761993] twl 0-0048: power (irq 152) chaining IRQs 155..162
[    2.848632] twl4030_gpio twl4030-gpio: gpio (irq 147) chaining IRQs 163..180
[    2.881195] TWL4030: HFCLK is not configured
[    2.886444] twl4030-audio 48070000.i2c:twl@48:audio: Invalid audio_mclk
[    2.893951] twl4030-audio: probe of 48070000.i2c:twl@48:audio failed with error -22
[    2.904541] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.914245] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xba
[    2.921813] nand: Micron MT29F2G16ABD
[    2.926300] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.934814] omap2-nand 30000000.nand: nand: using OMAP_ECC_HAM1_CODE_HW
[    2.942687] 5 fixed-partitions partitions found on MTD device omap2-nand.0
[    2.950775] Creating 5 MTD partitions on "omap2-nand.0":
[    2.957092] 0x000000000000-0x000000080000 : "X-Loader"
[    2.968231] 0x000000080000-0x000000260000 : "U-Boot"
[    2.979644] 0x000000260000-0x000000280000 : "U-Boot Env"
[    2.990570] 0x000000280000-0x000000680000 : "Kernel"
[    3.002990] 0x000000680000-0x000010000000 : "Filesystem"
[    3.162048] libphy: Fixed MDIO Bus: probed
[    3.171356] i2c /dev entries driver
[    3.182037] sdhci: Secure Digital Host Controller Interface driver
[    3.189422] sdhci: Copyright(c) Pierre Ossman
[    3.243255] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.253173] ledtrig-cpu: registered to indicate activity on CPUs
[    3.267730] drop_monitor: Initializing network drop monitor service
[    3.275268] Initializing XFRM netlink socket
[    3.280853] NET: Registered protocol family 10
[    3.291046] Segment Routing with IPv6
[    3.295837] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.303802] NET: Registered protocol family 17
[    3.309295] NET: Registered protocol family 15
[    3.314514] Key type dns_resolver registered
[    3.320587] oprofile: using arm/armv7
[    3.325439] ThumbEE CPU extension supported.
[    3.330291] Registering SWP/SWPB emulation handler
[    3.336883] PM: no software I/O chain control; some wakeups may be lost
[    3.346649] SmartReflex Class3 initialized
[    3.352752] Loading compiled-in X.509 certificates
[    3.434600] smartreflex 480cb000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    3.445129] smartreflex 480cb000.smartreflex: omap_sr_probe: smartreflex_core: No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    3.462768] smartreflex: probe of 480cb000.smartreflex failed with error -61
[    3.471862] smartreflex 480c9000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    3.481842] smartreflex 480c9000.smartreflex: omap_sr_probe: smartreflex_mpu_iva: No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    3.499664] smartreflex: probe of 480c9000.smartreflex failed with error -61
[    3.512908] Waiting for root device /dev/mmcblk0p2...

[-- Attachment #3: minicom.cap.30c66fc30ee7 --]
[-- Type: text/plain, Size: 12138 bytes --]

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.8.0-rc4-00001-g30c66fc30ee7 (jarkko@mylly64) (arm-linux-gnueabihf-gcc (Debian 8.3.0-2) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #12 SMP Wed Jun 2 21:08:19 EEST 2021
[    0.000000] CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard
[    0.000000] Memory policy: Data cache writeback
[    0.000000] cma: Reserved 16 MiB at 0x8e800000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008fdfffff]
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] OMAP3430/3530 ES3.0 (l2cache iva sgx neon isp)
[    0.000000] percpu: Embedded 19 pages/cpu s49036 r8192 d20596 u77824
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64452
[    0.000000] Kernel command line: console=ttyO2,115200n8 mpurate=auto buddy=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 226444K/260096K available (9216K kernel code, 797K rwdata, 2152K rodata, 1024K init, 255K bss, 17268K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 4.0) with 96 interrupts
[    0.000000] random: get_random_bytes called from start_kernel+0x2f0/0x530 with crng_init=0
[    0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[    0.000000] TI gptimer clockevent: 13000000 Hz at /ocp@68000000/target-module@49032000
[    0.000000] TI gptimer clocksource: always-on /ocp@68000000/target-module@48304000
[    0.000091] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns
[    0.000183] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
[    0.001525] Console: colour dummy device 80x30
[    0.001647] WARNING: Your 'console=ttyO2' has been replaced by 'ttyS2'
[    0.001708] This ensures that you still see kernel messages. Please
[    0.001770] update your kernel commandline.
[    0.001953] Calibrating delay loop... 594.73 BogoMIPS (lpj=2973696)
[    0.054656] pid_max: default: 32768 minimum: 301
[    0.055053] LSM: Security Framework initializing
[    0.055297] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.055389] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.057281] CPU: Testing write buffer coherency: ok
[    0.057464] CPU0: Spectre v2: using BPIALL workaround
[    0.058654] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.064544] Setting up static identity map for 0x80100000 - 0x80100078
[    0.066101] rcu: Hierarchical SRCU implementation.
[    0.069366] smp: Bringing up secondary CPUs ...
[    0.069458] smp: Brought up 1 node, 1 CPU
[    0.069549] SMP: Total of 1 processors activated (594.73 BogoMIPS).
[    0.069610] CPU: All CPU(s) started in SVC mode.
[    0.071594] devtmpfs: initialized
[    0.105529] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
[    0.106201] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.106292] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.108245] pinctrl core: initialized pinctrl subsystem
[    0.109680] thermal_sys: Registered thermal governor 'fair_share'
[    0.110076] thermal_sys: Registered thermal governor 'step_wise'
[    0.110168] thermal_sys: Registered thermal governor 'user_space'
[    0.112487] NET: Registered protocol family 16
[    0.118896] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.151947] omap_hwmod: mcbsp2_sidetone using broken dt data from mcbsp
[    0.152984] omap_hwmod: mcbsp3_sidetone using broken dt data from mcbsp
[    0.235626] audit: initializing netlink subsys (disabled)
[    0.238311] cpuidle: using governor menu
[    0.239044] Reprogramming SDRC clock to 332000000 Hz
[    0.279876] audit: type=2000 audit(0.210:1): state=initialized audit_enabled=0 res=1
[    0.280822] OMAP GPIO hardware version 2.5
[    0.342285] omap-gpmc 6e000000.gpmc: GPMC revision 5.0
[    0.342559] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    0.379150] No ATAGs?
[    0.379241] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.433898] iommu: Default domain type: Translated 
[    0.436065] omap-iommu 480bd400.mmu: 480bd400.mmu registered
[    0.436981] platform 480bc000.isp: Adding to iommu group 0
[    0.440704] vgaarb: loaded
[    0.441711] SCSI subsystem initialized
[    0.448272] omap_i2c 48070000.i2c: bus 0 rev3.3 at 2600 kHz
[    0.450561] omap_i2c 48072000.i2c: bus 1 rev3.3 at 100 kHz
[    0.452697] omap_i2c 48060000.i2c: bus 2 rev3.3 at 100 kHz
[    0.453765] pps_core: LinuxPPS API ver. 1 registered
[    0.453857] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.453979] PTP clock support registered
[    0.456726] clocksource: Switched to clocksource dmtimer
[    1.643554] VFS: Disk quotas dquot_6.6.0
[    1.643798] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.680175] NET: Registered protocol family 2
[    1.681671] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.681793] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    1.681915] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    1.682037] TCP: Hash tables configured (established 2048 bind 2048)
[    1.682312] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.682434] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.682861] NET: Registered protocol family 1
[    1.687988] RPC: Registered named UNIX socket transport module.
[    1.688079] RPC: Registered udp transport module.
[    1.688140] RPC: Registered tcp transport module.
[    1.688201] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.688293] PCI: CLS 0 bytes, default 64
[    1.698913] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    1.701873] Initialise system trusted keyrings
[    1.703186] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    1.706878] NFS: Registering the id_resolver key type
[    1.707031] Key type id_resolver registered
[    1.707702] Key type id_legacy registered
[    1.707855] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.708831] Key type asymmetric registered
[    1.708923] Asymmetric key parser 'x509' registered
[    1.709014] io scheduler mq-deadline registered
[    1.709106] io scheduler kyber registered
[    1.728759] omap-dma-engine 48056000.dma-controller: OMAP DMA engine driver
[    1.738159] ti-sysc 480cb024.target-module: sysc_flags 00000100 != 00000110
[    1.739929] ti-sysc 480c9024.target-module: sysc_flags 00000100 != 00000110
[    1.744812] pinctrl-single 48002030.pinmux: 284 pins, size 568
[    1.745666] pinctrl-single 48002a00.pinmux: 46 pins, size 92
[    1.746795] pinctrl-single 480025d8.pinmux: 18 pins, size 36
[    1.756103] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    1.765441] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 88, base_baud = 3000000) is a 8250
[    1.769561] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 89, base_baud = 3000000) is a 8250
[    1.773162] 49020000.serial: ttyS2 at MMIO 0x49020000 (irq = 90, base_baud = 3000000) is a 8250
[    2.634826] printk: console [ttyS2] enabled
[    2.639862] random: fast init done
[    2.674102] brd: module loaded
[    2.699005] loop: module loaded
[    2.705474] Skipping twl internal clock init and using bootloader value (unknown osc rate)
[    2.733001] twl 0-0048: PIH (irq 23) chaining IRQs 147..155
[    2.739776] twl 0-0048: power (irq 152) chaining IRQs 155..162
[    2.826507] twl4030_gpio twl4030-gpio: gpio (irq 147) chaining IRQs 163..180
[    2.859497] TWL4030: HFCLK is not configured
[    2.864349] twl4030-audio 48070000.i2c:twl@48:audio: Invalid audio_mclk
[    2.872222] twl4030-audio: probe of 48070000.i2c:twl@48:audio failed with error -22
[    2.882812] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.892547] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xba
[    2.900115] nand: Micron MT29F2G16ABD
[    2.904266] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    2.913116] omap2-nand 30000000.nand: nand: using OMAP_ECC_HAM1_CODE_HW
[    2.920989] 5 fixed-partitions partitions found on MTD device omap2-nand.0
[    2.929077] Creating 5 MTD partitions on "omap2-nand.0":
[    2.935089] 0x000000000000-0x000000080000 : "X-Loader"
[    2.946075] 0x000000080000-0x000000260000 : "U-Boot"
[    2.957916] 0x000000260000-0x000000280000 : "U-Boot Env"
[    2.968872] 0x000000280000-0x000000680000 : "Kernel"
[    2.981323] 0x000000680000-0x000010000000 : "Filesystem"
[    3.140808] libphy: Fixed MDIO Bus: probed
[    3.150207] i2c /dev entries driver
[    3.160614] sdhci: Secure Digital Host Controller Interface driver
[    3.168029] sdhci: Copyright(c) Pierre Ossman
[    3.221099] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.230987] ledtrig-cpu: registered to indicate activity on CPUs
[    3.246063] drop_monitor: Initializing network drop monitor service
[    3.253997] Initializing XFRM netlink socket
[    3.259613] NET: Registered protocol family 10
[    3.270050] Segment Routing with IPv6
[    3.274597] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.282958] NET: Registered protocol family 17
[    3.288421] NET: Registered protocol family 15
[    3.293640] Key type dns_resolver registered
[    3.299743] oprofile: using arm/armv7
[    3.304199] ThumbEE CPU extension supported.
[    3.309448] Registering SWP/SWPB emulation handler
[    3.315673] PM: no software I/O chain control; some wakeups may be lost
[    3.325378] SmartReflex Class3 initialized
[    3.331848] Loading compiled-in X.509 certificates
[    3.412719] smartreflex 480cb000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    3.422912] smartreflex 480cb000.smartreflex: omap_sr_probe: smartreflex_core: No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    3.440551] smartreflex: probe of 480cb000.smartreflex failed with error -61
[    3.449615] smartreflex 480c9000.smartreflex: omap_sr_probe: SmartReflex driver initialized
[    3.459503] smartreflex 480c9000.smartreflex: omap_sr_probe: smartreflex_mpu_iva: No Voltage table for the corresponding vdd. Cannot create debugfs entries for n-values
[    3.477325] smartreflex: probe of 480c9000.smartreflex failed with error -61
[    3.490325] Waiting for root device /dev/mmcblk0p2...
[    3.592498] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.609008] mmc0: new high speed SDHC card at address aaaa
[    3.618103] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
[    3.635253]  mmcblk0: p1 p2 p3
[    3.735076] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    3.744750] VFS: Mounted root (ext4 filesystem) on device 179:2.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Regression with 6cfcd5563b4f on BeagleBoard Rev C2
  2021-06-02 18:21   ` Jarkko Nikula
@ 2021-06-04  6:35     ` Tony Lindgren
  2021-06-04 15:41       ` Jarkko Nikula
  0 siblings, 1 reply; 6+ messages in thread
From: Tony Lindgren @ 2021-06-04  6:35 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: linux-omap

Hi,

* Jarkko Nikula <jarkko.nikula@bitmer.com> [210602 18:21]:
> Hi
> 
> On 6/2/21 8:30 AM, Tony Lindgren wrote:
> > Sounds like the beagleboard timer errata handling is either picking
> > a wrong clockevent timer, or later on ti-sysc misdetects the active
> > timer for clockevent and idles it.
> > 
> > What does dmesg say in the beginning for clockevent and clocksource
> > timers?
> > 
> I attached logs from commit 6cfcd5563b4f and commit 30c66fc30ee7 before
> it. Perhaps this is relevant difference between them?
> 
> +ti-sysc: probe of 49032000.target-module failed with error -16
> +ti-sysc: probe of 48304000.target-module failed with error -16

Yeah so it seems. We now attempt to ignore the system timer instances
while it seems we need also block idling at least for timer12 that is
used for the beagle timer.

Can you test the following patch and see if it helps?

Regards,

Tony

8< ------------------------
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -100,6 +100,7 @@ static const char * const clock_names[SYSC_MAX_CLOCKS] = {
  * @cookie: data used by legacy platform callbacks
  * @name: name if available
  * @revision: interconnect target module revision
+ * @reserved: target module is reserved and already in use
  * @enabled: sysc runtime enabled status
  * @needs_resume: runtime resume needed on resume from suspend
  * @child_needs_resume: runtime resume needed for child on resume from suspend
@@ -130,6 +131,7 @@ struct sysc {
 	struct ti_sysc_cookie cookie;
 	const char *name;
 	u32 revision;
+	unsigned int reserved:1;
 	unsigned int enabled:1;
 	unsigned int needs_resume:1;
 	unsigned int child_needs_resume:1;
@@ -3045,8 +3047,8 @@ static int sysc_probe(struct platform_device *pdev)
 		return error;
 
 	error = sysc_check_active_timer(ddata);
-	if (error)
-		return error;
+	if (error == -EBUSY)
+		ddata->reserved = true;
 
 	error = sysc_get_clocks(ddata);
 	if (error)
@@ -3082,11 +3084,15 @@ static int sysc_probe(struct platform_device *pdev)
 	sysc_show_registers(ddata);
 
 	ddata->dev->type = &sysc_device_type;
-	error = of_platform_populate(ddata->dev->of_node, sysc_match_table,
-				     pdata ? pdata->auxdata : NULL,
-				     ddata->dev);
-	if (error)
-		goto err;
+
+	if (!ddata->reserved) {
+		error = of_platform_populate(ddata->dev->of_node,
+					     sysc_match_table,
+					     pdata ? pdata->auxdata : NULL,
+					     ddata->dev);
+		if (error)
+			goto err;
+	}
 
 	INIT_DELAYED_WORK(&ddata->idle_work, ti_sysc_idle);
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Regression with 6cfcd5563b4f on BeagleBoard Rev C2
  2021-06-04  6:35     ` Tony Lindgren
@ 2021-06-04 15:41       ` Jarkko Nikula
  2021-06-05  5:13         ` Tony Lindgren
  0 siblings, 1 reply; 6+ messages in thread
From: Jarkko Nikula @ 2021-06-04 15:41 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap

On 4.6.2021 9.35, Tony Lindgren wrote:
> Hi,
> 
> * Jarkko Nikula <jarkko.nikula@bitmer.com> [210602 18:21]:
>> Hi
>>
>> On 6/2/21 8:30 AM, Tony Lindgren wrote:
>>> Sounds like the beagleboard timer errata handling is either picking
>>> a wrong clockevent timer, or later on ti-sysc misdetects the active
>>> timer for clockevent and idles it.
>>>
>>> What does dmesg say in the beginning for clockevent and clocksource
>>> timers?
>>>
>> I attached logs from commit 6cfcd5563b4f and commit 30c66fc30ee7 before
>> it. Perhaps this is relevant difference between them?
>>
>> +ti-sysc: probe of 49032000.target-module failed with error -16
>> +ti-sysc: probe of 48304000.target-module failed with error -16
> 
> Yeah so it seems. We now attempt to ignore the system timer instances
> while it seems we need also block idling at least for timer12 that is
> used for the beagle timer.
> 
> Can you test the following patch and see if it helps?
> 
It works! I tested on top of both regressing commit and the most recent one:
6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend and resume
for am3 and am4")
and
f88cd3fb9df2 ("Merge tag 'vfio-v5.13-rc5' of
git://github.com/awilliam/linux-vfio")

You may add:
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Regression with 6cfcd5563b4f on BeagleBoard Rev C2
  2021-06-04 15:41       ` Jarkko Nikula
@ 2021-06-05  5:13         ` Tony Lindgren
  0 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2021-06-05  5:13 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: linux-omap

* Jarkko Nikula <jarkko.nikula@bitmer.com> [210604 15:41]:
> On 4.6.2021 9.35, Tony Lindgren wrote:
> > Hi,
> > 
> > * Jarkko Nikula <jarkko.nikula@bitmer.com> [210602 18:21]:
> >> Hi
> >>
> >> On 6/2/21 8:30 AM, Tony Lindgren wrote:
> >>> Sounds like the beagleboard timer errata handling is either picking
> >>> a wrong clockevent timer, or later on ti-sysc misdetects the active
> >>> timer for clockevent and idles it.
> >>>
> >>> What does dmesg say in the beginning for clockevent and clocksource
> >>> timers?
> >>>
> >> I attached logs from commit 6cfcd5563b4f and commit 30c66fc30ee7 before
> >> it. Perhaps this is relevant difference between them?
> >>
> >> +ti-sysc: probe of 49032000.target-module failed with error -16
> >> +ti-sysc: probe of 48304000.target-module failed with error -16
> > 
> > Yeah so it seems. We now attempt to ignore the system timer instances
> > while it seems we need also block idling at least for timer12 that is
> > used for the beagle timer.
> > 
> > Can you test the following patch and see if it helps?
> > 
> It works! I tested on top of both regressing commit and the most recent one:
> 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend and resume
> for am3 and am4")
> and
> f88cd3fb9df2 ("Merge tag 'vfio-v5.13-rc5' of
> git://github.com/awilliam/linux-vfio")
> 
> You may add:
> Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>

OK good to hear, I'll send out a fix with a proper description.

Regards,

Tony

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-05  5:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28 13:56 Regression with 6cfcd5563b4f on BeagleBoard Rev C2 Jarkko Nikula
2021-06-02  5:30 ` Tony Lindgren
2021-06-02 18:21   ` Jarkko Nikula
2021-06-04  6:35     ` Tony Lindgren
2021-06-04 15:41       ` Jarkko Nikula
2021-06-05  5:13         ` Tony Lindgren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.