Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • sent/20230929-caleb-rmi4-quirks-062a057e98bb-v2
    Input: synaptics-rmi4: add quirks for third party touchscreen controllers
    
    With the growing popularity of running upstream Linux on mobile devices,
    we're beginning to run into more and more edgecases. The OnePlus 6 is a
    fairly well supported 2018 era smartphone, selling over a million units
    in it's first 22 days. With this level of popularity, it's almost
    inevitable that we get third party replacement displays, and as a
    result, replacement touchscreen controllers.
    
    The OnePlus 6 shipped with an extremely usecase specific touchscreen
    driver, it implemented only the bare minimum parts of the highly generic
    rmi4 protocol, instead hardcoding most of the register addresses.
    
    As a result, the third party touchscreen controllers that are often
    found in replacement screens, implement only the registers that the
    downstream driver reads from. They additionally have other restrictions
    such as heavy penalties on unaligned reads.
    
    This series attempts to implement the necessary workaround to support
    some of these chips with the rmi4 driver. Although it's worth noting
    that at the time of writing there are other unofficial controllers in
    the wild that don't work even with these patches.
    
    We have been shipping these patches in postmarketOS for the last several
    months, and they are known to not cause any regressions on the OnePlus
    6/6T (with the official Synaptics controller), however I don't own any
    other rmi4 hardware to further validate this.
    
    These patches were contributed by a community developer who has given
    permission for me to submit them on their behalf.
    
    ---
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Vincent Huang <vincent.huang@tw.synaptics.com>
    Cc: methanal <baclofen@tuta.io>
    Cc: linux-input@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: phone-devel@vger.kernel.org
    Cc: ~postmarketos/upstreaming@lists.sr.ht
    
    ---
    Changes since v1:
    - Improve dt-bindings patch (thanks Rob)
    - Add missing cast in patch 5 to fix the pointer arithmetic
    - Link to v1: https://lore.kernel.org/r/20230929-caleb-rmi4-quirks-v1-0-cc3c703f022d@linaro.org
    
    ---
    Caleb Connolly (2):
          dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc
          Input: synaptics-rmi4 - handle duplicate/unknown PDT entries
    
    methanal (5):
          Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs
          Input: synaptics-rmi4 - f55: handle zero electrode count
          Input: synaptics-rmi4 - don't do unaligned reads in IRQ context
          Input: synaptics-rmi4 - read product ID on aftermarket touch ICs
          Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes
    
     .../devicetree/bindings/input/syna,rmi4.yaml       |  15 +++
     drivers/input/rmi4/rmi_driver.c                    | 134 ++++++++++++++++++---
     drivers/input/rmi4/rmi_driver.h                    |   8 ++
     drivers/input/rmi4/rmi_f01.c                       |  14 +++
     drivers/input/rmi4/rmi_f12.c                       | 117 ++++++++++++++----
     drivers/input/rmi4/rmi_f55.c                       |   5 +
     include/linux/rmi.h                                |   3 +
     7 files changed, 252 insertions(+), 44 deletions(-)
    ---
    base-commit: b0d95ff7653ef6ace66a24d6c09147d0731825ce
    
    // Caleb (they/them)
  • qcom-dts-for-6.7
    Qualcomm ARM DeviceTree updates for v6.7
    
    RPM master stats is introduced for MSM8226 and MSM8974. The PCIe PHY of
    SDX55 is transitioned to the new binding. The hall sensor on the Samsung
    Galaxy Tab 4 is inverted.
    
    A number of fixes reported from DeviceTree validation are fixed.
    
  • qcom-drivers-for-6.7
    Qualcomm driver updates for v6.7
    
    This introduces partial support for the Qualcomm Secure Execution
    Environment SCM interface, and uses this to implement EFI variable
    access on the Windows On Snapdragon devices (for now).
    
    The 32/64-bit calling convention detector of the SCM interface is
    updated to not choose 64-bit convention when Linux is 32-bit. The
    "extern" specifier is dropped from the interface include file.
    
    The LLCC driver gains support for carrying configuration for multiple
    different system/DDR configurations for a given platform, and selecting
    between them. Support for Q[DR]U1000 is added to the driver.
    
    All exported symbols are transitioned to EXPORT_SYMBOL_GPL().
    
    The platform_drivers in the Qualcomm SoC are transitioned to the
    void-returning remove_new implementation.
    
    The rmtfs memory driver gains support for leaving guard pages around the
    used area, to avoid issues if the allocation happens to be placed
    adjacent to another protected memory region.
    
    The socinfo driver gains knowledge about IPQ8174, QCM6490, SM7150P and
    various PMICs used together with SM8550.
    
  • v6.6-rc6
    58720809 · Linux 6.6-rc6 ·
    Linux 6.6-rc6
    
  • qcom-arm64-defconfig-for-6.7
    Qualcomm ARM64 defconfig updates for v6.7
    
    This enables the NB7VPQ904M SuperSpeed redriver driver, used in SM8550,
    the LPASS pinctrl driver for SM6115 and SM8350 and the M31 USB phy
    driver found in IPQ5332.
    
  • qcom-arm64-for-6.7
    Qualcomm ARM64 DeviceTree updates for v6.7
    
    The SM7125 platform is introduced, with support for Xiaomi Redmi Note 9
    Pro. Support for Fairphone 5, on QCM6490, and BQ Aquaris M5, on MSM8939,
    are introduced.
    
    With the various QMP PHY bindings having been refactored, SC7180,
    SC7280, SDM845, SM8150, and SM8250 are transitioned to the new USB/DP
    combo PHY binding. IPQ6018, IPQ8074 MSM8998, SC7280, SC8180X, SDM845,
    SM8150, SM8250, and SM8450 are transitioned to the new PCIe PHY binding,
    and SC8180X is transitioned to the new UFS phy binding.
    
    The UFS power supply situation is clarified, and a range of boards
    across MSM8996, MSM8998, SM4250, SM6115, SM6125, SM8350, SM8450, and
    SM8550 receives corrections for this.
    
    On IPQ5018 watchdog support is introduced, and the SCM driver has SDI
    (debug image) enabled - so that it can be disabled. On IPQ5332 USB is
    enabled. The hwspinlock identifier is corrected across IPQ5332, IPQ6018,
    IPQ8074 and IPQ9574.
    
    The reserved-memory ranges for the remoteprocs on MSM8916 boards are
    refactored, to reduce the amount of duplicated boilerplate definitions.
    A number of nodes are transitioned to be disabled by default, to
    facilitate new boards.
    Samsung Galaxy Tab A 8.0 and Samsung Galaxy Tab A 9.7 gains display
    support, and the latter capacitive keys. Samsung Galaxy J5 gains
    accelerometer support. The Dragonboard 410c gains missing ADC7533
    regulator definition, and an overlay forcing the board to operate in
    host mode, for automation purposes.
    
    On MSM8976, the outgoing IPC bits for modem and wcss are corrected, and
    reserved-memory regions are updated.
    
    Incorrect reserved-memory regions are also corrected for MSM8992 and
    MSM8994 devices.
    
    The QRB2210 RB1 board gets debug UART moved per hardware update.
    regulator voltage ranges are corrected, remoteprocs are enabled, USB
    SuperSpeed PHY is enabled, and GPIO LEDs are introduced for Bluetooth,
    WiFi and a user LED.
    
    Interrupts are described for the SGMII PHYs on SA8775P Ride platform,
    and the inline crypto engine is introduced for UFS.
    
    On SC7180 the audio DSP remoteproc is introduced. Additional SKUs of the
    Lazor boards are added.The RT5682 audio codec part is reorganized to be
    easier to maintain. On Trogdor devices, the touchscreen and display
    panels are linked to improve the power cycling behavior across the two.
    
    On SC7280 the cpuidle states are rewritten to support OS-initiated PCSI
    mode. LMH interrupts are added, to receive feedback when throttling
    occurs. The embedded usb debugger (EUD) description  and the dummy
    usb-c-connector node is removed, as this is not correctly described. The
    USB3 pipe clock input of the global clock controller is properly
    described.
    
    Modem remoteproc is introduced on SDM630, and the SDM670 PDC mapping is
    corrected.
    
    On the SDM845 MTP PCIe support is introduced. The volumn down and reset
    buttons are defined. Remoteproc firmware names and the WiFI
    configuration is corrected.
    On Sony Xperia XZ2, XZ2 Compact, and XZ3 GPIO lines names are provided
    for TLMM and PMICs. The camera regulators are also added.
    
    Display hardware blocks are added to SM6125, and enabled on Sony Xperia
    10 II.
    
    The ref clock is wired up to PCIe PHY on SM8150.
    
    On SM8250/QRB5165, and the RB5 board, the DisplayPort controller and the
    TCPM is introduced, with all the plumbing to get USB role and
    orientation switching, as well as DisplayPort altmode to work.
    Interconnects and power-domains are also described for the QUPs on this
    platform.
    
    Previously ignored PMICs are described for the SM8350 Hardware
    Development Kit (HDK), and PMR735a regulators are introduced. The
    pinctrl state for uart18 is corrected.
    
    On SM8450 HDK audio routes are corrected, to enable the analog
    microphones on the board. The addition of the PRNG is reverted, in favor
    of an upcoming additon of a true RNG.
    
    Constants are replaced with QCOM_SCM_VMID_* defines on a variety of
    boards.
    
    The SM8550 QRD board gets Bluetooth support, and the camera clock
    controller is described.
    
    Additionally, a number of fixes are introduced in a variety of platforms
    and boards, to align with Devicetree bindings.
    
  • qcom-arm64-fixes-for-6.6
    Qualcomm ARM64 DeviceTree fixes for v6.6
    
    This fixes an error with an incorrect gpio-ranges preventing the PMIC
    GPIO instances from being registered on SA877P, and fixes a regression
    from a refactoring of the top-level clocks node that caused divclocks to
    no longer probe on a few of the MSM8996 devices.
    
  • sent/20231010-caleb-rb2-host-mode-4af5df88e72a-v1
    put rb2 in host mode
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Conor Dooley <conor+dt@kernel.org>
    Cc: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    
    ---
    Caleb Connolly (1):
          arm64: dts: qcom: qrb4210-rb2: don't force usb peripheral mode
    
     arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 1 -
     1 file changed, 1 deletion(-)
    ---
    base-commit: 6465e260f48790807eef06b583b38ca9789b6072
    
    // Caleb (they/them)
  • sent/20231009-caleb-notch-example-f033f5ee56e7-v1
    Add bindings for describing panel notches, cutouts, and corners
    
    Some folks have previously suggested that this information belongs in
    userspace and not in devicetree. I would like to be clear that
    devicetree is for describing hardware, and parts of a display which can
    never actually be seen are very much properties of the underlying
    hardware.
    
    To: Neil Armstrong <neil.armstrong@linaro.org>
    To: Sam Ravnborg <sam@ravnborg.org>
    To: David Airlie <airlied@gmail.com>
    To: Daniel Vetter <daniel@ffwll.ch>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Thierry Reding <thierry.reding@gmail.com>
    To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    To: Caleb Connolly <caleb.connolly@linaro.org>
    Cc: Robert Mader <robert.mader@posteo.de>
    Cc: "Guido Gunther <agx@sigxcpu.org>"
    Cc: dri-devel@lists.freedesktop.org
    Cc: Hector Martin <marcan@marcan.st>
    Cc: devicetree@vger.kernel.org
    Cc: phone-devel@vger.kernel.org
    Cc: asahi@lists.linux.dev
    Cc: ~postmarketos/upstreaming@lists.sr.ht
    
    ---
    Caleb Connolly (1):
          dt-bindings: display: document display panel occlusions
    
     .../bindings/display/panel/panel-common.yaml       |   7 +
     .../bindings/display/panel/panel-occlusions.yaml   | 182 +++++++++++++++++++++
     2 files changed, 189 insertions(+)
    ---
    base-commit: 268c4b354d66908697299063c44c0b553b01d935
    
    // Caleb (they/them)
  • v6.6-rc5
    94f6f055 · Linux 6.6-rc5 ·
    Linux 6.6-rc5
    
  • v6.6-rc4
    8a749fd1 · Linux 6.6-rc4 ·
    Linux 6.6-rc4
    
  • sent/20231001-b4-sdm845-flash-dts-3c099478b60b-v1
    dts: qcom: enable flash LED on OnePlus 6 and PocoPhone F1
    
    Like the SHIFT6mq, these devices both feature a dual-tone flash, enable
    them.
    
    Both patches have been shipping in postmarketOS for a few months now with no
    known issues.
    
    To: Andy Gross <agross@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Conor Dooley <conor+dt@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: ~postmarketos/upstreaming@lists.sr.ht
    Cc: phone-devel@vger.kernel.org
    
    ---
    Caleb Connolly (1):
          arm64: dts: qcom: sdm845-oneplus: enable flash LED
    
    Joel Selvaraj (1):
          arm64: dts: qcom: sdm845-xiaomi-beryllium: enable flash led
    
     .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 23 ++++++++++++++++++++++
     .../dts/qcom/sdm845-xiaomi-beryllium-common.dtsi   | 22 +++++++++++++++++++++
     2 files changed, 45 insertions(+)
    ---
    base-commit: 4b9e79bf480770216d598ed9383c675d50b0ae92
    
    // Caleb (they/them)
  • sent/20230929-caleb-rmi4-quirks-062a057e98bb-v1
    Input: synaptics-rmi4: add quirks for third party touchscreen controllers
    
    With the growing popularity of running upstream Linux on mobile devices,
    we're beginning to run into more and more edgecases. The OnePlus 6 is a
    fairly well supported 2018 era smartphone, selling over a million units
    in it's first 22 days. With this level of popularity, it's almost
    inevitable that we get third party replacement displays, and as a
    result, replacement touchscreen controllers.
    
    The OnePlus 6 shipped with an extremely usecase specific touchscreen
    driver, it implemented only the bare minimum parts of the highly generic
    rmi4 protocol, instead hardcoding most of the register addresses.
    
    As a result, the third party touchscreen controllers that are often
    found in replacement screens, implement only the registers that the
    downstream driver reads from. They additionally have other restrictions
    such as heavy penalties on unaligned reads.
    
    This series attempts to implement the necessary workaround to support
    some of these chips with the rmi4 driver. Although it's worth noting
    that at the time of writing there are other unofficial controllers in
    the wild that don't work even with these patches.
    
    We have been shipping these patches in postmarketOS for the last several
    months, and they are known to not cause any regressions on the OnePlus
    6/6T (with the official Synaptics controller), however I don't own any
    other rmi4 hardware to further validate this.
    
    These patches were contributed by a community developer who has given
    permission for me to submit them on their behalf.
    
    ---
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Vincent Huang <vincent.huang@tw.synaptics.com>
    Cc: methanal <baclofen@tuta.io>
    Cc: linux-input@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: phone-devel@vger.kernel.org
    Cc: ~postmarketos/upstreaming@lists.sr.ht
    
    ---
    Caleb Connolly (2):
          dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc
          Input: synaptics-rmi4 - handle duplicate/unknown PDT entries
    
    methanal (5):
          Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs
          Input: synaptics-rmi4 - f55: handle zero electrode count
          Input: synaptics-rmi4 - don't do unaligned reads in IRQ context
          Input: synaptics-rmi4 - read product ID on aftermarket touch ICs
          Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes
    
     .../devicetree/bindings/input/syna,rmi4.yaml       |  10 ++
     drivers/input/rmi4/rmi_driver.c                    | 134 ++++++++++++++++++---
     drivers/input/rmi4/rmi_driver.h                    |   8 ++
     drivers/input/rmi4/rmi_f01.c                       |  14 +++
     drivers/input/rmi4/rmi_f12.c                       | 117 ++++++++++++++----
     drivers/input/rmi4/rmi_f55.c                       |   5 +
     include/linux/rmi.h                                |   3 +
     7 files changed, 247 insertions(+), 44 deletions(-)
    ---
    base-commit: b0d95ff7653ef6ace66a24d6c09147d0731825ce
    
    // Caleb (they/them)
  • sent/20230905-caleb-qmi_cooling-56167ac97b12-v1
    thermal: Introduce Qualcomm Thermal Mitigation Device support
    
    The Thermal Mitigation Device (TMD) Service is a QMI service that runs
    on remote subsystems (the modem and DSPs) on Qualcomm SoCs.
    It exposes various mitigations including passive thermal controls and
    rail voltage restrictions.
    
    This series introduces support for exposing TMDs as cooling devices
    in the kernel through the thermal framework, using the QMI interface.
    
    Each TMD client is described as a child of the remoteproc node in
    devicetree. With subnodes for each control.
    
    This series is based on previous work by Bhupesh Sharma which can be
    found at [1]. I'm sending this as a fresh series as it has been a
    year since the original version and I have rewritten most of the driver.
    
    [1]: https://lore.kernel.org/linux-arm-msm/20220912085049.3517140-1-bhupesh.sharma@linaro.org/
    
    To: Andy Gross <agross@kernel.org>
    To: Bhupesh Sharma <bhupesh.linux@gmail.com>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konrad.dybcio@linaro.org>
    To: Mathieu Poirier <mathieu.poirier@linaro.org>
    To: Rob Herring <robh+dt@kernel.org>
    To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: "Rafael J. Wysocki" <rafael@kernel.org>
    To: Daniel Lezcano <daniel.lezcano@linaro.org>
    To: Amit Kucheria <amitk@kernel.org>
    To: Zhang Rui <rui.zhang@intel.com>
    To: Sibi Sankar <quic_sibis@quicinc.com>
    To: Manivannan Sadhasivam <mani@kernel.org>
    To: Thara Gopinath <thara.gopinath@gmail.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-remoteproc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-pm@vger.kernel.org
    
    ---
    Caleb Connolly (4):
          remoteproc: qcom: probe all child devices
          dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings
          thermal: qcom: add qmi-cooling driver
          MAINTAINERS: Add entry for Qualcomm Cooling Driver
    
     .../bindings/remoteproc/qcom,msm8996-mss-pil.yaml  |  13 +
     .../bindings/remoteproc/qcom,pas-common.yaml       |   6 +
     .../bindings/thermal/qcom,qmi-cooling.yaml         | 168 +++++++
     MAINTAINERS                                        |   8 +
     drivers/remoteproc/qcom_q6v5.c                     |   4 +
     drivers/remoteproc/qcom_q6v5_mss.c                 |   8 -
     drivers/thermal/qcom/Kconfig                       |  13 +
     drivers/thermal/qcom/Makefile                      |   1 +
     drivers/thermal/qcom/qmi-cooling.c                 | 520 +++++++++++++++++++++
     drivers/thermal/qcom/qmi-cooling.h                 | 428 +++++++++++++++++
     10 files changed, 1161 insertions(+), 8 deletions(-)
    ---
    base-commit: 9067f80db58bbce81d5f0703aa2fd261e88bc812
    
    // Caleb (they/them)
  • v6.6-rc3
    6465e260 · Linux 6.6-rc3 ·
    Linux 6.6-rc3
    
  • sdm845-6.5.5
    33a2fc57 · UNTESTED: axolotl sdcard ·
    Merge in 6.5.5
  • sdm845-6.5.4
    e428f188 · UNTESTED: axolotl sdcard ·
    Merge in 6.5.4
  • v6.6-rc2
    ce9ecca0 · Linux 6.6-rc2 ·
    Linux 6.6-rc2
    
  • v6.6-rc1
    0bb80ecc · Linux 6.6-rc1 ·
    Linux 6.6-rc1
    
  • sdm845-6.4.13
    72f5aef0 · Merge 6.4.13 ·
    Merge in 6.4.13