All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Dave Airlie" <airlied@redhat.com>
Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 19/19] drm/amd/display: Replace dc_get_caps with purpose-built capability queries
Date: Thu, 12 Nov 2026 02:14:27 +0000	[thread overview]
Message-ID: <sashiko-outbox-210166@kernel.org> (raw)
In-Reply-To: <20261112-amdgpu-dc-cleanup-v1-19-0fae41718ad2@redhat.com>

Thank you for your contribution! Sashiko AI review found no new issues
in this patch, but noticed 1 related pre-existing issue it does not
introduce:
- [High] drm/amd/display: missing fused_io and hdcp_lc_force_fw_enable
  checks in dc_is_dmub_outbox_supported() [1]
--

commit c8a21aad95119e6c5fca592bbd2394b8b1a780d9
Author: Dave Airlie <airlied@redhat.com>

drm/amd/display: Replace dc_get_caps with purpose-built capability queries

This commit replaces the dc_get_caps() view accessor with dedicated
capability query functions so callers outside DC no longer access struct
dc_caps directly.

> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
> index 73b56e078cbed..c71adc10c67ee 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
[ ... ]
> @@ -677,7 +677,7 @@ void update_config(void *handle, struct cp_psp_stream_config *config)
>  	link->adjust.retry_limit = MAX_NUM_OF_ATTEMPTS;
>  	link->adjust.hdcp1.disable = 0;
>  	link->adjust.hdcp2.use_fw_locality_check =
> -		(dc_get_caps(dc)->fused_io_supported ||
> +		(dc_get_fused_io_support(dc) ||
>  		 dc_get_debug_options(dc)->hdcp_lc_force_fw_enable);
>  	link->adjust.hdcp2.use_sw_locality_fallback =
>  		dc_get_debug_options(dc)->hdcp_lc_enable_sw_fallback;

[Severity: High]
This problem wasn't introduced by this patch, but can enabling
use_fw_locality_check here cause a NULL pointer dereference in
execute_fused_io() [1]?

amdgpu_dm_init() only initializes adev->dm.fused_io[].replied and enables
the DMUB outbox when dc_is_dmub_outbox_supported() returns true:

drivers/gpu/drm/amd/display/dc/core/dc.c:dc_is_dmub_outbox_supported() {
	if (!dc->caps.dmcub_support)
		return false;

	switch (dc->ctx->asic_id.chip_family) {
	...
	}

	/* dmub aux needs dmub notifications to be enabled */
	return dc->debug.enable_dmub_aux_for_legacy_ddc;
}

Because dc_is_dmub_outbox_supported() does not check fused_io_supported or
hdcp_lc_force_fw_enable, it returns false on ASICs such as
AMDGPU_FAMILY_GC_13_0_1 where Fused IO is supported without DPIA or legacy
DDC DMUB AUX notifications. When an HDCP2 locality check runs,
execute_fused_io() calls wait_for_completion_timeout() on the
uninitialized completion.

[1] https://sashiko.dev/#/bug/linux-dc486f6b-5c5b-43d8-842b-cdc1ed0770b0

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261112-amdgpu-dc-cleanup-v1-0-0fae41718ad2@redhat.com?part=19

  reply	other threads:[~2026-11-12  2:14 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-12  1:43 [PATCH 00/19] drm/amd/display: refactor DC interfaces to abstract it better Dave Airlie
2026-11-12  1:43 ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 01/19] drm/amd/display: Drop the dead vmid module Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 02/19] drm/amd/display: Add DC accessors as the first step to opaque struct dc Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 03/19] drm/amd/display: Take struct dc in public DSC compute helpers Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 04/19] drm/amd/display/amdgpu_dm: Use DC accessors in audio/color/backlight paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:50   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 05/19] drm/amd/display/amdgpu_dm: Use DC accessors in psr/replay/dmub/hdcp/irq paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  2:07   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 06/19] drm/amd/display/amdgpu_dm: Use DC accessors in plane/crtc/helpers paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:58   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 07/19] drm/amd/display/amdgpu_dm: Use DC accessors in connector paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 08/19] drm/amd/display: Use DC accessors in DAL modules Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 09/19] drm/amd/display/amdgpu_dm: Use DC accessors in debugfs paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:53   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 10/19] drm/amd/display/amdgpu_dm: Use DC accessors in the DM core paths Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 11/19] drm/amd/display/amdgpu_dm: Finish DC accessor migration for non-test code Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:53   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 12/19] drm/amd/display: Migrate amdgpu_dm KUnit tests off struct dc internals Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:59   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 13/19] drm/amd/display: Move struct dc out of the public dc.h Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 14/19] drm/amd/display: Restrict the dc directory root to DC-internal builds Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  2:08   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 15/19] drm/amd/display: Add dc_force_max_dramclk for the DP compliance workaround Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  2:02   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 16/19] drm/amd/display: Add DC primitives for ABM hardware programming Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  2:01   ` sashiko-bot
2026-11-12  1:43 ` [PATCH 17/19] drm/amd/display: Replace the dc_get_res_pool accessor with purpose APIs Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  1:43 ` [PATCH 18/19] drm/amd/display: Replace dc_get_config with per-option config reads Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12 20:31   ` Harry Wentland
2026-11-12  1:43 ` [PATCH 19/19] drm/amd/display: Replace dc_get_caps with purpose-built capability queries Dave Airlie
2026-11-12  1:43   ` Dave Airlie via B4 Relay
2026-11-12  2:14   ` sashiko-bot [this message]
2026-11-12 19:41   ` Harry Wentland

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=sashiko-outbox-210166@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=airlied@redhat.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.