Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • sent/20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47-v6
    drm/msm: adreno: add support for DDR bandwidth scaling via GMU
    
    The Adreno GPU Management Unit (GMU) can also vote for DDR Bandwidth
    along the Frequency and Power Domain level, but by default we leave the
    OPP core scale the interconnect ddr path.
    
    While scaling the interconnect path was sufficient, newer GPUs
    like the A750 requires specific vote parameters and bandwidth to
    achieve full functionnality.
    
    In order to get the vote values to be used by the GPU Management
    Unit (GMU), we need to parse all the possible OPP Bandwidths and
    create a vote value to be send to the appropriate Bus Control
    Modules (BCMs) declared in the GPU info struct.
    The added dev_pm_opp_get_bw() is used in this case.
    
    The vote array will then be used to dynamically generate the GMU
    bw_table sent during the GMU power-up.
    
    Those entries will then be used by passing the appropriate
    bandwidth level when voting for a GPU frequency.
    
    This will make sure all resources are equally voted for a
    same OPP, whatever decision is done by the GMU, it will
    ensure all resources votes are synchronized.
    
    Depends on [1] to avoid crashing when getting OPP bandwidths.
    
    [1] https://lore.kernel.org/all/20241203-topic-opp-fix-assert-index-check-v3-0-1d4f6f763138@linaro.org/
    
    Ran full vulkan-cts-1.3.7.3-0-gd71a36db16d98313c431829432a136dbda692a08 with mesa 25.0.0+git3ecf2a0518 on:
    - QRD8550
    - QRD8650
    - HDK8650
    
    Any feedback is welcome.
    
    To: Rob Clark <robdclark@gmail.com>
    To: Sean Paul <sean@poorly.run>
    To: Konrad Dybcio <konradybcio@kernel.org>
    To: Abhinav Kumar <quic_abhinavk@quicinc.com>
    To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    To: Marijn Suijten <marijn.suijten@somainline.org>
    To: David Airlie <airlied@gmail.com>
    To: Simona Vetter <simona@ffwll.ch>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Akhil P Oommen <quic_akhilpo@quicinc.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v6:
    - Account for A6xx in a6xx_gmu_rpmh_bw_votes_init():
      - always vote the perfmode bit on a6xx
      - only vote X & Y on A7xx
    - Only AB vote starting from A750
    - Cleanup a6xx_gmu_rpmh_bw_votes_init()
      - drop useless tests
      - add local const struct a6xx_bcm to avoid &info->bcms[bcm_index]
      - remove useless ULL to 1000ULL
      - add an error if cmd_db_read_aux_data() returns count==0
    - Link to v5: https://lore.kernel.org/r/20241211-topic-sm8x50-gpu-bw-vote-v5-0-6112f9f785ec@linaro.org
    
    Changes in v5:
    - Dropped bogus qcom,icc.h flags
    - Properly calculate _wait_bitmask from votes
    - Switch DT to qcom,bus-freq values from downstream
    - Added review tags
    - Link to v4: https://lore.kernel.org/r/20241205-topic-sm8x50-gpu-bw-vote-v4-0-9650d15dd435@linaro.org
    
    Changes in v4:
    - Collected review tags
    - Dropped bcm_div() and switched to clamp() instead
    - Dropped pre-calculation of AB votes
    - Instead calculate a 25% floor vote in a6xx_gmu_set_freq() as recommended
    - Use QCOM_ICC_TAG_ALWAYS in DT
    - Made a740_generate_bw_table() generic, using defines to fill the table
    - Link to v3: https://lore.kernel.org/r/20241128-topic-sm8x50-gpu-bw-vote-v3-0-81d60c10fb73@linaro.org
    
    Changes in v3:
    - I didn't take Dmitry's review tags since I significantly changed the patches
    - Dropped applied OPP change
    - Dropped QUIRK/FEATURE addition/rename in favor of checking the a6xx_info->bcms pointer
    - Switch a6xx_info->bcms to a pointer, so it can be easy to share the table
    - Generate AB votes in advance, the voting was wrong in v2 we need to quantitiwe each bandwidth value
    - Do not vote via GMU is there's only the OFF vote because DT doesn't have the right properties
    - Added defines for the a6xx_gmu freqs tables to not have magic 16 and 4 values
    - Renamed gpu_bw_votes to gpu_ib_votes to match the downstream naming
    - Changed the parameters of a6xx_hfi_set_freq() to u32 to match the data type we pass
    - Drop "request for maximum bus bandwidth usage" and merge it in previous changes
    - Link to v2: https://lore.kernel.org/r/20241119-topic-sm8x50-gpu-bw-vote-v2-0-4deb87be2498@linaro.org
    
    Changes in v2:
    - opp: rename to dev_pm_opp_get_bw, fix commit message and kerneldoc
    - remove quirks that are features and move them to a dedicated .features bitfield
    - get icc bcm kerneldoc, and simplify/cleanup a6xx_gmu_rpmh_bw_votes_init()
      - no more copies of data
      - take calculations from icc-rpmh/bcm-voter
      - move into a single cleaner function
    - fix a6xx_gmu_set_freq() but not calling dev_pm_opp_set_opp() if !bw_index
    - also vote for maximum bus bandwidth usage (AB)
    - overall fix typos in commit messages
    - Link to v1: https://lore.kernel.org/r/20241113-topic-sm8x50-gpu-bw-vote-v1-0-3b8d39737a9b@linaro.org
    
    ---
    Neil Armstrong (7):
          drm/msm: adreno: add defines for gpu & gmu frequency table sizes
          drm/msm: adreno: add plumbing to generate bandwidth vote table for GMU
          drm/msm: adreno: dynamically generate GMU bw table
          drm/msm: adreno: find bandwidth index of OPP and set it along freq index
          drm/msm: adreno: enable GMU bandwidth for A740 and A750
          arm64: qcom: dts: sm8550: add interconnect and opp-peak-kBps for GPU
          arm64: qcom: dts: sm8650: add interconnect and opp-peak-kBps for GPU
    
     arch/arm64/boot/dts/qcom/sm8550.dtsi      |  13 +++
     arch/arm64/boot/dts/qcom/sm8650.dtsi      |  15 +++
     drivers/gpu/drm/msm/adreno/a6xx_catalog.c |  22 ++++
     drivers/gpu/drm/msm/adreno/a6xx_gmu.c     | 186 +++++++++++++++++++++++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_gmu.h     |  26 ++++-
     drivers/gpu/drm/msm/adreno/a6xx_gpu.h     |   1 +
     drivers/gpu/drm/msm/adreno/a6xx_hfi.c     |  54 ++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_hfi.h     |   5 +
     drivers/gpu/drm/msm/adreno/adreno_gpu.h   |   5 +
     9 files changed, 316 insertions(+), 11 deletions(-)
    ---
    base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f
    change-id: 20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47
    
    Best regards,
  • sent/20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47-v5
    drm/msm: adreno: add support for DDR bandwidth scaling via GMU
    
    The Adreno GPU Management Unit (GMU) can also vote for DDR Bandwidth
    along the Frequency and Power Domain level, but by default we leave the
    OPP core scale the interconnect ddr path.
    
    While scaling the interconnect path was sufficient, newer GPUs
    like the A750 requires specific vote parameters and bandwidth to
    achieve full functionnality.
    
    In order to get the vote values to be used by the GPU Management
    Unit (GMU), we need to parse all the possible OPP Bandwidths and
    create a vote value to be send to the appropriate Bus Control
    Modules (BCMs) declared in the GPU info struct.
    The added dev_pm_opp_get_bw() is used in this case.
    
    The vote array will then be used to dynamically generate the GMU
    bw_table sent during the GMU power-up.
    
    Those entries will then be used by passing the appropriate
    bandwidth level when voting for a GPU frequency.
    
    This will make sure all resources are equally voted for a
    same OPP, whatever decision is done by the GMU, it will
    ensure all resources votes are synchronized.
    
    Depends on [1] to avoid crashing when getting OPP bandwidths.
    
    [1] https://lore.kernel.org/all/20241203-topic-opp-fix-assert-index-check-v3-0-1d4f6f763138@linaro.org/
    
    Ran full vulkan-cts-1.3.7.3-0-gd71a36db16d98313c431829432a136dbda692a08 with mesa 25.0.0+git3ecf2a0518 on:
    - QRD8550
    - QRD8650
    - HDK8650
    
    Any feedback is welcome.
    
    To: Rob Clark <robdclark@gmail.com>
    To: Sean Paul <sean@poorly.run>
    To: Konrad Dybcio <konradybcio@kernel.org>
    To: Abhinav Kumar <quic_abhinavk@quicinc.com>
    To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    To: Marijn Suijten <marijn.suijten@somainline.org>
    To: David Airlie <airlied@gmail.com>
    To: Simona Vetter <simona@ffwll.ch>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Akhil P Oommen <quic_akhilpo@quicinc.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v5:
    - Dropped bogus qcom,icc.h flags
    - Properly calculate _wait_bitmask from votes
    - Switch DT to qcom,bus-freq values from downstream
    - Added review tags
    - Link to v4: https://lore.kernel.org/r/20241205-topic-sm8x50-gpu-bw-vote-v4-0-9650d15dd435@linaro.org
    
    Changes in v4:
    - Collected review tags
    - Dropped bcm_div() and switched to clamp() instead
    - Dropped pre-calculation of AB votes
    - Instead calculate a 25% floor vote in a6xx_gmu_set_freq() as recommended
    - Use QCOM_ICC_TAG_ALWAYS in DT
    - Made a740_generate_bw_table() generic, using defines to fill the table
    - Link to v3: https://lore.kernel.org/r/20241128-topic-sm8x50-gpu-bw-vote-v3-0-81d60c10fb73@linaro.org
    
    Changes in v3:
    - I didn't take Dmitry's review tags since I significantly changed the patches
    - Dropped applied OPP change
    - Dropped QUIRK/FEATURE addition/rename in favor of checking the a6xx_info->bcms pointer
    - Switch a6xx_info->bcms to a pointer, so it can be easy to share the table
    - Generate AB votes in advance, the voting was wrong in v2 we need to quantitiwe each bandwidth value
    - Do not vote via GMU is there's only the OFF vote because DT doesn't have the right properties
    - Added defines for the a6xx_gmu freqs tables to not have magic 16 and 4 values
    - Renamed gpu_bw_votes to gpu_ib_votes to match the downstream naming
    - Changed the parameters of a6xx_hfi_set_freq() to u32 to match the data type we pass
    - Drop "request for maximum bus bandwidth usage" and merge it in previous changes
    - Link to v2: https://lore.kernel.org/r/20241119-topic-sm8x50-gpu-bw-vote-v2-0-4deb87be2498@linaro.org
    
    Changes in v2:
    - opp: rename to dev_pm_opp_get_bw, fix commit message and kerneldoc
    - remove quirks that are features and move them to a dedicated .features bitfield
    - get icc bcm kerneldoc, and simplify/cleanup a6xx_gmu_rpmh_bw_votes_init()
      - no more copies of data
      - take calculations from icc-rpmh/bcm-voter
      - move into a single cleaner function
    - fix a6xx_gmu_set_freq() but not calling dev_pm_opp_set_opp() if !bw_index
    - also vote for maximum bus bandwidth usage (AB)
    - overall fix typos in commit messages
    - Link to v1: https://lore.kernel.org/r/20241113-topic-sm8x50-gpu-bw-vote-v1-0-3b8d39737a9b@linaro.org
    
    ---
    Neil Armstrong (7):
          drm/msm: adreno: add defines for gpu & gmu frequency table sizes
          drm/msm: adreno: add plumbing to generate bandwidth vote table for GMU
          drm/msm: adreno: dynamically generate GMU bw table
          drm/msm: adreno: find bandwidth index of OPP and set it along freq index
          drm/msm: adreno: enable GMU bandwidth for A740 and A750
          arm64: qcom: dts: sm8550: add interconnect and opp-peak-kBps for GPU
          arm64: qcom: dts: sm8650: add interconnect and opp-peak-kBps for GPU
    
     arch/arm64/boot/dts/qcom/sm8550.dtsi      |  13 +++
     arch/arm64/boot/dts/qcom/sm8650.dtsi      |  15 +++
     drivers/gpu/drm/msm/adreno/a6xx_catalog.c |  22 ++++
     drivers/gpu/drm/msm/adreno/a6xx_gmu.c     | 183 +++++++++++++++++++++++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_gmu.h     |  26 ++++-
     drivers/gpu/drm/msm/adreno/a6xx_gpu.h     |   1 +
     drivers/gpu/drm/msm/adreno/a6xx_hfi.c     |  54 ++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_hfi.h     |   5 +
     8 files changed, 308 insertions(+), 11 deletions(-)
    ---
    base-commit: df210b30304e9113866a213363894a6d768411ec
    change-id: 20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47
    
    Best regards,
  • sent/20241204-topic-misc-rt5682-convert-3b0320e1a700-v2
    (no cover subject)
    
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Bard Liao <bardliao@realtek.com>
    Cc: linux-sound@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v2:
    - Dropped invalid realtek,amic-delay-ms
    - Wrapped descriptions
    - Moved unevaluatedProperties after required
    - Link to v1: https://lore.kernel.org/r/20241204-topic-misc-rt5682-convert-v1-1-0fedc4ab15e8@linaro.org
    
    ---
    Neil Armstrong (1):
          ASoC: dt-bindings: convert rt5682.txt to dt-schema
    
     .../devicetree/bindings/sound/realtek,rt5682.yaml  | 156 +++++++++++++++++++++
     Documentation/devicetree/bindings/sound/rt5682.txt |  98 -------------
     2 files changed, 156 insertions(+), 98 deletions(-)
    ---
    base-commit: 695ead81c12bf5430239b43e9d862d6d790e12ce
    change-id: 20241204-topic-misc-rt5682-convert-3b0320e1a700
    
    Best regards,
  • sent/20241204-topic-misc-dt-fixes-6468da97a4cb-v3
    arm64: dts: qcom: misc DT bindings check fixes
    
    Here's a set of DT bindings check fixes
    
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konradybcio@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: cros-qcom-dts-watchers@chromium.org
    To: Felipe Balbi <felipe.balbi@microsoft.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v3:
    - Added review tag and missing fixes tag on last patch
    - Link to v2: https://lore.kernel.org/r/20241206-topic-misc-dt-fixes-v2-0-fb6b9cadc47f@linaro.org
    
    Changes in v2:
    - Collected reviews from Dmitry & Doug
    - Dropped camera support entirely in sdm845-db845c-navigation-mezzanine
    - Added fixes for sm8150-microsoft-surface-duo
    - Link to v1: https://lore.kernel.org/r/20241204-topic-misc-dt-fixes-v1-0-6d320b6454e6@linaro.org
    
    ---
    Neil Armstrong (6):
          arm64: dts: qcom: qcm6490-shift-otter: remove invalid orientation-switch
          arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: remove disabled ov7251 camera
          arm64: dts: qcom: sc7180-trogdor-quackingstick: add missing avee-supply
          arm64: dts: qcom: sc7180-trogdor-pompom: rename 5v-choke thermal zone
          arm64: dts: qcom: sc7180: fix psci power domain node names
          arm64: dts: qcom: sm8150-microsoft-surface-duo: fix typos in da7280 properties
    
     arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dts   |  2 --
     .../arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi |  4 +--
     .../dts/qcom/sc7180-trogdor-quackingstick.dtsi     |  1 +
     arch/arm64/boot/dts/qcom/sc7180.dtsi               | 18 +++++-----
     .../qcom/sdm845-db845c-navigation-mezzanine.dtso   | 42 ----------------------
     .../boot/dts/qcom/sm8150-microsoft-surface-duo.dts |  4 +--
     6 files changed, 14 insertions(+), 57 deletions(-)
    ---
    base-commit: c245a7a79602ccbee780c004c1e4abcda66aec32
    change-id: 20241204-topic-misc-dt-fixes-6468da97a4cb
    
    Best regards,
  • sent/20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47-v4
    drm/msm: adreno: add support for DDR bandwidth scaling via GMU
    
    The Adreno GPU Management Unit (GMU) can also vote for DDR Bandwidth
    along the Frequency and Power Domain level, but by default we leave the
    OPP core scale the interconnect ddr path.
    
    While scaling the interconnect path was sufficient, newer GPUs
    like the A750 requires specific vote parameters and bandwidth to
    achieve full functionnality.
    
    In order to get the vote values to be used by the GPU Management
    Unit (GMU), we need to parse all the possible OPP Bandwidths and
    create a vote value to be send to the appropriate Bus Control
    Modules (BCMs) declared in the GPU info struct.
    The added dev_pm_opp_get_bw() is used in this case.
    
    The vote array will then be used to dynamically generate the GMU
    bw_table sent during the GMU power-up.
    
    Those entries will then be used by passing the appropriate
    bandwidth level when voting for a GPU frequency.
    
    This will make sure all resources are equally voted for a
    same OPP, whatever decision is done by the GMU, it will
    ensure all resources votes are synchronized.
    
    Depends on [1] to avoid crashing when getting OPP bandwidths.
    
    [1] https://lore.kernel.org/all/20241203-topic-opp-fix-assert-index-check-v3-0-1d4f6f763138@linaro.org/
    
    Ran full vulkan-cts-1.3.7.3-0-gd71a36db16d98313c431829432a136dbda692a08 with mesa 25.0.0+git3ecf2a0518 on:
    - QRD8550
    - QRD8650
    - HDK8650
    
    Any feedback is welcome.
    
    To: Rob Clark <robdclark@gmail.com>
    To: Sean Paul <sean@poorly.run>
    To: Konrad Dybcio <konradybcio@kernel.org>
    To: Abhinav Kumar <quic_abhinavk@quicinc.com>
    To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    To: Marijn Suijten <marijn.suijten@somainline.org>
    To: David Airlie <airlied@gmail.com>
    To: Simona Vetter <simona@ffwll.ch>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Akhil P Oommen <quic_akhilpo@quicinc.com>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v4:
    - Collected review tags
    - Dropped bcm_div() and switched to clamp() instead
    - Dropped pre-calculation of AB votes
    - Instead calculate a 25% floor vote in a6xx_gmu_set_freq() as recommended
    - Use QCOM_ICC_TAG_ALWAYS in DT
    - Made a740_generate_bw_table() generic, using defines to fill the table
    - Link to v3: https://lore.kernel.org/r/20241128-topic-sm8x50-gpu-bw-vote-v3-0-81d60c10fb73@linaro.org
    
    Changes in v3:
    - I didn't take Dmitry's review tags since I significantly changed the patches
    - Dropped applied OPP change
    - Dropped QUIRK/FEATURE addition/rename in favor of checking the a6xx_info->bcms pointer
    - Switch a6xx_info->bcms to a pointer, so it can be easy to share the table
    - Generate AB votes in advance, the voting was wrong in v2 we need to quantitiwe each bandwidth value
    - Do not vote via GMU is there's only the OFF vote because DT doesn't have the right properties
    - Added defines for the a6xx_gmu freqs tables to not have magic 16 and 4 values
    - Renamed gpu_bw_votes to gpu_ib_votes to match the downstream naming
    - Changed the parameters of a6xx_hfi_set_freq() to u32 to match the data type we pass
    - Drop "request for maximum bus bandwidth usage" and merge it in previous changes
    - Link to v2: https://lore.kernel.org/r/20241119-topic-sm8x50-gpu-bw-vote-v2-0-4deb87be2498@linaro.org
    
    Changes in v2:
    - opp: rename to dev_pm_opp_get_bw, fix commit message and kerneldoc
    - remove quirks that are features and move them to a dedicated .features bitfield
    - get icc bcm kerneldoc, and simplify/cleanup a6xx_gmu_rpmh_bw_votes_init()
      - no more copies of data
      - take calculations from icc-rpmh/bcm-voter
      - move into a single cleaner function
    - fix a6xx_gmu_set_freq() but not calling dev_pm_opp_set_opp() if !bw_index
    - also vote for maximum bus bandwidth usage (AB)
    - overall fix typos in commit messages
    - Link to v1: https://lore.kernel.org/r/20241113-topic-sm8x50-gpu-bw-vote-v1-0-3b8d39737a9b@linaro.org
    
    ---
    Neil Armstrong (7):
          drm/msm: adreno: add defines for gpu & gmu frequency table sizes
          drm/msm: adreno: add plumbing to generate bandwidth vote table for GMU
          drm/msm: adreno: dynamically generate GMU bw table
          drm/msm: adreno: find bandwidth index of OPP and set it along freq index
          drm/msm: adreno: enable GMU bandwidth for A740 and A750
          arm64: qcom: dts: sm8550: add interconnect and opp-peak-kBps for GPU
          arm64: qcom: dts: sm8650: add interconnect and opp-peak-kBps for GPU
    
     arch/arm64/boot/dts/qcom/sm8550.dtsi      |  13 +++
     arch/arm64/boot/dts/qcom/sm8650.dtsi      |  15 +++
     drivers/gpu/drm/msm/adreno/a6xx_catalog.c |  22 ++++
     drivers/gpu/drm/msm/adreno/a6xx_gmu.c     | 183 +++++++++++++++++++++++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_gmu.h     |  26 ++++-
     drivers/gpu/drm/msm/adreno/a6xx_gpu.h     |   1 +
     drivers/gpu/drm/msm/adreno/a6xx_hfi.c     |  47 +++++++-
     drivers/gpu/drm/msm/adreno/a6xx_hfi.h     |   5 +
     8 files changed, 301 insertions(+), 11 deletions(-)
    ---
    base-commit: df210b30304e9113866a213363894a6d768411ec
    change-id: 20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47
    
    Best regards,
  • sent/20241204-topic-misc-da7280-convert-20efaad588ca-v1
    (no cover subject)
    
    To: Support Opensource <support.opensource@diasemi.com>
    To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Roy Im <roy.im.opensource@diasemi.com>
    Cc: linux-input@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (1):
          dt-bindings: input: convert dlg,da7280.txt to dt-schema
    
     .../devicetree/bindings/input/dlg,da7280.txt       | 108 ----------
     .../devicetree/bindings/input/dlg,da7280.yaml      | 238 +++++++++++++++++++++
     2 files changed, 238 insertions(+), 108 deletions(-)
    ---
    base-commit: c245a7a79602ccbee780c004c1e4abcda66aec32
    change-id: 20241204-topic-misc-da7280-convert-20efaad588ca
    
    Best regards,
  • sent/20241204-topic-misc-rt5682-convert-3b0320e1a700-v1
    (no cover subject)
    
    To: Liam Girdwood <lgirdwood@gmail.com>
    To: Mark Brown <broonie@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Bard Liao <bardliao@realtek.com>
    Cc: linux-sound@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (1):
          ASoC: dt-bindings: convert rt5682.txt to dt-schema
    
     .../devicetree/bindings/sound/realtek,rt5682.yaml  | 160 +++++++++++++++++++++
     Documentation/devicetree/bindings/sound/rt5682.txt |  98 -------------
     2 files changed, 160 insertions(+), 98 deletions(-)
    ---
    base-commit: 695ead81c12bf5430239b43e9d862d6d790e12ce
    change-id: 20241204-topic-misc-rt5682-convert-3b0320e1a700
    
    Best regards,
  • sent/20241204-topic-misc-sm8350-mdss-bindings-fix-1701baffc1aa-v1
    (no cover subject)
    
    To: Rob Clark <robdclark@gmail.com>
    To: Abhinav Kumar <quic_abhinavk@quicinc.com>
    To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    To: Sean Paul <sean@poorly.run>
    To: Marijn Suijten <marijn.suijten@somainline.org>
    To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    To: Maxime Ripard <mripard@kernel.org>
    To: Thomas Zimmermann <tzimmermann@suse.de>
    To: David Airlie <airlied@gmail.com>
    To: Simona Vetter <simona@ffwll.ch>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Robert Foss <rfoss@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (1):
          dt-bindings: display: msm: sm8350-mdss: document the third interconnect path
    
     Documentation/devicetree/bindings/display/msm/qcom,sm8350-mdss.yaml | 3 ++-
     1 file changed, 2 insertions(+), 1 deletion(-)
    ---
    base-commit: 667ff2368867af7000ce32a8b3fc025c2b3226b3
    change-id: 20241204-topic-misc-sm8350-mdss-bindings-fix-1701baffc1aa
    
    Best regards,
  • sent/20241204-topic-misc-sm8350-pcie-bindings-fix-81df7e1e7fd4-v1
    (no cover subject)
    
    To: Vinod Koul <vkoul@kernel.org>
    To: Kishon Vijay Abraham I <kishon@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-phy@lists.infradead.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (1):
          dt-bindings: phy: qcom,qmp-pcie: document the SM8350 two lanes PCIe PHY
    
     Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 2 ++
     1 file changed, 2 insertions(+)
    ---
    base-commit: c245a7a79602ccbee780c004c1e4abcda66aec32
    change-id: 20241204-topic-misc-sm8350-pcie-bindings-fix-81df7e1e7fd4
    
    Best regards,
  • sent/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-6fa70546ebb8-v4
    dt-bindings: mmc: document mmc-slot and convert amlogic,meson-mx-sdio.txt to dtschema
    
    Document mmc-slot because used by amlogic,meson-mx-sdio.txt and
    cavium-mmc.txt, so make it common.
    
    To: Ulf Hansson <ulf.hansson@linaro.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    To: Maxime Ripard <mripard@kernel.org>
    Cc: linux-mmc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    Changes in v4:
    - Fixed address-cells description of mmc controller
    - Cleanup '|' when not needed
    - Added review tags
    - Link to v3: https://lore.kernel.org/r/20241007-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v3-0-ad4eb22c2a8d@linaro.org
    
    Changes in v3:
    - Revert and insteads move common properties between slot and controller into mmc-controller-common.yaml
    - Fix other comments on patch 2 & 3
    - Link to v2: https://lore.kernel.org/r/20240920-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v2-0-5aa8bdfe01af@linaro.org
    
    Changes in v2:
    - Fixed description, limited to 3 slots
    - Moved out mmc-slot in a separate common schema
    - Link to v1: https://lore.kernel.org/r/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v1-1-b7bfae886211@linaro.org
    
    ---
    Neil Armstrong (5):
          dt-bindings: mmc: controller: clarify the address-cells description
          dt-bindings: mmc: controller: move properties common with slot out to mmc-controller-common
          dt-bindings: mmc: controller: remove '|' when not needed
          dt-bindings: mmc: document mmc-slot
          dt-bindings: mmc: convert amlogic,meson-mx-sdio.txt to dtschema
    
     .../bindings/mmc/amlogic,meson-mx-sdio.txt         |  54 ----
     .../bindings/mmc/amlogic,meson-mx-sdio.yaml        |  94 ++++++
     .../bindings/mmc/mmc-controller-common.yaml        | 357 +++++++++++++++++++++
     .../devicetree/bindings/mmc/mmc-controller.yaml    | 346 +-------------------
     .../devicetree/bindings/mmc/mmc-slot.yaml          |  49 +++
     5 files changed, 504 insertions(+), 396 deletions(-)
    ---
    base-commit: f486c8aa16b8172f63bddc70116a0c897a7f3f02
    change-id: 20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-6fa70546ebb8
    
    Best regards,
  • sent/20241126-topic-sm8x50-pcie-global-irq-712d678b5226-v1
    PCI: qcom-sm8[56]50: document and add 'global' interrupt
    
    Following [1], document the global irq for the PCIe RC and
    add the interrupt for the SM8550 & SM8650 PCIe RC nodes.
    
    Tested on SM8550-QRD, SM8650-QRD and SM8650-HDK.
    
    [1] https://lore.kernel.org/all/20240731-pci-qcom-hotplug-v3-0-a1426afdee3b@linaro.org/
    
    To: Bjorn Helgaas <bhelgaas@google.com>
    To: Lorenzo Pieralisi <lpieralisi@kernel.org>
    To: Krzysztof Wilczyński <kw@linux.com>
    To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Konrad Dybcio <konradybcio@kernel.org>
    Cc: linux-arm-msm@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (3):
          dt-bindings: PCI: qcom,pcie-sm8550: document 'global' interrupt
          arm64: dts: qcom: sm8550: Add 'global' interrupt to the PCIe RC nodes
          arm64: dts: qcom: sm8650: Add 'global' interrupt to the PCIe RC nodes
    
     Documentation/devicetree/bindings/pci/qcom,pcie-sm8550.yaml |  9 ++++++---
     arch/arm64/boot/dts/qcom/sm8550.dtsi                        | 12 ++++++++----
     arch/arm64/boot/dts/qcom/sm8650.dtsi                        | 12 ++++++++----
     3 files changed, 22 insertions(+), 11 deletions(-)
    ---
    base-commit: adc218676eef25575469234709c2d87185ca223a
    change-id: 20241126-topic-sm8x50-pcie-global-irq-712d678b5226
    
    Best regards,
  • sent/20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47-v2
    drm/msm: adreno: add support for DDR bandwidth scaling via GMU
    
    The Adreno GMU Management Unit (GMU) can also vote for DDR Bandwidth
    along the Frequency and Power Domain level, but by default we leave the
    OPP core scale the interconnect ddr path.
    
    While scaling the interconnect path was sufficient, newer GPUs
    like the A750 requires specific vote parameters and bandwidth to
    achieve full functionnality.
    
    In order to get the vote values to be used by the GPU Management
    Unit (GMU), we need to parse all the possible OPP Bandwidths and
    create a vote value to be send to the appropriate Bus Control
    Modules (BCMs) declared in the GPU info struct.
    The added dev_pm_opp_get_bw() is used in this case.
    
    The vote array will then be used to dynamically generate the GMU
    bw_table sent during the GMU power-up.
    
    Those entries will then be used by passing the appropriate
    bandwidth level when voting for a GPU frequency.
    
    This will make sure all resources are equally voted for a
    same OPP, whatever decision is done by the GMU, it will
    ensure all resources votes are synchronized.
    
    Ran full vulkan-cts-1.3.7.3-0-gd71a36db16d98313c431829432a136dbda692a08 with mesa 25.0.0+git3ecf2a0518 on:
    - QRD8550
    - QRD8650
    - HDK8650
    
    Patchset is based on current msm-next including preemption support.
    
    Any feedback is welcome.
    
    To: Akhil P Oommen <quic_akhilpo@quicinc.com>
    To: Viresh Kumar <vireshk@kernel.org>
    To: Nishanth Menon <nm@ti.com>
    To: Stephen Boyd <sboyd@kernel.org>
    To: Rafael J. Wysocki <rafael@kernel.org>
    To: Rob Clark <robdclark@gmail.com>
    To: Sean Paul <sean@poorly.run>
    To: Konrad Dybcio <konradybcio@kernel.org>
    To: Abhinav Kumar <quic_abhinavk@quicinc.com>
    To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    To: Marijn Suijten <marijn.suijten@somainline.org>
    To: David Airlie <airlied@gmail.com>
    To: Simona Vetter <simona@ffwll.ch>
    To: Bjorn Andersson <andersson@kernel.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    Cc: Connor Abbott <cwabbott0@gmail.com>
    Cc: linux-pm@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-arm-msm@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Cc: freedreno@lists.freedesktop.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v2:
    - opp: rename to dev_pm_opp_get_bw, fix commit message and kerneldoc
    - remove quirks that are features and move them to a dedicated .features bitfield
    - get icc bcm kerneldoc, and simplify/cleanup a6xx_gmu_rpmh_bw_votes_init()
      - no more copies of data
      - take calculations from icc-rpmh/bcm-voter
      - move into a single cleaner function
    - fix a6xx_gmu_set_freq() but not calling dev_pm_opp_set_opp() if !bw_index
    - also vote for maximum bus bandwidth usage (AB)
    - overall fix typos in commit messages
    - Link to v1: https://lore.kernel.org/r/20241113-topic-sm8x50-gpu-bw-vote-v1-0-3b8d39737a9b@linaro.org
    
    ---
    Neil Armstrong (11):
          opp: core: implement dev_pm_opp_get_bw
          drm/msm: adreno: rename quirks that are features
          drm/msm: adreno: move features bits in a separate variable
          drm/msm: adreno: add GMU_BW_VOTE feature flag
          drm/msm: adreno: add plumbing to generate bandwidth vote table for GMU
          drm/msm: adreno: dynamically generate GMU bw table
          drm/msm: adreno: find bandwidth index of OPP and set it along freq index
          drm/msm: adreno: request for maximum bus bandwidth usage
          drm/msm: adreno: enable GMU bandwidth for A740 and A750
          arm64: qcom: dts: sm8550: add interconnect and opp-peak-kBps for GPU
          arm64: qcom: dts: sm8650: add interconnect and opp-peak-kBps for GPU
    
     arch/arm64/boot/dts/qcom/sm8550.dtsi       |  11 ++
     arch/arm64/boot/dts/qcom/sm8650.dtsi       |  14 +++
     drivers/gpu/drm/msm/adreno/a6xx_catalog.c  |  84 ++++++++-----
     drivers/gpu/drm/msm/adreno/a6xx_gmu.c      | 181 ++++++++++++++++++++++++++++-
     drivers/gpu/drm/msm/adreno/a6xx_gmu.h      |  16 ++-
     drivers/gpu/drm/msm/adreno/a6xx_gpu.c      |   4 +-
     drivers/gpu/drm/msm/adreno/a6xx_gpu.h      |   1 +
     drivers/gpu/drm/msm/adreno/a6xx_hfi.c      |  45 ++++++-
     drivers/gpu/drm/msm/adreno/a6xx_hfi.h      |   5 +
     drivers/gpu/drm/msm/adreno/adreno_device.c |   2 +-
     drivers/gpu/drm/msm/adreno/adreno_gpu.h    |   9 +-
     drivers/opp/core.c                         |  25 ++++
     include/linux/pm_opp.h                     |   7 ++
     13 files changed, 358 insertions(+), 46 deletions(-)
    ---
    base-commit: 86313a9cd152330c634b25d826a281c6a002eb77
    change-id: 20241113-topic-sm8x50-gpu-bw-vote-f5e022fe7a47
    
    Best regards,
  • sent/20241002-topic-input-upstream-als31300-ca7404eb4ab0-v4
    iio: magnetometer: add support for the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
    
    The Allegro MicroSystems ALS31300 is a 3-D Linear Hall Effect Sensor
    mainly used in 3D sensing applications for head-on motion.
    
    The device is configured over I2C, and as part of the Sensor
    data the temperature core is also provided.
    
    While the device provides an IRQ gpio, it depends on a configuration
    programmed into the internal EEPROM, thus only the default mode
    is supported and buffered input via trigger is also supported
    to allow streaming values with the same sensing timestamp.
    
    The device can be configured with different sensitivities in factory,
    but the sensitivity value used to calculate value into the Gauss
    unit is not available from registers, thus the sensitivity is
    provided by the compatible/device-id string which is based
    on the part number as described in the datasheet page 2.
    
    The datasheet is available on the product website at [1].
    
    [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Jonathan Cameron <jic23@kernel.org>
    To: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v4:
    - reorder includes
    - fix typos in comments
    - drop spurious empty line
    - use fsleep instead of usleep_range(600, 650);
    - check return of devm_mutex_init
    - add Andy's review tag
    - Link to v3: https://lore.kernel.org/r/20241029-topic-input-upstream-als31300-v3-0-147926dd63b3@linaro.org
    
    Changes in v3:
    - Add missing includes
    - Use read_poll_timeout() in als31300_get_measure()
    - Use MILLI instead of 1000
    - Remove __packed attribute
    - Return 0 at the end of als31300_set_operating_mode()
    - Use devm_mutex_init
    - Use dev_err_probe() to handle devm_iio_triggered_buffer_setup() error
    - Link to v2: https://lore.kernel.org/r/20241021-topic-input-upstream-als31300-v2-0-36a4278a528e@linaro.org
    
    Changes in v2:
    - Add rob's Ack on patch 1
    - Fix commit message layout on patches 2 & 3
    - Use Datasheet tag on patch 2
    - Fix bindings file name, add options interrupts, fix example node name & compatible
    - Fix driver with Jonathan's advices:
      - Reword top file comments
      - Reduce VOLATILE defines
      - Move registers values next to register define and add an indent
      - Use sign_extend32() to X/Y/Z macro, dtop cast on temperature macro
      - Add als31300_variant_info to pass to i2c/of device_id
      - Move scan buffer to irq function
      - Use guard(mutex)
      - Return fractional for millicelcius
      - switch to aligned_s64
      - use index 4 for IIO_CHAN_SOFT_TIMESTAMP
      - Add usleep after switching to ACTIVE state to avoid hitting read errors after wake up
      - simplify suspend/resume functions by returning als31300_set_operating_mode()
    - Link to v1: https://lore.kernel.org/r/20241007-topic-input-upstream-als31300-v1-0-2c240ea5cb77@linaro.org
    
    ---
    Neil Armstrong (3):
          dt-bindings: vendor-prefixes: Add Allegro MicroSystems, Inc
          dt-bindings: iio: magnetometer: document the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
          iio: magnetometer: add Allegro MicroSystems ALS31300 3-D Linear Hall Effect driver
    
     .../iio/magnetometer/allegromicro,als31300.yaml    |  46 ++
     .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
     drivers/iio/magnetometer/Kconfig                   |  13 +
     drivers/iio/magnetometer/Makefile                  |   1 +
     drivers/iio/magnetometer/als31300.c                | 494 +++++++++++++++++++++
     5 files changed, 556 insertions(+)
    ---
    base-commit: 57573ace0c1b142433dfe3d63ebf375269c80fc1
    change-id: 20241002-topic-input-upstream-als31300-ca7404eb4ab0
    
    Best regards,
  • sent/20241002-topic-input-upstream-als31300-ca7404eb4ab0-v3
    iio: magnetometer: add support for the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
    
    The Allegro MicroSystems ALS31300 is a 3-D Linear Hall Effect Sensor
    mainly used in 3D sensing applications for head-on motion.
    
    The device is configured over I2C, and as part of the Sensor
    data the temperature core is also provided.
    
    While the device provides an IRQ gpio, it depends on a configuration
    programmed into the internal EEPROM, thus only the default mode
    is supported and buffered input via trigger is also supported
    to allow streaming values with the same sensing timestamp.
    
    The device can be configured with different sensitivities in factory,
    but the sensitivity value used to calculate value into the Gauss
    unit is not available from registers, thus the sensitivity is
    provided by the compatible/device-id string which is based
    on the part number as described in the datasheet page 2.
    
    The datasheet is available on the product website at [1].
    
    [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Jonathan Cameron <jic23@kernel.org>
    To: Lars-Peter Clausen <lars@metafoo.de>
    Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v3:
    - Add missing includes
    - Use read_poll_timeout() in als31300_get_measure()
    - Use MILLI instead of 1000
    - Remove __packed attribute
    - Return 0 at the end of als31300_set_operating_mode()
    - Use devm_mutex_init
    - Use dev_err_probe() to handle devm_iio_triggered_buffer_setup() error
    - Link to v2: https://lore.kernel.org/r/20241021-topic-input-upstream-als31300-v2-0-36a4278a528e@linaro.org
    
    Changes in v2:
    - Add rob's Ack on patch 1
    - Fix commit message layout on patches 2 & 3
    - Use Datasheet tag on patch 2
    - Fix bindings file name, add options interrupts, fix example node name & compatible
    - Fix driver with Jonathan's advices:
      - Reword top file comments
      - Reduce VOLATILE defines
      - Move registers values next to register define and add an indent
      - Use sign_extend32() to X/Y/Z macro, dtop cast on temperature macro
      - Add als31300_variant_info to pass to i2c/of device_id
      - Move scan buffer to irq function
      - Use guard(mutex)
      - Return fractional for millicelcius
      - switch to aligned_s64
      - use index 4 for IIO_CHAN_SOFT_TIMESTAMP
      - Add usleep after switching to ACTIVE state to avoid hitting read errors after wake up
      - simplify suspend/resume functions by returning als31300_set_operating_mode()
    - Link to v1: https://lore.kernel.org/r/20241007-topic-input-upstream-als31300-v1-0-2c240ea5cb77@linaro.org
    
    ---
    Neil Armstrong (3):
          dt-bindings: vendor-prefixes: Add Allegro MicroSystems, Inc
          dt-bindings: iio: magnetometer: document the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
          iio: magnetometer: add Allegro MicroSystems ALS31300 3-D Linear Hall Effect driver
    
     .../iio/magnetometer/allegromicro,als31300.yaml    |  46 ++
     .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
     drivers/iio/magnetometer/Kconfig                   |  13 +
     drivers/iio/magnetometer/Makefile                  |   1 +
     drivers/iio/magnetometer/als31300.c                | 493 +++++++++++++++++++++
     5 files changed, 555 insertions(+)
    ---
    base-commit: 57573ace0c1b142433dfe3d63ebf375269c80fc1
    change-id: 20241002-topic-input-upstream-als31300-ca7404eb4ab0
    
    Best regards,
  • sent/20241002-topic-input-upstream-als31300-ca7404eb4ab0-v2
    iio: magnetometer: add support for the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
    
    The Allegro MicroSystems ALS31300 is a 3-D Linear Hall Effect Sensor
    mainly used in 3D sensing applications for head-on motion.
    
    The device is configured over I2C, and as part of the Sensor
    data the temperature core is also provided.
    
    While the device provides an IRQ gpio, it depends on a configuration
    programmed into the internal EEPROM, thus only the default mode
    is supported and buffered input via trigger is also supported
    to allow streaming values with the same sensing timestamp.
    
    The device can be configured with different sensitivities in factory,
    but the sensitivity value used to calculate value into the Gauss
    unit is not available from registers, thus the sensitivity is
    provided by the compatible/device-id string which is based
    on the part number as described in the datasheet page 2.
    
    The datasheet is available on the product website at [1].
    
    [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Jonathan Cameron <jic23@kernel.org>
    To: Lars-Peter Clausen <lars@metafoo.de>
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v2:
    - Add rob's Ack on patch 1
    - Fix commit message layout on patches 2 & 3
    - Use Datasheet tag on patch 2
    - Fix bindings file name, add options interrupts, fix example node name & compatible
    - Fix driver with Jonathan's advices:
      - Reword top file comments
      - Reduce VOLATILE defines
      - Move registers values next to register define and add an indent
      - Use sign_extend32() to X/Y/Z macro, dtop cast on temperature macro
      - Add als31300_variant_info to pass to i2c/of device_id
      - Move scan buffer to irq function
      - Use guard(mutex)
      - Return fractional for millicelcius
      - switch to aligned_s64
      - use index 4 for IIO_CHAN_SOFT_TIMESTAMP
      - Add usleep after switching to ACTIVE state to avoid hitting read errors after wake up
      - simplify suspend/resume functions by returning als31300_set_operating_mode()
    - Link to v1: https://lore.kernel.org/r/20241007-topic-input-upstream-als31300-v1-0-2c240ea5cb77@linaro.org
    
    ---
    Neil Armstrong (3):
          dt-bindings: vendor-prefixes: Add Allegro MicroSystems, Inc
          dt-bindings: iio: magnetometer: document the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
          iio: magnetometer: add Allegro MicroSystems ALS31300 3-D Linear Hall Effect driver
    
     .../iio/magnetometer/allegromicro,als31300.yaml    |  46 ++
     .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
     drivers/iio/magnetometer/Kconfig                   |  13 +
     drivers/iio/magnetometer/Makefile                  |   1 +
     drivers/iio/magnetometer/als31300.c                | 495 +++++++++++++++++++++
     5 files changed, 557 insertions(+)
    ---
    base-commit: 57573ace0c1b142433dfe3d63ebf375269c80fc1
    change-id: 20241002-topic-input-upstream-als31300-ca7404eb4ab0
    
    Best regards,
  • sent/20241007-topic-amlogic-arm32-upstream-bindings-fixes-meson8-pinctrl-ca82766a8996-v1
    dt-bindings: pinctrl: amlogic,meson8-pinctrl-cbus/aobus: add reg for cbus/aobus pinctrl nodes
    
    While converting the Amlogic Meson pinctrl binding to dt-schema, the mandatory
    reg property for Meson8/b cbus/aobus pinctrl node was ommited, fix this to finally
    pass all bindings checks.
    
    To: Linus Walleij <linus.walleij@linaro.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    To: Heiner Kallweit <hkallweit1@gmail.com>
    Cc: linux-gpio@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (2):
          dt-bindings: pinctrl: amlogic,meson8-pinctrl-aobus: add reg for aobus pinctrl nodes
          dt-bindings: pinctrl: amlogic,meson8-pinctrl-cbus: add reg for cbus pinctrl nodes
    
     .../pinctrl/amlogic,meson8-pinctrl-aobus.yaml      | 22 +++++++++++++++++++---
     .../pinctrl/amlogic,meson8-pinctrl-cbus.yaml       | 22 +++++++++++++++++++---
     2 files changed, 38 insertions(+), 6 deletions(-)
    ---
    base-commit: 58ca61c1a866bfdaa5e19fb19a2416764f847d75
    change-id: 20241007-topic-amlogic-arm32-upstream-bindings-fixes-meson8-pinctrl-ca82766a8996
    
    Best regards,
  • sent/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-6fa70546ebb8-v3
    dt-bindings: mmc: document mmc-slot and convert amlogic,meson-mx-sdio.txt to dtschema
    
    Document mmc-slot because used by amlogic,meson-mx-sdio.txt and
    cavium-mmc.txt, so make it common.
    
    To: Ulf Hansson <ulf.hansson@linaro.org>
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: linux-mmc@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v3:
    - Revert and insteads move common properties between slot and controller into mmc-controller-common.yaml
    - Fix other comments on patch 2 & 3
    - Link to v2: https://lore.kernel.org/r/20240920-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v2-0-5aa8bdfe01af@linaro.org
    
    Changes in v2:
    - Fixed description, limited to 3 slots
    - Moved out mmc-slot in a separate common schema
    - Link to v1: https://lore.kernel.org/r/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v1-1-b7bfae886211@linaro.org
    
    ---
    Neil Armstrong (3):
          dt-bindings: mmc: controller: move properties common with slot out to mmc-controller-common
          dt-bindings: mmc: document mmc-slot
          dt-bindings: mmc: convert amlogic,meson-mx-sdio.txt to dtschema
    
     .../bindings/mmc/amlogic,meson-mx-sdio.txt         |  54 ----
     .../bindings/mmc/amlogic,meson-mx-sdio.yaml        |  94 ++++++
     .../bindings/mmc/mmc-controller-common.yaml        | 357 +++++++++++++++++++++
     .../devicetree/bindings/mmc/mmc-controller.yaml    | 344 +-------------------
     .../devicetree/bindings/mmc/mmc-slot.yaml          |  49 +++
     5 files changed, 503 insertions(+), 395 deletions(-)
    ---
    base-commit: 47ac09b91befbb6a235ab620c32af719f8208399
    change-id: 20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-6fa70546ebb8
    
    Best regards,
  • sent/20241002-topic-input-upstream-als31300-ca7404eb4ab0-v1
    iio: magnetometer: add support for the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
    
    The Allegro MicroSystems ALS31300 is a 3-D Linear Hall Effect Sensor
    mainly used in 3D sensing applications for head-on motion.
    
    The device is configured over I2C, and as part of the Sensor
    data the temperature core is also provided.
    
    While the device provides an IRQ gpio, it depends on a configuration
    programmed into the internal EEPROM, thus only the default mode
    is supported and buffered input via trigger is also supported
    to allow streaming values with the same sensing timestamp.
    
    The device can be configured with different sensitivities in factory,
    but the sensitivity value used to calculate value into the Gauss
    unit is not available from registers, thus the sensitivity is
    provided by the compatible/device-id string which is based
    on the part number as described in the datasheet page 2.
    
    The datasheet is available on the product website at [1].
    
    [1] https://www.allegromicro.com/en/products/sense/linear-and-angular-position/linear-position-sensor-ics/als31300
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Jonathan Cameron <jic23@kernel.org>
    To: Lars-Peter Clausen <lars@metafoo.de>
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-iio@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (3):
          dt-bindings: vendor-prefixes: Add Allegro MicroSystems, Inc
          dt-bindings: iio: magnetometer: document the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor
          iio: magnetometer: add Allegro MicroSystems ALS31300 3-D Linear Hall Effect driver
    
     .../iio/magnetometer/allegro,als31300.yaml         |  43 ++
     .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
     drivers/iio/magnetometer/Kconfig                   |  13 +
     drivers/iio/magnetometer/Makefile                  |   1 +
     drivers/iio/magnetometer/als31300.c                | 459 +++++++++++++++++++++
     5 files changed, 518 insertions(+)
    ---
    base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc
    change-id: 20241002-topic-input-upstream-als31300-ca7404eb4ab0
    
    Best regards,
  • sent/20240911-topic-amlogic-arm32-upstream-bindings-fixes-69d624b8bccd-v2
    ARM: dts: amlogic: first easy dtbs fixes
    
    This is the easy fixes to start and fully document the ARM Amlogic
    Device Trees, remaining work includes:
    - amlogic,meson-hhi-sysctrl:
    https://git.codelinaro.org/neil.armstrong/linux/-/commit/1be8f8c67e5b83fa4069ccbcfa80d0614f668a65
    - pinctrl: Unevaluated properties are not allowed ('reg', 'reg' were unexpected)
    https://git.codelinaro.org/neil.armstrong/linux/-/commit/8b408ad0781b4eb28a86aa04be136bc04ef73f0c
    https://git.codelinaro.org/neil.armstrong/linux/-/commit/b6e9df5a7a642ee757e3aa0c84236338151d9f6d
    
    This depends on the submitted bindings patch to fix more checks:
    - https://lore.kernel.org/all/20240911-topic-amlogic-arm32-upstream-bindings-fixes-covert-realtek-rt5640-v1-1-6b3745e34540@linaro.org/
    - https://lore.kernel.org/all/20240911-topic-amlogic-arm32-upstream-bindings-fixes-meson-pinctrl-gpio-line-names-v1-1-4345ba336ea4@linaro.org/
    - https://lore.kernel.org/all/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson-mx-sdio-v1-1-b7bfae886211@linaro.org/
    - https://lore.kernel.org/all/20240911-topic-amlogic-arm32-upstream-bindings-fixes-amlogic-hhi-sysctrl-v1-1-b8c3180b2fba@linaro.org/
    - https://lore.kernel.org/all/20240911-topic-amlogic-arm32-upstream-bindings-fixes-convert-meson8-clkc-v1-1-e0b8623c090d@linaro.org/
    
    With all those changes, we finally get fully documented ARM32 Amlogic DT !
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Changes in v2:
    - Collected reviews from Martin
    - Fixed /memory node name fix
    - Removed meson6 DT instead of fixing
    - Added a few more patches to fix all DT checks errors
    - Link to v1: https://lore.kernel.org/r/20240911-topic-amlogic-arm32-upstream-bindings-fixes-v1-0-feaabb45916b@linaro.org
    
    ---
    Neil Armstrong (11):
          ARM: dts: amlogic: meson6: fix clk81 node name
          ARM: dts: amlogic: meson8: fix soc thermal-zone node name
          ARM: dts: amlogic: meson8: fix ao_arc_sram node name
          ARM: dts: amlogic: meson6: remove support for ATV1200 board
          ARM: dts: amlogic: meson8b-odroidc1: fix invalid reset-gpio
          ARM: dts: amlogic: fix /memory node name
          ARM: dts: amlogic: meson8: use correct pinctrl bank node name
          ARM: dts: amlogic: add missing phy-mode in ethmac node
          ARM: dts: amlogic: meson8-minix-neo-x8: fix invalid pnictrl-names
          ARM: dts: amlogic: meson8b-ec100: add missing clocks property in sound card
          ARM: dts: amlogic: meson8b-ec100: add missing gpio-line-names entry
    
     arch/arm/boot/dts/amlogic/Makefile                |  2 -
     arch/arm/boot/dts/amlogic/meson6-atv1200.dts      | 33 ----------
     arch/arm/boot/dts/amlogic/meson6.dtsi             | 73 -----------------------
     arch/arm/boot/dts/amlogic/meson8-minix-neo-x8.dts |  5 +-
     arch/arm/boot/dts/amlogic/meson8.dtsi             |  8 +--
     arch/arm/boot/dts/amlogic/meson8b-ec100.dts       |  8 ++-
     arch/arm/boot/dts/amlogic/meson8b-mxq.dts         |  2 +-
     arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts    |  4 +-
     arch/arm/boot/dts/amlogic/meson8b.dtsi            |  8 +--
     arch/arm/boot/dts/amlogic/meson8m2-mxiii-plus.dts |  2 +-
     10 files changed, 21 insertions(+), 124 deletions(-)
    ---
    base-commit: 292f97a2f8ac6b645ccd7766a06310351b9d9fdc
    change-id: 20240911-topic-amlogic-arm32-upstream-bindings-fixes-69d624b8bccd
    
    Best regards,
  • sent/20240911-topic-amlogic-arm32-upstream-bindings-fixes-69d624b8bccd-v1
    ARM: dts: amlogic: first easy dtbs fixes
    
    This is the easy fixes to start and fully document the ARM Amlogic
    Device Trees, remaining work includes:
    - ethmac with required phy-mode/clocks/clock-names
    - amlogic,meson-hhi-sysctrl
    - amlogic,meson8-clkc
    - pinctrl: Unevaluated properties are not allowed ('reg', 'reg' were unexpected)
    - bank@80b0:gpio-line-names is too short
    - realtek,rt5640
    
    To: Rob Herring <robh@kernel.org>
    To: Krzysztof Kozlowski <krzk+dt@kernel.org>
    To: Conor Dooley <conor+dt@kernel.org>
    To: Kevin Hilman <khilman@baylibre.com>
    To: Jerome Brunet <jbrunet@baylibre.com>
    To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    
    ---
    Neil Armstrong (7):
          ARM: dts: amlogic: meson6: fix clk81 node name
          ARM: dts: amlogic: meson8: fix soc thermal-zone node name
          ARM: dts: amlogic: meson8: fix ao_arc_sram node name
          ARM: dts: amlogic: meson6: delete undocumented nodes
          ARM: dts: amlogic: meson8b-odroidc1: fix invalid reset-gpio
          ARM: dts: amlogic: fix /memory node name
          ARM: dts: amlogic: meson8: use correct pinctrl bank node name
    
     arch/arm/boot/dts/amlogic/meson6-atv1200.dts      |  2 +-
     arch/arm/boot/dts/amlogic/meson6.dtsi             | 18 +++++++++++++++++-
     arch/arm/boot/dts/amlogic/meson8-minix-neo-x8.dts |  2 +-
     arch/arm/boot/dts/amlogic/meson8.dtsi             |  8 ++++----
     arch/arm/boot/dts/amlogic/meson8b-ec100.dts       |  2 +-
     arch/arm/boot/dts/amlogic/meson8b-mxq.dts         |  2 +-
     arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts    |  4 ++--
     arch/arm/boot/dts/amlogic/meson8b.dtsi            |  8 ++++----
     arch/arm/boot/dts/amlogic/meson8m2-mxiii-plus.dts |  2 +-
     9 files changed, 32 insertions(+), 16 deletions(-)
    ---
    base-commit: 100cc857359b5d731407d1038f7e76cd0e871d94
    change-id: 20240911-topic-amlogic-arm32-upstream-bindings-fixes-69d624b8bccd
    
    Best regards,