1. 22 Apr, 2022 5 commits
  2. 20 Apr, 2022 1 commit
  3. 14 Apr, 2022 4 commits
    • Stephen Boyd's avatar
      interconnect: qcom: sdx55: Drop IP0 interconnects · 2fb251c2
      Stephen Boyd authored
      Similar to the sc7180 commit, let's drop the IP0 interconnects here
      because the IP0 resource is also used in the clk-rpmh driver on sdx55.
      It's bad to have the clk framework and interconnect framework control
      the same RPMh resource without any coordination. The rpmh driver in the
      kernel doesn't aggregate resources between clients either, so leaving
      control to clk-rpmh avoids any issues with unused interconnects turning
      off IP0 behind the back of the clk framework.
      
      Cc: Alex Elder <elder@linaro.org>
      Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Taniya Das <quic_tdas@quicinc.com>
      Cc: Mike Tipton <quic_mdtipton@quicinc.com>
      Fixes: b2150cab ("clk: qcom: rpmh: add support for SDX55 rpmh IPA clock")
      Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      Acked-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/20220412220033.1273607-3-swboyd@chromium.orgSigned-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
      2fb251c2
    • Stephen Boyd's avatar
      interconnect: qcom: sc7180: Drop IP0 interconnects · 2f372493
      Stephen Boyd authored
      The IPA BCM resource ("IP0") on sc7180 was moved to the clk-rpmh driver
      in commit bcd63d22 ("clk: qcom: rpmh: Add IPA clock for SC7180") and
      modeled as a clk, but this interconnect driver still had it modeled as
      an interconnect. This was mostly OK because nobody used the interconnect
      definition, until the interconnect framework started dropping bandwidth
      requests on interconnects that aren't used via the sync_state callback
      in commit 7d3b0b0d ("interconnect: qcom: Use icc_sync_state"). Once
      that patch was applied the IP0 resource was going to be controlled from
      two places, the clk framework and the interconnect framework.
      
      Even then, things were probably going to be OK, because commit
      b95b668e ("interconnect: qcom: icc-rpmh: Add BCMs to commit list in
      pre_aggregate") was needed to actually drop bandwidth requests on unused
      interconnects, of which the IPA was one of the interconnect that wasn't
      getting dropped to zero. Combining the three commits together leads to
      bad behavior where the interconnect framework is disabling the IP0
      resource because it has no users while the clk framework thinks the IP0
      resource is on because the only user, the IPA driver, has turned it on
      via clk_prepare_enable(). Depending on when sync_state is called, we can
      get into a situation like below:
      
        IPA driver probes
        IPA driver gets notified modem started
         runtime PM get()
          IPA clk enabled -> IP0 resource is ON
        sync_state runs
         interconnect zeroes out the IP0 resource -> IP0 resource is off
        IPA driver tries to access a register and blows up
      
      The crash is an unclocked access that manifest as an SError.
      
       SError Interrupt on CPU0, code 0xbe000011 -- SError
       CPU: 0 PID: 3595 Comm: mmdata_mgr Not tainted 5.17.1+ #166
       Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
       pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
       pc : mutex_lock+0x4c/0x80
       lr : mutex_lock+0x30/0x80
       sp : ffffffc00da9b9c0
       x29: ffffffc00da9b9c0 x28: 0000000000000000 x27: 0000000000000000
       x26: ffffffc00da9bc90 x25: ffffff80c2024010 x24: ffffff80c2024000
       x23: ffffff8083100000 x22: ffffff80831000d0 x21: ffffff80831000a8
       x20: ffffff80831000a8 x19: ffffff8083100070 x18: 00000000ffff0a00
       x17: 000000002f7254f1 x16: 0000000000000100 x15: 0000000000000000
       x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
       x11: 000000000001f0b8 x10: ffffffc00931f0b8 x9 : 0000000000000000
       x8 : 0000000000000000 x7 : fefefefefeff2f60 x6 : 0000808080808080
       x5 : 0000000000000000 x4 : 8080808080800000 x3 : ffffff80d2d4ee28
       x2 : ffffff808c1d6e40 x1 : 0000000000000000 x0 : ffffff8083100070
       Kernel panic - not syncing: Asynchronous SError Interrupt
       CPU: 0 PID: 3595 Comm: mmdata_mgr Not tainted 5.17.1+ #166
       Hardware name: Google Lazor (rev1 - 2) with LTE (DT)
       Call trace:
        dump_backtrace+0xf4/0x114
        show_stack+0x24/0x30
        dump_stack_lvl+0x64/0x7c
        dump_stack+0x18/0x38
        panic+0x150/0x38c
        nmi_panic+0x88/0xa0
        arm64_serror_panic+0x74/0x80
        do_serror+0x0/0x80
        do_serror+0x58/0x80
        el1h_64_error_handler+0x34/0x4c
        el1h_64_error+0x78/0x7c
        mutex_lock+0x4c/0x80
        __gsi_channel_start+0x50/0x17c
        gsi_channel_start+0x54/0x90
        ipa_endpoint_enable_one+0x34/0xc0
        ipa_open+0x4c/0x120
      
      Remove all IP0 resource management from the interconnect driver so that
      clk-rpmh is the sole owner. This fixes the issue by preventing the
      interconnect driver from overwriting the IP0 resource data that the
      clk-rpmh driver wrote.
      
      Cc: Alex Elder <elder@linaro.org>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Taniya Das <quic_tdas@quicinc.com>
      Cc: Mike Tipton <quic_mdtipton@quicinc.com>
      Fixes: b95b668e ("interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate")
      Fixes: bcd63d22 ("clk: qcom: rpmh: Add IPA clock for SC7180")
      Fixes: 7d3b0b0d ("interconnect: qcom: Use icc_sync_state")
      Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
      Tested-by: default avatarAlex Elder <elder@linaro.org>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Link: https://lore.kernel.org/r/20220412220033.1273607-2-swboyd@chromium.orgSigned-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
      2f372493
    • Miaoqian Lin's avatar
      phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe · ce88613e
      Miaoqian Lin authored
      The pm_runtime_enable() will increase power disable depth.
      If the probe fails, we should use pm_runtime_disable() to balance
      pm_runtime_enable().
      Add missing pm_runtime_disable() for serdes_am654_probe().
      
      Fixes: 71e2f5c5 ("phy: ti: Add a new SERDES driver for TI's AM654x SoC")
      Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
      Link: https://lore.kernel.org/r/20220301025853.1911-1-linmq006@gmail.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
      ce88613e
    • Miaoqian Lin's avatar
      phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe · d644e0d7
      Miaoqian Lin authored
      The pm_runtime_enable will increase power disable depth.
      If the probe fails, we should use pm_runtime_disable() to balance
      pm_runtime_enable(). And use pm_runtime_dont_use_autosuspend() to
      undo pm_runtime_use_autosuspend()
      In the PM Runtime docs:
          Drivers in ->remove() callback should undo the runtime PM changes done
          in ->probe(). Usually this means calling pm_runtime_disable(),
          pm_runtime_dont_use_autosuspend() etc.
      
      We should do this in error handling.
      
      Fixes: f7f50b2a ("phy: mapphone-mdm6600: Add runtime PM support for n_gsm on USB suspend")
      Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
      Link: https://lore.kernel.org/r/20220301024615.31899-1-linmq006@gmail.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
      d644e0d7
  4. 13 Apr, 2022 3 commits
  5. 11 Apr, 2022 6 commits
  6. 10 Apr, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 8b57b304
      Linus Torvalds authored
      Pull serial driver fix from Greg KH:
       "This is a single serial driver fix for a build issue that showed up
        due to changes that came in through the tty tree in 5.18-rc1 that were
        missed previously. It resolves a build error with the mpc52xx_uart
        driver.
      
        It has been in linux-next this week with no reported problems"
      
      * tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: mpc52xx_uart: make rx/tx hooks return unsigned, part II.
      8b57b304
    • Linus Torvalds's avatar
      Merge tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 95aa17c3
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for 5.18-rc2 that resolves an
        endian issue for the r8188eu driver. It has been in linux-next all
        this week with no reported problems"
      
      * tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: Fix PPPoE tag insertion on little endian systems
      95aa17c3
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc2' of... · 33563138
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here are two small driver core changes for 5.18-rc2.
      
        They are the final bits in the removal of the default_attrs field in
        struct kobj_type. I had to wait until after 5.18-rc1 for all of the
        changes to do this came in through different development trees, and
        then one new user snuck in. So this series has two changes:
      
         - removal of the default_attrs field in the powerpc/pseries/vas code.
      
           The change has been acked by the PPC maintainers to come through
           this tree
      
         - removal of default_attrs from struct kobj_type now that all
           in-kernel users are removed.
      
           This cleans up the kobject code a little bit and removes some
           duplicated functionality that confused people (now there is only
           one way to do default groups)
      
        Both of these have been in linux-next for all of this week with no
        reported problems"
      
      * tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kobject: kobj_type: remove default_attrs
        powerpc/pseries/vas: use default_groups in kobj_type
      33563138
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f58d3410
      Linus Torvalds authored
      Pull char/misc driver fix from Greg KH:
       "A single driver fix. It resolves the build warning issue on 32bit
        systems in the habannalabs driver that came in during the 5.18-rc1
        merge cycle.
      
        It has been in linux-next for all this week with no reported problems"
      
      * tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        habanalabs: Fix test build failures
      f58d3410
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4ea3c642
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix KVM "lost kick" race, where an attempt to pull a vcpu out of the
         guest could be lost (or delayed until the next guest exit).
      
       - Disable SCV (system call vectored) when PR KVM guests could be run.
      
       - Fix KVM PR guests using SCV, by disallowing AIL != 0 for KVM PR
         guests.
      
       - Add a new KVM CAP to indicate if AIL == 3 is supported.
      
       - Fix a regression when hotplugging a CPU to a memoryless/cpuless node.
      
       - Make virt_addr_valid() stricter for 64-bit Book3E & 32-bit, which
         fixes crashes seen due to hardened usercopy.
      
       - Revert a change to max_mapnr which broke HIGHMEM.
      
      Thanks to Christophe Leroy, Fabiano Rosas, Kefeng Wang, Nicholas Piggin,
      and Srikar Dronamraju.
      
      * tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc: Set max_mapnr correctly"
        powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit
        KVM: PPC: Move kvmhv_on_pseries() into kvm_ppc.h
        powerpc/numa: Handle partially initialized numa nodes
        powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S
        KVM: PPC: Use KVM_CAP_PPC_AIL_MODE_3
        KVM: PPC: Book3S PR: Disallow AIL != 0
        KVM: PPC: Book3S PR: Disable SCV when AIL could be disabled
        KVM: PPC: Book3S HV P9: Fix "lost kick" race
      4ea3c642
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1519610b
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of interrupt chip driver fixes:
      
         - A fix for a long standing bug in the ARM GICv3 redistributor
           polling which uses the wrong bit number to test.
      
         - Prevent translation of bogus ACPI table entries which map device
           interrupts into the IPI space on ARM GICs.
      
         - Don't write into the pending register of ARM GICV4 before the scan
           in hardware has completed.
      
         - A set of build and correctness fixes for the Qualcomm MPM driver"
      
      * tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic, gic-v3: Prevent GSI to SGI translations
        irqchip/gic-v3: Fix GICR_CTLR.RWP polling
        irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling
        irqchip/irq-qcom-mpm: fix return value check in qcom_mpm_init()
        irq/qcom-mpm: Fix build error without MAILBOX
      1519610b
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c6913b7
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Fix the MSI message data struct definition
      
       - Use local labels in the exception table macros to avoid symbol
         conflicts with clang LTO builds
      
       - A couple of fixes to objtool checking of the relatively newly added
         SLS and IBT code
      
       - Rename a local var in the WARN* macro machinery to prevent shadowing
      
      * tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/msi: Fix msi message data shadow struct
        x86/extable: Prefer local labels in .set directives
        x86,bpf: Avoid IBT objtool warning
        objtool: Fix SLS validation for kcov tail-call replacement
        objtool: Fix IBT tail-call detection
        x86/bug: Prevent shadowing in __WARN_FLAGS
        x86/mm/tlb: Revert retpoline avoidance approach
      9c6913b7
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b51f86e9
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - A couple of fixes to cgroup-related handling of perf events
      
       - A couple of fixes to event encoding on Sapphire Rapids
      
       - Pass event caps of inherited events so that perf doesn't fail wrongly
         at fork()
      
       - Add support for a new Raptor Lake CPU
      
      * tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Always set cpuctx cgrp when enable cgroup event
        perf/core: Fix perf_cgroup_switch()
        perf/core: Use perf_cgroup_info->active to check if cgroup is active
        perf/core: Don't pass task around when ctx sched in
        perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids
        perf/x86/intel: Don't extend the pseudo-encoding to GP counters
        perf/core: Inherit event_caps
        perf/x86/uncore: Add Raptor Lake uncore support
        perf/x86/msr: Add Raptor Lake CPU support
        perf/x86/cstate: Add Raptor Lake support
        perf/x86: Add Intel Raptor Lake support
      b51f86e9
    • Linus Torvalds's avatar
      Merge tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 50c94de6
      Linus Torvalds authored
      Pull locking fixes from Borislav Petkov:
      
       - Allow the compiler to optimize away unused percpu accesses and change
         the local_lock_* macros back to inline functions
      
       - A couple of fixes to static call insn patching
      
      * tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "mm/page_alloc: mark pagesets as __maybe_unused"
        Revert "locking/local_lock: Make the empty local_lock_*() function a macro."
        x86/percpu: Remove volatile from arch_raw_cpu_ptr().
        static_call: Remove __DEFINE_STATIC_CALL macro
        static_call: Properly initialise DEFINE_STATIC_CALL_RET0()
        static_call: Don't make __static_call_return0 static
        x86,static_call: Fix __static_call_return0 for i386
      50c94de6
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7136849e
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Use the correct static key checking primitive on the IRQ exit path
      
       - Two fixes for the new forceidle balancer
      
      * tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Fix compile error in dynamic_irqentry_exit_cond_resched()
        sched: Teach the forced-newidle balancer about CPU affinity limitation.
        sched/core: Fix forceidle balancing
      7136849e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of... · 1862a69c
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix the clang command line option probing and remove some options to
         filter out, fixing the build with the latest clang versions
      
       - Fix 'perf bench' futex and epoll benchmarks to deal with machines
         with more than 1K CPUs
      
       - Fix 'perf test tsc' error message when not supported
      
       - Remap perf ring buffer if there is no space for event, fixing perf
         usage in 32-bit ChromeOS
      
       - Drop objdump stderr to avoid getting stuck waiting for stdout output
         in 'perf annotate'
      
       - Fix up garbled output by now showing unwind error messages when
         augmenting frame in best effort mode
      
       - Fix perf's libperf_print callback, use the va_args eprintf() variant
      
       - Sync vhost and arm64 cputype headers with the kernel sources
      
       - Fix 'perf report --mem-mode' with ARM SPE
      
       - Add missing external commands ('iiostat', etc) to 'perf --list-cmds'
      
      * tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout output
        perf tools: Add external commands to list-cmds
        perf docs: Add perf-iostat link to manpages
        perf session: Remap buf if there is no space for event
        perf bench: Fix epoll bench to correct usage of affinity for machines with #CPUs > 1K
        perf bench: Fix futex bench to correct usage of affinity for machines with #CPUs > 1K
        perf tools: Fix perf's libperf_print callback
        perf: arm-spe: Fix perf report --mem-mode
        perf unwind: Don't show unwind error messages when augmenting frame pointer stack
        tools headers arm64: Sync arm64's cputype.h with the kernel sources
        perf test tsc: Fix error message when not supported
        perf build: Don't use -ffat-lto-objects in the python feature test when building with clang-13
        perf python: Fix probing for some clang command line options
        tools build: Filter out options and warnings not supported by clang
        tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
        tools include UAPI: Sync linux/vhost.h with the kernel sources
      1862a69c
    • Linus Torvalds's avatar
      Merge tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 94a4c2bb
      Linus Torvalds authored
      Pull cxl and nvdimm fixes from Dan Williams:
      
       - Fix a compile error in the nvdimm unit tests
      
       - Fix a shadowed variable warning in the CXL PCI driver
      
      * tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        cxl/pci: Drop shadowed variable
        tools/testing/nvdimm: Fix security_init() symbol collision
      94a4c2bb
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · fa3b895d
      Linus Torvalds authored
      Pull gpio fix from Bartosz Golaszewski:
      
       - fix a race condition with consumers accessing the fields of GPIO IRQ
         chips before they're fully initialized
      
      * tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: Restrict usage of GPIO chip irq members before initialization
      fa3b895d
  7. 09 Apr, 2022 8 commits