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

Commit 8446956e authored by Thierry Reding's avatar Thierry Reding
Browse files

drm/gma500: mdfld: Reuse video/mipi_display.h



The GMA500 driver redefines many constants already found in the generic
header. Replace uses of the custom defines by the standard ones and get
rid of the duplicate defininitions.

Acked-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 2f763312
Loading
Loading
Loading
Loading
+31 −44
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
 */

#include <linux/freezer.h>
#include <video/mipi_display.h>

#include "mdfld_dsi_output.h"
#include "mdfld_dsi_pkg_sender.h"
@@ -32,20 +33,6 @@

#define MDFLD_DSI_READ_MAX_COUNT		5000

enum data_type {
	DSI_DT_GENERIC_SHORT_WRITE_0	= 0x03,
	DSI_DT_GENERIC_SHORT_WRITE_1	= 0x13,
	DSI_DT_GENERIC_SHORT_WRITE_2	= 0x23,
	DSI_DT_GENERIC_READ_0		= 0x04,
	DSI_DT_GENERIC_READ_1		= 0x14,
	DSI_DT_GENERIC_READ_2		= 0x24,
	DSI_DT_GENERIC_LONG_WRITE	= 0x29,
	DSI_DT_DCS_SHORT_WRITE_0	= 0x05,
	DSI_DT_DCS_SHORT_WRITE_1	= 0x15,
	DSI_DT_DCS_READ			= 0x06,
	DSI_DT_DCS_LONG_WRITE		= 0x39,
};

