On Fri, 13 Aug 2021, Lee Shawn C <[email protected]> wrote:
> Driver has to swap the endian before send brightness level value
> to tcon.
>
> v2: Use __be16 instead of u16 to fix sparse warning.
>
> Reported-by: kernel test robot <[email protected]>
> Cc: Ville Syrjala <[email protected]>
> Cc: Jani Nikula <[email protected]>
> Cc: Vandita Kulkarni <[email protected]>
> Cc: Cooper Chiou <[email protected]>
> Cc: William Tseng <[email protected]>
> Signed-off-by: Lee Shawn C <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c 
> b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index cd85520d36e2..71c2adfa8931 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -66,10 +66,9 @@ static void dcs_set_backlight(const struct 
> drm_connector_state *conn_state, u32
>  {
>       struct intel_dsi *intel_dsi = 
> enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
>       struct mipi_dsi_device *dsi_device;
> -     u8 data = level;
> +     __be16 data = cpu_to_be16(level);

Just discussed this with Vandita. Both the set and get brightness need
to be adjusted, and the read/write size (one or two bytes) has to depend
on the precision. From MIPI DCS spec:

        Note: It is up to display manufacturer to determine the
        implementation of this register and background logic. Only one
        parameter shall be sent for devices that support 8-bit
        brightness levels. Two parameters shall be sent for devices that
        support between 9-bit and 16-bit brightness levels.

BR,
Jani.


>       enum port port;
>  
> -     /* FIXME: Need to take care of 16 bit brightness level */
>       for_each_dsi_port(port, intel_dsi->dcs_backlight_ports) {
>               dsi_device = intel_dsi->dsi_hosts[port]->device;
>               mipi_dsi_dcs_write(dsi_device, MIPI_DCS_SET_DISPLAY_BRIGHTNESS,

-- 
Jani Nikula, Intel Open Source Graphics Center

Reply via email to