Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 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
  • sdm845-6.4.12-r2
    Caleb Connolly (1):
          Ci: target upstream pmaports
  • sdm845-6.4.12-r1
    1754694a · fix ci ·
    Caleb Connolly (1):
          fix ci
  • sdm845-6.4.12
    47b563f1 · Merge 6.4.12 ·
    Merge in 6.4.12
  • v6.5
    2dde18cd · Linux 6.5 ·
    Linux 6.5
    
  • qcom-clk-for-6.6
    Qualcomm clock updates for v6.6
    
    Support for the Global Clock Controller in IPQ5018 is added.
    
    The SMD RPM driver is cleaned up, with interconnect bus clocks moved out
    to the interconnect drivers. Due to being tangled with the related
    interconnect updates, the topic branch with interconnect patches was
    merged in as well.
    Various bugs in PM runtime integration is fixes across many platforms.
    
    The MSM8996 core bus framework gains support for MSM8996 Pro.
    
    MDM9615 is transitioned to parent_hw and parent_data, with related
    cleanups. With this the cxo proxy clock is dropped from the driver.  And
    LCC support for MDM9615 is merged into the MSM8960 driver, to avoid
    duplication.
    
    Network-related resets are added on IPQ4019
    
    A couple of missing USB-related clocks are added for IPQ9574.
    
    The missing gpll0_sleep_clk_src is added to MSM8917 global clock
    controller.
    
    A few minor fixes for MSM8998 global clock controller.
    
    In the QDU1000 global clock controller GDSCs, clkrefs, and GPLL1 are
    added, while PCIe pipe clock, SDCC rcg ops are corrected.
    
    Missing GDSCs are added to SC8280XP global clock controller driver,
    flags for existing GDSCs are corrected, by enabling retention and
    dropping the always-on flags. Retention is also enabled for the display
    clock controller GDSCs.
    
    SDCC apps_clk_src is marked CLK_OPS_PARENT_ENABLE to fix issues with
    missing parent clocks across sc7180, sm7150, sm6350 and sm8250, while
    sm8450 is corrected to use floor ops.
    
    SM6350 GPU clock controller clock supplies are corrected.
    
    Unwanted clocks from the IPQ5332 GCC are dropped.
    
    The missing OXILICX GDSC is added to MSM8226 GCC.
    
    The delay in the reset controller is transitioned to fsleep() to invoke
    the appropriate sleep method depending on duration.
    
    The SM83550 Video clock controller is extended to support SC8280XP.
    
  • v6.5-rc7
    706a7415 · Linux 6.5-rc7 ·
    Linux 6.5-rc7
    
  • qcom-arm64-for-6.6
    Qualcomm ARM64 DeviceTree updates for v6.6
    
    Initial support for the SM4450 platform and the QRD device thereon is
    added.
    
    The IPQ5018 platform is introduced, and the RDP432-C2 board thereon.
    
    A shared definition of the IPQ5332 RDP is introduced, as is GPIO-based
    LEDs and buttons.
    
    On the IPQ9574 RDP433 USB, CPU cooling maps and regulators are added.
    
    On MSM8916, the D3 camera mezzanine is improved and refactored out to
    its own dts. The Samsung Galaxy S4 Mini gains support for its PMIC with
    charger, while Samsung Galaxy J5 and E5 gains touchscreen support.
    
    A few fixes for MSM8939 are introduced, and initial support for Samsung
    Galaxy A7 is add.
    
    Support for scaling the cache bus fabric is introduced on MSM8996. A
    missing interrupt for the USB2 controller is added. The touchscreen vio
    supply on Xiaomi Mi 5 is corrected, and a few other cleanups are
    introduces across other devices.
    
    The display controller is introduced for MSM8998, a few clock fixes are
    introduced and missing power domains are added for the multimedia
    subsystem iommu.
    
    Reserved memory-regions and reserved GPIO lists are updated for the
    QDU/QRU1000 IDPs.
    
    USB3 PHY is added to the QCM2290, the RB1 gains regulators and GPU is
    enabled for the RB2.
    
    PCIe and Ethernet support is introduced on SA8775P, and enabled for the
    Ride board.
    
    On SC7180 the PSCI integration is refactored, to allow supporting
    devices with the Qualcomm firmware. BWMON is introduced, alongside the
    CPUfreq-based bus voting.
    
    A number of fixes are added for SC8180X, on the Primus and Lenovo Flex
    5G devices pmic_glink is introduced and wired up, to provide support for
    external display.
    
    Missing SCM interconnect is added to SC8280XP, and the PDC is marked as
    wakeup-parent of TLMM. On the CRD the gpio for vreg_misc_3p3 is
    corrected and a few regulators are renamed to align with schematics. The
    Lenovo Thinkpad X13s gains camera activity LED and a set of previously
    reserved GPIOs are released. The SA8540P Ride platform gains RTC
    support.
    
    For SDM670 CPU and L3 frequency scaling is added, the PDC is introduced
    and wired up as wakeup-parent of the TLMM.
    
    On SDM845 the UFS controller gains interconnect path description,
    power-domain information is added to GCC and minimum frequency of the
    UFS ICE is corrected. On RB3 continuous splash memory region is
    described, and the camera subsystem is enabled. On the Lenovo Yoga C630
    a missing power supply for the display panel is added, and the debug
    UART is introduced.
    
    SDX75 RPMh power-domains and SPMI controller are introduces, the PMX75
    PMIC is described and added to the IDP.
    
    GPU description is added to SM6115, and together with display enabled on
    the Lenovo Tab P11.
    
    On SM635 BWMON is introduced for LLCC and DDR scaling. Display and GPU
    is added, and the PDC is registered as wakeup-parent of TLMM.
    
    L3 cache scaling is introduced on SM6375.
    
    The DSI PHY compatible and an interrupt for I2C7 are corrected for
    SM8150, on the Sony Xperia 1 and 5 the ramoops pmsg size is corrected.
    
    On SM8250 BWMONs are introduced for DDR and LLCC scaling, the UFS node
    gains interconnect paths, SMMU is marked as DMA coherent and dynamic
    power coefficients are updated. On Sony Xperia 1 II and 5 II GPIO line
    names are updated.
    
    On SM8350 missing cluster sleep states and LMH interrupts are added,
    the CPU compatibles are corrected and APR and LPASS pinctrl support is
    introduced. The HDK gains uSD card support and PMK8350 is added.
    
    For SM8450 support for RNG and RPMh stats are added, the ICE handling is
    extracted from the UFS node and the display subsystem gains a missing
    interconnect path. Thermal description is improved for the HDK.
    
    On SM8550 MTP and QRD the pmic_glink is introduced, to provide
    DisplayPort output. A missing regulator supply is also added.
    
    A few platforms that happens to share the RPMH power-domain resource
    identifier constants are migrated to new generic defines. ADC channel
    names are generalized on various PMICs.
    
    A variety of devices gain chassis-type, and the GIC_SPI constant is
    replacing the 0 across a few different platforms.
    
  • qcom-dts-for-6.6
    Qualcomm ARM32 DeviceTree updates for v6.6
    
    GCC and LCC clock controller parent clocks are introduced on MDM9615.
    
    The newly introduced RPM representation is introduced across multiple
    platforms.
    
    Voltage ADC channel names are corrected across multiple platforms.
    
    APQ8064 gains a definition for GSBI4.
    
    The XO clock for SDHCI is corrected, as is the USB node name, on
    IPQ4019. USB node name is also corrected for SDX55.
    
    The correct PMIC is included on SDX65 MTP.
    
    The incorrect spi-max-frequency property is removed from controllers on
    IPQ8064 and MSM8960.
    
    OCMEM and the display subsystem are added to MSM8226.
    
    Reset line is added to the PM8941 and the APQ8074 Dragonboard, while a
    few properties of the Sony Xperia Z2 Tablet touchscreen are corrected.
    
  • qcom-arm64-defconfig-for-6.6
    Qualcomm ARM64 defconfig updates for v6.6
    
    This marks the MSM8996 global clock controller as buildin, to avoid boot
    issues. The SC8280XP GPU clock controller is enabled, to enable GPU
    support. A series of drivers needed to boot the IPQ5018 platform is
    enabled, and the ethernet PHY to enable Ethernet on SA8775P is enabled.
    
  • qcom-drivers-for-6.6
    Qualcomm driver updates for v6.6
    
    Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
    together with a couple stylistic cleanups and transition to mark
    exported symbols GPL only.
    
    An abstraction for the RPM subsystem is introduced, to make align the
    structure of the SMD and GLINK nodes thereof with the structure when a
    remoteproc is involved. This is done to facilitate associating
    additional entities with the RPM subsystem.
    
    The qmp_send() API is modified to not expose hardware requirements onto
    the client drivers, and then further extended to allow command
    formatting directly in the API, to facilitate this typical use case.
    
    In the Qualcomm Command DB driver, NUL characters previously included in
    identifiers are dropped from the debugfs, to facilitate scripting.
    
    The thresholds of the BWMON driver are simplified to avoid hard coded
    starting values.
    
    The OCMEM driver is updated with some cleanups and fixes, and addition
    of MSM8226 support.
    
    PMIC_GLINK gains support for retimer switches, safe mode is selected
    when the cable is disconnected from altmode and the same is enabled for
    SM8550.
    
    An off-by-one string length check is corrected in the QMI encoder
    decoder library.
    
    The RPMh tracepoints are extended to include the state of the request,
    to provide needed context in the traced events.
    
    The series from Ulf creating a genpd framework is integrated, to
    facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
    SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
    extended with the same sync_state logic found in the rpmhpd driver.
    
    The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
    platform is dropped.
    
    Clock handling in the GSBI driver is cleaned up with the use of
    devm_clk_get_enabled().
    
    The list of VMIDs defined for the SCM assign memory interface is
    extended.
    
  • qcom-arm64-fixes-for-6.5
    Qualcomm ARM64 fixes for v6.5
    
    This corrects the invalid path specifier for L3 interconnects in the CPU
    nodes of SM8150 and SM8250. It corrects the compatible of the SC8180X L3
    node, to pass the binding check.
    
    The crypto core, and its DMA controller, is disabled on SM8350 to avoid
    the system from crashing at boot while the issue is diagnosed.
    
    A thermal zone node name conflict is resolved for PM8150L, on the RB5
    board.
    
    The UFS vccq voltage is corrected on the SA877P Ride platform, to
    address observed stability issues.
    
    The reg-names of the DSI phy on SC7180 are restored after an accidental
    search-and-replace update.