enum {
	MDFLD_DSI_PANEL_MODE_SLEEP = 0x1,
};
@@ -321,9 +308,9 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
	u8 cmd;

	switch (data_type) {
	case DSI_DT_DCS_SHORT_WRITE_0:
	case DSI_DT_DCS_SHORT_WRITE_1:
	case DSI_DT_DCS_LONG_WRITE:
	case MIPI_DSI_DCS_SHORT_WRITE:
	case MIPI_DSI_DCS_SHORT_WRITE_PARAM:
	case MIPI_DSI_DCS_LONG_WRITE:
		cmd = *data;
		break;
	default:
@@ -334,12 +321,12 @@ static int send_pkg_prepare(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
	sender->status = MDFLD_DSI_PKG_SENDER_BUSY;

	/*wait for 120 milliseconds in case exit_sleep_mode just be sent*/
	if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
	if (unlikely(cmd == MIPI_DCS_ENTER_SLEEP_MODE)) {
		/*TODO: replace it with msleep later*/
		mdelay(120);
	}

	if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
	if (unlikely(cmd == MIPI_DCS_EXIT_SLEEP_MODE)) {
		/*TODO: replace it with msleep later*/
		mdelay(120);
	}
@@ -352,9 +339,9 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
	u8 cmd;

	switch (data_type) {
	case DSI_DT_DCS_SHORT_WRITE_0:
	case DSI_DT_DCS_SHORT_WRITE_1:
	case DSI_DT_DCS_LONG_WRITE:
	case MIPI_DSI_DCS_SHORT_WRITE:
	case MIPI_DSI_DCS_SHORT_WRITE_PARAM:
	case MIPI_DSI_DCS_LONG_WRITE:
		cmd = *data;
		break;
	default:
@@ -362,15 +349,15 @@ static int send_pkg_done(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
	}

	/*update panel status*/
	if (unlikely(cmd == DCS_ENTER_SLEEP_MODE)) {
	if (unlikely(cmd == MIPI_DCS_ENTER_SLEEP_MODE)) {
		sender->panel_mode |= MDFLD_DSI_PANEL_MODE_SLEEP;
		/*TODO: replace it with msleep later*/
		mdelay(120);
	} else if (unlikely(cmd == DCS_EXIT_SLEEP_MODE)) {
	} else if (unlikely(cmd == MIPI_DCS_EXIT_SLEEP_MODE)) {
		sender->panel_mode &= ~MDFLD_DSI_PANEL_MODE_SLEEP;
		/*TODO: replace it with msleep later*/
		mdelay(120);
	} else if (unlikely(cmd == DCS_SOFT_RESET)) {
	} else if (unlikely(cmd == MIPI_DCS_SOFT_RESET)) {
		/*TODO: replace it with msleep later*/
		mdelay(5);
	}
@@ -405,19 +392,19 @@ static int send_pkg(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
	}

	switch (data_type) {
	case DSI_DT_GENERIC_SHORT_WRITE_0:
	case DSI_DT_GENERIC_SHORT_WRITE_1:
	case DSI_DT_GENERIC_SHORT_WRITE_2:
	case DSI_DT_GENERIC_READ_0:
	case DSI_DT_GENERIC_READ_1:
	case DSI_DT_GENERIC_READ_2:
	case DSI_DT_DCS_SHORT_WRITE_0:
	case DSI_DT_DCS_SHORT_WRITE_1:
	case DSI_DT_DCS_READ:
	case MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM:
	case MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM:
	case MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM:
	case MIPI_DSI_GENERIC_READ_REQUEST_0_PARAM:
	case MIPI_DSI_GENERIC_READ_REQUEST_1_PARAM:
	case MIPI_DSI_GENERIC_READ_REQUEST_2_PARAM:
	case MIPI_DSI_DCS_SHORT_WRITE:
	case MIPI_DSI_DCS_SHORT_WRITE_PARAM:
	case MIPI_DSI_DCS_READ:
		ret = send_short_pkg(sender, data_type, data[0], data[1], hs);
		break;
	case DSI_DT_GENERIC_LONG_WRITE:
	case DSI_DT_DCS_LONG_WRITE:
	case MIPI_DSI_GENERIC_LONG_WRITE:
	case MIPI_DSI_DCS_LONG_WRITE:
		ret = send_long_pkg(sender, data_type, data, len, hs);
		break;
	}
@@ -440,7 +427,7 @@ int mdfld_dsi_send_mcs_long(struct mdfld_dsi_pkg_sender *sender, u8 *data,
	}

	spin_lock_irqsave(&sender->lock, flags);
	send_pkg(sender, DSI_DT_DCS_LONG_WRITE, data, len, hs);
	send_pkg(sender, MIPI_DSI_DCS_LONG_WRITE, data, len, hs);
	spin_unlock_irqrestore(&sender->lock, flags);

	return 0;
@@ -461,10 +448,10 @@ int mdfld_dsi_send_mcs_short(struct mdfld_dsi_pkg_sender *sender, u8 cmd,
	data[0] = cmd;

	if (param_num) {
		data_type = DSI_DT_DCS_SHORT_WRITE_1;
		data_type = MIPI_DSI_DCS_SHORT_WRITE_PARAM;
		data[1] = param;
	} else {
		data_type = DSI_DT_DCS_SHORT_WRITE_0;
		data_type = MIPI_DSI_DCS_SHORT_WRITE;
		data[1] = 0;
	}

@@ -489,17 +476,17 @@ int mdfld_dsi_send_gen_short(struct mdfld_dsi_pkg_sender *sender, u8 param0,

	switch (param_num) {
	case 0:
		data_type = DSI_DT_GENERIC_SHORT_WRITE_0;
		data_type = MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM;
		data[0] = 0;
		data[1] = 0;
		break;
	case 1:
		data_type = DSI_DT_GENERIC_SHORT_WRITE_1;
		data_type = MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM;
		data[0] = param0;
		data[1] = 0;
		break;
	case 2:
		data_type = DSI_DT_GENERIC_SHORT_WRITE_2;
		data_type = MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM;
		data[0] = param0;
		data[1] = param1;
		break;
@@ -523,7 +510,7 @@ int mdfld_dsi_send_gen_long(struct mdfld_dsi_pkg_sender *sender, u8 *data,
	}

	spin_lock_irqsave(&sender->lock, flags);
	send_pkg(sender, DSI_DT_GENERIC_LONG_WRITE, data, len, hs);
	send_pkg(sender, MIPI_DSI_GENERIC_LONG_WRITE, data, len, hs);
	spin_unlock_irqrestore(&sender->lock, flags);

	return 0;
@@ -594,7 +581,7 @@ int mdfld_dsi_read_mcs(struct mdfld_dsi_pkg_sender *sender, u8 cmd,
		return -EINVAL;
	}

	return __read_panel_data(sender, DSI_DT_DCS_READ, &cmd, 1,
	return __read_panel_data(sender, MIPI_DSI_DCS_READ, &cmd, 1,
				data, len, hs);
}

+0 −12
Original line number Diff line number Diff line
@@ -62,18 +62,6 @@ struct mdfld_dsi_pkg_sender {
	u32 mipi_cmd_len_reg;
};

/* DCS definitions */
#define DCS_SOFT_RESET			0x01
#define DCS_ENTER_SLEEP_MODE		0x10
#define DCS_EXIT_SLEEP_MODE		0x11
#define DCS_SET_DISPLAY_OFF		0x28
#define DCS_SET_DISPLAY_ON		0x29
#define DCS_SET_COLUMN_ADDRESS		0x2a
#define DCS_SET_PAGE_ADDRESS		0x2b
#define DCS_WRITE_MEM_START		0x2c
#define DCS_SET_TEAR_OFF		0x34
#define DCS_SET_TEAR_ON			0x35

extern int mdfld_dsi_pkg_sender_init(struct mdfld_dsi_connector *dsi_connector,
					int pipe);
extern void mdfld_dsi_pkg_sender_destroy(struct mdfld_dsi_pkg_sender *sender);