--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -56,6 +56,14 @@
+@@ -57,6 +57,14 @@
#include "vc4_hdmi_regs.h"
#include "vc4_regs.h"
#define VC5_HDMI_HORZA_HFP_SHIFT 16
#define VC5_HDMI_HORZA_HFP_MASK VC4_MASK(28, 16)
#define VC5_HDMI_HORZA_VPOS BIT(15)
-@@ -135,6 +143,10 @@ static bool vc4_hdmi_is_full_range_rgb(s
+@@ -136,6 +144,10 @@ static bool vc4_hdmi_is_full_range_rgb(s
{
struct vc4_hdmi_encoder *vc4_encoder = &vc4_hdmi->encoder;
return !vc4_encoder->hdmi_monitor ||
drm_default_rgb_quant_range(mode) == HDMI_QUANTIZATION_RANGE_FULL;
}
-@@ -341,6 +353,65 @@ static int vc4_hdmi_connector_atomic_che
+@@ -342,6 +354,65 @@ static int vc4_hdmi_connector_atomic_che
return 0;
}
static void vc4_hdmi_connector_reset(struct drm_connector *connector)
{
struct vc4_hdmi_connector_state *old_state =
-@@ -377,6 +448,7 @@ vc4_hdmi_connector_duplicate_state(struc
+@@ -378,6 +449,7 @@ vc4_hdmi_connector_duplicate_state(struc
new_state->pixel_rate = vc4_state->pixel_rate;
new_state->output_bpc = vc4_state->output_bpc;
new_state->output_format = vc4_state->output_format;
__drm_atomic_helper_connector_duplicate_state(connector, &new_state->base);
return &new_state->base;
-@@ -389,6 +461,8 @@ static const struct drm_connector_funcs
+@@ -390,6 +462,8 @@ static const struct drm_connector_funcs
.reset = vc4_hdmi_connector_reset,
.atomic_duplicate_state = vc4_hdmi_connector_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
};
static const struct drm_connector_helper_funcs vc4_hdmi_connector_helper_funcs = {
-@@ -396,6 +470,32 @@ static const struct drm_connector_helper
+@@ -397,6 +471,32 @@ static const struct drm_connector_helper
.atomic_check = vc4_hdmi_connector_atomic_check,
};
static int vc4_hdmi_connector_init(struct drm_device *dev,
struct vc4_hdmi *vc4_hdmi)
{
-@@ -439,6 +539,8 @@ static int vc4_hdmi_connector_init(struc
+@@ -440,6 +540,8 @@ static int vc4_hdmi_connector_init(struc
if (vc4_hdmi->variant->supports_hdr)
drm_connector_attach_hdr_output_metadata_property(connector);
drm_connector_attach_encoder(connector, encoder);
return 0;
-@@ -1384,6 +1486,7 @@ static void vc4_hdmi_encoder_atomic_mode
+@@ -1385,6 +1487,7 @@ static void vc4_hdmi_encoder_atomic_mode
mutex_lock(&vc4_hdmi->mutex);
vc4_hdmi->output_bpc = vc4_state->output_bpc;
vc4_hdmi->output_format = vc4_state->output_format;