Devicetree
 help / color / mirror / Atom feed
From: Qianhui Xu <xiaqinghuan@mail.ustc.edu.cn>
To: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	konrad.dybcio@oss.qualcomm.com,
	dmitry.baryshkov@oss.qualcomm.com, abhinav.kumar@linux.dev,
	jesszhan0024@gmail.com, taniya.das@oss.qualcomm.com,
	andersson@kernel.org
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v4 0/3] drm/msm/mdss: reset all block resets described in DT
Date: Fri, 13 Nov 2026 16:36:12 +0800	[thread overview]
Message-ID: <cover.1794558882.git.xiaqinghuan@mail.ustc.edu.cn> (raw)

*** AI-assistance disclosure ***
This cover letter and the three patches were prepared with the help of an
LLM coding assistant.  The author reviewed every line, checked every
statement against the tree and his own logs, and takes full responsibility
for the content.

This is v4 of the MDSS block-reset series.  It supersedes v3
(<20261102055026.438521-1-xiaqinghuan@mail.ustc.edu.cn>) and changes only
the last commit message, in response to Dmitry's three questions on v3 2/3
(<awb7bslhrhemsgvu7ubaejvurk6fecotgvqlwtvsoe2benqdgq@tvh2sfjbuzyu>).

What changed in v4
==================

v3 3/3 claimed that command-mode panel initialisation "fails with command
DMA timeouts and the display comes up as backlight only" because INT2 was
left out of reset.  That is a causal statement the data does not support:
the failure is intermittent (~50%) and we never isolated INT2 as a single
variable.  v4 drops the claim.  The commit now says only what holds: MDSS
is an interrupt controller in DT and the DPU takes its IRQ from it, the
display clock controller provides both block resets, and firmware can hand
over with the block running, so DT describes both of them.

The two Reviewed-by tags received on v3 3/3 are carried over; the diff of
all three patches is byte-identical to v3 except for that commit message.

Answers to the three questions, for the record:

- it is an interrupt controller: sm8750.dtsi's mdss node has
  "interrupt-controller;" and "#interrupt-cells = <1>", and the DPU child
  uses "interrupts-extended = <&mdss 0>"; dispcc-sm8750 exposes INT2 as
  MDSS_INT2_GDSC plus DISP_CC_MDSS_CORE_INT2_BCR (0xa000);
- side effect: msm_mdss_reset() runs in msm_mdss_probe() (msm_mdss.c:372)
  before the irq domain is created (:417) and before of_platform_populate()
  (:537), the group is held for the existing 20 ms and released, and dispcc
  PLLs/clocks are untouched;
- testing: the reset at this position, with core+INT2+RSCC as one bulk
  group, ran 5/5 cold POR and 2/2 warm resets without a bad boot, against
  5 STORM in 9 cold boots when only the core was reset.  The exact v4 shape
  (array API, two resets) has not been booted, and there is no per-reset
  A/B.

2/3 exists only so the driver honours a DT listing more than one MDSS
reset.  If you would rather take 3/3 alone, we can drop it; say so and v5
will be 3/3 by itself.

Gates for v4
============

- git am of the three patches onto pristine v7.3-rc7 (24a19b953e) applies
  cleanly, no fuzz.
- checkpatch --strict on the rewritten 0003: 0 errors, 0 warnings, 0 checks.
- dt_binding_check and the W=1 build are unchanged from v3 (no code or DT
  diff in v4).


Qianhui Xu (3):
  dt-bindings: display: msm: mdss-common: describe additional block
    resets
  drm/msm/mdss: reset all block resets described in DT
  arm64: dts: qcom: sm8750: describe all MDSS block resets

 .../devicetree/bindings/display/msm/mdss-common.yaml         | 4 +++-
 .../devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml    | 3 ++-
 arch/arm64/boot/dts/qcom/sm8750.dtsi                         | 3 ++-
 drivers/gpu/drm/msm/msm_mdss.c                               | 5 ++---
 4 files changed, 9 insertions(+), 6 deletions(-)

-- 
2.53.0


             reply	other threads:[~2026-11-13  8:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-13  8:36 Qianhui Xu [this message]
2026-11-13  8:36 ` [PATCH v4 1/3] dt-bindings: display: msm: mdss-common: describe additional block resets Qianhui Xu
2026-11-13  8:36 ` [PATCH v4 2/3] drm/msm/mdss: reset all block resets described in DT Qianhui Xu
2026-11-13  8:36 ` [PATCH v4 3/3] arm64: dts: qcom: sm8750: describe all MDSS block resets Qianhui Xu
2026-11-13  8:42   ` Konrad Dybcio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1794558882.git.xiaqinghuan@mail.ustc.edu.cn \
    --to=xiaqinghuan@mail.ustc.edu.cn \
    --cc=abhinav.kumar@linux.dev \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jesszhan0024@gmail.com \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=taniya.das@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox