Re: [PATCH 1/3] drm: atmel-hlcdc: add support for LVDS encoder type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

A gentle reminder to review this series.

On 21/11/24 2:53 pm, Manikandan Muralidharan wrote:
> From: Dharma Balasubiramani <dharma.b@xxxxxxxxxxxxx>
> 
> 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@xxxxxxxxxxxxx>
> [manikandan.m@xxxxxxxxxxxxx: move modifications inside the
> atmel_xlcdc_connector_output_lvds fn]
> Signed-off-by: Manikandan Muralidharan <manikandan.m@xxxxxxxxxxxxx>
> ---
>   .../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.





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux