Other Parts Discussed in Thread: AM4372
Tool/software: Linux
Hello all,
We have a custom board with an AM4376 processor. We are running the Linux kernel from the TI Processor SDK version 4.03.00 with extra patches to remove the RTC in both the source and device tree (as it is disabled on the hardware). When using the pwm-omap-dmtimer driver to enable PWM on timer5, we get the L3 custom error messages listed below after each action (set period, set duty cycle, enable). The driver still works as intended and we are able to get our PWM signal, but we cannot have these error messages appearing.
# echo 25000000 > /sys/class/pwm/pwmchip0/pwm0/period [ 177.610729] ------------[ cut here ]------------ [ 177.615398] WARNING: CPU: 0 PID: 138 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x260/0x370 [ 177.624690] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access [ 177.637270] Modules linked in: [ 177.640330] CPU: 0 PID: 138 Comm: sh Tainted: G W 4.9.69 #1 [ 177.647016] Hardware name: Generic AM43 (Flattened Device Tree) [ 177.652921] Backtrace: [ 177.655380] [<c010e158>] (dump_backtrace) from [<c010e414>] (show_stack+0x18/0x1c) [ 177.662938] r7:00000009 r6:00000000 r5:c0acc86c r4:cfb2bb68 [ 177.668601] [<c010e3fc>] (show_stack) from [<c03c694c>] (dump_stack+0x24/0x28) [ 177.675818] [<c03c6928>] (dump_stack) from [<c013031c>] (__warn+0xe8/0x100) [ 177.682769] [<c0130234>] (__warn) from [<c0130374>] (warn_slowpath_fmt+0x40/0x48) [ 177.690240] r9:00000000 r8:dc517290 r7:c0acc944 r6:00000000 r5:c0acc798 r4:c0acc83c [ 177.697972] [<c0130338>] (warn_slowpath_fmt) from [<c03f6724>] (l3_interrupt_handler+0x260/0x370) [ 177.706824] r3:dc5170c0 r2:c0acc83c [ 177.710389] r4:80080003 [ 177.712930] [<c03f64c4>] (l3_interrupt_handler) from [<c016d9c0>] (__handle_irq_event_percpu+0xb4/0x144) [ 177.722395] r10:c0d4bef0 r9:dc4fc400 r8:00000015 r7:cfb2bc8c r6:00000000 r5:dc4fc400 [ 177.730206] r4:dc517640 [ 177.732737] [<c016d90c>] (__handle_irq_event_percpu) from [<c016da74>] (handle_irq_event_percpu+0x24/0x60) [ 177.742375] r10:017d7840 r9:cfb2a000 r8:dc408000 r7:00000001 r6:00000000 r5:dc4fc400 [ 177.750186] r4:dc4fc400 [ 177.752717] [<c016da50>] (handle_irq_event_percpu) from [<c016db14>] (handle_irq_event+0x64/0x90) [ 177.761570] r5:c0d0a9c8 r4:dc4fc400 [ 177.765145] [<c016dab0>] (handle_irq_event) from [<c0170dd8>] (handle_fasteoi_irq+0xc0/0x200) [ 177.773651] r5:c0d0a9c8 r4:dc4fc400 [ 177.777223] [<c0170d18>] (handle_fasteoi_irq) from [<c016cbc4>] (generic_handle_irq+0x2c/0x3c) [ 177.785818] r7:00000001 r6:00000000 r5:00000000 r4:c0d21e10 [ 177.791470] [<c016cb98>] (generic_handle_irq) from [<c016d264>] (__handle_domain_irq+0x5c/0xb0) [ 177.800156] [<c016d208>] (__handle_domain_irq) from [<c0101518>] (gic_handle_irq+0x40/0x6c) [ 177.808493] r9:cfb2a000 r8:fa241100 r7:fa240100 r6:cfb2bd40 r5:fa24010c r4:c0d02c14 [ 177.816226] [<c01014d8>] (gic_handle_irq) from [<c010ee4c>] (__irq_svc+0x6c/0xa8) [ 177.823692] Exception stack(0xcfb2bd40 to 0xcfb2bd88) [ 177.828737] bd40: 00000000 dc5216c4 00000000 00000004 ffffe000 600e0013 fffffccc 00000001 [ 177.836900] bd60: fffffccc 000000be 017d7840 cfb2bdac dc5216b8 cfb2bd90 c015daac c05308f4 [ 177.845060] bd80: 200e0013 ffffffff [ 177.848543] r9:cfb2a000 r8:fffffccc r7:cfb2bd74 r6:ffffffff r5:200e0013 r4:c05308f4 [ 177.856309] [<c053088c>] (__pm_runtime_idle) from [<c012c2ec>] (omap_dm_timer_set_load+0xb4/0xcc) [ 177.865163] r5:00001842 r4:dc610310 [ 177.868751] [<c012c238>] (omap_dm_timer_set_load) from [<c040f870>] (pwm_omap_dmtimer_config+0x178/0x268) [ 177.878301] r7:fffffffe r6:00000000 r5:d9ad6600 r4:d9acf710 [ 177.883954] [<c040f6f8>] (pwm_omap_dmtimer_config) from [<c040eb64>] (pwm_apply_state+0x118/0x1bc) [ 177.892899] r10:00000000 r9:00000000 r8:017d7840 r7:d9ad6620 r6:c040f6f8 r5:d9ad6600 [ 177.900709] r4:cfb2be38 [ 177.903240] [<c040ea4c>] (pwm_apply_state) from [<c040f1f8>] (period_store+0x68/0x88) [ 177.911057] r9:00000000 r8:00000000 r7:00000009 r6:d9ad6600 r5:cfa9758c r4:00000000 [ 177.918802] [<c040f190>] (period_store) from [<c0520ec8>] (dev_attr_store+0x20/0x2c) [ 177.926530] r7:cfb1bac0 r6:cfb2bf78 r5:00000009 r4:c040f190 [ 177.932191] [<c0520ea8>] (dev_attr_store) from [<c0286da0>] (sysfs_kf_write+0x48/0x4c) [ 177.940091] r5:00000009 r4:c0520ea8 [ 177.943662] [<c0286d58>] (sysfs_kf_write) from [<c0286508>] (kernfs_fop_write+0xf8/0x1f8) [ 177.951821] r5:00000009 r4:cfb1be80 [ 177.955405] [<c0286410>] (kernfs_fop_write) from [<c02171a8>] (__vfs_write+0x34/0x120) [ 177.963309] r10:00000000 r9:00000009 r8:00000000 r7:00000009 r6:cfb2bf78 r5:c0286410 [ 177.971121] r4:cfbd9f00 [ 177.973653] [<c0217174>] (__vfs_write) from [<c0218078>] (vfs_write+0xac/0x170) [ 177.980950] r9:00000009 r8:00000000 r7:cfb2bf78 r6:000c6790 r5:cfbd9f00 r4:00000009 [ 177.988682] [<c0217fcc>] (vfs_write) from [<c0218e78>] (SyS_write+0x44/0x98) [ 177.995720] r9:00000009 r8:000c6790 r7:00000000 r6:00000000 r5:cfbd9f00 r4:cfbd9f00 [ 178.003463] [<c0218e34>] (SyS_write) from [<c010a640>] (ret_fast_syscall+0x0/0x48) [ 178.011021] r9:cfb2a000 r8:c010a804 r7:00000004 r6:000c6790 r5:00000001 r4:00000000 [ 178.018746] ---[ end trace b1f424c43f2ab0cb ]--- [ 178.026234] ------------[ cut here ]------------ [ 178.030897] WARNING: CPU: 0 PID: 138 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x260/0x370 [ 178.040186] 44000000.ocp:L3 Custom Error: MASTER M2 (64-bit) TARGET L4_PER_0 (Idle): Data Access in Supervisor mode during Functional access [ 178.052765] Modules linked in: [ 178.055823] CPU: 0 PID: 138 Comm: sh Tainted: G W 4.9.69 #1 [ 178.062509] Hardware name: Generic AM43 (Flattened Device Tree) [ 178.068414] Backtrace: [ 178.070873] [<c010e158>] (dump_backtrace) from [<c010e414>] (show_stack+0x18/0x1c) [ 178.078430] r7:00000009 r6:00000000 r5:c0acc86c r4:cfb2bb68 [ 178.084091] [<c010e3fc>] (show_stack) from [<c03c694c>] (dump_stack+0x24/0x28) [ 178.091307] [<c03c6928>] (dump_stack) from [<c013031c>] (__warn+0xe8/0x100) [ 178.098257] [<c0130234>] (__warn) from [<c0130374>] (warn_slowpath_fmt+0x40/0x48) [ 178.105727] r9:00000000 r8:dc517290 r7:c0acc944 r6:00000000 r5:c0acc798 r4:c0acc83c [ 178.113460] [<c0130338>] (warn_slowpath_fmt) from [<c03f6724>] (l3_interrupt_handler+0x260/0x370) [ 178.122312] r3:dc5170c0 r2:c0acc83c [ 178.125876] r4:80080003 [ 178.128417] [<c03f64c4>] (l3_interrupt_handler) from [<c016d9c0>] (__handle_irq_event_percpu+0xb4/0x144) [ 178.137881] r10:c0d4bef0 r9:dc4fc400 r8:00000015 r7:cfb2bc8c r6:00000000 r5:dc4fc400 [ 178.145692] r4:dc517640 [ 178.148223] [<c016d90c>] (__handle_irq_event_percpu) from [<c016da74>] (handle_irq_event_percpu+0x24/0x60) [ 178.157861] r10:017d7840 r9:cfb2a000 r8:dc408000 r7:00000001 r6:00000000 r5:dc4fc400 [ 178.165672] r4:dc4fc400 [ 178.168202] [<c016da50>] (handle_irq_event_percpu) from [<c016db14>] (handle_irq_event+0x64/0x90) [ 178.177055] r5:c0d0a9c8 r4:dc4fc400 [ 178.180631] [<c016dab0>] (handle_irq_event) from [<c0170dd8>] (handle_fasteoi_irq+0xc0/0x200) [ 178.189137] r5:c0d0a9c8 r4:dc4fc400 [ 178.192708] [<c0170d18>] (handle_fasteoi_irq) from [<c016cbc4>] (generic_handle_irq+0x2c/0x3c) [ 178.201303] r7:00000001 r6:00000000 r5:00000000 r4:c0d21e10 [ 178.206954] [<c016cb98>] (generic_handle_irq) from [<c016d264>] (__handle_domain_irq+0x5c/0xb0) [ 178.215640] [<c016d208>] (__handle_domain_irq) from [<c0101518>] (gic_handle_irq+0x40/0x6c) [ 178.223977] r9:cfb2a000 r8:fa241100 r7:fa240100 r6:cfb2bd40 r5:fa24010c r4:c0d02c14 [ 178.231709] [<c01014d8>] (gic_handle_irq) from [<c010ee4c>] (__irq_svc+0x6c/0xa8) [ 178.239175] Exception stack(0xcfb2bd40 to 0xcfb2bd88) [ 178.244219] bd40: 00000000 dc5216c4 00000000 00000004 ffffe000 600f0013 fffffffe 00000001 [ 178.252382] bd60: fffffccc 000000be 017d7840 cfb2bdac dc5216b8 cfb2bd90 c015daac c05308f4 [ 178.260540] bd80: 200f0013 ffffffff [ 178.264024] r9:cfb2a000 r8:fffffccc r7:cfb2bd74 r6:ffffffff r5:200f0013 r4:c05308f4 [ 178.271787] [<c053088c>] (__pm_runtime_idle) from [<c012c4a8>] (omap_dm_timer_set_match+0xa0/0xb8) [ 178.280729] r5:00001842 r4:dc610310 [ 178.284314] [<c012c408>] (omap_dm_timer_set_match) from [<c040f888>] (pwm_omap_dmtimer_config+0x190/0x268) [ 178.293949] r7:fffffffe r6:00000000 r5:d9ad6600 r4:d9acf710 [ 178.299602] [<c040f6f8>] (pwm_omap_dmtimer_config) from [<c040eb64>] (pwm_apply_state+0x118/0x1bc) [ 178.308547] r10:00000000 r9:00000000 r8:017d7840 r7:d9ad6620 r6:c040f6f8 r5:d9ad6600 [ 178.316358] r4:cfb2be38 [ 178.318889] [<c040ea4c>] (pwm_apply_state) from [<c040f1f8>] (period_store+0x68/0x88) [ 178.326706] r9:00000000 r8:00000000 r7:00000009 r6:d9ad6600 r5:cfa9758c r4:00000000 [ 178.334448] [<c040f190>] (period_store) from [<c0520ec8>] (dev_attr_store+0x20/0x2c) [ 178.342177] r7:cfb1bac0 r6:cfb2bf78 r5:00000009 r4:c040f190 [ 178.347834] [<c0520ea8>] (dev_attr_store) from [<c0286da0>] (sysfs_kf_write+0x48/0x4c) [ 178.355733] r5:00000009 r4:c0520ea8 [ 178.359303] [<c0286d58>] (sysfs_kf_write) from [<c0286508>] (kernfs_fop_write+0xf8/0x1f8) [ 178.367461] r5:00000009 r4:cfb1be80 [ 178.371044] [<c0286410>] (kernfs_fop_write) from [<c02171a8>] (__vfs_write+0x34/0x120) [ 178.378948] r10:00000000 r9:00000009 r8:00000000 r7:00000009 r6:cfb2bf78 r5:c0286410 [ 178.386758] r4:cfbd9f00 [ 178.389291] [<c0217174>] (__vfs_write) from [<c0218078>] (vfs_write+0xac/0x170) [ 178.396587] r9:00000009 r8:00000000 r7:cfb2bf78 r6:000c6790 r5:cfbd9f00 r4:00000009 [ 178.404319] [<c0217fcc>] (vfs_write) from [<c0218e78>] (SyS_write+0x44/0x98) [ 178.411357] r9:00000009 r8:000c6790 r7:00000000 r6:00000000 r5:cfbd9f00 r4:cfbd9f00 [ 178.419099] [<c0218e34>] (SyS_write) from [<c010a640>] (ret_fast_syscall+0x0/0x48) [ 178.426657] r9:cfb2a000 r8:c010a804 r7:00000004 r6:000c6790 r5:00000001 r4:00000000 [ 178.434382] ---[ end trace b1f424c43f2ab0cc ]---
We have tried solutions from the following threads, but have not resolved the issue:
https://e2e.ti.com/support/embedded/linux/f/354/t/437761
https://e2e.ti.com/support/arm/sitara_arm/f/791/t/475372
https://e2e.ti.com/support/arm/sitara_arm/f/791/p/589373/2164988
The last link has the same error coming from the pwm_omap_dmtimer driver and is unresolved.
Are there any other leads we can follow-up on to get these errors fixed?
Thanks,
Conrad