Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c6287ec authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm/panel/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next

drm/panel: Changes for v3.17-rc1

Panels can now be more finely controlled via .prepare() and .unprepare()
callbacks in addition to .enable() and .disable(). New kerneldoc details
what they are supposed to do and when they should be called.

The simple panel driver gained support for a couple of new panels and it
is now possible to specify additional delays during power up and power
down sequences if panels require it.

DSI devices can now advertise that they support non-continuous clock
mode which will allow DSI host controllers to disable the high speed
clock after transmissions to save power.

* tag 'drm/panel/for-3.17-rc1' of git://anongit.freedesktop.org/tegra/linux: (30 commits)
  drm/panel: simple: Use devm_gpiod_get_optional()
  drm/dsi: Replace upcasting macro by function
  drm/panel: ld9040: Replace upcasting macro by function
  drm/exynos: dp: Modify driver to support drm_panel
  drm/exynos: Move DP setup into commit()
  drm/panel: simple: Add AUO B133HTN01 panel support
  drm/panel: simple: Support delays in panel functions
  drm/panel: simple: Add proper definition for prepare and unprepare
  drm/panel: s6e8aa0: Add proper definition for prepare and unprepare
  drm/panel: ld9040: Add proper definition for prepare and unprepare
  drm/tegra: Add support for panel prepare and unprepare routines
  drm/exynos: dsi: Add support for panel prepare and unprepare routines
  drm/exynos: dpi: Add support for panel prepare and unprepare routines
  drm/panel: simple: Add dummy prepare and unprepare routines
  drm/panel: s6e8aa0: Add dummy prepare and unprepare routines
  drm/panel: ld9040: Add dummy prepare and unprepare routines
  drm/panel: Provide convenience wrapper for .get_modes()
  drm/panel: add .prepare() and .unprepare() functions
  drm/panel: simple: Remove simple-panel compatible
  drm/panel: simple: Add Innolux N116BGE panel support
  ...
parents 21d70354 9746c619
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
AU Optronics Corporation 13.3" FHD (1920x1080) color TFT-LCD panel

Required properties:
- compatible: should be "auo,b133htn01"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
+7 −0
Original line number Diff line number Diff line
Foxlink Group 5" WVGA TFT LCD panel

Required properties:
- compatible: should be "foxlink,fl500wvr00-a0t"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
+7 −0
Original line number Diff line number Diff line
Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel

Required properties:
- compatible: should be "innolux,n116bge"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
+7 −0
Original line number Diff line number Diff line
InnoLux 15.6" WXGA TFT LCD panel

Required properties:
- compatible: should be "innolux,n156bge-l21"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
+6 −8
Original line number Diff line number Diff line
@@ -201,16 +201,15 @@ EXPORT_SYMBOL(mipi_dsi_detach);
/**
 * mipi_dsi_dcs_write - send DCS write command
 * @dsi: DSI device
 * @channel: virtual channel
 * @data: pointer to the command followed by parameters
 * @len: length of @data
 */
int mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
		       const void *data, size_t len)
ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, const void *data,
			    size_t len)
{
	const struct mipi_dsi_host_ops *ops = dsi->host->ops;
	struct mipi_dsi_msg msg = {
		.channel = channel,
		.channel = dsi->channel,
		.tx_buf = data,
		.tx_len = len
	};
@@ -239,19 +238,18 @@ EXPORT_SYMBOL(mipi_dsi_dcs_write);
/**
 * mipi_dsi_dcs_read - send DCS read request command
 * @dsi: DSI device
 * @channel: virtual channel
 * @cmd: DCS read command
 * @data: pointer to read buffer
 * @len: length of @data
 *
 * Function returns number of read bytes or error code.
 */
ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, unsigned int channel,
			  u8 cmd, void *data, size_t len)
ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data,
			  size_t len)
{
	const struct mipi_dsi_host_ops *ops = dsi->host->ops;
	struct mipi_dsi_msg msg = {
		.channel = channel,
		.channel = dsi->channel,
		.type = MIPI_DSI_DCS_READ,
		.tx_buf = &cmd,
		.tx_len = 1,
Loading