1. 12 Dec, 2020 1 commit
    • Douglas Anderson's avatar
      irqchip/qcom-pdc: Fix phantom irq when changing between rising/falling · 2f5fbc43
      Douglas Anderson authored
      We have a problem if we use gpio-keys and configure wakeups such that
      we only want one edge to wake us up.  AKA:
        wakeup-event-action = <EV_ACT_DEASSERTED>;
        wakeup-source;
      
      Specifically we end up with a phantom interrupt that blocks suspend if
      the line was already high and we want wakeups on rising edges (AKA we
      want the GPIO to go low and then high again before we wake up).  The
      opposite is also problematic.
      
      Specifically, here's what's happening today:
      1. Normally, gpio-keys configures to look for both edges.  Due to the
         current workaround introduced in commit c3c0c2e1 ("pinctrl:
         qcom: Handle broken/missing PDC dual edge IRQs on sc7180"), if the
         line was high we'd configure for falling edges.
      2. At suspend time, we change to look for rising edges.
      3. After qcom_pdc_gic_set_type() runs, we get a phantom interrupt.
      
      We can solve this by just clearing the phantom interrupt.
      
      NOTE: it is possible that this could cause problems for a client with
      very specific needs, but there's not much we can do with this
      hardware.  As an example, let's say the interrupt signal is currently
      high and the client is looking for falling edges.  The client now
      changes to look for rising edges.  The client could possibly expect
      that if the line has a short pulse low (and back high) that it would
      always be detected.  Specifically no matter when the pulse happened,
      it should either have tripped the (old) falling edge trigger or the
      (new) rising edge trigger.  We will simply not trip it.  We could
      narrow down the race a bit by polling our parent before changing
      types, but no matter what we do there will still be a period of time
      where we can't tell the difference between a real transition (or more
      than one transition) and the phantom.
      
      Fixes: f55c73ae ("irqchip/pdc: Add PDC interrupt controller for QCOM SoCs")
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Tested-by: default avatarMaulik Shah <mkshah@codeaurora.org>
      Reviewed-by: default avatarMaulik Shah <mkshah@codeaurora.org>
      Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
      Link: https://lore.kernel.org/r/20201211141514.v4.1.I2702919afc253e2a451bebc3b701b462b2d22344@changeid
      2f5fbc43
  2. 11 Dec, 2020 27 commits
  3. 29 Nov, 2020 5 commits
  4. 28 Nov, 2020 5 commits
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · aae5ab85
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
       "I've collected a handful of fixes over the past few weeks:
      
         - A fix to un-break the build-id argument to the vDSO build, which is
           necessary for the LLVM linker.
      
         - A fix to initialize the jump label subsystem, without which it (and
           all the stuff that uses it) doesn't actually function.
      
         - A fix to include <asm/barrier.h> from <vdso/processor.h>, without
           which some drivers won't compile"
      
      * tag 'riscv-for-linus-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: fix barrier() use in <vdso/processor.h>
        RISC-V: Add missing jump label initialization
        riscv: Explicitly specify the build id style in vDSO Makefile again
      aae5ab85
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.10' of... · 45e885c4
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Remove unused OBJSIZE variable.
      
       - Fix rootless deb-pkg build in a setgid directory.
      
      * tag 'kbuild-fixes-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        builddeb: Fix rootless build in setuid/setgid directory
        kbuild: remove unused OBJSIZE
      45e885c4
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.10-2020-11-28' of... · ca579827
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.10-2020-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tool fixes from Arnaldo Carvalho de Melo:
      
       - Fix die_entrypc() when DW_AT_ranges DWARF attribute not available
      
       - Cope with broken DWARF (missing DW_AT_declaration) generated by some
         recent gcc versions
      
       - Do not generate CGROUP metadata events when not asked to in 'perf
         record'
      
       - Use proper CPU for shadow stats in 'perf stat'
      
       - Update copy of libbpf's hashmap.c, silencing tools/perf build warning
      
       - Fix return value in 'perf diff'
      
      * tag 'perf-tools-fixes-for-v5.10-2020-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf probe: Change function definition check due to broken DWARF
        perf probe: Fix to die_entrypc() returns error correctly
        perf stat: Use proper cpu for shadow stats
        perf record: Synthesize cgroup events only if needed
        perf diff: Fix error return value in __cmd_diff()
        perf tools: Update copy of libbpf's hashmap.c
      ca579827
    • Linus Torvalds's avatar
      Merge tag 'usb-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 67f34fa8
      Linus Torvalds authored
      Pull USB / PHY driver fixes from Greg KH:
       "Here are a few small USB and PHY driver fixes for 5.10-rc6. They
        include:
      
         - small PHY driver fixes to resolve reported issues
      
         - USB quirks added for "broken" devices
      
         - typec fixes for reported problems
      
         - USB gadget fixes for small issues
      
        Full details are in the shortlog, nothing major in here and all have
        been in linux-next with no reported issues"
      
      * tag 'usb-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: stusb160x: fix power-opmode property with typec-power-opmode
        USB: core: Change %pK for __user pointers to %px
        USB: core: Fix regression in Hercules audio card
        usb: gadget: Fix memleak in gadgetfs_fill_super
        usb: gadget: f_midi: Fix memleak in f_midi_alloc
        USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
        usb: typec: qcom-pmic-typec: fix builtin build errors
        phy: mediatek: fix spelling mistake in Kconfig "veriosn" -> "version"
        phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency
        phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency
        phy: intel: PHY_INTEL_KEEMBAY_EMMC should depend on ARCH_KEEMBAY
        usb: cdns3: gadget: calculate TD_SIZE based on TD
        usb: cdns3: gadget: initialize link_trb as NULL
        phy: cpcap-usb: Use IRQF_ONESHOT
        phy: qcom-qmp: Initialize another pointer to NULL
        phy: tegra: xusb: Fix dangling pointer on probe failure
        phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211
      67f34fa8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 7b2c800d
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small misc driver fixes for 5.10-rc6.  They include:
      
         - interconnect fixes for reported problems
      
         - habanalabs bugfix for found issue when doing the switch fallthrough
           patches
      
         - MAINTAINERS file update for coresight reviewers/maintainers
      
        All have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        MAINTAINERS: Adding help for coresight subsystem
        habanalabs/gaudi: fix missing code in ECC handling
        interconnect: fix memory trashing in of_count_icc_providers()
        interconnect: qcom: qcs404: Remove GPU and display RPM IDs
        interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes
        interconnect: qcom: msm8974: Don't boost the NoC rate during boot
        interconnect: qcom: msm8974: Prevent integer overflow in rate
      7b2c800d
  5. 27 Nov, 2020 2 commits
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-fixes-5.10-2' of... · c84e1efa
      Linus Torvalds authored
      Merge tag 'asm-generic-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
      
      Pull asm-generic fix from Arnd Bergmann:
       "Add correct MAX_POSSIBLE_PHYSMEM_BITS setting to asm-generic.
      
        This is a single bugfix for a bug that Stefan Agner found on 32-bit
        Arm, but that exists on several other architectures"
      
      * tag 'asm-generic-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
      c84e1efa
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-v5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 303bc934
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Another set of patches for devicetree files and Arm SoC specific
        drivers:
      
         - A fix for OP-TEE shared memory on non-SMP systems
      
         - multiple code fixes for the OMAP platform, including one regression
           for the CPSW network driver and a few runtime warning fixes
      
         - Some DT patches for the Rockchip RK3399 platform, in particular
           fixing the MMC device ordering that recently became
           nondeterministic with async probe.
      
         - Multiple DT fixes for the Tegra platform, including a regression
           fix for suspend/resume on TX2
      
         - A regression fix for a user-triggered fault in the NXP dpio driver
      
         - A regression fix for a bug caused by an earlier bug fix in the
           xilinx firmware driver
      
         - Two more DTC warning fixes
      
         - Sylvain Lemieux steps down as maintainer for the NXP LPC32xx
           platform"
      
      * tag 'arm-soc-fixes-v5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
        arm64: tegra: Fix Tegra234 VDK node names
        arm64: tegra: Wrong AON HSP reg property size
        arm64: tegra: Fix USB_VBUS_EN0 regulator on Jetson TX1
        arm64: tegra: Correct the UART for Jetson Xavier NX
        arm64: tegra: Disable the ACONNECT for Jetson TX2
        optee: add writeback to valid memory type
        firmware: xilinx: Use hash-table for api feature check
        firmware: xilinx: Fix SD DLL node reset issue
        soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
        ARM: dts: dra76x: m_can: fix order of clocks
        bus: ti-sysc: suppress err msg for timers used as clockevent/source
        MAINTAINERS: Remove myself as LPC32xx maintainers
        arm64: dts: qcom: clear the warnings caused by empty dma-ranges
        arm64: dts: broadcom: clear the warnings caused by empty dma-ranges
        ARM: dts: am437x-l4: fix compatible for cpsw switch dt node
        arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc-pc.
        arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
        arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go Advance
        arm64: dts: rockchip: fix NanoPi R2S GMAC clock name
        ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled()
        ...
      303bc934