drm/vc4: txp: Move the encoder type in the variant structure
authorMaxime Ripard <mripard@kernel.org>
Fri, 25 Oct 2024 17:15:49 +0000 (18:15 +0100)
committerDave Stevenson <dave.stevenson@raspberrypi.com>
Wed, 27 Nov 2024 14:37:20 +0000 (14:37 +0000)
We'll have multiple TXP instances in the BCM2712, so we can't use a
single encoder type anymore. Let's tie the encoder type to the
compatible.

Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20241025-drm-vc4-2712-support-v2-18-35efa83c8fc0@raspberrypi.com
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/vc4/vc4_txp.c

index 34e72e711a17a0fc5d54387f7aeccf21a7270c74..70b7a771ff47bc452bb74a914003cb37e4ef1639 100644 (file)
@@ -538,6 +538,7 @@ struct vc4_crtc_data {
 
 struct vc4_txp_data {
        struct vc4_crtc_data    base;
+       enum vc4_encoder_type encoder_type;
        unsigned int high_addr_ptr_reg;
        unsigned int has_byte_enable:1;
        unsigned int size_minus_one:1;
index c2726ccde1cf8a9979b7a50387b49d44b2de28c8..ecd2fc5edf454a0e310782bf6c323067bb528f0a 100644 (file)
@@ -515,6 +515,7 @@ const struct vc4_txp_data bcm2835_txp_data = {
                .hvs_available_channels = BIT(2),
                .hvs_output = 2,
        },
+       .encoder_type = VC4_ENCODER_TYPE_TXP,
        .has_byte_enable = true,
 };
 
@@ -558,7 +559,7 @@ static int vc4_txp_bind(struct device *dev, struct device *master, void *data)
                return ret;
 
        vc4_encoder = &txp->encoder;
-       txp->encoder.type = VC4_ENCODER_TYPE_TXP;
+       txp->encoder.type = txp_data->encoder_type;
 
        encoder = &vc4_encoder->base;
        encoder->possible_crtcs = drm_crtc_mask(&vc4_crtc->base);