2021-08-21 08:54:34 +00:00
|
|
|
From b29e72769f843afeb4585c5310f8bf23c0277daf Mon Sep 17 00:00:00 2001
|
|
|
|
From: Maxime Ripard <maxime@cerno.tech>
|
|
|
|
Date: Fri, 9 Apr 2021 17:31:55 +0200
|
|
|
|
Subject: [PATCH] drm/vc4: Use the new helpers
|
|
|
|
|
|
|
|
We just introduced new helpers, so let's use them.
|
|
|
|
|
|
|
|
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|
|
|
---
|
|
|
|
drivers/gpu/drm/vc4/vc4_hdmi.c | 23 ++++-------------------
|
|
|
|
1 file changed, 4 insertions(+), 19 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
|
|
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
2022-01-27 12:08:41 +00:00
|
|
|
@@ -224,21 +224,6 @@ static int vc4_hdmi_connector_get_modes(
|
2021-08-21 08:54:34 +00:00
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static bool hdr_metadata_equal(const struct drm_connector_state *old_state,
|
|
|
|
- const struct drm_connector_state *new_state)
|
|
|
|
-{
|
|
|
|
- struct drm_property_blob *old_blob = old_state->hdr_output_metadata;
|
|
|
|
- struct drm_property_blob *new_blob = new_state->hdr_output_metadata;
|
|
|
|
-
|
|
|
|
- if (!old_blob || !new_blob)
|
|
|
|
- return old_blob == new_blob;
|
|
|
|
-
|
|
|
|
- if (old_blob->length != new_blob->length)
|
|
|
|
- return false;
|
|
|
|
-
|
|
|
|
- return !memcmp(old_blob->data, new_blob->data, old_blob->length);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector,
|
|
|
|
struct drm_atomic_state *state)
|
|
|
|
{
|
2022-01-27 12:08:41 +00:00
|
|
|
@@ -247,12 +232,13 @@ static int vc4_hdmi_connector_atomic_che
|
2021-08-21 08:54:34 +00:00
|
|
|
struct drm_connector_state *new_state =
|
|
|
|
drm_atomic_get_new_connector_state(state, connector);
|
|
|
|
struct drm_crtc *crtc = new_state->crtc;
|
|
|
|
- struct drm_crtc_state *crtc_state;
|
|
|
|
|
|
|
|
if (!crtc)
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
- if (!hdr_metadata_equal(old_state, new_state)) {
|
|
|
|
+ if (!drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) {
|
|
|
|
+ struct drm_crtc_state *crtc_state;
|
|
|
|
+
|
|
|
|
crtc_state = drm_atomic_get_crtc_state(state, crtc);
|
|
|
|
if (IS_ERR(crtc_state))
|
|
|
|
return PTR_ERR(crtc_state);
|
2022-01-27 12:08:41 +00:00
|
|
|
@@ -351,8 +337,7 @@ static int vc4_hdmi_connector_init(struc
|
2021-08-21 08:54:34 +00:00
|
|
|
connector->stereo_allowed = 1;
|
|
|
|
|
|
|
|
if (vc4_hdmi->variant->supports_hdr)
|
|
|
|
- drm_object_attach_property(&connector->base,
|
|
|
|
- connector->dev->mode_config.hdr_output_metadata_property, 0);
|
|
|
|
+ drm_connector_attach_hdr_output_metadata_property(connector);
|
|
|
|
|
|
|
|
drm_connector_attach_encoder(connector, encoder);
|
|
|
|
|