drm/vc4: txp: Move the encoder type in the variant structure

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>
This commit is contained in:
Maxime Ripard 2024-10-25 18:15:49 +01:00 committed by Dave Stevenson
parent cf1c8f63f3
commit 99f34ea894
2 changed files with 3 additions and 1 deletions

View 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;

View 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);