drm/dsi: Implement DCS set/get display brightness
Provide a small convenience wrapper that set/get the display brightness. Cc: John Stultz <john.stultz@linaro.org> Cc: Sumit Semwal <sumit.semwal@linaro.org> Cc: Archit Taneja <archit.taneja@gmail.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
bbdcf516a6
commit
1a9d759331
|
@ -1041,6 +1041,55 @@ int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device *dsi, u16 scanline)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_scanline);
|
EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_scanline);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mipi_dsi_dcs_set_display_brightness() - sets the brightness value of the
|
||||||
|
* display
|
||||||
|
* @dsi: DSI peripheral device
|
||||||
|
* @brightness: brightness value
|
||||||
|
*
|
||||||
|
* Return: 0 on success or a negative error code on failure.
|
||||||
|
*/
|
||||||
|
int mipi_dsi_dcs_set_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
|
u16 brightness)
|
||||||
|
{
|
||||||
|
u8 payload[2] = { brightness & 0xff, brightness >> 8 };
|
||||||
|
ssize_t err;
|
||||||
|
|
||||||
|
err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_DISPLAY_BRIGHTNESS,
|
||||||
|
payload, sizeof(payload));
|
||||||
|
if (err < 0)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(mipi_dsi_dcs_set_display_brightness);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mipi_dsi_dcs_get_display_brightness() - gets the current brightness value
|
||||||
|
* of the display
|
||||||
|
* @dsi: DSI peripheral device
|
||||||
|
* @brightness: brightness value
|
||||||
|
*
|
||||||
|
* Return: 0 on success or a negative error code on failure.
|
||||||
|
*/
|
||||||
|
int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
|
u16 *brightness)
|
||||||
|
{
|
||||||
|
ssize_t err;
|
||||||
|
|
||||||
|
err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_DISPLAY_BRIGHTNESS,
|
||||||
|
brightness, sizeof(*brightness));
|
||||||
|
if (err <= 0) {
|
||||||
|
if (err == 0)
|
||||||
|
err = -ENODATA;
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness);
|
||||||
|
|
||||||
static int mipi_dsi_drv_probe(struct device *dev)
|
static int mipi_dsi_drv_probe(struct device *dev)
|
||||||
{
|
{
|
||||||
struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver);
|
struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver);
|
||||||
|
|
|
@ -270,6 +270,10 @@ int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi,
|
||||||
enum mipi_dsi_dcs_tear_mode mode);
|
enum mipi_dsi_dcs_tear_mode mode);
|
||||||
int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format);
|
int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format);
|
||||||
int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device *dsi, u16 scanline);
|
int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device *dsi, u16 scanline);
|
||||||
|
int mipi_dsi_dcs_set_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
|
u16 brightness);
|
||||||
|
int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
|
u16 *brightness);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct mipi_dsi_driver - DSI driver
|
* struct mipi_dsi_driver - DSI driver
|
||||||
|
|
Loading…
Reference in New Issue