[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220421170725.903361-4-jose.exposito89@gmail.com>
Date: Thu, 21 Apr 2022 19:07:23 +0200
From: José Expósito <jose.exposito89@...il.com>
To: inki.dae@...sung.com
Cc: jy0922.shim@...sung.com, sw0312.kim@...sung.com,
kyungmin.park@...sung.com, airlied@...ux.ie, daniel@...ll.ch,
krzk@...nel.org, alim.akhtar@...sung.com, lgirdwood@...il.com,
broonie@...nel.org, dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
hjc@...k-chips.com, heiko@...ech.de,
linux-rockchip@...ts.infradead.org, alain.volmat@...s.st.com,
p.zabel@...gutronix.de, mripard@...nel.org, wens@...e.org,
jernej.skrabec@...il.com, samuel@...lland.org,
linux-sunxi@...ts.linux.dev, laurent.pinchart@...asonboard.com,
José Expósito <jose.exposito89@...il.com>
Subject: [PATCH 3/5] drm/rockchip: rk3066_hdmi: Replace drm_detect_hdmi_monitor() with is_hdmi
Once EDID is parsed, the monitor HDMI support information is available
through drm_display_info.is_hdmi.
This driver calls drm_detect_hdmi_monitor() to receive the same
information and stores its own cached value, which is less efficient.
Avoid calling drm_detect_hdmi_monitor() and use drm_display_info.is_hdmi
instead and also remove hdmi_data_info.sink_is_hdmi as it is no longer
necessary.
Signed-off-by: José Expósito <jose.exposito89@...il.com>
---
drivers/gpu/drm/rockchip/rk3066_hdmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 1c546c3a8998..a09dbb7d446a 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -22,7 +22,6 @@
struct hdmi_data_info {
int vic; /* The CEA Video ID (VIC) of the current drm display mode. */
- bool sink_is_hdmi;
unsigned int enc_out_format;
unsigned int colorimetry;
};
@@ -317,6 +316,8 @@ static void rk3066_hdmi_config_phy(struct rk3066_hdmi *hdmi)
static int rk3066_hdmi_setup(struct rk3066_hdmi *hdmi,
struct drm_display_mode *mode)
{
+ struct drm_display_info *display = &hdmi->connector.display_info;
+
hdmi->hdmi_data.vic = drm_match_cea_mode(mode);
hdmi->hdmi_data.enc_out_format = HDMI_COLORSPACE_RGB;
@@ -349,7 +350,7 @@ static int rk3066_hdmi_setup(struct rk3066_hdmi *hdmi,
rk3066_hdmi_config_video_timing(hdmi, mode);
- if (hdmi->hdmi_data.sink_is_hdmi) {
+ if (display->is_hdmi) {
hdmi_modb(hdmi, HDMI_HDCP_CTRL, HDMI_VIDEO_MODE_MASK,
HDMI_VIDEO_MODE_HDMI);
rk3066_hdmi_config_avi(hdmi, mode);
@@ -472,7 +473,6 @@ static int rk3066_hdmi_connector_get_modes(struct drm_connector *connector)
edid = drm_get_edid(connector, hdmi->ddc);
if (edid) {
- hdmi->hdmi_data.sink_is_hdmi = drm_detect_hdmi_monitor(edid);
drm_connector_update_edid_property(connector, edid);
ret = drm_add_edid_modes(connector, edid);
kfree(edid);
--
2.25.1
Powered by blists - more mailing lists