ARM Sunxi Platform Development
 help / color / mirror / Atom feed
From: "Diederik de Haas" <diederik@cknow-tech.com>
To: "Cristian Ciocaltea" <cristian.ciocaltea@collabora.com>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Robert Foss" <rfoss@kernel.org>,
	"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Chen-Yu Tsai" <wens@kernel.org>,
	"Samuel Holland" <samuel@sholland.org>,
	"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
	"Maíra Canal" <mcanal@igalia.com>,
	"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Heiko Stübner" <heiko@sntech.de>,
	"Andy Yan" <andy.yan@rock-chips.com>,
	"Algea Cao" <algea.cao@rock-chips.com>,
	"Daniel Stone" <daniels@collabora.com>,
	"Liu Ying" <victor.liu@nxp.com>, "Phong LE" <ple@baylibre.com>
Cc: <kernel@collabora.com>, <linux-kernel@vger.kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-sunxi@lists.linux.dev>,
	<linux-rockchip@lists.infradead.org>,
	"Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>,
	"Maud Spierings" <maud_spierings@hotmail.com>,
	"Diederik de Haas" <diederik@cknow-tech.com>,
	"Sashiko" <sashiko-bot@kernel.org>
Subject: Re: [PATCH v9 00/61] Add HDMI 2.0 support to DW HDMI QP TX
Date: Thu, 30 Jul 2026 11:52:00 +0200	[thread overview]
Message-ID: <DKBTALC5PUJ3.2KU1C4MRVBQNT@cknow-tech.com> (raw)
In-Reply-To: <20260723-dw-hdmi-qp-scramb-v9-0-4fb12ea22ac9@collabora.com>

Hi Cristian,

On Thu Jul 23, 2026 at 3:34 AM CEST, Cristian Ciocaltea wrote:
> Enable HDMI 2.0 display modes (e.g. 4K@60Hz) on the Synopsys DW HDMI QP
> TX controller, as found in Rockchip RK3576 & RK3588 SoCs, by adding SCDC
> management for high TMDS clock ratio and scrambling.  Since SCDC state
> is lost on sink disconnects, the bridge driver needs to trigger a CRTC
> reset during connector detection.

I tested the v1 series when it consisted of a 'bit' less patches, so I
figured I'd test it again with v9.
I first ran ``modetest`` with a 7.2-rc5 kernel without this patch set:

```sh
diederik@nanopc-t6-lts:~$ uname -a
Linux nanopc-t6-lts 7.2-rc5-arm64-cknow #1 SMP PREEMPT Debian 7.2~rc5-1 (2026-07-27) aarch64 GNU/Linux
diederik@nanopc-t6-lts:~$ modetest | grep -A 14 modes
id      encoder status          name            size (mm)       modes   encoders
86      85      connected       HDMI-A-1        1600x900                37      85
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 4096x2160 30.00 4096 4184 4272 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #1 4096x2160 29.97 4096 4184 4272 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #2 4096x2160 25.00 4096 5064 5152 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #3 4096x2160 24.00 4096 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #4 4096x2160 23.98 4096 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #5 3840x2160 30.00 3840 4016 4104 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #6 3840x2160 29.97 3840 4016 4104 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #7 3840x2160 25.00 3840 4896 4984 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #8 3840x2160 24.00 3840 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #9 3840x2160 23.98 3840 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #10 2560x1440 59.95 2560 2608 2640 2720 1440 1443 1448 1481 241500 flags: phsync, pvsync; type: driver
  #11 1920x1080 120.00 1920 2008 2052 2200 1080 1084 1089 1125 297000 flags: phsync, pvsync; type: driver
  #12 1920x1080 119.88 1920 2008 2052 2200 1080 1084 1089 1125 296703 flags: phsync, pvsync; type: driver
```

and then again with a recent drm-next + this patch set added:

```sh
diederik@nanopc-t6-lts:~$ uname -a
Linux nanopc-t6-lts 7.2-rc5+unreleased-arm64-cknow #1 SMP PREEMPT Debian 7.2~rc5-2 (2026-07-28) aarch64 GNU/Linux
diederik@nanopc-t6-lts:~$ modetest | grep -A 20 modes
id      encoder status          name            size (mm)       modes   encoders
86      85      connected       HDMI-A-1        1600x900                43      85
  modes:
        index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
  #0 3840x2160 60.00 3840 4016 4104 4400 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: preferred, driver
  #1 4096x2160 60.00 4096 4184 4272 4400 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #2 4096x2160 59.94 4096 4184 4272 4400 2160 2168 2178 2250 593407 flags: phsync, pvsync; type: driver
  #3 4096x2160 50.00 4096 5064 5152 5280 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #4 4096x2160 30.00 4096 4184 4272 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #5 4096x2160 29.97 4096 4184 4272 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #6 4096x2160 25.00 4096 5064 5152 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #7 4096x2160 24.00 4096 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #8 4096x2160 23.98 4096 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #9 3840x2160 59.94 3840 4016 4104 4400 2160 2168 2178 2250 593407 flags: phsync, pvsync; type: driver
  #10 3840x2160 50.00 3840 4896 4984 5280 2160 2168 2178 2250 594000 flags: phsync, pvsync; type: driver
  #11 3840x2160 30.00 3840 4016 4104 4400 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #12 3840x2160 29.97 3840 4016 4104 4400 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #13 3840x2160 25.00 3840 4896 4984 5280 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #14 3840x2160 24.00 3840 5116 5204 5500 2160 2168 2178 2250 297000 flags: phsync, pvsync; type: driver
  #15 3840x2160 23.98 3840 5116 5204 5500 2160 2168 2178 2250 296703 flags: phsync, pvsync; type: driver
  #16 2560x1440 59.95 2560 2608 2640 2720 1440 1443 1448 1481 241500 flags: phsync, pvsync; type: driver
  #17 1920x1080 120.00 1920 2008 2052 2200 1080 1084 1089 1125 297000 flags: phsync, pvsync; type: driver
  #18 1920x1080 119.88 1920 2008 2052 2200 1080 1084 1089 1125 296703 flags: phsync, pvsync; type: driver
```

