drm/dsi: Implement DCS {get,set}_pixel_format commands
Provide small convenience wrappers to query or set the pixel format used by the interface. Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
3d9a8fcf1c
commit
5cc0af16fc
|
@ -627,6 +627,31 @@ int mipi_dsi_dcs_get_power_mode(struct mipi_dsi_device *dsi, u8 *mode)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(mipi_dsi_dcs_get_power_mode);
|
EXPORT_SYMBOL(mipi_dsi_dcs_get_power_mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mipi_dsi_dcs_get_pixel_format() - gets the pixel format for the RGB image
|
||||||
|
* data used by the interface
|
||||||
|
* @dsi: DSI peripheral device
|
||||||
|
* @format: return location for the pixel format
|
||||||
|
*
|
||||||
|
* Return: 0 on success or a negative error code on failure.
|
||||||
|
*/
|
||||||
|
int mipi_dsi_dcs_get_pixel_format(struct mipi_dsi_device *dsi, u8 *format)
|
||||||
|
{
|
||||||
|
ssize_t err;
|
||||||
|
|
||||||
|
err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_PIXEL_FORMAT, format,
|
||||||
|
sizeof(*format));
|
||||||
|
if (err <= 0) {
|
||||||
|
if (err == 0)
|
||||||
|
err = -ENODATA;
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(mipi_dsi_dcs_get_pixel_format);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mipi_dsi_dcs_enter_sleep_mode() - disable all unnecessary blocks inside the
|
* mipi_dsi_dcs_enter_sleep_mode() - disable all unnecessary blocks inside the
|
||||||
* display module except interface communication
|
* display module except interface communication
|
||||||
|
@ -745,6 +770,27 @@ int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_on);
|
EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_on);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mipi_dsi_dcs_set_pixel_format() - sets the pixel format for the RGB image
|
||||||
|
* data used by the interface
|
||||||
|
* @dsi: DSI peripheral device
|
||||||
|
* @format: pixel format
|
||||||
|
*
|
||||||
|
* Return: 0 on success or a negative error code on failure.
|
||||||
|
*/
|
||||||
|
int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format)
|
||||||
|
{
|
||||||
|
ssize_t err;
|
||||||
|
|
||||||
|
err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_PIXEL_FORMAT, &format,
|
||||||
|
sizeof(format));
|
||||||
|
if (err < 0)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(mipi_dsi_dcs_set_pixel_format);
|
||||||
|
|
||||||
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);
|
||||||
|
|
|
@ -200,6 +200,7 @@ ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data,
|
||||||
int mipi_dsi_dcs_nop(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_nop(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_soft_reset(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_soft_reset(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_get_power_mode(struct mipi_dsi_device *dsi, u8 *mode);
|
int mipi_dsi_dcs_get_power_mode(struct mipi_dsi_device *dsi, u8 *mode);
|
||||||
|
int mipi_dsi_dcs_get_pixel_format(struct mipi_dsi_device *dsi, u8 *format);
|
||||||
int mipi_dsi_dcs_enter_sleep_mode(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_enter_sleep_mode(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_exit_sleep_mode(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_exit_sleep_mode(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_set_display_off(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_set_display_off(struct mipi_dsi_device *dsi);
|
||||||
|
@ -207,6 +208,7 @@ int mipi_dsi_dcs_set_display_on(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_set_tear_off(struct mipi_dsi_device *dsi);
|
int mipi_dsi_dcs_set_tear_off(struct mipi_dsi_device *dsi);
|
||||||
int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi,
|
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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct mipi_dsi_driver - DSI driver
|
* struct mipi_dsi_driver - DSI driver
|
||||||
|
|
Loading…
Reference in New Issue