Skip to content
  1. Feb 03, 2021
  2. Jan 30, 2021
  3. Jan 28, 2021
  4. Jan 27, 2021
  5. Jan 26, 2021
  6. Jan 25, 2021
  7. Jan 23, 2021
  8. Jan 22, 2021
  9. Jan 21, 2021
    • Rouven Czerwinski's avatar
      tee: optee: replace might_sleep with cond_resched · dcb3b06d
      Rouven Czerwinski authored
      might_sleep() is a debugging aid and triggers rescheduling only for
      certain kernel configurations. Replace with an explicit check and
      reschedule to work for all kernel configurations. Fixes the following
      trace:
      
        [  572.945146] rcu: INFO: rcu_sched self-detected stall on CPU
        [  572.949275] rcu:     0-....: (2099 ticks this GP) idle=572/1/0x40000002 softirq=7412/7412 fqs=974
        [  572.957964]  (t=2100 jiffies g=10393 q=21)
        [  572.962054] NMI backtrace for cpu 0
        [  572.965540] CPU: 0 PID: 165 Comm: xtest Not tainted 5.8.7 #1
        [  572.971188] Hardware name: STM32 (Device Tree Support)
        [  572.976354] [<c011163c>] (unwind_backtrace) from [<c010b7f8>] (show_stack+0x10/0x14)
        [  572.984080] [<c010b7f8>] (show_stack) from [<c0511e4c>] (dump_stack+0xc4/0xd8)
        [  572.991300] [<c0511e4c>] (dump_stack) from [<c0519abc>] (nmi_cpu_backtrace+0x90/0xc4)
        [  572.999130] [<c0519abc>] (nmi_cpu_backtrace) from [<c0519bdc>] (nmi_trigger_cpumask_backtrace+0xec/0x130)
        [  573.008706] [<c0519bdc>] (nmi_trigger_cpumask_backtrace) from [<c01a5184>] (rcu_dump_cpu_stacks+0xe8/0x110)
        [  573.018453] [<c01a5184>] (rcu_dump_cpu_stacks) from [<c01a4234>] (rcu_sched_clock_irq+0x7fc/0xa88)
        [  573.027416] [<c01a4234>] (rcu_sched_clock_irq) from [<c01acdd0>] (update_process_times+0x30/0x8c)
        [  573.036291] [<c01acdd0>] (update_process_times) from [<c01bfb90>] (tick_sched_timer+0x4c/0xa8)
        [  573.044905] [<c01bfb90>] (tick_sched_timer) from [<c01adcc8>] (__hrtimer_run_queues+0x174/0x358)
        [  573.053696] [<c01adcc8>] (__hrtimer_run_queues) from [<c01aea2c>] (hrtimer_interrupt+0x118/0x2bc)
        [  573.062573] [<c01aea2c>] (hrtimer_interrupt) from [<c09ad664>] (arch_timer_handler_virt+0x28/0x30)
        [  573.071536] [<c09ad664>] (arch_timer_handler_virt) from [<c0190f50>] (handle_percpu_devid_irq+0x8c/0x240)
        [  573.081109] [<c0190f50>] (handle_percpu_devid_irq) from [<c018ab8c>] (generic_handle_irq+0x34/0x44)
        [  573.090156] [<c018ab8c>] (generic_handle_irq) from [<c018b194>] (__handle_domain_irq+0x5c/0xb0)
        [  573.098857] [<c018b194>] (__handle_domain_irq) from [<c052ac50>] (gic_handle_irq+0x4c/0x90)
        [  573.107209] [<c052ac50>] (gic_handle_irq) from [<c0100b0c>] (__irq_svc+0x6c/0x90)
        [  573.114682] Exception stack(0xd90dfcf8 to 0xd90dfd40)
        [  573.119732] fce0:                                                       ffff0004 00000000
        [  573.127917] fd00: 00000000 00000000 00000000 00000000 00000000 00000000 d93493cc ffff0000
        [  573.136098] fd20: d2bc39c0 be926998 d90dfd58 d90dfd48 c09f3384 c01151f0 400d0013 ffffffff
        [  573.144281] [<c0100b0c>] (__irq_svc) from [<c01151f0>] (__arm_smccc_smc+0x10/0x20)
        [  573.151854] [<c01151f0>] (__arm_smccc_smc) from [<c09f3384>] (optee_smccc_smc+0x3c/0x44)
        [  573.159948] [<c09f3384>] (optee_smccc_smc) from [<c09f4170>] (optee_do_call_with_arg+0xb8/0x154)
        [  573.168735] [<c09f4170>] (optee_do_call_with_arg) from [<c09f4638>] (optee_invoke_func+0x110/0x190)
        [  573.177786] [<c09f4638>] (optee_invoke_func) from [<c09f1ebc>] (tee_ioctl+0x10b8/0x11c0)
        [  573.185879] [<c09f1ebc>] (tee_ioctl) from [<c029f62c>] (ksys_ioctl+0xe0/0xa4c)
        [  573.193101] [<c029f62c>] (ksys_ioctl) from [<c0100060>] (ret_fast_syscall+0x0/0x54)
        [  573.200750] Exception stack(0xd90dffa8 to 0xd90dfff0)
        [  573.205803] ffa0:                   be926bf4 be926a78 00000003 8010a403 be926908 004e3cf8
        [  573.213987] ffc0: be926bf4 be926a78 00000000 00000036 be926908 be926918 be9269b0 bffdf0f8
        [  573.222162] ffe0: b6d76fb0 be9268fc b6d66621 b6c7e0d8
      
      seen on STM32 DK2 with CONFIG_PREEMPT_NONE.
      
      Fixes: 9f02b8f6
      
       ("tee: optee: add might_sleep for RPC requests")
      Signed-off-by: default avatarRouven Czerwinski <r.czerwinski@pengutronix.de>
      Tested-by: default avatarSumit Garg <sumit.garg@linaro.org>
      [jw: added fixes tag + small adjustments in the code]
      Signed-off-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
      dcb3b06d
  10. Jan 18, 2021
  11. Jan 16, 2021
  12. Jan 15, 2021
    • Tony Lindgren's avatar
      drivers: bus: simple-pm-bus: Fix compatibility with simple-bus for auxdata · eda080ea
      Tony Lindgren authored
      After converting am335x to probe devices with simple-pm-bus I noticed
      that we are not passing auxdata for of_platform_populate() like we do
      with simple-bus.
      
      While device tree using SoCs should no longer need platform data, there
      are still quite a few drivers that still need it as can be seen with
      git grep OF_DEV_AUXDATA. We want to have simple-pm-bus be usable as a
      replacement for simple-bus also for cases where OF_DEV_AUXDATA is still
      needed.
      
      Let's fix the issue by passing auxdata as platform data to simple-pm-bus.
      That way the SoCs needing this can pass the auxdata with OF_DEV_AUXDATA.
      And let's pass the auxdata for omaps to fix the issue for am335x.
      
      As an alternative solution, adding simple-pm-bus handling directly to
      drivers/of/platform.c was considered, but we would still need simple-pm-bus
      device driver. So passing auxdata as platform data seems like the simplest
      solution.
      
      Fixes: 5a230524
      
       ("ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup")
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      eda080ea
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix booting for am335x after moving to simple-pm-bus · 2a39af38
      Tony Lindgren authored
      
      
      We now depend on SIMPLE_PM_BUS for probing devices. While we have it
      selected in omap2plus_defconfig, custom configs can fail if it's missing.
      
      As SIMPLE_PM_BUS depends on OF and PM, we must now select PM in Kconfig.
      We have already OF selected by ARCH_MULTIPLATFORM.
      
      Let's also drop the earlier PM dependency entries as suggested by
      Geert Uytterhoeven <geert@linux-m68k.org>.
      
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reported-by: default avatarMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
      Fixes: 5a230524
      
       ("ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup")
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      2a39af38
    • Tony Lindgren's avatar
      Merge branch 'cpuidle-fix' into fixes · 715a1284
      Tony Lindgren authored
      715a1284
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled · 06862d78
      Tony Lindgren authored
      We get suspcious RCU usage splats with cpuidle in several places in
      omap_enter_idle_coupled() with the kernel debug options enabled:
      
      RCU used illegally from extended quiescent state!
      ...
      (_raw_spin_lock_irqsave)
      (omap_enter_idle_coupled+0x17c/0x2d8)
      (omap_enter_idle_coupled)
      (cpuidle_enter_state)
      (cpuidle_enter_state_coupled)
      (cpuidle_enter)
      
      Let's use RCU_NONIDLE to suppress these splats. Things got changed around
      with commit 1098582a ("sched,idle,rcu: Push rcu_idle deeper into the
      idle path") that started triggering these warnings.
      
      For the tick_broadcast related calls, ideally we'd just switch over to
      using CPUIDLE_FLAG_TIMER_STOP for omap_enter_idle_coupled() to have the
      generic cpuidle code handle the tick_broadcast related calls for us and
      then just drop the tick_broadcast calls here.
      
      But we're currently missing the call in the common cpuidle code for
      tick_broadcast_enable() that CPU1 hotplug needs as described in earlier
      commit 50d6b3cf
      
       ("ARM: OMAP2+: fix lack of timer interrupts on CPU1
      after hotplug").
      
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Cc: Paul E. McKenney <paulmck@kernel.org>
      Cc: Russell King <rmk+kernel@armlinux.org.uk>
      Acked-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      06862d78
    • Marek Vasut's avatar
      ARM: dts: stm32: Fix GPIO hog flags on DHCOM DRC02 · 83d41122
      Marek Vasut authored
      The GPIO hog flags are ignored by gpiolib-of.c now, set the flags to 0.
      Since GPIO_ACTIVE_HIGH is defined as 0, this change only increases the
      correctness of the DT.
      
      Fixes: fde180f0
      
       ("ARM: dts: stm32: Add DHSOM based DRC02 board")
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Patrick Delaunay <patrick.delaunay@st.com>
      Cc: linux-stm32@st-md-mailman.stormreply.com
      To: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
      83d41122
    • Marek Vasut's avatar
      ARM: dts: stm32: Fix GPIO hog flags on DHCOM PicoITX · 10793e55
      Marek Vasut authored
      The GPIO hog flags are ignored by gpiolib-of.c now, set the flags to 0.
      Due to a change in gpiolib-of.c, setting flags to GPIO_ACTIVE_LOW and
      using output-low DT property leads to the GPIO being set high instead.
      
      Fixes: ac68793f
      
       ("ARM: dts: stm32: Add DHCOM based PicoITX board")
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Patrick Delaunay <patrick.delaunay@st.com>
      Cc: linux-stm32@st-md-mailman.stormreply.com
      To: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
      10793e55
    • Marek Vasut's avatar
      ARM: dts: stm32: Fix GPIO hog names on DHCOM · bcbacfb8
      Marek Vasut authored
      The GPIO hog node name should match regex '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$',
      make it so and fix the following two make dtbs_check warnings:
      
      arch/arm/boot/dts/stm32mp157c-dhcom-picoitx.dt.yaml: hog-usb-port-power: $nodename:0: 'hog-usb-port-power' does not match '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$'
      arch/arm/boot/dts/stm32mp153c-dhcom-drc02.dt.yaml: hog-usb-hub: $nodename:0: 'hog-usb-hub' does not match '^(hog-[0-9]+|.+-hog(-[0-9]+)?)$'
      
      Fixes: ac68793f
      
       ("ARM: dts: stm32: Add DHCOM based PicoITX board")
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Patrick Delaunay <patrick.delaunay@st.com>
      Cc: linux-stm32@st-md-mailman.stormreply.com
      To: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
      bcbacfb8
    • Marek Vasut's avatar
      ARM: dts: stm32: Disable optional TSC2004 on DRC02 board · 08769893
      Marek Vasut authored
      The DRC02 has no use for the on-SoM touchscreen controller, and the
      on-SoM touchscreen controller may not even be populated, which then
      results in error messages in kernel log. Disable the touchscreen
      controller in DT.
      
      Fixes: fde180f0
      
       ("ARM: dts: stm32: Add DHSOM based DRC02 board")
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Patrice Chotard <patrice.chotard@st.com>
      Cc: Patrick Delaunay <patrick.delaunay@st.com>
      Cc: linux-stm32@st-md-mailman.stormreply.com
      To: linux-arm-kernel@lists.infradead.org
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@foss.st.com>
      08769893