From: Jani Nikula <jani.nikula@intel.com> To: dri-devel@lists.freedesktop.org Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org, Xinhui <Xinhui.Pan@amd.com>, amd-gfx@lists.freedesktop.org, "Alex Deucher" <alexander.deucher@amd.com>, "Christian König" <christian.koenig@amd.com>, Pan@freedesktop.org Subject: [PATCH 04/12] drm/radeon: remove radeon_connector_edid() and stop using edid_blob_ptr Date: Thu, 30 Mar 2023 18:39:41 +0300 [thread overview] Message-ID: <e4cb7b0c7217511429e69c1c78729f0e864c5b24.1680190534.git.jani.nikula@intel.com> (raw) In-Reply-To: <cover.1680190534.git.jani.nikula@intel.com> radeon_connector_edid() copies the EDID from edid_blob_ptr as a side effect if radeon_connector->edid isn't initialized. However, everywhere that the returned EDID is used, the EDID should have been set beforehands. Only the EDID code and sysfs should look at the EDID property, anyway, so stop using it. Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Pan, Xinhui <Xinhui.Pan@amd.com> Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/radeon/radeon_audio.c | 5 ++--- drivers/gpu/drm/radeon/radeon_connectors.c | 15 --------------- drivers/gpu/drm/radeon/radeon_mode.h | 2 -- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_audio.c b/drivers/gpu/drm/radeon/radeon_audio.c index 947de91e13f6..759b5dfaca15 100644 --- a/drivers/gpu/drm/radeon/radeon_audio.c +++ b/drivers/gpu/drm/radeon/radeon_audio.c @@ -309,7 +309,7 @@ static void radeon_audio_write_sad_regs(struct drm_encoder *encoder) if (!connector) return; - sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sads); + sad_count = drm_edid_to_sad(radeon_connector->edid, &sads); if (sad_count < 0) DRM_ERROR("Couldn't read SADs: %d\n", sad_count); if (sad_count <= 0) @@ -332,8 +332,7 @@ static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder) if (!connector) return; - sad_count = drm_edid_to_speaker_allocation(radeon_connector_edid(connector), - &sadb); + sad_count = drm_edid_to_speaker_allocation(radeon_connector->edid, &sadb); if (sad_count < 0) { DRM_DEBUG("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index adebf8e9d2bd..99e8f387fe21 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -256,21 +256,6 @@ static struct drm_encoder *radeon_find_encoder(struct drm_connector *connector, return NULL; } -struct edid *radeon_connector_edid(struct drm_connector *connector) -{ - struct radeon_connector *radeon_connector = to_radeon_connector(connector); - struct drm_property_blob *edid_blob = connector->edid_blob_ptr; - - if (radeon_connector->edid) { - return radeon_connector->edid; - } else if (edid_blob) { - struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); - if (edid) - radeon_connector->edid = edid; - } - return radeon_connector->edid; -} - static void radeon_connector_get_edid(struct drm_connector *connector) { struct drm_device *dev = connector->dev; diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 3a59d016e8cd..ab71a744d2b2 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -708,8 +708,6 @@ extern u16 radeon_connector_encoder_get_dp_bridge_encoder_id(struct drm_connecto extern bool radeon_connector_is_dp12_capable(struct drm_connector *connector); extern int radeon_get_monitor_bpc(struct drm_connector *connector); -extern struct edid *radeon_connector_edid(struct drm_connector *connector); - extern void radeon_connector_hotplug(struct drm_connector *connector); extern int radeon_dp_mode_valid_helper(struct drm_connector *connector, struct drm_display_mode *mode); -- 2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Jani Nikula <jani.nikula@intel.com> To: dri-devel@lists.freedesktop.org Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org, Xinhui <Xinhui.Pan@amd.com>, amd-gfx@lists.freedesktop.org, "Alex Deucher" <alexander.deucher@amd.com>, "Christian König" <christian.koenig@amd.com>, Pan@freedesktop.org Subject: [Intel-gfx] [PATCH 04/12] drm/radeon: remove radeon_connector_edid() and stop using edid_blob_ptr Date: Thu, 30 Mar 2023 18:39:41 +0300 [thread overview] Message-ID: <e4cb7b0c7217511429e69c1c78729f0e864c5b24.1680190534.git.jani.nikula@intel.com> (raw) In-Reply-To: <cover.1680190534.git.jani.nikula@intel.com> radeon_connector_edid() copies the EDID from edid_blob_ptr as a side effect if radeon_connector->edid isn't initialized. However, everywhere that the returned EDID is used, the EDID should have been set beforehands. Only the EDID code and sysfs should look at the EDID property, anyway, so stop using it. Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Pan, Xinhui <Xinhui.Pan@amd.com> Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/radeon/radeon_audio.c | 5 ++--- drivers/gpu/drm/radeon/radeon_connectors.c | 15 --------------- drivers/gpu/drm/radeon/radeon_mode.h | 2 -- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_audio.c b/drivers/gpu/drm/radeon/radeon_audio.c index 947de91e13f6..759b5dfaca15 100644 --- a/drivers/gpu/drm/radeon/radeon_audio.c +++ b/drivers/gpu/drm/radeon/radeon_audio.c @@ -309,7 +309,7 @@ static void radeon_audio_write_sad_regs(struct drm_encoder *encoder) if (!connector) return; - sad_count = drm_edid_to_sad(radeon_connector_edid(connector), &sads); + sad_count = drm_edid_to_sad(radeon_connector->edid, &sads); if (sad_count < 0) DRM_ERROR("Couldn't read SADs: %d\n", sad_count); if (sad_count <= 0) @@ -332,8 +332,7 @@ static void radeon_audio_write_speaker_allocation(struct drm_encoder *encoder) if (!connector) return; - sad_count = drm_edid_to_speaker_allocation(radeon_connector_edid(connector), - &sadb); + sad_count = drm_edid_to_speaker_allocation(radeon_connector->edid, &sadb); if (sad_count < 0) { DRM_DEBUG("Couldn't read Speaker Allocation Data Block: %d\n", sad_count); diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index adebf8e9d2bd..99e8f387fe21 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -256,21 +256,6 @@ static struct drm_encoder *radeon_find_encoder(struct drm_connector *connector, return NULL; } -struct edid *radeon_connector_edid(struct drm_connector *connector) -{ - struct radeon_connector *radeon_connector = to_radeon_connector(connector); - struct drm_property_blob *edid_blob = connector->edid_blob_ptr; - - if (radeon_connector->edid) { - return radeon_connector->edid; - } else if (edid_blob) { - struct edid *edid = kmemdup(edid_blob->data, edid_blob->length, GFP_KERNEL); - if (edid) - radeon_connector->edid = edid; - } - return radeon_connector->edid; -} - static void radeon_connector_get_edid(struct drm_connector *connector) { struct drm_device *dev = connector->dev; diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 3a59d016e8cd..ab71a744d2b2 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -708,8 +708,6 @@ extern u16 radeon_connector_encoder_get_dp_bridge_encoder_id(struct drm_connecto extern bool radeon_connector_is_dp12_capable(struct drm_connector *connector); extern int radeon_get_monitor_bpc(struct drm_connector *connector); -extern struct edid *radeon_connector_edid(struct drm_connector *connector); - extern void radeon_connector_hotplug(struct drm_connector *connector); extern int radeon_dp_mode_valid_helper(struct drm_connector *connector, struct drm_display_mode *mode); -- 2.39.2
next prev parent reply other threads:[~2023-03-30 15:40 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-03-30 15:39 [Nouveau] [PATCH 00/12] drm: reduce drm_detect_monitor_audio/drm_detect_hdmi_monitor/edid_blob_ptr usage Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [PATCH 01/12] drm/edid: parse display info has_audio similar to is_hdmi Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] [PATCH 02/12] drm/nouveau: convert to using is_hdmi and has_audio from display info Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [Nouveau] " Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] [PATCH 03/12] drm/radeon: " Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` Jani Nikula [this message] 2023-03-30 15:39 ` [Intel-gfx] [PATCH 04/12] drm/radeon: remove radeon_connector_edid() and stop using edid_blob_ptr Jani Nikula 2023-03-30 20:13 ` kernel test robot 2023-03-30 20:13 ` [Intel-gfx] " kernel test robot 2023-03-30 20:13 ` kernel test robot 2023-03-30 20:13 ` kernel test robot 2023-03-30 20:13 ` [Intel-gfx] " kernel test robot 2023-03-30 20:13 ` kernel test robot 2023-03-31 8:50 ` Jani Nikula 2023-03-31 8:50 ` [Intel-gfx] " Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] [PATCH 05/12] drm/amdgpu: remove amdgpu_connector_edid() " Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] [PATCH 06/12] drm/i915/debugfs: " Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] [PATCH 07/12] drm/exynos: fix is_hdmi usage Jani Nikula 2023-03-30 15:39 ` Jani Nikula 2023-03-30 15:39 ` [PATCH 08/12] drm/i2c/tda998x: convert to using has_audio from display_info Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 15:39 ` [PATCH 09/12] drm/sti/sti_hdmi: convert to using is_hdmi from display info Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 15:39 ` [PATCH 10/12] drm/rockchip: cdn-dp: call drm_connector_update_edid_property() unconditionally Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 16:38 ` Heiko Stübner 2023-03-30 16:38 ` [Intel-gfx] " Heiko Stübner 2023-03-30 15:39 ` [PATCH 11/12] drm/rockchip: convert to using has_audio from display_info Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 16:39 ` Heiko Stübner 2023-03-30 16:39 ` [Intel-gfx] " Heiko Stübner 2023-03-30 15:39 ` [PATCH 12/12] drm/connector: update edid_blob_ptr documentation Jani Nikula 2023-03-30 15:39 ` [Intel-gfx] " Jani Nikula 2023-03-30 20:12 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm: reduce drm_detect_monitor_audio/drm_detect_hdmi_monitor/edid_blob_ptr usage Patchwork 2023-03-30 20:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2023-03-31 18:52 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=e4cb7b0c7217511429e69c1c78729f0e864c5b24.1680190534.git.jani.nikula@intel.com \ --to=jani.nikula@intel.com \ --cc=Pan@freedesktop.org \ --cc=Xinhui.Pan@amd.com \ --cc=alexander.deucher@amd.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=christian.koenig@amd.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.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: linkBe 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.