2020-05-27 13:12:04 +00:00
|
|
|
From 84c1a6034e361078d540c9b3bc672ccae623dc03 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Maxime Ripard <maxime@cerno.tech>
|
|
|
|
Date: Tue, 7 Jan 2020 13:14:07 +0100
|
|
|
|
Subject: [PATCH] drm/vc4: hdmi: Add HDMI ID
|
|
|
|
|
|
|
|
Some operations will need us to have the raw ID of the HDMI controller
|
|
|
|
in the BCM2711, such as the encoder type to register, the name of the
|
|
|
|
debugfs files, etc.
|
|
|
|
|
|
|
|
Let's add it to our variant structure.
|
|
|
|
|
|
|
|
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|
|
|
---
|
|
|
|
drivers/gpu/drm/vc4/vc4_hdmi.c | 3 +--
|
|
|
|
drivers/gpu/drm/vc4/vc4_hdmi.h | 5 +++++
|
|
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
|
|
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
2020-10-01 13:22:00 +00:00
|
|
|
@@ -1268,11 +1268,10 @@ static int vc4_hdmi_bind(struct device *
|
2020-05-27 13:12:04 +00:00
|
|
|
vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL);
|
|
|
|
if (!vc4_hdmi)
|
|
|
|
return -ENOMEM;
|
|
|
|
-
|
|
|
|
vc4_hdmi->pdev = pdev;
|
|
|
|
variant = of_device_get_match_data(dev);
|
|
|
|
vc4_hdmi->variant = variant;
|
|
|
|
- vc4_hdmi->encoder.base.type = VC4_ENCODER_TYPE_HDMI0;
|
|
|
|
+ vc4_hdmi->encoder.base.type = variant->id ? VC4_ENCODER_TYPE_HDMI1 : VC4_ENCODER_TYPE_HDMI0;
|
|
|
|
encoder = &vc4_hdmi->encoder.base.base;
|
|
|
|
|
|
|
|
ret = variant->init_resources(vc4_hdmi);
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_hdmi.h
|
|
|
|
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.h
|
|
|
|
@@ -27,6 +27,11 @@ struct vc4_hdmi;
|
|
|
|
struct vc4_hdmi_register;
|
|
|
|
|
|
|
|
struct vc4_hdmi_variant {
|
|
|
|
+ /* On devices that have multiple, different instances (like
|
|
|
|
+ * the BCM2711), which instance is that variant useful for.
|
|
|
|
+ */
|
|
|
|
+ unsigned int id;
|
|
|
|
+
|
|
|
|
/* List of the registers available on that variant */
|
|
|
|
const struct vc4_hdmi_register *registers;
|
|
|
|
|