1. 23 11月, 2022 6 次提交
  2. 09 8月, 2022 1 次提交
    • J
      coresight: etm4x: Workaround CPU hung bug on HiSilicon ETM · 425154ed
      Junhao He 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I5EZY2
      
      ------------------------------------------------------------------
      
      In FIFO mode, when the state of sink buffer is full, the sink device will
      continuously backpressures the ETM, so that the ETM cannot switch to the
      idle state. In this case, the WFx instruction cannot be executed because
      the CPU detects that the ETM is not in the idle state which that will
      cause CPU hung.
      We workaround this issue on HiSilicon ETM by setting bit 13 of TRCAUXCTLR
      which is used to indicate that the ETM is in the idle state.
      
      The call trace is shown below:
       rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
       rcu: 	10-...0: (1 ticks this GP) idle=5b6/1/0x4000000000000000 softirq=12309/12318 fqs=114196
       	(detected by 67, t=330041 jiffies, g=309253, q=453663)
       Task dump for CPU 10:
       task:ksoftirqd/10    state:R  running task     stack:    0 pid:   64 ppid:     2 flags:0x0000000a
       Call trace:
        __switch_to+0xbc/0xfc
       irqtime_account_irq+0x58/0xc4
       __do_softirq+0x6c/0x358
       run_ksoftirqd+0x68/0x90
       smpboot_thread_fn+0x15c/0x1a0
       kthread+0x108/0x13c
       ret_from_fork+0x10/0x18
      watchdog: BUG: soft lockup - CPU#35 stuck for 22s! [bash:133345]
      ...
      Call trace:
       smp_call_function_single+0x178/0x190
       etm4_disable_sysfs+0x74/0xfc [coresight_etm4x]
       etm4_disable+0x6c/0x70 [coresight_etm4x]
       coresight_disable_source+0x7c/0xa0 [coresight]
       coresight_disable+0x6c/0x13c [coresight]
       enable_source_store+0x88/0xa0 [coresight]
       dev_attr_store+0x20/0x34
       sysfs_kf_write+0x4c/0x5c
       kernfs_fop_write_iter+0x130/0x1c0
       new_sync_write+0xec/0x18c
       vfs_write+0x214/0x2ac
       ksys_write+0x70/0xfc
       __arm64_sys_write+0x24/0x30
       el0_svc_common.constprop.0+0x7c/0x1bc
       do_el0_svc+0x2c/0x94
       el0_svc+0x20/0x30
       el0_sync_handler+0xb0/0xb4
       el0_sync+0x160/0x180
      Signed-off-by: NQi Liu <liuqi115@huawei.com>
      Signed-off-by: NJunhao He <hejunhao3@huawei.com>
      Reviewed-by: NJay Fang <f.fangjian@huawei.com>
      Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      425154ed
  3. 06 7月, 2022 1 次提交
  4. 23 2月, 2022 1 次提交
  5. 09 4月, 2021 2 次提交
  6. 12 1月, 2021 1 次提交
    • A
      coresight: remove broken __exit annotations · 8ffe693a
      Arnd Bergmann 提交于
      stable inclusion
      from stable-5.10.4
      commit 939b32e18e8b6fd2435f1d02709ec872d795124f
      bugzilla: 46903
      
      --------------------------------
      
      [ Upstream commit 45fe7bef ]
      
      Functions that are annotated __exit are discarded for built-in drivers,
      but the .remove callback in a device driver must still be kept around
      to allow bind/unbind operations.
      
      There is now a linker warning for the discarded symbol references:
      
      `tmc_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-tmc-core.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-tmc-core.o
      `tpiu_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-tpiu.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-tpiu.o
      `etb_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-etb10.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-etb10.o
      `static_funnel_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-funnel.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-funnel.o
      `dynamic_funnel_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-funnel.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-funnel.o
      `static_replicator_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-replicator.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-replicator.o
      `dynamic_replicator_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-replicator.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-replicator.o
      `catu_remove' referenced in section `.data' of drivers/hwtracing/coresight/coresight-catu.o: defined in discarded section `.exit.text' of drivers/hwtracing/coresight/coresight-catu.o
      
      Remove all those annotations.
      
      Fixes: 8b0cf826 ("coresight: stm: Allow to build coresight-stm as a module")
      Reviewed-by: NStephen Boyd <swboyd@chromium.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Link: https://lore.kernel.org/r/20201208182651.1597945-3-mathieu.poirier@linaro.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      Signed-off-by: NChen Jun <chenjun102@huawei.com>
      Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
      8ffe693a
  7. 07 1月, 2021 5 次提交
  8. 29 9月, 2020 2 次提交
  9. 18 9月, 2020 5 次提交
  10. 24 8月, 2020 1 次提交
  11. 21 7月, 2020 3 次提交
  12. 02 7月, 2020 1 次提交
    • M
      coresight: etmv4: Fix CPU power management setup in probe() function · 9b6a3f36
      Mike Leach 提交于
      The current probe() function calls a pair of cpuhp_xxx API functions to
      setup CPU hotplug handling. The hotplug lock is held for the duration of
      the two calls and other CPU related code using cpus_read_lock() /
      cpus_read_unlock() calls.
      
      The problem is that on error states, goto: statements bypass the
      cpus_read_unlock() call. This code has increased in complexity as the
      driver has developed.
      
      This patch introduces a pair of helper functions etm4_pm_setup_cpuslocked()
      and etm4_pm_clear() which correct the issues above and group the PM code a
      little better.
      
      The two functions etm4_cpu_pm_register() and etm4_cpu_pm_unregister() are
      dropped as these call cpu_pm_register_notifier() / ..unregister_notifier()
      dependent on CONFIG_CPU_PM - but this define is used to nop these functions
      out in the pm headers - so the wrapper functions are superfluous.
      
      Fixes: f188b5e7 ("coresight: etm4x: Save/restore state across CPU low power states")
      Fixes: e9f5d63f ("hwtracing/coresight-etm4x: Use cpuhp_setup_state_nocalls_cpuslocked()")
      Fixes: 58eb457b ("hwtracing/coresight-etm4x: Convert to hotplug state machine")
      Signed-off-by: NMike Leach <mike.leach@linaro.org>
      Cc: stable <stable@vger.kernel.org>
      Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Link: https://lore.kernel.org/r/20200701160852.2782823-3-mathieu.poirier@linaro.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9b6a3f36
  13. 19 5月, 2020 6 次提交
  14. 14 1月, 2020 1 次提交
  15. 05 11月, 2019 4 次提交