[PATCH 1/3] drm: atmel-hlcdc: add support for LVDS encoder type
Manikandan.M at microchip.com
Manikandan.M at microchip.com
Tue Jan 28 05:03:45 UTC 2025
Hi,
A gentle reminder to review this series.
On 21/11/24 2:53 pm, Manikandan Muralidharan wrote:
> From: Dharma Balasubiramani <dharma.b at microchip.com>
>
> Add support for encoder type "DRM_MODE_ENCODER_LVDS" with the following
> bus formats:
> - RGB888_1X7X4_SPWG
> - RGB888_1X7X4_JEIDA
> - RGB666_1X7X3_SPWG
> - RGB666_1X18
>
> Signed-off-by: Dharma Balasubiramani <dharma.b at microchip.com>
> [manikandan.m at microchip.com: move modifications inside the
> atmel_xlcdc_connector_output_lvds fn]
> Signed-off-by: Manikandan Muralidharan <manikandan.m at microchip.com>
> ---
> .../gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 38 +++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> index 0f7ffb3ced20..0e709047369a 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> @@ -356,6 +356,42 @@ static int atmel_xlcdc_connector_output_dsi(struct drm_encoder *encoder,
> return supported_fmts;
> }
>
> +static int atmel_xlcdc_connector_output_lvds(struct drm_encoder *encoder,
> + struct drm_display_info *info)
> +{
> + int j;
> + unsigned int supported_fmts = 0;
> +
> + switch (atmel_hlcdc_encoder_get_bus_fmt(encoder)) {
> + case 0:
> + break;
> + case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG:
> + case MEDIA_BUS_FMT_RGB666_1X18:
> + return ATMEL_HLCDC_RGB666_OUTPUT;
> + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG:
> + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA:
> + return ATMEL_HLCDC_RGB888_OUTPUT;
> + default:
> + return -EINVAL;
> + }
> +
> + for (j = 0; j < info->num_bus_formats; j++) {
> + switch (info->bus_formats[j]) {
> + case MEDIA_BUS_FMT_RGB666_1X7X3_SPWG:
> + case MEDIA_BUS_FMT_RGB666_1X18:
> + supported_fmts |= ATMEL_HLCDC_RGB666_OUTPUT;
> + break;
> + case MEDIA_BUS_FMT_RGB888_1X7X4_SPWG:
> + case MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA:
> + supported_fmts |= ATMEL_HLCDC_RGB888_OUTPUT;
> + break;
> + default:
> + break;
> + }
> + }
> + return supported_fmts;
> +}
> +
> static int atmel_hlcdc_connector_output_mode(struct drm_connector_state *state)
> {
> struct drm_connector *connector = state->connector;
> @@ -374,6 +410,8 @@ static int atmel_hlcdc_connector_output_mode(struct drm_connector_state *state)
> */
> if (encoder->encoder_type == DRM_MODE_ENCODER_DSI)
> return atmel_xlcdc_connector_output_dsi(encoder, info);
> + else if (encoder->encoder_type == DRM_MODE_ENCODER_LVDS)
> + return atmel_xlcdc_connector_output_lvds(encoder, info);
>
> switch (atmel_hlcdc_encoder_get_bus_fmt(encoder)) {
> case 0:
--
Thanks and Regards,
Manikandan M.
More information about the dri-devel
mailing list