On 29/01/25 - 12:00, José Expósito wrote:
> Add a list of possible encoders to the connector configuration and
> helpers to attach and detach them.
> 
> Now that the default configuration has its connector and encoder
> correctly, configure the output following the configuration.
> 
> Signed-off-by: Louis Chauvet <[email protected]>
> Signed-off-by: José Expósito <[email protected]>

Co-developped-by: Louis Chauvet <[email protected]>
Signed-off-by: Louis Chauvet <[email protected]>
Signed-off-by: José Expósito <[email protected]>

> ---
>  drivers/gpu/drm/vkms/tests/vkms_config_test.c | 62 +++++++++++++++++
>  drivers/gpu/drm/vkms/vkms_config.c            | 69 +++++++++++++++++++
>  drivers/gpu/drm/vkms/vkms_config.h            | 33 +++++++++
>  drivers/gpu/drm/vkms/vkms_output.c            | 57 +++++++++++----
>  4 files changed, 209 insertions(+), 12 deletions(-)

[...]

> +int __must_check vkms_config_connector_attach_encoder(struct 
> vkms_config_connector *connector_cfg,
> +                                                   struct 
> vkms_config_encoder *encoder_cfg)
> +{
> +     struct vkms_config_encoder *possible_encoder;
> +     unsigned long idx = 0;
> +     u32 encoder_idx = 0;
> +
> +     xa_for_each(&connector_cfg->possible_encoders, idx, possible_encoder) {
> +             if (possible_encoder == encoder_cfg)
> +                     return -EINVAL;

Is this really an error? For me this should be valid: we want to attach 
the connector and the encoder, it is already the case, so it is good.

> +     }
> +
> +     return xa_alloc(&connector_cfg->possible_encoders, &encoder_idx,
> +                     encoder_cfg, xa_limit_32b, GFP_KERNEL);
> +}
> +

[...]

Reply via email to