aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch b/target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch
new file mode 100644
index 0000000000..2f1d1799a0
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch
@@ -0,0 +1,41 @@
+From 7109030996578e85610f30dc60c04c952e87fb2a Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Thu, 25 Feb 2021 14:42:03 +0100
+Subject: [PATCH] drm/vc4: hvs: Make the HVS bind first
+
+We'll need to have the HVS binding before the HDMI controllers so that
+we can check whether the firmware allows to run in 4kp60. Reorder a bit
+the component list, and document the current constraints we're aware of.
+
+Acked-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ drivers/gpu/drm/vc4/vc4_drv.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_drv.c
++++ b/drivers/gpu/drm/vc4/vc4_drv.c
+@@ -354,12 +354,21 @@ static const struct component_master_ops
+ .unbind = vc4_drm_unbind,
+ };
+
++/*
++ * This list determines the binding order of our components, and we have
++ * a few constraints:
++ * - The TXP driver needs to be bound before the PixelValves (CRTC)
++ * but after the HVS to set the possible_crtc field properly
++ * - The HDMI driver needs to be bound after the HVS so that we can
++ * lookup the HVS maximum core clock rate and figure out if we
++ * support 4kp60 or not.
++ */
+ static struct platform_driver *const component_drivers[] = {
++ &vc4_hvs_driver,
+ &vc4_hdmi_driver,
+ &vc4_vec_driver,
+ &vc4_dpi_driver,
+ &vc4_dsi_driver,
+- &vc4_hvs_driver,
+ &vc4_txp_driver,
+ &vc4_crtc_driver,
+ &vc4_firmware_kms_driver,