I also unplugged and replugged the HDMI cable several times, both on the
NanoPC-T6 LTS side as well as my 4K HDMI 2.0 capable TV and the display
came back every time in the same 'mode'.

I then repeated the same test procedure with a Rock 5B and the results
were identical :-)

So feel free to add/update to the Rockchip related patches

Tested-by: Diederik de Haas <diederik@cknow-tech.com>  # NanoPC-T6 LTS, Rock 5B

Cheers,
  Diederik

> To support this at the DRM infrastructure level, the series first
> introduces the HDMI version enum, then prepares for changing the
> signature of drmm_connector_hdmi_init(), i.e. dropping the vendor,
> product, supported_formats and max_bpc arguments, which are being moved
> into struct drm_connector_hdmi_funcs, by temporarily renaming the helper
> to drmm_connector_hdmi_ini2().  This lets the new signature be
> introduced under the original name while callers are converted
> incrementally.  Note the transitional name matches the original's length
> so continuation-line arguments stay aligned to the opening parenthesis,
> keeping the diff to the identifier itself and avoiding re-alignment
> churn.
>
> Appending more HDMI-specific arguments to the init function would not
> scale well, hence the hdmi_funcs struct is extended with new fields:
> supported_hdmi_ver, supported_tmds_char_rate.  These are used to
> infer and/or limit the maximum TMDS character rate permitted for the
> connector.
>
> Patches 5-10 build the connector and bridge scrambling infrastructure on
> top: the connector scrambler callbacks/flags, the scdc-helper
> additions (connector-prefixed debug macro and SCDC version helper), and
> the HDMI scrambling management helpers including SCDC source-version
> advertisement.
>
> Patches 11-18 wires this up through the hdmi-state-helper and bridge
> connector layers: source TMDS rate validation, hotplug SCDC state sync
> and the scrambling requirement, new source-side scrambling bridge ops,
> the switch to a cached-status, atomic-aware .detect_ctx() connector
> helper, and finally hooking up the HDMI 2.0 scrambler callbacks.
>
> The SCDC scrambling feature itself is implemented in the DW HDMI QP
> bridge driver, alongside i2c error-message rate limiting,
> .enable_hpd()/.disable_hpd() PHY ops and a dw_hdmi_qp_hpd_notify()
> helper (patches 19-23).
>
> Patches 24-32 cover the Rockchip platform driver and HPD handling: minor
> cleanups (newlines in dev_err_probe(), consistent local dev variable,
> dropping unnecessary include/define), avoiding spurious HDP IRQ wakeups,
> masking the RK3576 HPD IRQ in io_init, implementing the
> .{enable|disable}_hpd() PHY ops, switching HPD reports to
> dw_hdmi_qp_hpd_notify() to restrict events to the affected connector,
> and dropping the now-unused .setup_hpd() PHY op.
>
> Patches 34-39 convert VC4 HDMI to the common infrastructure as a proof
> of reuse: adopting the shared TMDS char rate constants, switching to
> drm_hdmi_mode_needs_scrambling(), proper -EDEADLK handling, and
> replacing the driver-local scrambling implementation with the common
> SCDC scrambling helpers.
>
> Patches 40-47 advertise supported version for all HDMI
> connectors/bridges, except the MediaTek HDMI driver (for now), as it
> requires non-trivial changes: there's a core library shared between two
> drivers, one being HDMI 2.0 compliant.
>
> Patches 48-57 add KUnit tests: HDMI caps-based init coverage and
> source-side scrambler validation for the connector, conversion of
> hdmi_state_helper to the new drmm_connector_hdmi_init() with
> max_tmds_char_rate validation, a new 4K@60Hz 600MHz TMDS EDID,
> source-side scrambling decision coverage, and conformity fixes for the
> existing 1080p+4K YUV420 200MHz and 4K RGB/YUV 340MHz test EDID blobs.
>
> Eventually patches 58-61 remove the now unused
> drmm_connector_hdmi_ini2() helper and drop redundant hdmi fields from
> connector structs: vendor, product, supported_formats and max_bpc.
>
> This has been tested on the following boards:
>
> * Radxa ROCK 5B (RK3588)
> * Radxa ROCK 4D (RK3576)
> * Raspberry Pi 5 Model B Rev 1.1 (BCM2712 D0)
>
> Note that commit d87773de9efe1 ("clocksource/drivers/arm_arch_timer:
> Default to EL2 virtual timer when running VHE"), introduced in v7.2-rc1,
> causes Raspberry Pi 5 to hang during boot.  Reverting the commit
> restores normal boot.  This issue has already been reported in [1];
> alternatively, the workaround proposed in [2] can be applied.
>
> Regards,
> Cristian
>
> [1] https://lore.kernel.org/all/ea15cce1-b393-43f6-8d58-3d6f90f0c0cd@samsung.com/
> [2] https://lore.kernel.org/all/20260619204832.586079-1-dan@reactivated.net/
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
> Changes in v9:
> - Collected A-b, R-b, T-b tags from Dmitry, Maxime, Maud
> - Dropped misleading "HDMI_VERSION_UNKNOWN means legacy/default
>   behaviour" from drm_connector_hdmi_caps.supported_hdmi_ver
>   documentation
> - Warned in drm_bridge_add() if an HDMI bridge leaves supported_hdmi_ver
>   unset
> - Added max_tmds_char_rate to drm_bridge struct and wire it through
>   drm_bridge_connector_init() along with supported_hdmi_ver
> - Got rid of connector's scrambler_supported flag and, instead, relied
>   on checking the presence of scrambler callbacks via a new
>   drm_connector_hdmi_scrambler_supported() helper (Dmitry)
> - Dropped HDMI connector scdc_cb callback and introduced
>   scdc_work_initialized flag to perform lazy initialization and guard
>   the teardown paths against touching an uninitialized work item
> - Unconditionally checked connector->hdmi.max_tmds_char_rate in
>   "drm/display: hdmi-state-helper: Add fallback TMDS rate validation"
>   and performed s/fallback/source/ in commit subject & description
>   (Maxime)
> - Added a TODO comment for checking
>   drm_display_info.hdmi.scdc.scrambling.low_rates in "drm/display:
>   hdmi-state-helper: Set HDMI scrambling requirement" patch (Maxime)
> - Moved the prototype changes from "drm/display: hdmi-state-helper: Sync
>   SCDC state on hotplug" into a dedicated "drm/display:
>   hdmi-state-helper: Pass acquire ctx to hotplug helpers" patch; also
>   switched ctx and status args ordering, for consistency with
>   detect_ctx() signature (Maxime)
> - Ensured HDMI connector's SCDC delayed work is explicitly canceled
>   during connector cleanup (Sashiko)
> - Fixed a potential NULL pointer dereference in
>   drm_connector_hdmi_enable_scrambling() and
>   drm_connector_hdmi_sync_scdc() helpers caused by forcing an EDID
>   advertising SCDC on a connector that physically lacks an I2C DDC bus
>   (Sashiko)
> - dw-hdmi-qp
>   * Fixed a potential NULL pointer dereference in
>     dw_hdmi_qp_hpd_notify() helper by using a local variable to cache
>     the connector pointer (Sashiko)
>   * Ensured hdmi->phy.ops->disable() is not skipped in
>     dw_hdmi_qp_bridge_atomic_disable() by accessing the connector via
>     drm_atomic_get_old_connector_for_encoder() instead of
>     hdmi->curr_conn (Sashiko)
>   * Mitigated a potential use-after-free reported by Sashiko caused when
>     HPD interrupt fires after the DRM device is torn down; reworked
>     "Defer HPD IRQ enable until after connector setup" into:
>     * Factor out HPD interrupt mask/unmask helpers
>     * Control the HPD IRQ line via the bridge HPD ops
>   * Added new patch addressing another Sashiko finding: drm/rockchip:
>     dw_hdmi_qp: Avoid spurious HPD IRQ thread wakeups
>   * Added new patch: drm/bridge: dw-hdmi-qp: Remove unused workqueue
>     include and define
>   * Dropped .hdmi_tmds_char_rate_valid() usage from the
>     bridge/synopsys/dw-hdmi-qp.c scrambling support patch, while
>     advertising HDMI 1.4 capability for no-hpd configurations
> - VC4
>   * Passed ctx instead of NULL when calling
>     drm_atomic_helper_connector_hdmi_hotplug() from
>     vc4_hdmi_handle_hotplug() in the helper preparatory patch
>   * Aligned with the expected detect_ctx() semantics in a dedicated
>     "drm/vc4: hdmi: Propagate -EDEADLK to the top level" rather than
>     bundled in the conversion patch
>   * Optimized diff around drm_dev_enter() in the conversion patch
>     (Maxime)
>   * Simplified vc4_hdmi_connector_clock_valid() logic by deferring max
>     clock validation to HDMI helpers (new patch)
> - Migrated to a funcs-based HDMI connector init API - new patches:
>   * drm/display: hdmi: Rename drmm_connector_hdmi_init() to *_ini2()
>   * drm/display: bridge_connector: Convert to drmm_connector_hdmi_init()
>   * drm/vc4: hdmi: Convert to drmm_connector_hdmi_init()
>   * drm/vc4: hdmi: Convert to common HDMI 2.0 scrambling infrastructure
>   * drm/sun4i: hdmi: Convert to drmm_connector_hdmi_init()
>   * drm/tests: connector: Convert to drmm_connector_hdmi_init()
>   * drm/tests: hdmi_state_helper: Convert to drmm_connector_hdmi_init()
>   * drm/bridge: adv7511: Advertise HDMI 1.2 capabilities
>   * drm/bridge: inno-hdmi: Advertise HDMI 1.2 capabilities
>   * drm/bridge: ite-it6263: Drop redundant .mode_valid hook
>   * drm/bridge: ite-it6263: Advertise HDMI 1.3 capabilities
>   * drm/bridge: ite-it66121: Advertise HDMI 1.2 capabilities
>   * drm/bridge: lontium-lt9611: Advertise HDMI 1.4 capabilities
>   * drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities
>   * drm/sun4i: hdmi: Convert to drmm_connector_hdmi_init()
>   * drm/connector: Remove drmm_connector_hdmi_ini2()
>   * drm/connector: Drop redundant hdmi vendor/product fields
>   * drm/connector: Drop redundant hdmi supported_formats field
>   * drm/connector: Drop redundant max_bpc field
> - KUnit
>   * Adapted hdmi_state_helper scrambler tests and reworked a couple of
>     max_tmds_char_rate tests according to the latest DRM core changes
>   * Fixed a regression in the HDMI caps-based init coverage
>   * Fix a couple of bisectability issues, also implied partial commit
>     reorder
>   * Set supported HDMI version for the test bridges (new patch)
> - Rebased series onto latest drm-misc-next and removed "drm/rockchip:
>   dw_hdmi_qp: Drop unnecessary #include" patch, since a similar change
>   as been already applied
> - Link to v8: https://patch.msgid.link/20260702-dw-hdmi-qp-scramb-v8-0-d79890d00b6a@collabora.com
>
> Changes in v8:
> - Added an enum hdmi_version under video/hdmi to describe the HDMI
>   specification version a source/sink supports (new patch 1)
> - Introduced HDMI connector capabilities API and reworked the
>   infrastructure patches on top of it: drmm_connector_hdmi_init() now
>   takes a drm_connector_hdmi_caps struct that carries supported_formats,
>   max_bpc, supported_hdmi_ver and max_tmds_char_rate (new patches 2-3)
> - Moved all the new SCDC helpers covering both source and sink to
>   display/drm_hdmi_helper.c
> - Renamed drm_scdc_{start,stop}_scrambling() to
>   drm_connector_hdmi_{enable,disable}_scrambling() and added a
>   connector-state argument so the scrambler_needed flag is checked
>   centrally instead of in every driver
> - Renamed drm_scdc_sync_status() to drm_connector_hdmi_sync_scdc(),
>   aligned its lifecycle with vc4_hdmi_reset_link(), and removed the
>   internal drm_scdc_reset_crtc() helper; it now also gates on CRTC state
>   and an in-flight commit (Maxime)
> - Changed the prototype of drm_atomic_helper_connector_hdmi_hotplug() to
>   take an acquire context and an int return, instead of adding a new
>   _ctx variant (Maxime)
> - Added drm_hdmi_mode_needs_scrambling() to centralise the above-340 MHz
>   decision (new patch 7)
> - Made SCDC source version negotiation optional and moved it to a
>   dedicated patch "drm/display: hdmi: Advertise SCDC source version when
>   scrambling" (new patch 8), backed by a new
>   drm_scdc_set_source_version() helper in "drm/display: scdc-helper: Add
>   helper to set SCDC version information" (new patch 6)
> - Added a fallback TMDS rate validation patch using the connector-level
>   max_tmds_char_rate when the driver provides no .tmds_char_rate_valid()
>   hook (new patch 9)
> - Split scrambler_needed flag handling into its own hdmi-state-helper
>   dedicate change (new patch 11)
> - VC4:
>   * Replaced vc4_hdmi_mode_needs_scrambling() with
>     drm_hdmi_mode_needs_scrambling() (new patch 30)
>   * Restored drm_dev_{enter,exit}() pairing around the converted
>     scrambling paths
>   * Removed now unused output_{bpc,color_format} fields from vc4_hdmi as
>     part of the SCDC conversion
> - KUnit:
>   * Covered the caps-based connector init path: NULL caps, inferred
>     max_tmds_char_rate per supported_hdmi_ver, and override validation
>     (new patch 32)
>   * Switched drm_hdmi_state_helper_test to the caps-based init helper
>     and exposed it through
>     drm_kunit_helper_connector_hdmi_init_with_caps_edid_funcs() (new
>     patch 34)
>   * Added max_tmds_char_rate fallback coverage in
>     drm_hdmi_state_helper_test (new patch 35)
> - Rebased onto latest drm-misc-next and dropped the already applied
>   "drm/fb-helper: Remove unused local variable in hotplug_event()" patch
> - Link to v7: https://patch.msgid.link/20260602-dw-hdmi-qp-scramb-v7-0-445eb54ee1ed@collabora.com
>
> Changes in v7:
> - Split the scrambler_needed flag computation from the SCDC scrambling
>   helpers into a standalone hdmi_state_helper patch for clarity (new
>   patch 6)
> - Added vc4 HDMI conversion to common TMDS char rate constants and SCDC
>   scrambling helpers as a proof of reuse (new patches 24-25)
> - Added KUnit tests for connector scrambler_supported/callback
>   consistency validation (new patch 26)
> - Added 4K@60Hz 600MHz TMDS test EDID for high-rate scrambling coverage
>   (new patch 27)
> - Added KUnit tests for hdmi_state_helper scrambler_needed flag:
>   low-rate, high-rate, and source-no-support cases (new patch 28)
> - Fixed EDID conformity issues (edid-decode v1.33.0 failures) in the
>   existing 1080p+4K YUV420 200MHz and 4K RGB/YUV 340MHz test EDIDs
>   without changing the capabilities used by existing tests (new patches
>   29-30)
> - Rebased onto latest drm-misc-next
> - Link to v6: https://patch.msgid.link/20260520-dw-hdmi-qp-scramb-v6-0-24b74603b782@collabora.com
>
> Changes in v6:
> - Collected R-b & A-b tags from Dmitry and Heiko
> - Restructured the series from 10 into 22 patches, splitting the SCDC
>   scrambling helpers, connector infrastructure, bridge operations,
>   bridge_connector plumbing, dw-hdmi-qp implementation, and Rockchip
>   platform changes into distinct commits
> - Added drm_scdc_dbg() macro to simplify debug messages (new patch)
> - Added drm_scdc_start/stop/sync_status() helpers for full scrambling
>   lifecycle management (reworked from v5 patch 5)
> - Added drm_atomic_helper_connector_hdmi_hotplug_ctx() to propagate
>   modeset acquire context for SCDC sync on hotplug (new patch)
> - Added connector scrambler callbacks and SCDC work/flag infrastructure
>   as a separate patch (split from v5 patch 5)
> - Added DRM_BRIDGE_OP_HDMI_SCRAMBLER bridge operation with
>   hdmi_scrambler_enable/disable callbacks (new patch)
> - Implemented bridge_connector scrambler interface wiring (new patch)
> - Added .enable_hpd()/.disable_hpd() PHY ops for dw-hdmi-qp bridge and
>   Rockchip platform drivers, replacing the obsolete .setup_hpd() op
> - Added dw_hdmi_qp_hpd_notify() helper for targeted connector-only HPD
>   notification (split from v5 patch 10)
> - Dropped drm_fb_helper_hotplug_event() unused variable (new cleanup)
> - Dropped unused drm_simple_kms_helper.h include (new cleanup)
> - Masked RK3576 HPD IRQ in io_init() for consistency with RK3588
> - Rebased onto latest drm-misc-next
> - Link to v5: https://patch.msgid.link/20260426-dw-hdmi-qp-scramb-v5-0-d778e70c317b@collabora.com
>
> Changes in v5:
> - Added new patches: 1/10, 3/10, 6/10, 7/10, 8/10
> - Removed redundant no-op error check in drm_bridge_helper_reset_crtc()
>   (patch 1)
> - Removed the EDEADLK retry loop from the bridge .detect_ctx() callback,
>   as that's already handled in the drm_bridge_detect_ctx() helper or by
>   the caller when ctx is provided (patch 2)
> - Refactored drm_bridge_detect() to delegate to drm_bridge_detect_ctx()
>   and added a WARN_ON for unexpected negative return values (patch 2)
> - Split the bridge-connector .detect_ctx() switch into a preparatory
>   patch to use cached connector status in .get_modes() (patch 3)
> - Improved error handling in SCDC scrambling setup: roll back high TMDS
>   clock ratio on scrambling failure, reset scramb_enabled flag on
>   set_scramb failure, and add SCDC version read/write error checks
>   (patch 5)
> - Annotated scramb_enabled with READ_ONCE/WRITE_ONCE for cross-context
>   access between modeset paths and the scrambling work item (patch 5)
> - Renamed SCDC_MIN_SOURCE_VERSION to SCDC_MAX_SOURCE_VERSION (patch 5)
> - Rate limited i2c error messages (patch 6)
> - Added missing newlines in dev_err_probe() messages (patch 7)
> - Replaced indirect device pointer accesses with local dev variable in
>   bind() (patch 8)
> - Split the HPD connector restriction (formerly patch 4/4): register HPD
>   IRQ after connector setup first (patch 9), then restrict HPD event to
>   the affected connector (patch 10); also collected R-b from Heiko
> - Rebased onto latest drm-misc-next
> - Link to v4: https://lore.kernel.org/r/20260303-dw-hdmi-qp-scramb-v4-0-317d3b8bd219@collabora.com
>
> Changes in v4:
> - Fixed conflicts while rebasing onto latest drm-misc-next
> - Link to v3: https://lore.kernel.org/r/20260119-dw-hdmi-qp-scramb-v3-0-bd8611730fc1@collabora.com
>
> Changes in v3:
> - Used drm_bridge_helper_reset_crtc() helper to reset the display
>   pipeline and got rid of some boilerplate code (Maxime)
> - Rebased onto latest drm-misc-next
> - Link to v2: https://lore.kernel.org/r/20260113-dw-hdmi-qp-scramb-v2-0-ae7b2c58d24d@collabora.com
>
> Changes in v2:
> - Collected Tested-by tags from Diederik and Maud
> - Rebased onto latest drm-misc-next
> - Ensured the recently introduced 'no-hpd' support for dealing with
>   unconnected/repurposed/broken HPD pin is limited to HDMI 1.4 rates
> - Link to v1: https://lore.kernel.org/r/20251203-dw-hdmi-qp-scramb-v1-0-836fe7401a69@collabora.com
>
> ---
> Cristian Ciocaltea (61):
>       video/hdmi: Introduce HDMI version enum
>       drm/display: hdmi: Rename drmm_connector_hdmi_init() to *_ini2()
>       drm/connector: Add drmm_connector_hdmi_init() with new signature
>       drm/display: bridge_connector: Convert to drmm_connector_hdmi_init()
>       drm/connector: Add HDMI 2.0 scrambler infrastructure
>       drm/display: scdc-helper: Add macro for connector-prefixed debug messages
>       drm/display: scdc-helper: Add helper to set SCDC version information
>       drm/display: hdmi: Add HDMI 2.0 scrambling management helpers
>       drm/display: hdmi: Advertise SCDC source version when scrambling
>       drm/bridge: Remove redundant error check in drm_bridge_helper_reset_crtc()
>       drm/bridge: Add bridge ops for source-side HDMI 2.0 scrambling
>       drm/display: bridge_connector: Use cached connector status in .get_modes()
>       drm/display: bridge_connector: Switch to .detect_ctx() connector helper
>       drm/display: bridge_connector: Wire up HDMI 2.0 scrambler callbacks
>       drm/display: hdmi-state-helper: Add source TMDS rate validation
>       drm/display: hdmi-state-helper: Pass acquire ctx to hotplug helpers
>       drm/display: hdmi-state-helper: Sync SCDC state on hotplug
>       drm/display: hdmi-state-helper: Set HDMI scrambling requirement
>       drm/bridge: dw-hdmi-qp: Rate limit i2c read error messages
>       drm/bridge: dw-hdmi-qp: Provide .{enable,disable}_hpd() PHY ops
>       drm/bridge: dw-hdmi-qp: Remove unused workqueue include and define
>       drm/bridge: dw-hdmi-qp: Add HDMI 2.0 scrambling support
>       drm/bridge: dw-hdmi-qp: Provide dw_hdmi_qp_hpd_notify() helper
>       drm/rockchip: dw_hdmi_qp: Fix NULL deref in PM ops on incomplete bind
>       drm/rockchip: dw_hdmi_qp: Add missing newlines in dev_err_probe() messages
>       drm/rockchip: dw_hdmi_qp: Use local dev variable consistently in bind()
>       drm/rockchip: dw_hdmi_qp: Avoid spurious HPD IRQ thread wakeups
>       drm/rockchip: dw_hdmi_qp: Mask RK3576 HPD IRQ in io_init
>       drm/rockchip: dw_hdmi_qp: Implement .{enable,disable}_hpd() PHY ops
>       drm/rockchip: dw_hdmi_qp: Factor out HPD interrupt (un)mask helpers
>       drm/rockchip: dw_hdmi_qp: Control the HPD IRQ line via the bridge HPD ops
>       drm/rockchip: dw_hdmi_qp: Use dw_hdmi_qp_hpd_notify() for HPD reports
>       drm/bridge: dw-hdmi-qp: Drop unused .setup_hpd() phy op
>       drm/vc4: hdmi: Use common TMDS char rate constants
>       drm/vc4: hdmi: Switch to drm_hdmi_mode_needs_scrambling()
>       drm/vc4: hdmi: Propagate -EDEADLK to the top level
>       drm/vc4: hdmi: Convert to drmm_connector_hdmi_init()
>       drm/vc4: hdmi: Convert to common HDMI 2.0 scrambling infrastructure
>       drm/vc4: hdmi: Defer pixel clock validation to HDMI helpers
>       drm/bridge: adv7511: Advertise HDMI 1.2 capabilities
>       drm/bridge: inno-hdmi: Advertise HDMI 1.2 capabilities
>       drm/bridge: ite-it6263: Drop redundant .mode_valid hook
>       drm/bridge: ite-it6263: Advertise HDMI 1.3 capabilities
>       drm/bridge: ite-it66121: Advertise HDMI 1.2 capabilities
>       drm/bridge: lontium-lt9611: Advertise HDMI 1.4 capabilities
>       drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities
>       drm/sun4i: hdmi: Convert to drmm_connector_hdmi_init()
>       drm/tests: edid: Add 4K@60Hz EDID with 600MHz TMDS
>       drm/tests: edid: Fix conformity for 1080p+4K YUV420 200MHz EDID
>       drm/tests: edid: Fix conformity for 4K RGB/YUV 340MHz EDID
>       drm/tests: bridge: Set supported HDMI version
>       drm/tests: connector: Convert to drmm_connector_hdmi_init()
>       drm/tests: connector: Add HDMI max_tmds_char_rate init coverage
>       drm/tests: connector: Add HDMI source-side scrambler coverage
>       drm/tests: hdmi_state_helper: Convert to drmm_connector_hdmi_init()
>       drm/tests: hdmi_state_helper: Add connector-provided max_tmds_char_rate coverage
>       drm/tests: hdmi_state_helper: Cover source-side scrambling decision
>       drm/connector: Remove drmm_connector_hdmi_ini2()
>       drm/connector: Drop redundant hdmi vendor/product fields
>       drm/connector: Drop redundant hdmi supported_formats field
>       drm/connector: Drop redundant max_bpc field
>
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c       |  22 +-
>  drivers/gpu/drm/bridge/inno-hdmi.c                 |   1 +
>  drivers/gpu/drm/bridge/ite-it6263.c                |  33 +-
>  drivers/gpu/drm/bridge/ite-it66121.c               |  13 +-
>  drivers/gpu/drm/bridge/lontium-lt9611.c            |  16 +-
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c       | 124 ++++-
>  drivers/gpu/drm/display/drm_bridge_connector.c     | 158 ++++--
>  drivers/gpu/drm/display/drm_hdmi_helper.c          | 288 ++++++++++
>  drivers/gpu/drm/display/drm_hdmi_state_helper.c    |  73 ++-
>  drivers/gpu/drm/display/drm_scdc_helper.c          |  70 ++-
>  drivers/gpu/drm/drm_bridge.c                       |   6 +-
>  drivers/gpu/drm/drm_bridge_helper.c                |   2 -
>  drivers/gpu/drm/drm_connector.c                    |  90 +++-
>  drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c     | 191 ++++---
>  drivers/gpu/drm/rockchip/rk3066_hdmi.c             |   2 +
>  drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c             |  14 +-
>  drivers/gpu/drm/tests/drm_bridge_test.c            |   2 +
>  drivers/gpu/drm/tests/drm_connector_test.c         | 517 ++++++++++++------
>  drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 595 +++++++++++++++------
>  drivers/gpu/drm/tests/drm_kunit_edid.c             | 251 +++++++--
>  drivers/gpu/drm/tests/drm_kunit_edid.h             |   1 +
>  drivers/gpu/drm/vc4/vc4_hdmi.c                     | 355 +++---------
>  drivers/gpu/drm/vc4/vc4_hdmi.h                     |  30 +-
>  include/drm/bridge/dw_hdmi_qp.h                    |   4 +-
>  include/drm/display/drm_hdmi_helper.h              |  15 +
>  include/drm/display/drm_hdmi_state_helper.h        |   6 +-
>  include/drm/display/drm_scdc_helper.h              |   2 +
>  include/drm/drm_bridge.h                           |  49 ++
>  include/drm/drm_connector.h                        | 161 +++++-
>  include/linux/hdmi.h                               |  12 +
>  30 files changed, 2109 insertions(+), 994 deletions(-)
> ---
> base-commit: 9c99e09777509d9bd8cabb0c1132c981b4e668e2
> change-id: 20251203-dw-hdmi-qp-scramb-cdbd8b57ccf9
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip


  parent reply	other threads:[~2026-07-30  9:52 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-23  1:34 [PATCH v9 00/61] Add HDMI 2.0 support to DW HDMI QP TX Cristian Ciocaltea
2026-07-23  1:34 ` [PATCH v9 01/61] video/hdmi: Introduce HDMI version enum Cristian Ciocaltea
2026-07-23  1:34 ` [PATCH v9 02/61] drm/display: hdmi: Rename drmm_connector_hdmi_init() to *_ini2() Cristian Ciocaltea
2026-07-30 14:19   ` Dmitry Baryshkov
2026-07-23  1:34 ` [PATCH v9 03/61] drm/connector: Add drmm_connector_hdmi_init() with new signature Cristian Ciocaltea
2026-07-23  1:53   ` sashiko-bot
2026-07-30 14:19   ` Dmitry Baryshkov
2026-07-23  1:34 ` [PATCH v9 04/61] drm/display: bridge_connector: Convert to drmm_connector_hdmi_init() Cristian Ciocaltea
2026-07-23  1:50   ` sashiko-bot
2026-07-23  1:34 ` [PATCH v9 05/61] drm/connector: Add HDMI 2.0 scrambler infrastructure Cristian Ciocaltea
2026-07-23  1:51   ` sashiko-bot
2026-07-23  1:34 ` [PATCH v9 06/61] drm/display: scdc-helper: Add macro for connector-prefixed debug messages Cristian Ciocaltea
2026-07-30 14:28   ` Dmitry Baryshkov
2026-07-23  1:34 ` [PATCH v9 07/61] drm/display: scdc-helper: Add helper to set SCDC version information Cristian Ciocaltea
2026-07-23  1:34 ` [PATCH v9 08/61] drm/display: hdmi: Add HDMI 2.0 scrambling management helpers Cristian Ciocaltea
2026-07-23  1:51   ` sashiko-bot
2026-07-23  1:34 ` [PATCH v9 09/61] drm/display: hdmi: Advertise SCDC source version when scrambling Cristian Ciocaltea
2026-07-23  1:34 ` [PATCH v9 10/61] drm/bridge: Remove redundant error check in drm_bridge_helper_reset_crtc() Cristian Ciocaltea
2026-07-23  1:47   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 11/61] drm/bridge: Add bridge ops for source-side HDMI 2.0 scrambling Cristian Ciocaltea
2026-07-23  1:47   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 12/61] drm/display: bridge_connector: Use cached connector status in .get_modes() Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 13/61] drm/display: bridge_connector: Switch to .detect_ctx() connector helper Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 14/61] drm/display: bridge_connector: Wire up HDMI 2.0 scrambler callbacks Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 15/61] drm/display: hdmi-state-helper: Add source TMDS rate validation Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 16/61] drm/display: hdmi-state-helper: Pass acquire ctx to hotplug helpers Cristian Ciocaltea
2026-07-23  1:51   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 17/61] drm/display: hdmi-state-helper: Sync SCDC state on hotplug Cristian Ciocaltea
2026-07-23  1:53   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 18/61] drm/display: hdmi-state-helper: Set HDMI scrambling requirement Cristian Ciocaltea
2026-07-23  1:50   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 19/61] drm/bridge: dw-hdmi-qp: Rate limit i2c read error messages Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 20/61] drm/bridge: dw-hdmi-qp: Provide .{enable,disable}_hpd() PHY ops Cristian Ciocaltea
2026-07-23  1:52   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 21/61] drm/bridge: dw-hdmi-qp: Remove unused workqueue include and define Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 22/61] drm/bridge: dw-hdmi-qp: Add HDMI 2.0 scrambling support Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 23/61] drm/bridge: dw-hdmi-qp: Provide dw_hdmi_qp_hpd_notify() helper Cristian Ciocaltea
2026-07-23  1:49   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 24/61] drm/rockchip: dw_hdmi_qp: Fix NULL deref in PM ops on incomplete bind Cristian Ciocaltea
2026-07-23  1:48   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 25/61] drm/rockchip: dw_hdmi_qp: Add missing newlines in dev_err_probe() messages Cristian Ciocaltea
2026-07-23  1:48   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 26/61] drm/rockchip: dw_hdmi_qp: Use local dev variable consistently in bind() Cristian Ciocaltea
2026-07-23  1:49   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 27/61] drm/rockchip: dw_hdmi_qp: Avoid spurious HPD IRQ thread wakeups Cristian Ciocaltea
2026-07-23  1:51   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 28/61] drm/rockchip: dw_hdmi_qp: Mask RK3576 HPD IRQ in io_init Cristian Ciocaltea
2026-07-23  1:55   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 29/61] drm/rockchip: dw_hdmi_qp: Implement .{enable,disable}_hpd() PHY ops Cristian Ciocaltea
2026-07-23  1:57   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 30/61] drm/rockchip: dw_hdmi_qp: Factor out HPD interrupt (un)mask helpers Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 31/61] drm/rockchip: dw_hdmi_qp: Control the HPD IRQ line via the bridge HPD ops Cristian Ciocaltea
2026-07-23  1:59   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 32/61] drm/rockchip: dw_hdmi_qp: Use dw_hdmi_qp_hpd_notify() for HPD reports Cristian Ciocaltea
2026-07-23  1:58   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 33/61] drm/bridge: dw-hdmi-qp: Drop unused .setup_hpd() phy op Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 34/61] drm/vc4: hdmi: Use common TMDS char rate constants Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 35/61] drm/vc4: hdmi: Switch to drm_hdmi_mode_needs_scrambling() Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 36/61] drm/vc4: hdmi: Propagate -EDEADLK to the top level Cristian Ciocaltea
2026-07-23  1:59   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 37/61] drm/vc4: hdmi: Convert to drmm_connector_hdmi_init() Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 38/61] drm/vc4: hdmi: Convert to common HDMI 2.0 scrambling infrastructure Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 39/61] drm/vc4: hdmi: Defer pixel clock validation to HDMI helpers Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 40/61] drm/bridge: adv7511: Advertise HDMI 1.2 capabilities Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 41/61] drm/bridge: inno-hdmi: " Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 42/61] drm/bridge: ite-it6263: Drop redundant .mode_valid hook Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 43/61] drm/bridge: ite-it6263: Advertise HDMI 1.3 capabilities Cristian Ciocaltea
2026-07-23  2:01   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 44/61] drm/bridge: ite-it66121: Advertise HDMI 1.2 capabilities Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 45/61] drm/bridge: lontium-lt9611: Advertise HDMI 1.4 capabilities Cristian Ciocaltea
2026-07-23  2:00   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 46/61] drm/rockchip: rk3066_hdmi: " Cristian Ciocaltea
2026-07-23  1:57   ` sashiko-bot
2026-07-23  9:02   ` Diederik de Haas
2026-07-23  9:12     ` Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 47/61] drm/sun4i: hdmi: Convert to drmm_connector_hdmi_init() Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 48/61] drm/tests: edid: Add 4K@60Hz EDID with 600MHz TMDS Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 49/61] drm/tests: edid: Fix conformity for 1080p+4K YUV420 200MHz EDID Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 50/61] drm/tests: edid: Fix conformity for 4K RGB/YUV 340MHz EDID Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 51/61] drm/tests: bridge: Set supported HDMI version Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 52/61] drm/tests: connector: Convert to drmm_connector_hdmi_init() Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 53/61] drm/tests: connector: Add HDMI max_tmds_char_rate init coverage Cristian Ciocaltea
2026-07-23  1:58   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 54/61] drm/tests: connector: Add HDMI source-side scrambler coverage Cristian Ciocaltea
2026-07-23  2:00   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 55/61] drm/tests: hdmi_state_helper: Convert to drmm_connector_hdmi_init() Cristian Ciocaltea
2026-07-23  2:03   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 56/61] drm/tests: hdmi_state_helper: Add connector-provided max_tmds_char_rate coverage Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 57/61] drm/tests: hdmi_state_helper: Cover source-side scrambling decision Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 58/61] drm/connector: Remove drmm_connector_hdmi_ini2() Cristian Ciocaltea
2026-07-23  2:01   ` sashiko-bot
2026-07-23  1:35 ` [PATCH v9 59/61] drm/connector: Drop redundant hdmi vendor/product fields Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 60/61] drm/connector: Drop redundant hdmi supported_formats field Cristian Ciocaltea
2026-07-23  1:35 ` [PATCH v9 61/61] drm/connector: Drop redundant max_bpc field Cristian Ciocaltea
2026-07-30  9:52 ` Diederik de Haas [this message]
2026-07-30 10:19   ` [PATCH v9 00/61] Add HDMI 2.0 support to DW HDMI QP TX Cristian Ciocaltea

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=DKBTALC5PUJ3.2KU1C4MRVBQNT@cknow-tech.com \
    --to=diederik@cknow-tech.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=algea.cao@rock-chips.com \
    --cc=andrzej.hajda@intel.com \
    --cc=andy.yan@rock-chips.com \
    --cc=cristian.ciocaltea@collabora.com \
    --cc=daniels@collabora.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel-list@raspberrypi.com \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=luca.ceresoli@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maud_spierings@hotmail.com \
    --cc=mcanal@igalia.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=ple@baylibre.com \
    --cc=rfoss@kernel.org \
    --cc=samuel@sholland.org \
    --cc=sashiko-bot@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=victor.liu@nxp.com \
    --cc=wens@kernel.org \
    /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