* [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid
[not found] <cover.1713273659.git.jani.nikula@intel.com>
@ 2024-04-16 13:22 ` Jani Nikula
2024-04-18 11:51 ` Maxime Ripard
2024-04-16 13:22 ` [PATCH 13/15] drm/rockchip: cdn-dp: " Jani Nikula
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2024-04-16 13:22 UTC (permalink / raw)
To: dri-devel
Cc: Jani Nikula, Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, linux-arm-kernel, linux-sunxi
Prefer struct drm_edid based functions over struct edid.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-sunxi@lists.linux.dev
---
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
index 2d1880c61b50..245b34adca5a 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
@@ -214,20 +214,24 @@ sun4i_hdmi_connector_mode_valid(struct drm_connector *connector,
static int sun4i_hdmi_get_modes(struct drm_connector *connector)
{
struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector);
- struct edid *edid;
+ const struct drm_edid *drm_edid;
int ret;
- edid = drm_get_edid(connector, hdmi->ddc_i2c ?: hdmi->i2c);
- if (!edid)
+ drm_edid = drm_edid_read_ddc(connector, hdmi->ddc_i2c ?: hdmi->i2c);
+
+ drm_edid_connector_update(connector, drm_edid);
+ cec_s_phys_addr(hdmi->cec_adap,
+ connector->display_info.source_physical_address, false);
+
+ if (!drm_edid)
return 0;
DRM_DEBUG_DRIVER("Monitor is %s monitor\n",
connector->display_info.is_hdmi ? "an HDMI" : "a DVI");
- drm_connector_update_edid_property(connector, edid);
- cec_s_phys_addr_from_edid(hdmi->cec_adap, edid);
- ret = drm_add_edid_modes(connector, edid);
- kfree(edid);
+
+ ret = drm_edid_connector_add_modes(connector);
+ drm_edid_free(drm_edid);
return ret;
}
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 13/15] drm/rockchip: cdn-dp: switch to struct drm_edid
[not found] <cover.1713273659.git.jani.nikula@intel.com>
2024-04-16 13:22 ` [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid Jani Nikula
@ 2024-04-16 13:22 ` Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
2024-04-16 13:22 ` [PATCH 14/15] drm/rockchip: inno_hdmi: " Jani Nikula
2024-04-16 13:22 ` [PATCH 15/15] drm/rockchip: rk3066_hdmi: " Jani Nikula
3 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2024-04-16 13:22 UTC (permalink / raw)
To: dri-devel
Cc: Jani Nikula, Sandy Huang, Heiko Stübner, Andy Yan,
linux-arm-kernel, linux-rockchip
Prefer struct drm_edid based functions over struct edid.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Andy Yan <andy.yan@rock-chips.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
drivers/gpu/drm/rockchip/cdn-dp-core.c | 33 +++++++++++++++-----------
drivers/gpu/drm/rockchip/cdn-dp-core.h | 2 +-
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
index a855c45ae7f3..9e3d7cb84c5d 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
@@ -262,20 +262,21 @@ static const struct drm_connector_funcs cdn_dp_atomic_connector_funcs = {
static int cdn_dp_connector_get_modes(struct drm_connector *connector)
{
struct cdn_dp_device *dp = connector_to_dp(connector);
- struct edid *edid;
int ret = 0;
mutex_lock(&dp->lock);
- edid = dp->edid;
- if (edid) {
+
+ if (dp->drm_edid) {
+ /* FIXME: get rid of drm_edid_raw() */
+ const struct edid *edid = drm_edid_raw(dp->drm_edid);
+
DRM_DEV_DEBUG_KMS(dp->dev, "got edid: width[%d] x height[%d]\n",
edid->width_cm, edid->height_cm);
- dp->sink_has_audio = drm_detect_monitor_audio(edid);
-
- drm_connector_update_edid_property(connector, edid);
- ret = drm_add_edid_modes(connector, edid);
}
+
+ ret = drm_edid_connector_add_modes(connector);
+
mutex_unlock(&dp->lock);
return ret;
@@ -380,9 +381,13 @@ static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
return ret;
}
- kfree(dp->edid);
- dp->edid = drm_do_get_edid(&dp->connector,
- cdn_dp_get_edid_block, dp);
+ drm_edid_free(dp->drm_edid);
+ dp->drm_edid = drm_edid_read_custom(&dp->connector,
+ cdn_dp_get_edid_block, dp);
+ drm_edid_connector_update(&dp->connector, dp->drm_edid);
+
+ dp->sink_has_audio = dp->connector.display_info.has_audio;
+
return 0;
}
@@ -488,8 +493,8 @@ static int cdn_dp_disable(struct cdn_dp_device *dp)
dp->max_lanes = 0;
dp->max_rate = 0;
if (!dp->connected) {
- kfree(dp->edid);
- dp->edid = NULL;
+ drm_edid_free(dp->drm_edid);
+ dp->drm_edid = NULL;
}
return 0;
@@ -1131,8 +1136,8 @@ static void cdn_dp_unbind(struct device *dev, struct device *master, void *data)
pm_runtime_disable(dev);
if (dp->fw_loaded)
release_firmware(dp->fw);
- kfree(dp->edid);
- dp->edid = NULL;
+ drm_edid_free(dp->drm_edid);
+ dp->drm_edid = NULL;
}
static const struct component_ops cdn_dp_component_ops = {
diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.h b/drivers/gpu/drm/rockchip/cdn-dp-core.h
index 5b2fed1f5f55..8e6e95d269da 100644
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.h
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.h
@@ -70,7 +70,7 @@ struct cdn_dp_device {
struct drm_display_mode mode;
struct platform_device *audio_pdev;
struct work_struct event_work;
- struct edid *edid;
+ const struct drm_edid *drm_edid;
struct mutex lock;
bool connected;
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 14/15] drm/rockchip: inno_hdmi: switch to struct drm_edid
[not found] <cover.1713273659.git.jani.nikula@intel.com>
2024-04-16 13:22 ` [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid Jani Nikula
2024-04-16 13:22 ` [PATCH 13/15] drm/rockchip: cdn-dp: " Jani Nikula
@ 2024-04-16 13:22 ` Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
2024-04-16 13:22 ` [PATCH 15/15] drm/rockchip: rk3066_hdmi: " Jani Nikula
3 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2024-04-16 13:22 UTC (permalink / raw)
To: dri-devel
Cc: Jani Nikula, Sandy Huang, Heiko Stübner, Andy Yan,
linux-arm-kernel, linux-rockchip
Prefer struct drm_edid based functions over struct edid.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Andy Yan <andy.yan@rock-chips.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
drivers/gpu/drm/rockchip/inno_hdmi.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
index 1d2261643743..3df2cfcf9998 100644
--- a/drivers/gpu/drm/rockchip/inno_hdmi.c
+++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
@@ -606,18 +606,16 @@ inno_hdmi_connector_detect(struct drm_connector *connector, bool force)
static int inno_hdmi_connector_get_modes(struct drm_connector *connector)
{
struct inno_hdmi *hdmi = connector_to_inno_hdmi(connector);
- struct edid *edid;
+ const struct drm_edid *drm_edid;
int ret = 0;
if (!hdmi->ddc)
return 0;
- edid = drm_get_edid(connector, hdmi->ddc);
- if (edid) {
- drm_connector_update_edid_property(connector, edid);
- ret = drm_add_edid_modes(connector, edid);
- kfree(edid);
- }
+ drm_edid = drm_edid_read_ddc(connector, hdmi->ddc);
+ drm_edid_connector_update(connector, drm_edid);
+ ret = drm_edid_connector_add_modes(connector);
+ drm_edid_free(drm_edid);
return ret;
}
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 15/15] drm/rockchip: rk3066_hdmi: switch to struct drm_edid
[not found] <cover.1713273659.git.jani.nikula@intel.com>
` (2 preceding siblings ...)
2024-04-16 13:22 ` [PATCH 14/15] drm/rockchip: inno_hdmi: " Jani Nikula
@ 2024-04-16 13:22 ` Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
3 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2024-04-16 13:22 UTC (permalink / raw)
To: dri-devel
Cc: Jani Nikula, Sandy Huang, Heiko Stübner, Andy Yan,
linux-arm-kernel, linux-rockchip
Prefer struct drm_edid based functions over struct edid.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: "Heiko Stübner" <heiko@sntech.de>
Cc: Andy Yan <andy.yan@rock-chips.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rockchip@lists.infradead.org
---
drivers/gpu/drm/rockchip/rk3066_hdmi.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
index 95cd1b49eda8..784de990da1b 100644
--- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
+++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
@@ -466,18 +466,16 @@ rk3066_hdmi_connector_detect(struct drm_connector *connector, bool force)
static int rk3066_hdmi_connector_get_modes(struct drm_connector *connector)
{
struct rk3066_hdmi *hdmi = connector_to_rk3066_hdmi(connector);
- struct edid *edid;
+ const struct drm_edid *drm_edid;
int ret = 0;
if (!hdmi->ddc)
return 0;
- edid = drm_get_edid(connector, hdmi->ddc);
- if (edid) {
- drm_connector_update_edid_property(connector, edid);
- ret = drm_add_edid_modes(connector, edid);
- kfree(edid);
- }
+ drm_edid = drm_edid_read_ddc(connector, hdmi->ddc);
+ drm_edid_connector_update(connector, drm_edid);
+ ret = drm_edid_connector_add_modes(connector);
+ drm_edid_free(drm_edid);
return ret;
}
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid
2024-04-16 13:22 ` [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid Jani Nikula
@ 2024-04-18 11:51 ` Maxime Ripard
0 siblings, 0 replies; 8+ messages in thread
From: Maxime Ripard @ 2024-04-18 11:51 UTC (permalink / raw)
To: Jani Nikula
Cc: dri-devel, linux-arm-kernel, linux-sunxi, Chen-Yu Tsai,
Jernej Skrabec, Maxime Ripard, Samuel Holland
On Tue, 16 Apr 2024 16:22:20 +0300, Jani Nikula wrote:
> Prefer struct drm_edid based functions over struct edid.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
Acked-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 13/15] drm/rockchip: cdn-dp: switch to struct drm_edid
2024-04-16 13:22 ` [PATCH 13/15] drm/rockchip: cdn-dp: " Jani Nikula
@ 2024-04-19 10:58 ` Heiko Stuebner
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2024-04-19 10:58 UTC (permalink / raw)
To: dri-devel, Jani Nikula
Cc: Jani Nikula, Sandy Huang, Andy Yan, linux-arm-kernel,
linux-rockchip
Am Dienstag, 16. April 2024, 15:22:27 CEST schrieb Jani Nikula:
> Prefer struct drm_edid based functions over struct edid.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 14/15] drm/rockchip: inno_hdmi: switch to struct drm_edid
2024-04-16 13:22 ` [PATCH 14/15] drm/rockchip: inno_hdmi: " Jani Nikula
@ 2024-04-19 10:58 ` Heiko Stuebner
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2024-04-19 10:58 UTC (permalink / raw)
To: dri-devel, Jani Nikula
Cc: Jani Nikula, Sandy Huang, Andy Yan, linux-arm-kernel,
linux-rockchip
Am Dienstag, 16. April 2024, 15:22:28 CEST schrieb Jani Nikula:
> Prefer struct drm_edid based functions over struct edid.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 15/15] drm/rockchip: rk3066_hdmi: switch to struct drm_edid
2024-04-16 13:22 ` [PATCH 15/15] drm/rockchip: rk3066_hdmi: " Jani Nikula
@ 2024-04-19 10:58 ` Heiko Stuebner
0 siblings, 0 replies; 8+ messages in thread
From: Heiko Stuebner @ 2024-04-19 10:58 UTC (permalink / raw)
To: dri-devel, Jani Nikula
Cc: Jani Nikula, Sandy Huang, Andy Yan, linux-arm-kernel,
linux-rockchip
Am Dienstag, 16. April 2024, 15:22:29 CEST schrieb Jani Nikula:
> Prefer struct drm_edid based functions over struct edid.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-04-19 10:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1713273659.git.jani.nikula@intel.com>
2024-04-16 13:22 ` [PATCH 06/15] drm/sun4i: hdmi: switch to struct drm_edid Jani Nikula
2024-04-18 11:51 ` Maxime Ripard
2024-04-16 13:22 ` [PATCH 13/15] drm/rockchip: cdn-dp: " Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
2024-04-16 13:22 ` [PATCH 14/15] drm/rockchip: inno_hdmi: " Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
2024-04-16 13:22 ` [PATCH 15/15] drm/rockchip: rk3066_hdmi: " Jani Nikula
2024-04-19 10:58 ` Heiko Stuebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).