Re: [PATCH v3 1/2] drivers: gpu: drm: add driver for samsung s6e3fc2x01 cmd mode panel

From: Bjorn Andersson
Date: Sat Nov 05 2022 - 23:18:04 EST


On Sat, Oct 08, 2022 at 03:12:01PM +0200, Nia Espera wrote:
> Adds a dedicated driver for the Samsung s6e3fc2x01 panel used in OnePlus
> 6T smartphones which was previously driven by the sofef00 panel driver
>
> Signed-off-by: Nia Espera <a5b6@xxxxxxxxxx>
> Reviewed-by: Caleb Connolly <caleb@xxxxxxxxxxxxx>
> ---
> MAINTAINERS | 5 +
> drivers/gpu/drm/panel/Kconfig | 12 +
> drivers/gpu/drm/panel/Makefile | 1 +
> .../gpu/drm/panel/panel-samsung-s6e3fc2x01.c | 388 ++++++++++++++++++

git log --oneline drivers/gpu/drm/panel indicates that the $subject
prefix should be "drm/panel:"

[..]
> diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
> index 6d493b9d64fe..b54de8812e91 100644
> --- a/drivers/gpu/drm/panel/Makefile
> +++ b/drivers/gpu/drm/panel/Makefile
> @@ -56,6 +56,7 @@ obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI) += panel-samsung-s6e63m0-dsi.o
> obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01) += panel-samsung-s6e88a0-ams452ef01.o
> obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) += panel-samsung-s6e8aa0.o
> obj-$(CONFIG_DRM_PANEL_SAMSUNG_SOFEF00) += panel-samsung-sofef00.o
> +obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3FC2X01) += panel-samsung-s6e3fc2x01.o
> obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o
> obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o
> obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
> diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c b/drivers/gpu/drm/panel/panel-samsung-s6e3fc2x01.c
[..]
> +static int s6e3fc2x01_panel_bl_update_status(struct backlight_device *bl)
> +{
> + struct mipi_dsi_device *dsi = bl_get_data(bl);
> + int err;
> + u16 brightness;
> +
> + brightness = (u16)backlight_get_brightness(bl);
> + // This panel needs the high and low bytes swapped for the brightness value

/* */ please

> + brightness = __swab16(brightness);
> +
> + err = mipi_dsi_dcs_set_display_brightness(dsi, brightness);

This returns a valid <= 0, so it would be nicer with just

return mipi_dsi_dsc_set_display_brightness(...);

> + if (err < 0)
> + return err;
> +
> + return 0;
> +}
> +
> +static const struct backlight_ops s6e3fc2x01_panel_bl_ops = {
> + .update_status = s6e3fc2x01_panel_bl_update_status,
> +};
> +

Regards,
Bjorn