Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1488764 > unrolled thread

[PATCH v2 00/23] drm/omap: Convert to use videomode from omap_video_timings

Started byPeter Ujfalusi <peter.ujfalusi@ti.com>
First post2016-09-22 13:10 +0200
Last post2016-09-22 13:20 +0200
Articles 20 on this page of 22 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 00/23] drm/omap: Convert to use videomode from omap_video_timings Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 21/23] drm/omap: panel-tpo-td028ttec1: Add note for incorrect sync drive edge Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 10/23] drm/omap: omap_display_timings: Use display_flags for interlace mode Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 23/23] drm/omap: panel-lgphilips-lb035q02: Add note for incorrect data drive edge and DE level Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 05/23] drm/omap: omap_display_timings: rename hbp to hback_porch Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 17/23] drm/omap: Change the types of struct omap_video_timings members Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 20/23] drm/omap: panel-tpo-td043mtea1: Add note for incorrect sync drive edge Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 22/23] drm/omap: panel-sharp-ls037v7dw01: Add note for incorrect data drive edge Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 02/23] drm/omap: omap_display_timings: rename y_res to vactive Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 14/23] drm/omap: omap_display_timings: Use display_flags for double_pixel mode Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 16/23] drm/omap: omap_display_timings: Use display_flags for sync edge Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:10 +0200
    [PATCH v2 12/23] drm/omap: omap_display_timings: Use display_flags for h/vsync level Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 07/23] drm/omap: omap_display_timings: rename vfp to vfront_porch Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 11/23] drm/omap: dispc: Simplify _dispc_mgr_set_lcd_timings() parameters Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 15/23] drm/omap: omap_display_timings: Use display_flags for pixel data edge Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 06/23] drm/omap: omap_display_timings: rename vsw to vsync_len Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 03/23] drm/omap: omap_display_timings: rename hsw to hsync_len Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 13/23] drm/omap: omap_display_timings: Use display_flags for DE level Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 01/23] drm/omap: omap_display_timings: rename x_res to hactive Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 09/23] drm/omap: HDMI5: Use pointer to cfg->v_fc_config.timings in hdmi_core_video_config Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 04/23] drm/omap: omap_display_timings: rename hfp to hfront_porch Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200
    [PATCH v2 08/23] drm/omap: omap_display_timings: rename vbp to vback_porch Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-09-22 13:20 +0200

Page 1 of 2  [1] 2  Next page →


#1488764 — [PATCH v2 00/23] drm/omap: Convert to use videomode from omap_video_timings

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 00/23] drm/omap: Convert to use videomode from omap_video_timings
Message-ID<ska37-5ym-1@gated-at.bofh.it>
Hi,

Changes since v1:
- separated the patches from the sync drive edge selection series [1]
- commit messages updated as per Tomi's comments
- other comments from Tomi for patch 10 (was 13) and 11 (was 14) addressed also

The following series will convert the omapdrm stack to use the generic videmode
instead of the private omap_video_timings struct for the panel information.
It depends on the 'video: of: Drive edge selection for sync' series [1] as it is
using the flags introduced by the sync drive edge selection support.

The patches are most mechanical ones. I have decided to split it up to small
chunks and did one change at the time to finally remove the omap_video_timings
from omapdrm.

generated on top of 4.8-rc7 + [1]

Regards,
Peter

[1] http://marc.info/?l=linux-fbdev&m=147454058512738&w=2

---
Peter Ujfalusi (23):
  drm/omap: omap_display_timings: rename x_res to hactive
  drm/omap: omap_display_timings: rename y_res to vactive
  drm/omap: omap_display_timings: rename hsw to hsync_len
  drm/omap: omap_display_timings: rename hfp to hfront_porch
  drm/omap: omap_display_timings: rename hbp to hback_porch
  drm/omap: omap_display_timings: rename vsw to vsync_len
  drm/omap: omap_display_timings: rename vfp to vfront_porch
  drm/omap: omap_display_timings: rename vbp to vback_porch
  drm/omap: HDMI5: Use pointer to cfg->v_fc_config.timings in
    hdmi_core_video_config
  drm/omap: omap_display_timings: Use display_flags for interlace mode
  drm/omap: dispc: Simplify _dispc_mgr_set_lcd_timings() parameters
  drm/omap: omap_display_timings: Use display_flags for h/vsync level
  drm/omap: omap_display_timings: Use display_flags for DE level
  drm/omap: omap_display_timings: Use display_flags for double_pixel
    mode
  drm/omap: omap_display_timings: Use display_flags for pixel data edge
  drm/omap: omap_display_timings: Use display_flags for sync edge
  drm/omap: Change the types of struct omap_video_timings members
  drm/omap: Replace struct omap_video_timings with videomode
  drm/omap: Use consistent name for struct videomode
  drm/omap: panel-tpo-td043mtea1: Add note for incorrect sync drive edge
  drm/omap: panel-tpo-td028ttec1: Add note for incorrect sync drive edge
  drm/omap: panel-sharp-ls037v7dw01: Add note for incorrect data drive
    edge
  drm/omap: panel-lgphilips-lb035q02: Add note for incorrect data drive
    edge and DE level

 .../gpu/drm/omapdrm/displays/connector-analog-tv.c |  47 ++---
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   |  50 +++--
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  |  49 +++--
 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c  |  20 +-
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c  |  31 ++-
 .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c   |  20 +-
 drivers/gpu/drm/omapdrm/displays/panel-dpi.c       |  30 ++-
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c    |  25 ++-
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    |  59 +++---
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    |  52 +++--
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |  58 +++---
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    |  53 +++--
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    |  57 +++---
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    |  54 ++---
 drivers/gpu/drm/omapdrm/dss/dispc.c                | 222 +++++++++------------
 drivers/gpu/drm/omapdrm/dss/display.c              |  78 +-------
 drivers/gpu/drm/omapdrm/dss/dpi.c                  |  40 ++--
 drivers/gpu/drm/omapdrm/dss/dsi.c                  | 156 ++++++++-------
 drivers/gpu/drm/omapdrm/dss/dss.h                  |   5 +-
 drivers/gpu/drm/omapdrm/dss/hdmi.h                 |   8 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                |  31 +--
 drivers/gpu/drm/omapdrm/dss/hdmi4_core.c           |   8 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                |  31 +--
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c           |  85 ++++----
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              |  73 ++++---
 drivers/gpu/drm/omapdrm/dss/omapdss.h              |  98 +++------
 drivers/gpu/drm/omapdrm/dss/output.c               |   5 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                 |  49 +++--
 drivers/gpu/drm/omapdrm/dss/sdi.c                  |  33 ++-
 drivers/gpu/drm/omapdrm/dss/venc.c                 |  97 +++++----
 drivers/gpu/drm/omapdrm/omap_connector.c           |  87 +-------
 drivers/gpu/drm/omapdrm/omap_crtc.c                |  17 +-
 drivers/gpu/drm/omapdrm/omap_drv.h                 |   7 +-
 drivers/gpu/drm/omapdrm/omap_encoder.c             |  10 +-
 34 files changed, 759 insertions(+), 986 deletions(-)

--
2.10.0

[toc] | [next] | [standalone]


#1488765 — [PATCH v2 21/23] drm/omap: panel-tpo-td028ttec1: Add note for incorrect sync drive edge

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 21/23] drm/omap: panel-tpo-td028ttec1: Add note for incorrect sync drive edge
Message-ID<ska37-5ym-13@gated-at.bofh.it>
In reply to#1488764
According to the datasheet of the panel, both data, DEN and sync signals
are expected to be driven on the falling edge of the DOTCLK.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index c003f4dd2a18..f313dbfcbacb 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -56,6 +56,10 @@ static struct videomode td028ttec1_panel_vm = {
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
 			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
 			  DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+	/*
+	 * Note: According to the panel documentation:
+	 * SYNC needs to be driven on the FALLING edge
+	 */
 };
 
 #define JBT_COMMAND	0x000
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488766 — [PATCH v2 10/23] drm/omap: omap_display_timings: Use display_flags for interlace mode

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 10/23] drm/omap: omap_display_timings: Use display_flags for interlace mode
Message-ID<ska37-5ym-5@gated-at.bofh.it>
In reply to#1488764
Remove the interlace member and add display_flags to omap_video_timings to
configure the interlace mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c | 2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c      | 2 --
 drivers/gpu/drm/omapdrm/dss/dispc.c                    | 7 +++----
 drivers/gpu/drm/omapdrm/dss/dsi.c                      | 2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c               | 4 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                  | 6 +++---
 drivers/gpu/drm/omapdrm/dss/omapdss.h                  | 4 ++--
 drivers/gpu/drm/omapdrm/dss/rfbi.c                     | 2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                     | 8 ++++----
 drivers/gpu/drm/omapdrm/omap_connector.c               | 6 ++++--
 10 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index d14cc2e3b8e2..0a7491427832 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -40,7 +40,7 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.interlace	= true,
+	.flags		= DISPLAY_FLAGS_INTERLACED,
 };
 
 static const struct of_device_id tvc_of_match[];
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 00e3aa212202..8e246b9142d7 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -34,8 +34,6 @@ static const struct omap_video_timings hdmic_default_timings = {
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
 	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-
-	.interlace	= false,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index f21b7dd0f492..858d87dd7fe8 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2607,7 +2607,7 @@ static int dispc_ovl_setup_common(enum omap_plane plane,
 	u16 in_height = height;
 	u16 in_width = width;
 	int x_predecim = 1, y_predecim = 1;
-	bool ilace = mgr_timings->interlace;
+	bool ilace = !!(mgr_timings->flags & DISPLAY_FLAGS_INTERLACED);
 	unsigned long pclk = dispc_plane_pclk_rate(plane);
 	unsigned long lclk = dispc_plane_lclk_rate(plane);
 
@@ -3128,7 +3128,7 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 
 	if (dss_mgr_is_lcd(channel)) {
 		/* TODO: OMAP4+ supports interlace for LCD outputs */
-		if (timings->interlace)
+		if (timings->flags & DISPLAY_FLAGS_INTERLACED)
 			return false;
 
 		if (!_dispc_lcd_timings_ok(timings->hsync_len,
@@ -3292,7 +3292,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
 	} else {
-		if (t.interlace)
+		if (t.flags & DISPLAY_FLAGS_INTERLACED)
 			t.vactive /= 2;
 
 		if (dispc.feat->supports_double_pixel)
@@ -4232,7 +4232,6 @@ static const struct dispc_errata_i734_data {
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
 		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
-		.interlace = false,
 		.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 9ed17dba2849..0d05ac9931a2 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4122,7 +4122,7 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
 	 * override interlace, logic level and edge related parameters in
 	 * omap_video_timings with default values
 	 */
-	dsi->timings.interlace = false;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_INTERLACED;
 	dsi->timings.hsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	dsi->timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 2baef4f7714b..62268f8d62c6 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -303,7 +303,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 			    cfg->timings.vback_porch;
 	video_cfg->v_fc_config.hdmi_dvi_mode = cfg->hdmi_dvi_mode;
 
-	if (cfg->timings.interlace) {
+	if (cfg->timings.flags & DISPLAY_FLAGS_INTERLACED) {
 		/* set vblank_osc if vblank is fractional */
 		if (video_cfg->vblank % 2 != 0)
 			video_cfg->vblank_osc = 1;
@@ -342,7 +342,7 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 	r = FLD_MOD(r, hsync_pol, 5, 5);
 	r = FLD_MOD(r, cfg->data_enable_pol, 4, 4);
 	r = FLD_MOD(r, cfg->vblank_osc, 1, 1);
-	r = FLD_MOD(r, ovt->interlace, 0, 0);
+	r = FLD_MOD(r, !!(ovt->flags & DISPLAY_FLAGS_INTERLACED), 0, 0);
 	hdmi_write_reg(base, HDMI_CORE_FC_INVIDCONF, r);
 
 	/* set x resolution */
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 90a36b009b1c..231f62ed86ff 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -156,7 +156,7 @@ void hdmi_wp_video_config_interface(struct hdmi_wp_data *wp,
 	r = hdmi_read_reg(wp->base, HDMI_WP_VIDEO_CFG);
 	r = FLD_MOD(r, vsync_pol, 7, 7);
 	r = FLD_MOD(r, hsync_pol, 6, 6);
-	r = FLD_MOD(r, timings->interlace, 3, 3);
+	r = FLD_MOD(r, !!(timings->flags & DISPLAY_FLAGS_INTERLACED), 3, 3);
 	r = FLD_MOD(r, 1, 1, 0); /* HDMI_TIMING_MASTER_24BIT */
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_CFG, r);
 }
@@ -210,10 +210,10 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 
 	timings->vsync_level = param->timings.vsync_level;
 	timings->hsync_level = param->timings.hsync_level;
-	timings->interlace = param->timings.interlace;
 	timings->double_pixel = param->timings.double_pixel;
+	timings->flags = param->timings.flags;
 
-	if (param->timings.interlace) {
+	if (param->timings.flags & DISPLAY_FLAGS_INTERLACED) {
 		video_fmt->y_res /= 2;
 		timings->vback_porch /= 2;
 		timings->vfront_porch /= 2;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index aca9d3028155..23fec72bacac 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -323,8 +323,6 @@ struct omap_video_timings {
 	enum omap_dss_signal_level vsync_level;
 	/* Hsync logic level */
 	enum omap_dss_signal_level hsync_level;
-	/* Interlaced or Progressive timings */
-	bool interlace;
 	/* Pixel clock edge to drive LCD data */
 	enum omap_dss_signal_edge data_pclk_edge;
 	/* Data enable logic level */
@@ -333,6 +331,8 @@ struct omap_video_timings {
 	enum omap_dss_signal_edge sync_pclk_edge;
 
 	bool double_pixel;
+
+	enum display_flags flags;
 };
 
 /* Hardcoded timings for tv modes. Venc only uses these to
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index cc59e644ea52..d5639a5099c8 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -865,7 +865,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.vfront_porch = 0;
 	rfbi.timings.vback_porch = 0;
 
-	rfbi.timings.interlace = false;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_INTERLACED;
 	rfbi.timings.hsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	rfbi.timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 411eea6bc99f..e271c75ef632 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -273,13 +273,13 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.interlace	= true,
-
 	.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_INTERLACED,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
@@ -294,13 +294,13 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.vfront_porch	= 6,
 	.vback_porch	= 31,
 
-	.interlace	= true,
-
 	.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_INTERLACED,
 };
 EXPORT_SYMBOL(omap_dss_ntsc_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index d6c4dc1c1fcb..5effce40817f 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -59,7 +59,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 
 	mode->flags = 0;
 
-	if (timings->interlace)
+	if (timings->flags & DISPLAY_FLAGS_INTERLACED)
 		mode->flags |= DRM_MODE_FLAG_INTERLACE;
 
 	if (timings->double_pixel)
@@ -91,7 +91,9 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	timings->vsync_len = mode->vsync_end - mode->vsync_start;
 	timings->vback_porch = mode->vtotal - mode->vsync_end;
 
-	timings->interlace = !!(mode->flags & DRM_MODE_FLAG_INTERLACE);
+	if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+		timings->flags |= DISPLAY_FLAGS_INTERLACED;
+
 	timings->double_pixel = !!(mode->flags & DRM_MODE_FLAG_DBLCLK);
 
 	if (mode->flags & DRM_MODE_FLAG_PHSYNC)
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488767 — [PATCH v2 23/23] drm/omap: panel-lgphilips-lb035q02: Add note for incorrect data drive edge and DE level

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 23/23] drm/omap: panel-lgphilips-lb035q02: Add note for incorrect data drive edge and DE level
Message-ID<ska37-5ym-9@gated-at.bofh.it>
In reply to#1488764
According to the datasheet of the panel, both data, DEN and sync signals
are expected to be driven on the falling edge of the DOTCLK.
The DE is active low according to the documentation.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index b36fa0a57b61..43d21edb51f5 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -36,6 +36,11 @@ static struct videomode lb035q02_vm = {
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
 			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_NEGEDGE |
 			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
+	/*
+	 * Note: According to the panel documentation:
+	 * DE is active LOW
+	 * DATA needs to be driven on the FALLING edge
+	 */
 };
 
 struct panel_drv_data {
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488769 — [PATCH v2 05/23] drm/omap: omap_display_timings: rename hbp to hback_porch

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 05/23] drm/omap: omap_display_timings: rename hbp to hback_porch
Message-ID<ska38-5ym-21@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the hbp member to hback_porch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c      |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c     |  2 +-
 .../drm/omapdrm/displays/panel-lgphilips-lb035q02.c   |  2 +-
 .../gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c   |  2 +-
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c    |  2 +-
 .../gpu/drm/omapdrm/displays/panel-sony-acx565akm.c   |  2 +-
 .../gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c   |  2 +-
 .../gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c   |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                   | 19 ++++++++++---------
 drivers/gpu/drm/omapdrm/dss/display.c                 |  4 ++--
 drivers/gpu/drm/omapdrm/dss/dsi.c                     | 11 ++++++-----
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c              |  4 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                 |  6 +++---
 drivers/gpu/drm/omapdrm/dss/omapdss.h                 |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                    |  2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                    |  4 ++--
 drivers/gpu/drm/omapdrm/omap_connector.c              |  4 ++--
 18 files changed, 38 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 6d089b337bcb..2dbc6a42fb32 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -35,7 +35,7 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.pixelclock	= 13500000,
 	.hsync_len	= 64,
 	.hfront_porch	= 12,
-	.hbp		= 68,
+	.hback_porch	= 68,
 	.vsw		= 5,
 	.vfp		= 5,
 	.vbp		= 41,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index cf893866aca0..6cf541cb9933 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -27,7 +27,7 @@ static const struct omap_video_timings dvic_default_timings = {
 
 	.hfront_porch	= 48,
 	.hsync_len	= 32,
-	.hbp		= 80,
+	.hback_porch	= 80,
 
 	.vfp		= 3,
 	.vsw		= 4,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index fd1178b57f79..24d047844b7c 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -27,7 +27,7 @@ static const struct omap_video_timings hdmic_default_timings = {
 	.pixelclock	= 25175000,
 	.hsync_len	= 96,
 	.hfront_porch	= 16,
-	.hbp		= 48,
+	.hback_porch	= 48,
 	.vsw		= 2,
 	.vfp		= 11,
 	.vbp		= 31,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 677db7b22a02..295904a5f28d 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -27,7 +27,7 @@ static struct omap_video_timings lb035q02_timings = {
 
 	.hsync_len	= 2,
 	.hfront_porch	= 20,
-	.hbp		= 68,
+	.hback_porch	= 68,
 
 	.vsw		= 2,
 	.vfp		= 4,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 8b2601010671..2eaa290a7777 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -72,7 +72,7 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.pixelclock	= LCD_PIXEL_CLOCK,
 	.hfront_porch	= 6,
 	.hsync_len	= 1,
-	.hbp		= 4,
+	.hback_porch	= 4,
 	.vfp		= 3,
 	.vsw		= 1,
 	.vbp		= 4,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index c8348090e745..b36df2c66db1 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -43,7 +43,7 @@ static const struct omap_video_timings sharp_ls_timings = {
 
 	.hsync_len	= 2,
 	.hfront_porch	= 1,
-	.hbp		= 28,
+	.hback_porch	= 28,
 
 	.vsw		= 1,
 	.vfp		= 1,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index e26986040a5b..59be59750349 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -99,7 +99,7 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.pixelclock	= 24000000,
 	.hfront_porch	= 28,
 	.hsync_len	= 4,
-	.hbp		= 24,
+	.hback_porch	= 24,
 	.vfp		= 3,
 	.vsw		= 3,
 	.vbp		= 4,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 694b2e117e08..f1cc3fa275e6 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -48,7 +48,7 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.pixelclock	= 22153000,
 	.hfront_porch	= 24,
 	.hsync_len	= 8,
-	.hbp		= 8,
+	.hback_porch	= 8,
 	.vfp		= 4,
 	.vsw		= 2,
 	.vbp		= 2,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 8960e8389d6a..458a4541f85c 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -80,7 +80,7 @@ static const struct omap_video_timings tpo_td043_timings = {
 
 	.hsync_len	= 1,
 	.hfront_porch	= 68,
-	.hbp		= 214,
+	.hback_porch	= 214,
 
 	.vsw		= 1,
 	.vfp		= 39,
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index ad5cefd6b664..1ba284c3bb9f 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2190,14 +2190,14 @@ static int check_horiz_timing_omap3(unsigned long pclk, unsigned long lclk,
 	int i;
 
 	nonactive = t->hactive + t->hfront_porch + t->hsync_len +
-		    t->hbp - out_width;
+		    t->hback_porch - out_width;
 
 	i = 0;
 	if (out_height < height)
 		i++;
 	if (out_width < width)
 		i++;
-	blank = div_u64((u64)(t->hbp + t->hsync_len + t->hfront_porch) *
+	blank = div_u64((u64)(t->hback_porch + t->hsync_len + t->hfront_porch) *
 			lclk, pclk);
 	DSSDBG("blanking period + ppl = %llu (limit = %u)\n", blank, limits[i]);
 	if (blank <= limits[i])
@@ -3132,7 +3132,7 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 			return false;
 
 		if (!_dispc_lcd_timings_ok(timings->hsync_len,
-				timings->hfront_porch, timings->hbp,
+				timings->hfront_porch, timings->hback_porch,
 				timings->vsw, timings->vfp, timings->vbp))
 			return false;
 	}
@@ -3270,11 +3270,11 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 
 	if (dss_mgr_is_lcd(channel)) {
 		_dispc_mgr_set_lcd_timings(channel, t.hsync_len, t.hfront_porch,
-				t.hbp, t.vsw, t.vfp, t.vbp, t.vsync_level,
-				t.hsync_level, t.data_pclk_edge, t.de_level,
-				t.sync_pclk_edge);
+				t.hback_porch, t.vsw, t.vfp, t.vbp,
+				t.vsync_level, t.hsync_level, t.data_pclk_edge,
+				t.de_level, t.sync_pclk_edge);
 
-		xtot = t.hactive + t.hfront_porch + t.hsync_len + t.hbp;
+		xtot = t.hactive + t.hfront_porch + t.hsync_len + t.hback_porch;
 		ytot = t.vactive + t.vfp + t.vsw + t.vbp;
 
 		ht = timings->pixelclock / xtot;
@@ -3282,7 +3282,8 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 
 		DSSDBG("pck %u\n", timings->pixelclock);
 		DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
-			t.hsync_len, t.hfront_porch, t.hbp, t.vsw, t.vfp, t.vbp);
+			t.hsync_len, t.hfront_porch, t.hback_porch,
+			t.vsw, t.vfp, t.vbp);
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			t.vsync_level, t.hsync_level, t.data_pclk_edge,
 			t.de_level, t.sync_pclk_edge);
@@ -4225,7 +4226,7 @@ static const struct dispc_errata_i734_data {
 	.timings = {
 		.hactive = 8, .vactive = 1,
 		.pixelclock = 16000000,
-		.hsync_len = 8, .hfront_porch = 4, .hbp = 4,
+		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
 		.vsw = 1, .vfp = 1, .vbp = 1,
 		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index f147c6c663d3..336521cdf824 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -225,7 +225,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 
 	ovt->pixelclock = vm->pixelclock;
 	ovt->hactive = vm->hactive;
-	ovt->hbp = vm->hback_porch;
+	ovt->hback_porch = vm->hback_porch;
 	ovt->hfront_porch = vm->hfront_porch;
 	ovt->hsync_len = vm->hsync_len;
 	ovt->vactive = vm->vactive;
@@ -258,7 +258,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->pixelclock = ovt->pixelclock;
 
 	vm->hactive = ovt->hactive;
-	vm->hback_porch = ovt->hbp;
+	vm->hback_porch = ovt->hback_porch;
 	vm->hfront_porch = ovt->hfront_porch;
 	vm->hsync_len = ovt->hsync_len;
 	vm->vactive = ovt->vactive;
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 1a6587ea2039..008599bdd97c 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4423,7 +4423,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 	t->pixelclock = pck;
 	t->hactive = ctx->config->timings->hactive;
 	t->vactive = ctx->config->timings->vactive;
-	t->hsync_len = t->hfront_porch = t->hbp = t->vsw = 1;
+	t->hsync_len = t->hfront_porch = t->hback_porch = t->vsw = 1;
 	t->vfp = t->vbp = 0;
 
 	return true;
@@ -4527,7 +4527,8 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 
 	xres = req_vm->hactive;
 
-	panel_hbl = req_vm->hfront_porch + req_vm->hbp + req_vm->hsync_len;
+	panel_hbl = req_vm->hfront_porch + req_vm->hback_porch +
+		    req_vm->hsync_len;
 	panel_htot = xres + panel_hbl;
 
 	dsi_hact = DIV_ROUND_UP(DIV_ROUND_UP(xres * bitspp, 8) + 6, ndl);
@@ -4603,7 +4604,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 		hsa = max(hsa - hse, 1);
 	}
 
-	hbp = div64_u64((u64)req_vm->hbp * byteclk, req_pck_nom);
+	hbp = div64_u64((u64)req_vm->hback_porch * byteclk, req_pck_nom);
 	hbp = max(hbp, 1);
 
 	hfp = dsi_hbl - (hss + hsa + hse + hbp);
@@ -4662,7 +4663,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 		hsa = 1;
 	}
 
-	hbp = div64_u64((u64)req_vm->hbp * dispc_pck, req_pck_nom);
+	hbp = div64_u64((u64)req_vm->hback_porch * dispc_pck, req_pck_nom);
 	hbp = max(hbp, 1);
 
 	hfp = dispc_hbl - hsa - hbp;
@@ -4687,7 +4688,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 
 	dispc_vm->hfront_porch = hfp;
 	dispc_vm->hsync_len = hsa;
-	dispc_vm->hbp = hbp;
+	dispc_vm->hback_porch = hbp;
 
 	return true;
 }
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 26012224e7e4..f986b323764b 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -297,7 +297,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 	/* video core */
 	video_cfg->data_enable_pol = 1; /* It is always 1*/
 	video_cfg->hblank = cfg->timings.hfront_porch +
-				cfg->timings.hbp + cfg->timings.hsync_len;
+			    cfg->timings.hback_porch + cfg->timings.hsync_len;
 	video_cfg->vblank_osc = 0;
 	video_cfg->vblank = cfg->timings.vsw +
 				cfg->timings.vfp + cfg->timings.vbp;
@@ -320,7 +320,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 		video_cfg->hblank *= 2;
 		video_cfg->v_fc_config.timings.hfront_porch *= 2;
 		video_cfg->v_fc_config.timings.hsync_len *= 2;
-		video_cfg->v_fc_config.timings.hbp *= 2;
+		video_cfg->v_fc_config.timings.hback_porch *= 2;
 	}
 }
 
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 7b7efb6dc5d7..e4a431cb33a4 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -181,7 +181,7 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
 	    omapdss_get_version() == OMAPDSS_VER_OMAP4)
 		hsync_len_offset = 0;
 
-	timing_h |= FLD_VAL(timings->hbp, 31, 20);
+	timing_h |= FLD_VAL(timings->hback_porch, 31, 20);
 	timing_h |= FLD_VAL(timings->hfront_porch, 19, 8);
 	timing_h |= FLD_VAL(timings->hsync_len - hsync_len_offset, 7, 0);
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_H, timing_h);
@@ -201,7 +201,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	video_fmt->y_res = param->timings.vactive;
 	video_fmt->x_res = param->timings.hactive;
 
-	timings->hbp = param->timings.hbp;
+	timings->hback_porch = param->timings.hback_porch;
 	timings->hfront_porch = param->timings.hfront_porch;
 	timings->hsync_len = param->timings.hsync_len;
 	timings->vbp = param->timings.vbp;
@@ -224,7 +224,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 		video_fmt->x_res *= 2;
 		timings->hfront_porch *= 2;
 		timings->hsync_len *= 2;
-		timings->hbp *= 2;
+		timings->hback_porch *= 2;
 	}
 }
 
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index b540baf81e0d..f8db4c29be83 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -311,7 +311,7 @@ struct omap_video_timings {
 	/* Unit: pixel clocks */
 	u16 hfront_porch;	/* Horizontal front porch */
 	/* Unit: pixel clocks */
-	u16 hbp;	/* Horizontal back porch */
+	u16 hback_porch;	/* Horizontal back porch */
 	/* Unit: line clocks */
 	u16 vsw;	/* Vertical synchronization pulse width */
 	/* Unit: line clocks */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 32b87bfd6d3f..0f721fbbe570 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -860,7 +860,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	 */
 	rfbi.timings.hsync_len = 1;
 	rfbi.timings.hfront_porch = 1;
-	rfbi.timings.hbp = 1;
+	rfbi.timings.hback_porch = 1;
 	rfbi.timings.vsw = 1;
 	rfbi.timings.vfp = 0;
 	rfbi.timings.vbp = 0;
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 92dbcab2d72a..f192368bec60 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -268,7 +268,7 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.pixelclock	= 13500000,
 	.hsync_len	= 64,
 	.hfront_porch	= 12,
-	.hbp		= 68,
+	.hback_porch	= 68,
 	.vsw		= 5,
 	.vfp		= 5,
 	.vbp		= 41,
@@ -289,7 +289,7 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.pixelclock	= 13500000,
 	.hsync_len	= 64,
 	.hfront_porch	= 16,
-	.hbp		= 58,
+	.hback_porch	= 58,
 	.vsw		= 6,
 	.vfp		= 6,
 	.vbp		= 31,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 2399a6facea4..3d1b418fd858 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -50,7 +50,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 	mode->hdisplay = timings->hactive;
 	mode->hsync_start = mode->hdisplay + timings->hfront_porch;
 	mode->hsync_end = mode->hsync_start + timings->hsync_len;
-	mode->htotal = mode->hsync_end + timings->hbp;
+	mode->htotal = mode->hsync_end + timings->hback_porch;
 
 	mode->vdisplay = timings->vactive;
 	mode->vsync_start = mode->vdisplay + timings->vfp;
@@ -84,7 +84,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	timings->hactive = mode->hdisplay;
 	timings->hfront_porch = mode->hsync_start - mode->hdisplay;
 	timings->hsync_len = mode->hsync_end - mode->hsync_start;
-	timings->hbp = mode->htotal - mode->hsync_end;
+	timings->hback_porch = mode->htotal - mode->hsync_end;
 
 	timings->vactive = mode->vdisplay;
 	timings->vfp = mode->vsync_start - mode->vdisplay;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488770 — [PATCH v2 17/23] drm/omap: Change the types of struct omap_video_timings members

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 17/23] drm/omap: Change the types of struct omap_video_timings members
Message-ID<ska38-5ym-39@gated-at.bofh.it>
In reply to#1488764
omap_video_timings struct have the same members as struct videomode, but
their types are different. As first step change the types of the
omap_video_timings struct members to match their counterpart in
struct videomode to catch any type cast related issues.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c             |  5 +++--
 drivers/gpu/drm/omapdrm/dss/dpi.c               |  2 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h           | 18 +++++++++---------
 drivers/gpu/drm/omapdrm/dss/sdi.c               |  2 +-
 5 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 1493671c6e2f..94e897d90172 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -1024,7 +1024,7 @@ static int dsicm_memory_read(struct omap_dss_device *dssdev,
 		goto err1;
 	}
 
-	size = min(w * h * 3,
+	size = min((u32)w * h * 3,
 			dssdev->panel.timings.hactive *
 			dssdev->panel.timings.vactive * 3);
 
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 4a4cd743fe2f..498838e74d08 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2870,7 +2870,8 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
 		int wbdelay;
 
 		wbdelay = min(mgr_timings->vfront_porch +
-			      mgr_timings->vsync_len + mgr_timings->vback_porch, 255);
+			      mgr_timings->vsync_len + mgr_timings->vback_porch,
+			      (u32)255);
 
 		/* WBDELAYCOUNT */
 		REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), wbdelay, 7, 0);
@@ -3242,7 +3243,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		ht = timings->pixelclock / xtot;
 		vt = timings->pixelclock / xtot / ytot;
 
-		DSSDBG("pck %u\n", timings->pixelclock);
+		DSSDBG("pck %lu\n", timings->pixelclock);
 		DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
 			t.hsync_len, t.hfront_porch, t.hback_porch,
 			t.vsync_len, t.vfront_porch, t.vback_porch);
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c
index d653f492cbfd..8fb40efa65af 100644
--- a/drivers/gpu/drm/omapdrm/dss/dpi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dpi.c
@@ -351,7 +351,7 @@ static int dpi_set_mode(struct dpi_data *dpi)
 	pck = fck / lck_div / pck_div;
 
 	if (pck != t->pixelclock) {
-		DSSWARN("Could not find exact pixel clock. Requested %d Hz, got %lu Hz\n",
+		DSSWARN("Could not find exact pixel clock. Requested %lu Hz, got %lu Hz\n",
 			t->pixelclock, pck);
 
 		t->pixelclock = pck;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 84d34242d5a4..bd38da3af01f 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -301,23 +301,23 @@ struct omap_dss_dsi_config {
 
 struct omap_video_timings {
 	/* Unit: pixels */
-	u16 hactive;
+	u32 hactive;
 	/* Unit: pixels */
-	u16 vactive;
+	u32 vactive;
 	/* Unit: Hz */
-	u32 pixelclock;
+	unsigned long pixelclock;
 	/* Unit: pixel clocks */
-	u16 hsync_len;		/* Horizontal synchronization pulse width */
+	u32 hsync_len;		/* Horizontal synchronization pulse width */
 	/* Unit: pixel clocks */
-	u16 hfront_porch;	/* Horizontal front porch */
+	u32 hfront_porch;	/* Horizontal front porch */
 	/* Unit: pixel clocks */
-	u16 hback_porch;	/* Horizontal back porch */
+	u32 hback_porch;	/* Horizontal back porch */
 	/* Unit: line clocks */
-	u16 vsync_len;		/* Vertical synchronization pulse width */
+	u32 vsync_len;		/* Vertical synchronization pulse width */
 	/* Unit: line clocks */
-	u16 vfront_porch;	/* Vertical front porch */
+	u32 vfront_porch;	/* Vertical front porch */
 	/* Unit: line clocks */
-	u16 vback_porch;	/* Vertical back porch */
+	u32 vback_porch;	/* Vertical back porch */
 
 	enum display_flags flags;
 };
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c
index 3b076329a3ac..c8658f97ab7d 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -162,7 +162,7 @@ static int sdi_display_enable(struct omap_dss_device *dssdev)
 	pck = fck / dispc_cinfo.lck_div / dispc_cinfo.pck_div;
 
 	if (pck != t->pixelclock) {
-		DSSWARN("Could not find exact pixel clock. Requested %d Hz, got %lu Hz\n",
+		DSSWARN("Could not find exact pixel clock. Requested %lu Hz, got %lu Hz\n",
 			t->pixelclock, pck);
 
 		t->pixelclock = pck;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488771 — [PATCH v2 20/23] drm/omap: panel-tpo-td043mtea1: Add note for incorrect sync drive edge

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 20/23] drm/omap: panel-tpo-td043mtea1: Add note for incorrect sync drive edge
Message-ID<ska38-5ym-31@gated-at.bofh.it>
In reply to#1488764
According to the datasheet of the panel, both data, DEN and sync signals
are expected to be driven on the falling edge of the DOTCLK.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index f78102aab2e6..0787dba44faa 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -89,6 +89,10 @@ static const struct videomode tpo_td043_vm = {
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
 			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
 			  DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+	/*
+	 * Note: According to the panel documentation:
+	 * SYNC needs to be driven on the FALLING edge
+	 */
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488774 — [PATCH v2 22/23] drm/omap: panel-sharp-ls037v7dw01: Add note for incorrect data drive edge

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 22/23] drm/omap: panel-sharp-ls037v7dw01: Add note for incorrect data drive edge
Message-ID<ska38-5ym-49@gated-at.bofh.it>
In reply to#1488764
According to the datasheet of the panel, both data, DEN and sync signals
are expected to be driven on the falling edge of the DOTCLK.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index fd33156bc34c..04fe235b7cac 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -52,6 +52,10 @@ static const struct videomode sharp_ls_vm = {
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
 			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_NEGEDGE |
 			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
+	/*
+	 * Note: According to the panel documentation:
+	 * DATA needs to be driven on the FALLING edge
+	 */
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488775 — [PATCH v2 02/23] drm/omap: omap_display_timings: rename y_res to vactive

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 02/23] drm/omap: omap_display_timings: rename y_res to vactive
Message-ID<ska38-5ym-51@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the y_res member to vactive.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c     |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c           |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c          |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c            |  8 ++++----
 .../gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c    |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                        | 14 +++++++-------
 drivers/gpu/drm/omapdrm/dss/display.c                      |  6 +++---
 drivers/gpu/drm/omapdrm/dss/dsi.c                          | 12 ++++++------
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                        |  3 ++-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                        |  3 ++-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c                   |  6 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                      |  2 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h                      |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                         |  6 +++---
 drivers/gpu/drm/omapdrm/dss/venc.c                         |  4 ++--
 drivers/gpu/drm/omapdrm/omap_connector.c                   |  4 ++--
 21 files changed, 45 insertions(+), 43 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 190a03672181..a57e1efb12ac 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -31,7 +31,7 @@ struct panel_drv_data {
 
 static const struct omap_video_timings tvc_pal_timings = {
 	.hactive	= 720,
-	.y_res		= 574,
+	.vactive	= 574,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
 	.hfp		= 12,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index c6e02e1a3799..b25c05c27c80 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -21,7 +21,7 @@
 
 static const struct omap_video_timings dvic_default_timings = {
 	.hactive	= 640,
-	.y_res		= 480,
+	.vactive	= 480,
 
 	.pixelclock	= 23500000,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index ef5ae08b362b..33bc41c5cf71 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -23,7 +23,7 @@
 
 static const struct omap_video_timings hdmic_default_timings = {
 	.hactive	= 640,
-	.y_res		= 480,
+	.vactive	= 480,
 	.pixelclock	= 25175000,
 	.hsw		= 96,
 	.hfp		= 16,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index d6c63d57a274..1493671c6e2f 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -384,7 +384,7 @@ static void dsicm_get_resolution(struct omap_dss_device *dssdev,
 		u16 *xres, u16 *yres)
 {
 	*xres = dssdev->panel.timings.hactive;
-	*yres = dssdev->panel.timings.y_res;
+	*yres = dssdev->panel.timings.vactive;
 }
 
 static ssize_t dsicm_num_errors_show(struct device *dev,
@@ -894,7 +894,7 @@ static int dsicm_update(struct omap_dss_device *dssdev,
 	/* XXX no need to send this every frame, but dsi break if not done */
 	r = dsicm_set_update_window(ddata, 0, 0,
 			dssdev->panel.timings.hactive,
-			dssdev->panel.timings.y_res);
+			dssdev->panel.timings.vactive);
 	if (r)
 		goto err;
 
@@ -1026,7 +1026,7 @@ static int dsicm_memory_read(struct omap_dss_device *dssdev,
 
 	size = min(w * h * 3,
 			dssdev->panel.timings.hactive *
-			dssdev->panel.timings.y_res * 3);
+			dssdev->panel.timings.vactive * 3);
 
 	in->ops.dsi->bus_lock(in);
 
@@ -1188,7 +1188,7 @@ static int dsicm_probe(struct platform_device *pdev)
 		return r;
 
 	ddata->timings.hactive = 864;
-	ddata->timings.y_res = 480;
+	ddata->timings.vactive = 480;
 	ddata->timings.pixelclock = 864 * 480 * 60;
 
 	dssdev = &ddata->dssdev;
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index c8b5462f462f..dc8d191e3635 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -21,7 +21,7 @@
 
 static struct omap_video_timings lb035q02_timings = {
 	.hactive = 320,
-	.y_res = 240,
+	.vactive = 240,
 
 	.pixelclock	= 6500000,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 3b198d4b3338..f109852e0409 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -68,7 +68,7 @@ static const struct {
 
 static const struct omap_video_timings nec_8048_panel_timings = {
 	.hactive	= LCD_XRES,
-	.y_res		= LCD_YRES,
+	.vactive	= LCD_YRES,
 	.pixelclock	= LCD_PIXEL_CLOCK,
 	.hfp		= 6,
 	.hsw		= 1,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index b66ad743c607..c2dda73ac466 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -37,7 +37,7 @@ struct panel_drv_data {
 
 static const struct omap_video_timings sharp_ls_timings = {
 	.hactive = 480,
-	.y_res = 640,
+	.vactive = 640,
 
 	.pixelclock	= 19200000,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index f5631a5fb279..2545e6abe405 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -95,7 +95,7 @@ struct panel_drv_data {
 
 static const struct omap_video_timings acx565akm_panel_timings = {
 	.hactive	= 800,
-	.y_res		= 480,
+	.vactive	= 480,
 	.pixelclock	= 24000000,
 	.hfp		= 28,
 	.hsw		= 4,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 935728405cde..013286abbfda 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -44,7 +44,7 @@ struct panel_drv_data {
 
 static struct omap_video_timings td028ttec1_panel_timings = {
 	.hactive	= 480,
-	.y_res		= 640,
+	.vactive	= 640,
 	.pixelclock	= 22153000,
 	.hfp		= 24,
 	.hsw		= 8,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index fe8166640da8..eedbea62c51d 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -74,7 +74,7 @@ struct panel_drv_data {
 
 static const struct omap_video_timings tpo_td043_timings = {
 	.hactive	= 800,
-	.y_res		= 480,
+	.vactive	= 480,
 
 	.pixelclock	= 36000000,
 
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index d73bf21c8f15..4c17457b8939 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2820,7 +2820,7 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
 	const bool replication = false;
 	bool truncation;
 	int in_width = mgr_timings->hactive;
-	int in_height = mgr_timings->y_res;
+	int in_height = mgr_timings->vactive;
 	enum omap_overlay_caps caps =
 		OMAP_DSS_OVL_CAP_SCALE | OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA;
 
@@ -3118,7 +3118,7 @@ static bool _dispc_mgr_pclk_ok(enum omap_channel channel,
 bool dispc_mgr_timings_ok(enum omap_channel channel,
 		const struct omap_video_timings *timings)
 {
-	if (!_dispc_mgr_size_ok(timings->hactive, timings->y_res))
+	if (!_dispc_mgr_size_ok(timings->hactive, timings->vactive))
 		return false;
 
 	if (!_dispc_mgr_pclk_ok(channel, timings->pixelclock))
@@ -3259,7 +3259,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 	unsigned long ht, vt;
 	struct omap_video_timings t = *timings;
 
-	DSSDBG("channel %d xres %u yres %u\n", channel, t.hactive, t.y_res);
+	DSSDBG("channel %d xres %u yres %u\n", channel, t.hactive, t.vactive);
 
 	if (!dispc_mgr_timings_ok(channel, &t)) {
 		BUG();
@@ -3272,7 +3272,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 				t.data_pclk_edge, t.de_level, t.sync_pclk_edge);
 
 		xtot = t.hactive + t.hfp + t.hsw + t.hbp;
-		ytot = t.y_res + t.vfp + t.vsw + t.vbp;
+		ytot = t.vactive + t.vfp + t.vsw + t.vbp;
 
 		ht = timings->pixelclock / xtot;
 		vt = timings->pixelclock / xtot / ytot;
@@ -3287,14 +3287,14 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
 	} else {
 		if (t.interlace)
-			t.y_res /= 2;
+			t.vactive /= 2;
 
 		if (dispc.feat->supports_double_pixel)
 			REG_FLD_MOD(DISPC_CONTROL, t.double_pixel ? 1 : 0,
 				19, 17);
 	}
 
-	dispc_mgr_set_size(channel, t.hactive, t.y_res);
+	dispc_mgr_set_size(channel, t.hactive, t.vactive);
 }
 EXPORT_SYMBOL(dispc_mgr_set_timings);
 
@@ -4220,7 +4220,7 @@ static const struct dispc_errata_i734_data {
 	struct dss_lcd_mgr_config lcd_conf;
 } i734 = {
 	.timings = {
-		.hactive = 8, .y_res = 1,
+		.hactive = 8, .vactive = 1,
 		.pixelclock = 16000000,
 		.hsw = 8, .hfp = 4, .hbp = 4,
 		.vsw = 1, .vfp = 1, .vbp = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 4808cc8368c5..29ae5d6e1508 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -36,7 +36,7 @@ void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
 			u16 *xres, u16 *yres)
 {
 	*xres = dssdev->panel.timings.hactive;
-	*yres = dssdev->panel.timings.y_res;
+	*yres = dssdev->panel.timings.vactive;
 }
 EXPORT_SYMBOL(omapdss_default_get_resolution);
 
@@ -228,7 +228,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->hbp = vm->hback_porch;
 	ovt->hfp = vm->hfront_porch;
 	ovt->hsw = vm->hsync_len;
-	ovt->y_res = vm->vactive;
+	ovt->vactive = vm->vactive;
 	ovt->vbp = vm->vback_porch;
 	ovt->vfp = vm->vfront_porch;
 	ovt->vsw = vm->vsync_len;
@@ -261,7 +261,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->hback_porch = ovt->hbp;
 	vm->hfront_porch = ovt->hfp;
 	vm->hsync_len = ovt->hsw;
-	vm->vactive = ovt->y_res;
+	vm->vactive = ovt->vactive;
 	vm->vback_porch = ovt->vbp;
 	vm->vfront_porch = ovt->vfp;
 	vm->vsync_len = ovt->vsw;
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index aaff0d5a6720..e60d2ebacbb2 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -3722,7 +3722,7 @@ static void dsi_proto_timings(struct platform_device *dsidev)
 		DSSDBG("HBP: %d, HFP: %d, HSA: %d, TL: %d TXBYTECLKHS\n", hbp,
 			hfp, hsync_end ? hsa : 0, tl);
 		DSSDBG("VBP: %d, VFP: %d, VSA: %d, VACT: %d lines\n", vbp, vfp,
-			vsa, timings->y_res);
+			vsa, timings->vactive);
 
 		r = dsi_read_reg(dsidev, DSI_VM_TIMING1);
 		r = FLD_MOD(r, hbp, 11, 0);	/* HBP */
@@ -3738,7 +3738,7 @@ static void dsi_proto_timings(struct platform_device *dsidev)
 		dsi_write_reg(dsidev, DSI_VM_TIMING2, r);
 
 		r = dsi_read_reg(dsidev, DSI_VM_TIMING3);
-		r = FLD_MOD(r, timings->y_res, 14, 0);	/* VACT */
+		r = FLD_MOD(r, timings->vactive, 14, 0);	/* VACT */
 		r = FLD_MOD(r, tl, 31, 16);		/* TL */
 		dsi_write_reg(dsidev, DSI_VM_TIMING3, r);
 	}
@@ -3919,7 +3919,7 @@ static void dsi_update_screen_dispc(struct platform_device *dsidev)
 	const unsigned channel = dsi->update_channel;
 	const unsigned line_buf_size = dsi->line_buffer_size;
 	u16 w = dsi->timings.hactive;
-	u16 h = dsi->timings.y_res;
+	u16 h = dsi->timings.vactive;
 
 	DSSDBG("dsi_update_screen_dispc(%dx%d)\n", w, h);
 
@@ -4057,7 +4057,7 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel,
 	dsi->framedone_data = data;
 
 	dw = dsi->timings.hactive;
-	dh = dsi->timings.y_res;
+	dh = dsi->timings.vactive;
 
 #ifdef DSI_PERF_MEASURE
 	dsi->update_bytes = dw * dh *
@@ -4422,7 +4422,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 	*t = *ctx->config->timings;
 	t->pixelclock = pck;
 	t->hactive = ctx->config->timings->hactive;
-	t->y_res = ctx->config->timings->y_res;
+	t->vactive = ctx->config->timings->vactive;
 	t->hsw = t->hfp = t->hbp = t->vsw = 1;
 	t->vfp = t->vbp = 0;
 
@@ -4635,7 +4635,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 
 	dsi_vm->vsa = req_vm->vsw;
 	dsi_vm->vbp = req_vm->vbp;
-	dsi_vm->vact = req_vm->y_res;
+	dsi_vm->vact = req_vm->vactive;
 	dsi_vm->vfp = req_vm->vfp;
 
 	dsi_vm->trans_mode = cfg->trans_mode;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
index c5e89c887687..2a5a71a25423 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
@@ -171,7 +171,8 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 
 	p = &hdmi.cfg.timings;
 
-	DSSDBG("hdmi_power_on hactive= %d y_res = %d\n", p->hactive, p->y_res);
+	DSSDBG("hdmi_power_on hactive= %d vactive = %d\n", p->hactive,
+	       p->vactive);
 
 	pc = p->pixelclock;
 	if (p->double_pixel)
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
index 829d22253972..45f445523a4f 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
@@ -183,7 +183,8 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 
 	p = &hdmi.cfg.timings;
 
-	DSSDBG("hdmi_power_on hactive= %d y_res = %d\n", p->hactive, p->y_res);
+	DSSDBG("hdmi_power_on hactive= %d vactive = %d\n", p->hactive,
+	       p->vactive);
 
 	pc = p->pixelclock;
 	if (p->double_pixel)
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index cecc400b08e2..3f76976b0e38 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -308,7 +308,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 		if (video_cfg->vblank % 2 != 0)
 			video_cfg->vblank_osc = 1;
 
-		video_cfg->v_fc_config.timings.y_res /= 2;
+		video_cfg->v_fc_config.timings.vactive /= 2;
 		video_cfg->vblank /= 2;
 		video_cfg->v_fc_config.timings.vfp /= 2;
 		video_cfg->v_fc_config.timings.vsw /= 2;
@@ -354,9 +354,9 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 
 	/* set y resolution */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV1,
-			cfg->v_fc_config.timings.y_res >> 8, 4, 0);
+			cfg->v_fc_config.timings.vactive >> 8, 4, 0);
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV0,
-			cfg->v_fc_config.timings.y_res & 0xFF, 7, 0);
+			cfg->v_fc_config.timings.vactive & 0xFF, 7, 0);
 
 	/* set horizontal blanking pixels */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INHBLANK1, cfg->hblank >> 8, 4, 0);
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 17f0d7afb855..05462cfe5af8 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -198,7 +198,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	DSSDBG("Enter hdmi_wp_video_init_format\n");
 
 	video_fmt->packing_mode = HDMI_PACK_10b_RGB_YUV444;
-	video_fmt->y_res = param->timings.y_res;
+	video_fmt->y_res = param->timings.vactive;
 	video_fmt->x_res = param->timings.hactive;
 
 	timings->hbp = param->timings.hbp;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index ddd6d14049d0..0b969f6f5701 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -303,7 +303,7 @@ struct omap_video_timings {
 	/* Unit: pixels */
 	u16 hactive;
 	/* Unit: pixels */
-	u16 y_res;
+	u16 vactive;
 	/* Unit: Hz */
 	u32 pixelclock;
 	/* Unit: pixel clocks */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 81d26d1562f6..ef9984c3d906 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -309,7 +309,7 @@ static int rfbi_transfer_area(struct omap_dss_device *dssdev,
 	int r;
 	struct omap_overlay_manager *mgr = rfbi.output.manager;
 	u16 width = rfbi.timings.hactive;
-	u16 height = rfbi.timings.y_res;
+	u16 height = rfbi.timings.vactive;
 
 	/*BUG_ON(callback == 0);*/
 	BUG_ON(rfbi.framedone_callback != NULL);
@@ -778,7 +778,7 @@ static int rfbi_update(struct omap_dss_device *dssdev, void (*callback)(void *),
 static void rfbi_set_size(struct omap_dss_device *dssdev, u16 w, u16 h)
 {
 	rfbi.timings.hactive = w;
-	rfbi.timings.y_res = h;
+	rfbi.timings.vactive = h;
 }
 
 static void rfbi_set_pixel_size(struct omap_dss_device *dssdev, int pixel_size)
@@ -854,7 +854,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	dss_mgr_set_lcd_config(mgr, &mgr_config);
 
 	/*
-	 * Set rfbi.timings with default values, the hactive and y_res fields
+	 * Set rfbi.timings with default values, the hactive and vactive fields
 	 * are expected to be already configured by the panel driver via
 	 * omapdss_rfbi_set_size()
 	 */
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 970c3cb97a8c..463dc4e27f7a 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -264,7 +264,7 @@ static const struct venc_config venc_config_pal_bdghi = {
 
 const struct omap_video_timings omap_dss_pal_timings = {
 	.hactive	= 720,
-	.y_res		= 574,
+	.vactive	= 574,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
 	.hfp		= 12,
@@ -285,7 +285,7 @@ EXPORT_SYMBOL(omap_dss_pal_timings);
 
 const struct omap_video_timings omap_dss_ntsc_timings = {
 	.hactive	= 720,
-	.y_res		= 482,
+	.vactive	= 482,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
 	.hfp		= 16,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index bc33ce34a856..e3833efb6db8 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -52,7 +52,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 	mode->hsync_end = mode->hsync_start + timings->hsw;
 	mode->htotal = mode->hsync_end + timings->hbp;
 
-	mode->vdisplay = timings->y_res;
+	mode->vdisplay = timings->vactive;
 	mode->vsync_start = mode->vdisplay + timings->vfp;
 	mode->vsync_end = mode->vsync_start + timings->vsw;
 	mode->vtotal = mode->vsync_end + timings->vbp;
@@ -86,7 +86,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	timings->hsw = mode->hsync_end - mode->hsync_start;
 	timings->hbp = mode->htotal - mode->hsync_end;
 
-	timings->y_res = mode->vdisplay;
+	timings->vactive = mode->vdisplay;
 	timings->vfp = mode->vsync_start - mode->vdisplay;
 	timings->vsw = mode->vsync_end - mode->vsync_start;
 	timings->vbp = mode->vtotal - mode->vsync_end;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488776 — [PATCH v2 14/23] drm/omap: omap_display_timings: Use display_flags for double_pixel mode

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 14/23] drm/omap: omap_display_timings: Use display_flags for double_pixel mode
Message-ID<ska38-5ym-43@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information use display_flags for double_pixel mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/dss/dispc.c      | 6 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi4.c      | 2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c      | 2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 4 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c    | 3 +--
 drivers/gpu/drm/omapdrm/dss/omapdss.h    | 2 --
 drivers/gpu/drm/omapdrm/omap_connector.c | 5 +++--
 7 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 8d7ebf77a7b5..3d5262422d88 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3270,8 +3270,9 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 			t.vactive /= 2;
 
 		if (dispc.feat->supports_double_pixel)
-			REG_FLD_MOD(DISPC_CONTROL, t.double_pixel ? 1 : 0,
-				19, 17);
+			REG_FLD_MOD(DISPC_CONTROL,
+				    !!(t.flags & DISPLAY_FLAGS_DOUBLECLK),
+				    19, 17);
 	}
 
 	dispc_mgr_set_size(channel, t.hactive, t.vactive);
@@ -4206,7 +4207,6 @@ static const struct dispc_errata_i734_data {
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
 		.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
-		.double_pixel = false,
 
 		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
 			 DISPLAY_FLAGS_DE_HIGH,
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
index 2a5a71a25423..891518502d3d 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
@@ -175,7 +175,7 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 	       p->vactive);
 
 	pc = p->pixelclock;
-	if (p->double_pixel)
+	if (p->flags & DISPLAY_FLAGS_DOUBLECLK)
 		pc *= 2;
 
 	/* DSS_HDMI_TCLK is bitclk / 10 */
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
index 45f445523a4f..8206ef69caf1 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
@@ -187,7 +187,7 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 	       p->vactive);
 
 	pc = p->pixelclock;
-	if (p->double_pixel)
+	if (p->flags & DISPLAY_FLAGS_DOUBLECLK)
 		pc *= 2;
 
 	/* DSS_HDMI_TCLK is bitclk / 10 */
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index f64f389939d1..e86972b98a91 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -315,7 +315,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 		video_cfg->v_fc_config.timings.vback_porch /= 2;
 	}
 
-	if (cfg->timings.double_pixel) {
+	if (cfg->timings.flags & DISPLAY_FLAGS_DOUBLECLK) {
 		video_cfg->v_fc_config.timings.hactive *= 2;
 		video_cfg->hblank *= 2;
 		video_cfg->v_fc_config.timings.hfront_porch *= 2;
@@ -382,7 +382,7 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVIDCONF,
 		    cfg->v_fc_config.hdmi_dvi_mode, 3, 3);
 
-	if (ovt->double_pixel)
+	if (ovt->flags & DISPLAY_FLAGS_DOUBLECLK)
 		REG_FLD_MOD(base, HDMI_CORE_FC_PRCONF, 2, 7, 4);
 	else
 		REG_FLD_MOD(base, HDMI_CORE_FC_PRCONF, 1, 7, 4);
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index b86e5a357456..20effa9260ec 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -208,7 +208,6 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	timings->vfront_porch = param->timings.vfront_porch;
 	timings->vsync_len = param->timings.vsync_len;
 
-	timings->double_pixel = param->timings.double_pixel;
 	timings->flags = param->timings.flags;
 
 	if (param->timings.flags & DISPLAY_FLAGS_INTERLACED) {
@@ -218,7 +217,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 		timings->vsync_len /= 2;
 	}
 
-	if (param->timings.double_pixel) {
+	if (param->timings.flags & DISPLAY_FLAGS_DOUBLECLK) {
 		video_fmt->x_res *= 2;
 		timings->hfront_porch *= 2;
 		timings->hsync_len *= 2;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index b1934d55acb1..342993154d6d 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -324,8 +324,6 @@ struct omap_video_timings {
 	/* Pixel clock edges to drive HSYNC and VSYNC signals */
 	enum omap_dss_signal_edge sync_pclk_edge;
 
-	bool double_pixel;
-
 	enum display_flags flags;
 };
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 8817e38761ae..f3e9bcf1f784 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -62,7 +62,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 	if (timings->flags & DISPLAY_FLAGS_INTERLACED)
 		mode->flags |= DRM_MODE_FLAG_INTERLACE;
 
-	if (timings->double_pixel)
+	if (timings->flags & DISPLAY_FLAGS_DOUBLECLK)
 		mode->flags |= DRM_MODE_FLAG_DBLCLK;
 
 	if (timings->flags & DISPLAY_FLAGS_HSYNC_HIGH)
@@ -94,7 +94,8 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	if (mode->flags & DRM_MODE_FLAG_INTERLACE)
 		timings->flags |= DISPLAY_FLAGS_INTERLACED;
 
-	timings->double_pixel = !!(mode->flags & DRM_MODE_FLAG_DBLCLK);
+	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
+		timings->flags |= DISPLAY_FLAGS_DOUBLECLK;
 
 	if (mode->flags & DRM_MODE_FLAG_PHSYNC)
 		timings->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488777 — [PATCH v2 16/23] drm/omap: omap_display_timings: Use display_flags for sync edge

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:10 +0200
Subject[PATCH v2 16/23] drm/omap: omap_display_timings: Use display_flags for sync edge
Message-ID<ska39-5ym-69@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information use display_flags for sync edge.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c       |  5 ++---
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c      |  5 +++--
 .../drm/omapdrm/displays/panel-lgphilips-lb035q02.c    |  5 ++---
 .../gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c    |  5 ++---
 .../gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |  5 ++---
 .../gpu/drm/omapdrm/displays/panel-sony-acx565akm.c    |  5 ++---
 .../gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c    |  5 ++---
 .../gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c    |  5 ++---
 drivers/gpu/drm/omapdrm/dss/dispc.c                    | 18 ++++++------------
 drivers/gpu/drm/omapdrm/dss/display.c                  |  4 ----
 drivers/gpu/drm/omapdrm/dss/dsi.c                      |  3 ++-
 drivers/gpu/drm/omapdrm/dss/omapdss.h                  |  3 ---
 drivers/gpu/drm/omapdrm/dss/rfbi.c                     |  3 ++-
 drivers/gpu/drm/omapdrm/dss/sdi.c                      |  3 +--
 drivers/gpu/drm/omapdrm/dss/venc.c                     | 10 ++++------
 drivers/gpu/drm/omapdrm/omap_connector.c               |  5 +++--
 16 files changed, 35 insertions(+), 54 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index 6f130862db8a..53967a4a96a7 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -33,10 +33,9 @@ static const struct omap_video_timings dvic_default_timings = {
 	.vsync_len	= 4,
 	.vback_porch	= 7,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_SYNC_NEGEDGE | DISPLAY_FLAGS_DE_HIGH |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
index eec079e017f0..69b4feab964c 100644
--- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
+++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
@@ -115,8 +115,9 @@ static void tfp410_disable(struct omap_dss_device *dssdev)
 
 static void tfp410_fix_timings(struct omap_video_timings *timings)
 {
-	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	timings->flags |= DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE |
+			  DISPLAY_FLAGS_SYNC_POSEDGE;
 }
 
 static void tfp410_set_timings(struct omap_dss_device *dssdev,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 33cdc107ed21..4328d6781228 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -33,10 +33,9 @@ static struct omap_video_timings lb035q02_timings = {
 	.vfront_porch	= 4,
 	.vback_porch	= 18,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_NEGEDGE |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 475420239b40..0c30e505f56e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -77,10 +77,9 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.vsync_len	= 1,
 	.vback_porch	= 4,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index fb7e032209bd..d41ba3152859 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -49,10 +49,9 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.vfront_porch	= 1,
 	.vback_porch	= 1,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_NEGEDGE |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index ea6d59d8e41e..4573e5465fed 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -104,10 +104,9 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.vsync_len	= 3,
 	.vback_porch	= 4,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_NEGEDGE |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 717b4577ac49..9711ec469f39 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -53,10 +53,9 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.vsync_len	= 2,
 	.vback_porch	= 2,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
+			  DISPLAY_FLAGS_PIXDATA_NEGEDGE,
 };
 
 #define JBT_COMMAND	0x000
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 71fa7aabd062..3f701686f992 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -86,10 +86,9 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.vfront_porch	= 39,
 	.vback_porch	= 34,
 
-	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
+			  DISPLAY_FLAGS_PIXDATA_NEGEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index a68fe59f250d..4a4cd743fe2f 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3180,16 +3180,10 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
 	/* always use the 'rf' setting */
 	onoff = true;
 
-	switch (ovt->sync_pclk_edge) {
-	case OMAPDSS_DRIVE_SIG_FALLING_EDGE:
-		rf = false;
-		break;
-	case OMAPDSS_DRIVE_SIG_RISING_EDGE:
+	if (ovt->flags & DISPLAY_FLAGS_SYNC_POSEDGE)
 		rf = true;
-		break;
-	default:
-		BUG();
-	}
+	else
+		rf = false;
 
 	l = FLD_VAL(onoff, 17, 17) |
 		FLD_VAL(rf, 16, 16) |
@@ -3257,7 +3251,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 			!!(t.flags & DISPLAY_FLAGS_HSYNC_HIGH),
 			!!(t.flags & DISPLAY_FLAGS_PIXDATA_POSEDGE),
 			!!(t.flags & DISPLAY_FLAGS_DE_HIGH),
-			t.sync_pclk_edge);
+			!!(t.flags & DISPLAY_FLAGS_SYNC_POSEDGE));
 
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
 	} else {
@@ -4200,10 +4194,10 @@ static const struct dispc_errata_i734_data {
 		.pixelclock = 16000000,
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
-		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
 		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			 DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			 DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_SYNC_POSEDGE |
+			 DISPLAY_FLAGS_PIXDATA_POSEDGE,
 	},
 	.ovli = {
 		.screen_width = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 1cd503cc95fe..1e19a2c00f8f 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -233,10 +233,6 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->vfront_porch = vm->vfront_porch;
 	ovt->vsync_len = vm->vsync_len;
 	ovt->flags = vm->flags;
-
-	ovt->sync_pclk_edge = ovt->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
-		OMAPDSS_DRIVE_SIG_RISING_EDGE :
-		OMAPDSS_DRIVE_SIG_FALLING_EDGE;
 }
 EXPORT_SYMBOL(videomode_to_omap_video_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 6866341396fb..7d4e62829280 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4131,7 +4131,8 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
 	dsi->timings.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	dsi->timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
 	dsi->timings.flags |= DISPLAY_FLAGS_DE_HIGH;
-	dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_SYNC_POSEDGE;
+	dsi->timings.flags |= DISPLAY_FLAGS_SYNC_NEGEDGE;
 
 	dss_mgr_set_timings(channel, &dsi->timings);
 
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 1bc186110106..84d34242d5a4 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -319,9 +319,6 @@ struct omap_video_timings {
 	/* Unit: line clocks */
 	u16 vback_porch;	/* Vertical back porch */
 
-	/* Pixel clock edges to drive HSYNC and VSYNC signals */
-	enum omap_dss_signal_edge sync_pclk_edge;
-
 	enum display_flags flags;
 };
 
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 7a9598e93bc9..ce431817e781 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -874,7 +874,8 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	rfbi.timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
 	rfbi.timings.flags |= DISPLAY_FLAGS_DE_HIGH;
-	rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_SYNC_POSEDGE;
+	rfbi.timings.flags |= DISPLAY_FLAGS_SYNC_NEGEDGE;
 
 	dss_mgr_set_timings(mgr, &rfbi.timings);
 }
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c
index a886f9051b33..3b076329a3ac 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -151,8 +151,7 @@ static int sdi_display_enable(struct omap_dss_device *dssdev)
 		goto err_get_dispc;
 
 	/* 15.5.9.1.2 */
-	t->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
-	t->sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
+	t->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE | DISPLAY_FLAGS_SYNC_POSEDGE;
 
 	r = sdi_calc_clock_div(t->pixelclock, &fck, &dispc_cinfo);
 	if (r)
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 82d0cda9a499..43f98547e9fc 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -273,11 +273,10 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
 			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH |
-			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE |
+			  DISPLAY_FLAGS_SYNC_NEGEDGE,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
@@ -292,11 +291,10 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.vfront_porch	= 6,
 	.vback_porch	= 31,
 
-	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
 			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH |
-			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE |
+			  DISPLAY_FLAGS_SYNC_NEGEDGE,
 };
 EXPORT_SYMBOL(omap_dss_ntsc_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 5fa15da78a8c..562a04d49939 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -107,8 +107,9 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	else
 		timings->flags |= DISPLAY_FLAGS_VSYNC_LOW;
 
-	timings->flags |= DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE;
-	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE |
+			  DISPLAY_FLAGS_SYNC_NEGEDGE;
 }
 
 static enum drm_connector_status omap_connector_detect(
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488782 — [PATCH v2 12/23] drm/omap: omap_display_timings: Use display_flags for h/vsync level

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 12/23] drm/omap: omap_display_timings: Use display_flags for h/vsync level
Message-ID<skacO-5BK-11@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information use display_flags for h/vsync level.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c |  3 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   |  4 +--
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  |  3 +-
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    |  4 +--
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    |  4 +--
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |  4 +--
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    |  5 ++--
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    |  5 ++--
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    |  4 +--
 drivers/gpu/drm/omapdrm/dss/dispc.c                | 33 ++++++++--------------
 drivers/gpu/drm/omapdrm/dss/display.c              | 18 ++----------
 drivers/gpu/drm/omapdrm/dss/dsi.c                  |  6 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c           |  4 +--
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              |  6 ++--
 drivers/gpu/drm/omapdrm/dss/omapdss.h              |  4 ---
 drivers/gpu/drm/omapdrm/dss/rfbi.c                 |  6 ++--
 drivers/gpu/drm/omapdrm/dss/venc.c                 | 10 +++----
 drivers/gpu/drm/omapdrm/omap_connector.c           | 12 ++++----
 18 files changed, 52 insertions(+), 83 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 0a7491427832..264182f97194 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -40,7 +40,8 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.flags		= DISPLAY_FLAGS_INTERLACED,
+	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
+			  DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 static const struct of_device_id tvc_of_match[];
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index adbcd566a7ec..b81c366ba63a 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -33,11 +33,11 @@ static const struct omap_video_timings dvic_default_timings = {
 	.vsync_len	= 4,
 	.vback_porch	= 7,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_HIGH,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 8e246b9142d7..f9809f4eb390 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -32,8 +32,7 @@ static const struct omap_video_timings hdmic_default_timings = {
 	.vfront_porch	= 11,
 	.vback_porch	= 31,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 9c114da37a6b..999dec6c2cff 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -33,11 +33,11 @@ static struct omap_video_timings lb035q02_timings = {
 	.vfront_porch	= 4,
 	.vback_porch	= 18,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index b05ffd41244d..a3cb5c20ce9e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -77,11 +77,11 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.vsync_len	= 1,
 	.vback_porch	= 4,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index 79cb8bde1cca..a83e6a1b894b 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -49,11 +49,11 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.vfront_porch	= 1,
 	.vback_porch	= 1,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index e243d32edfa5..a0c53ec38e5a 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -104,12 +104,11 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.vsync_len	= 3,
 	.vback_porch	= 4,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index a367b615d808..d98a16e8ce4a 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -53,12 +53,11 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.vsync_len	= 2,
 	.vback_porch	= 2,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 #define JBT_COMMAND	0x000
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 16d24381b270..65eeda51dbef 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -86,11 +86,11 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.vfront_porch	= 39,
 	.vback_porch	= 34,
 
-	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
-	.hsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
+
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index e29f33fd19cd..234c68d8aaeb 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3157,27 +3157,15 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
 	dispc_write_reg(DISPC_TIMING_H(channel), timing_h);
 	dispc_write_reg(DISPC_TIMING_V(channel), timing_v);
 
-	switch (ovt->vsync_level) {
-	case OMAPDSS_SIG_ACTIVE_LOW:
-		vs = true;
-		break;
-	case OMAPDSS_SIG_ACTIVE_HIGH:
+	if (ovt->flags & DISPLAY_FLAGS_VSYNC_HIGH)
 		vs = false;
-		break;
-	default:
-		BUG();
-	}
+	else
+		vs = true;
 
-	switch (ovt->hsync_level) {
-	case OMAPDSS_SIG_ACTIVE_LOW:
-		hs = true;
-		break;
-	case OMAPDSS_SIG_ACTIVE_HIGH:
+	if (ovt->flags & DISPLAY_FLAGS_HSYNC_HIGH)
 		hs = false;
-		break;
-	default:
-		BUG();
-	}
+	else
+		hs = true;
 
 	switch (ovt->de_level) {
 	case OMAPDSS_SIG_ACTIVE_LOW:
@@ -3277,8 +3265,9 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 			t.hsync_len, t.hfront_porch, t.hback_porch,
 			t.vsync_len, t.vfront_porch, t.vback_porch);
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
-			t.vsync_level, t.hsync_level, t.data_pclk_edge,
-			t.de_level, t.sync_pclk_edge);
+			!!(t.flags & DISPLAY_FLAGS_VSYNC_HIGH),
+			!!(t.flags & DISPLAY_FLAGS_HSYNC_HIGH),
+			t.data_pclk_edge, t.de_level, t.sync_pclk_edge);
 
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
 	} else {
@@ -4220,12 +4209,12 @@ static const struct dispc_errata_i734_data {
 		.pixelclock = 16000000,
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
-		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
-		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.double_pixel = false,
+
+		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
 	},
 	.ovli = {
 		.screen_width = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index d63ea2d5d812..ddb5bbd41dfb 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -232,13 +232,8 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->vback_porch = vm->vback_porch;
 	ovt->vfront_porch = vm->vfront_porch;
 	ovt->vsync_len = vm->vsync_len;
+	ovt->flags = vm->flags;
 
-	ovt->vsync_level = vm->flags & DISPLAY_FLAGS_VSYNC_HIGH ?
-		OMAPDSS_SIG_ACTIVE_HIGH :
-		OMAPDSS_SIG_ACTIVE_LOW;
-	ovt->hsync_level = vm->flags & DISPLAY_FLAGS_HSYNC_HIGH ?
-		OMAPDSS_SIG_ACTIVE_HIGH :
-		OMAPDSS_SIG_ACTIVE_LOW;
 	ovt->de_level = vm->flags & DISPLAY_FLAGS_DE_HIGH ?
 		OMAPDSS_SIG_ACTIVE_HIGH :
 		OMAPDSS_SIG_ACTIVE_LOW;
@@ -265,16 +260,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->vback_porch = ovt->vback_porch;
 	vm->vfront_porch = ovt->vfront_porch;
 	vm->vsync_len = ovt->vsync_len;
-
-	if (ovt->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
-		vm->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
-	else
-		vm->flags |= DISPLAY_FLAGS_HSYNC_LOW;
-
-	if (ovt->vsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
-		vm->flags |= DISPLAY_FLAGS_VSYNC_HIGH;
-	else
-		vm->flags |= DISPLAY_FLAGS_VSYNC_LOW;
+	vm->flags = ovt->flags;
 
 	if (ovt->de_level == OMAPDSS_SIG_ACTIVE_HIGH)
 		vm->flags |= DISPLAY_FLAGS_DE_HIGH;
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 0d05ac9931a2..0117681973bb 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4123,8 +4123,10 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
 	 * omap_video_timings with default values
 	 */
 	dsi->timings.flags &= ~DISPLAY_FLAGS_INTERLACED;
-	dsi->timings.hsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
-	dsi->timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_HSYNC_LOW;
+	dsi->timings.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
+	dsi->timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
 	dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 	dsi->timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 62268f8d62c6..f64f389939d1 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -333,8 +333,8 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 	unsigned char r = 0;
 	bool vsync_pol, hsync_pol;
 
-	vsync_pol = ovt->vsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
-	hsync_pol = ovt->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
+	vsync_pol = !!(ovt->flags & DISPLAY_FLAGS_VSYNC_HIGH);
+	hsync_pol = !!(ovt->flags & DISPLAY_FLAGS_HSYNC_HIGH);
 
 	/* Set hsync, vsync and data-enable polarity  */
 	r = hdmi_read_reg(base, HDMI_CORE_FC_INVIDCONF);
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 231f62ed86ff..b86e5a357456 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -150,8 +150,8 @@ void hdmi_wp_video_config_interface(struct hdmi_wp_data *wp,
 	bool vsync_pol, hsync_pol;
 	DSSDBG("Enter hdmi_wp_video_config_interface\n");
 
-	vsync_pol = timings->vsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
-	hsync_pol = timings->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
+	vsync_pol = !!(timings->flags & DISPLAY_FLAGS_VSYNC_HIGH);
+	hsync_pol = !!(timings->flags & DISPLAY_FLAGS_HSYNC_HIGH);
 
 	r = hdmi_read_reg(wp->base, HDMI_WP_VIDEO_CFG);
 	r = FLD_MOD(r, vsync_pol, 7, 7);
@@ -208,8 +208,6 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	timings->vfront_porch = param->timings.vfront_porch;
 	timings->vsync_len = param->timings.vsync_len;
 
-	timings->vsync_level = param->timings.vsync_level;
-	timings->hsync_level = param->timings.hsync_level;
 	timings->double_pixel = param->timings.double_pixel;
 	timings->flags = param->timings.flags;
 
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 23fec72bacac..23ab45447b0d 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -319,10 +319,6 @@ struct omap_video_timings {
 	/* Unit: line clocks */
 	u16 vback_porch;	/* Vertical back porch */
 
-	/* Vsync logic level */
-	enum omap_dss_signal_level vsync_level;
-	/* Hsync logic level */
-	enum omap_dss_signal_level hsync_level;
 	/* Pixel clock edge to drive LCD data */
 	enum omap_dss_signal_edge data_pclk_edge;
 	/* Data enable logic level */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index d5639a5099c8..62f037ebfe6d 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -866,8 +866,10 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.vback_porch = 0;
 
 	rfbi.timings.flags &= ~DISPLAY_FLAGS_INTERLACED;
-	rfbi.timings.hsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
-	rfbi.timings.vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_HSYNC_LOW;
+	rfbi.timings.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
+	rfbi.timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
 	rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 	rfbi.timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
 	rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index e271c75ef632..e80ec809f0c7 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -273,13 +273,12 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
-	.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_INTERLACED,
+	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
+			  DISPLAY_FLAGS_VSYNC_LOW,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
@@ -294,13 +293,12 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.vfront_porch	= 6,
 	.vback_porch	= 31,
 
-	.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
-	.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_INTERLACED,
+	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
+			  DISPLAY_FLAGS_VSYNC_LOW,
 };
 EXPORT_SYMBOL(omap_dss_ntsc_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 5effce40817f..695386256d18 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -65,12 +65,12 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 	if (timings->double_pixel)
 		mode->flags |= DRM_MODE_FLAG_DBLCLK;
 
-	if (timings->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
+	if (timings->flags & DISPLAY_FLAGS_HSYNC_HIGH)
 		mode->flags |= DRM_MODE_FLAG_PHSYNC;
 	else
 		mode->flags |= DRM_MODE_FLAG_NHSYNC;
 
-	if (timings->vsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
+	if (timings->flags & DISPLAY_FLAGS_VSYNC_HIGH)
 		mode->flags |= DRM_MODE_FLAG_PVSYNC;
 	else
 		mode->flags |= DRM_MODE_FLAG_NVSYNC;
@@ -97,14 +97,14 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	timings->double_pixel = !!(mode->flags & DRM_MODE_FLAG_DBLCLK);
 
 	if (mode->flags & DRM_MODE_FLAG_PHSYNC)
-		timings->hsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
+		timings->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
 	else
-		timings->hsync_level = OMAPDSS_SIG_ACTIVE_LOW;
+		timings->flags |= DISPLAY_FLAGS_HSYNC_LOW;
 
 	if (mode->flags & DRM_MODE_FLAG_PVSYNC)
-		timings->vsync_level = OMAPDSS_SIG_ACTIVE_HIGH;
+		timings->flags |= DISPLAY_FLAGS_VSYNC_HIGH;
 	else
-		timings->vsync_level = OMAPDSS_SIG_ACTIVE_LOW;
+		timings->flags |= DISPLAY_FLAGS_VSYNC_LOW;
 
 	timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 	timings->de_level = OMAPDSS_SIG_ACTIVE_HIGH;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488784 — [PATCH v2 07/23] drm/omap: omap_display_timings: rename vfp to vfront_porch

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 07/23] drm/omap: omap_display_timings: rename vfp to vfront_porch
Message-ID<skacO-5BK-19@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the vfp member to vfront_porch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c          |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c         |  2 +-
 .../gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c   |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c   |  2 +-
 .../gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c   |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c   |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c   |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                       | 15 ++++++++-------
 drivers/gpu/drm/omapdrm/dss/display.c                     |  4 ++--
 drivers/gpu/drm/omapdrm/dss/dsi.c                         |  4 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c                  |  6 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                     |  6 +++---
 drivers/gpu/drm/omapdrm/dss/omapdss.h                     |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                        |  2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                        |  4 ++--
 drivers/gpu/drm/omapdrm/omap_connector.c                  |  4 ++--
 18 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index ce33f47f4eea..51d0d45a6675 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -37,7 +37,7 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.hfront_porch	= 12,
 	.hback_porch	= 68,
 	.vsync_len	= 5,
-	.vfp		= 5,
+	.vfront_porch	= 5,
 	.vbp		= 41,
 
 	.interlace	= true,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index 91516fbc711b..efd122760833 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -29,7 +29,7 @@ static const struct omap_video_timings dvic_default_timings = {
 	.hsync_len	= 32,
 	.hback_porch	= 80,
 
-	.vfp		= 3,
+	.vfront_porch	= 3,
 	.vsync_len	= 4,
 	.vbp		= 7,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 6e75da30dc9d..7d60e465d354 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -29,7 +29,7 @@ static const struct omap_video_timings hdmic_default_timings = {
 	.hfront_porch	= 16,
 	.hback_porch	= 48,
 	.vsync_len	= 2,
-	.vfp		= 11,
+	.vfront_porch	= 11,
 	.vbp		= 31,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 5b2dd1e48705..66d30ba7db81 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -30,7 +30,7 @@ static struct omap_video_timings lb035q02_timings = {
 	.hback_porch	= 68,
 
 	.vsync_len	= 2,
-	.vfp		= 4,
+	.vfront_porch	= 4,
 	.vbp		= 18,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index c15afc0b28ac..60fc1d31eec0 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -73,7 +73,7 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.hfront_porch	= 6,
 	.hsync_len	= 1,
 	.hback_porch	= 4,
-	.vfp		= 3,
+	.vfront_porch	= 3,
 	.vsync_len	= 1,
 	.vbp		= 4,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index 917f145e8d88..3b23aaf2676d 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -46,7 +46,7 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.hback_porch	= 28,
 
 	.vsync_len	= 1,
-	.vfp		= 1,
+	.vfront_porch	= 1,
 	.vbp		= 1,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index e40a8cdd2bb2..74ea701de561 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -100,7 +100,7 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.hfront_porch	= 28,
 	.hsync_len	= 4,
 	.hback_porch	= 24,
-	.vfp		= 3,
+	.vfront_porch	= 3,
 	.vsync_len	= 3,
 	.vbp		= 4,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 693b9ec9326e..48fa05974158 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -49,7 +49,7 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.hfront_porch	= 24,
 	.hsync_len	= 8,
 	.hback_porch	= 8,
-	.vfp		= 4,
+	.vfront_porch	= 4,
 	.vsync_len	= 2,
 	.vbp		= 2,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 6301701c820e..2d3bda3c9376 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -83,7 +83,7 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.hback_porch	= 214,
 
 	.vsync_len	= 1,
-	.vfp		= 39,
+	.vfront_porch	= 39,
 	.vbp		= 34,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 60a4c6001900..0cd7787fd29d 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2869,8 +2869,8 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
 	} else {
 		int wbdelay;
 
-		wbdelay = min(mgr_timings->vfp + mgr_timings->vsync_len +
-			mgr_timings->vbp, 255);
+		wbdelay = min(mgr_timings->vfront_porch +
+			      mgr_timings->vsync_len + mgr_timings->vbp, 255);
 
 		/* WBDELAYCOUNT */
 		REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), wbdelay, 7, 0);
@@ -3133,7 +3133,8 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 
 		if (!_dispc_lcd_timings_ok(timings->hsync_len,
 				timings->hfront_porch, timings->hback_porch,
-				timings->vsync_len, timings->vfp, timings->vbp))
+				timings->vsync_len, timings->vfront_porch,
+				timings->vbp))
 			return false;
 	}
 
@@ -3270,12 +3271,12 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 
 	if (dss_mgr_is_lcd(channel)) {
 		_dispc_mgr_set_lcd_timings(channel, t.hsync_len, t.hfront_porch,
-				t.hback_porch, t.vsync_len, t.vfp, t.vbp,
+				t.hback_porch, t.vsync_len, t.vfront_porch, t.vbp,
 				t.vsync_level, t.hsync_level, t.data_pclk_edge,
 				t.de_level, t.sync_pclk_edge);
 
 		xtot = t.hactive + t.hfront_porch + t.hsync_len + t.hback_porch;
-		ytot = t.vactive + t.vfp + t.vsync_len + t.vbp;
+		ytot = t.vactive + t.vfront_porch + t.vsync_len + t.vbp;
 
 		ht = timings->pixelclock / xtot;
 		vt = timings->pixelclock / xtot / ytot;
@@ -3283,7 +3284,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		DSSDBG("pck %u\n", timings->pixelclock);
 		DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
 			t.hsync_len, t.hfront_porch, t.hback_porch,
-			t.vsync_len, t.vfp, t.vbp);
+			t.vsync_len, t.vfront_porch, t.vbp);
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			t.vsync_level, t.hsync_level, t.data_pclk_edge,
 			t.de_level, t.sync_pclk_edge);
@@ -4227,7 +4228,7 @@ static const struct dispc_errata_i734_data {
 		.hactive = 8, .vactive = 1,
 		.pixelclock = 16000000,
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
-		.vsync_len = 1, .vfp = 1, .vbp = 1,
+		.vsync_len = 1, .vfront_porch = 1, .vbp = 1,
 		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.interlace = false,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 372a16ad770f..30060b5e46a2 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -230,7 +230,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->hsync_len = vm->hsync_len;
 	ovt->vactive = vm->vactive;
 	ovt->vbp = vm->vback_porch;
-	ovt->vfp = vm->vfront_porch;
+	ovt->vfront_porch = vm->vfront_porch;
 	ovt->vsync_len = vm->vsync_len;
 
 	ovt->vsync_level = vm->flags & DISPLAY_FLAGS_VSYNC_HIGH ?
@@ -263,7 +263,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->hsync_len = ovt->hsync_len;
 	vm->vactive = ovt->vactive;
 	vm->vback_porch = ovt->vbp;
-	vm->vfront_porch = ovt->vfp;
+	vm->vfront_porch = ovt->vfront_porch;
 	vm->vsync_len = ovt->vsync_len;
 
 	if (ovt->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 9af31b377361..4eb199dc6d09 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4424,7 +4424,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 	t->hactive = ctx->config->timings->hactive;
 	t->vactive = ctx->config->timings->vactive;
 	t->hsync_len = t->hfront_porch = t->hback_porch = t->vsync_len = 1;
-	t->vfp = t->vbp = 0;
+	t->vfront_porch = t->vbp = 0;
 
 	return true;
 }
@@ -4637,7 +4637,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 	dsi_vm->vsa = req_vm->vsync_len;
 	dsi_vm->vbp = req_vm->vbp;
 	dsi_vm->vact = req_vm->vactive;
-	dsi_vm->vfp = req_vm->vfp;
+	dsi_vm->vfp = req_vm->vfront_porch;
 
 	dsi_vm->trans_mode = cfg->trans_mode;
 
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 39944749c160..932975b372c0 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -300,7 +300,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 			    cfg->timings.hback_porch + cfg->timings.hsync_len;
 	video_cfg->vblank_osc = 0;
 	video_cfg->vblank = cfg->timings.vsync_len +
-				cfg->timings.vfp + cfg->timings.vbp;
+				cfg->timings.vfront_porch + cfg->timings.vbp;
 	video_cfg->v_fc_config.hdmi_dvi_mode = cfg->hdmi_dvi_mode;
 
 	if (cfg->timings.interlace) {
@@ -310,7 +310,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 
 		video_cfg->v_fc_config.timings.vactive /= 2;
 		video_cfg->vblank /= 2;
-		video_cfg->v_fc_config.timings.vfp /= 2;
+		video_cfg->v_fc_config.timings.vfront_porch /= 2;
 		video_cfg->v_fc_config.timings.vsync_len /= 2;
 		video_cfg->v_fc_config.timings.vbp /= 2;
 	}
@@ -373,7 +373,7 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 
 	/* set vertical sync offset */
 	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINDELAY,
-			cfg->v_fc_config.timings.vfp, 7, 0);
+			cfg->v_fc_config.timings.vfront_porch, 7, 0);
 
 	/* set horizontal sync pulse width */
 	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH1,
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index ba964c12148d..ed6ce7474bad 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -187,7 +187,7 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_H, timing_h);
 
 	timing_v |= FLD_VAL(timings->vbp, 31, 20);
-	timing_v |= FLD_VAL(timings->vfp, 19, 8);
+	timing_v |= FLD_VAL(timings->vfront_porch, 19, 8);
 	timing_v |= FLD_VAL(timings->vsync_len, 7, 0);
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_V, timing_v);
 }
@@ -205,7 +205,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	timings->hfront_porch = param->timings.hfront_porch;
 	timings->hsync_len = param->timings.hsync_len;
 	timings->vbp = param->timings.vbp;
-	timings->vfp = param->timings.vfp;
+	timings->vfront_porch = param->timings.vfront_porch;
 	timings->vsync_len = param->timings.vsync_len;
 
 	timings->vsync_level = param->timings.vsync_level;
@@ -216,7 +216,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	if (param->timings.interlace) {
 		video_fmt->y_res /= 2;
 		timings->vbp /= 2;
-		timings->vfp /= 2;
+		timings->vfront_porch /= 2;
 		timings->vsync_len /= 2;
 	}
 
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index c761583b0b24..141bcb34db78 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -315,7 +315,7 @@ struct omap_video_timings {
 	/* Unit: line clocks */
 	u16 vsync_len;		/* Vertical synchronization pulse width */
 	/* Unit: line clocks */
-	u16 vfp;	/* Vertical front porch */
+	u16 vfront_porch;	/* Vertical front porch */
 	/* Unit: line clocks */
 	u16 vbp;	/* Vertical back porch */
 
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index b90348ad2e31..de7f904f6e91 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -862,7 +862,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.hfront_porch = 1;
 	rfbi.timings.hback_porch = 1;
 	rfbi.timings.vsync_len = 1;
-	rfbi.timings.vfp = 0;
+	rfbi.timings.vfront_porch = 0;
 	rfbi.timings.vbp = 0;
 
 	rfbi.timings.interlace = false;
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 5e8ea7e00b68..77d4c826b2e5 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -270,7 +270,7 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.hfront_porch	= 12,
 	.hback_porch	= 68,
 	.vsync_len	= 5,
-	.vfp		= 5,
+	.vfront_porch	= 5,
 	.vbp		= 41,
 
 	.interlace	= true,
@@ -291,7 +291,7 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.hfront_porch	= 16,
 	.hback_porch	= 58,
 	.vsync_len	= 6,
-	.vfp		= 6,
+	.vfront_porch	= 6,
 	.vbp		= 31,
 
 	.interlace	= true,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 2c9b429da5cc..3798617b1d7b 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -53,7 +53,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 	mode->htotal = mode->hsync_end + timings->hback_porch;
 
 	mode->vdisplay = timings->vactive;
-	mode->vsync_start = mode->vdisplay + timings->vfp;
+	mode->vsync_start = mode->vdisplay + timings->vfront_porch;
 	mode->vsync_end = mode->vsync_start + timings->vsync_len;
 	mode->vtotal = mode->vsync_end + timings->vbp;
 
@@ -87,7 +87,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	timings->hback_porch = mode->htotal - mode->hsync_end;
 
 	timings->vactive = mode->vdisplay;
-	timings->vfp = mode->vsync_start - mode->vdisplay;
+	timings->vfront_porch = mode->vsync_start - mode->vdisplay;
 	timings->vsync_len = mode->vsync_end - mode->vsync_start;
 	timings->vbp = mode->vtotal - mode->vsync_end;
 
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488786 — [PATCH v2 11/23] drm/omap: dispc: Simplify _dispc_mgr_set_lcd_timings() parameters

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 11/23] drm/omap: dispc: Simplify _dispc_mgr_set_lcd_timings() parameters
Message-ID<skacO-5BK-15@gated-at.bofh.it>
In reply to#1488764
Instead of passing the omap_video_timings structure's members individually,
use the pointer to the struct.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/dss/dispc.c | 38 ++++++++++++++-----------------------
 1 file changed, 14 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 858d87dd7fe8..e29f33fd19cd 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3141,29 +3141,23 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 	return true;
 }
 
-static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
-		int hfp, int hbp, int vsw, int vfp, int vbp,
-		enum omap_dss_signal_level vsync_level,
-		enum omap_dss_signal_level hsync_level,
-		enum omap_dss_signal_edge data_pclk_edge,
-		enum omap_dss_signal_level de_level,
-		enum omap_dss_signal_edge sync_pclk_edge)
-
+static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
+				       const struct omap_video_timings *ovt)
 {
 	u32 timing_h, timing_v, l;
 	bool onoff, rf, ipc, vs, hs, de;
 
-	timing_h = FLD_VAL(hsync_len-1, dispc.feat->sw_start, 0) |
-			FLD_VAL(hfp-1, dispc.feat->fp_start, 8) |
-			FLD_VAL(hbp-1, dispc.feat->bp_start, 20);
-	timing_v = FLD_VAL(vsw-1, dispc.feat->sw_start, 0) |
-			FLD_VAL(vfp, dispc.feat->fp_start, 8) |
-			FLD_VAL(vbp, dispc.feat->bp_start, 20);
+	timing_h = FLD_VAL(ovt->hsync_len - 1, dispc.feat->sw_start, 0) |
+		   FLD_VAL(ovt->hfront_porch - 1, dispc.feat->fp_start, 8) |
+		   FLD_VAL(ovt->hback_porch - 1, dispc.feat->bp_start, 20);
+	timing_v = FLD_VAL(ovt->vsync_len - 1, dispc.feat->sw_start, 0) |
+		   FLD_VAL(ovt->vfront_porch, dispc.feat->fp_start, 8) |
+		   FLD_VAL(ovt->vback_porch, dispc.feat->bp_start, 20);
 
 	dispc_write_reg(DISPC_TIMING_H(channel), timing_h);
 	dispc_write_reg(DISPC_TIMING_V(channel), timing_v);
 
-	switch (vsync_level) {
+	switch (ovt->vsync_level) {
 	case OMAPDSS_SIG_ACTIVE_LOW:
 		vs = true;
 		break;
@@ -3174,7 +3168,7 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
 		BUG();
 	}
 
-	switch (hsync_level) {
+	switch (ovt->hsync_level) {
 	case OMAPDSS_SIG_ACTIVE_LOW:
 		hs = true;
 		break;
@@ -3185,7 +3179,7 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
 		BUG();
 	}
 
-	switch (de_level) {
+	switch (ovt->de_level) {
 	case OMAPDSS_SIG_ACTIVE_LOW:
 		de = true;
 		break;
@@ -3196,7 +3190,7 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
 		BUG();
 	}
 
-	switch (data_pclk_edge) {
+	switch (ovt->data_pclk_edge) {
 	case OMAPDSS_DRIVE_SIG_RISING_EDGE:
 		ipc = false;
 		break;
@@ -3210,7 +3204,7 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
 	/* always use the 'rf' setting */
 	onoff = true;
 
-	switch (sync_pclk_edge) {
+	switch (ovt->sync_pclk_edge) {
 	case OMAPDSS_DRIVE_SIG_FALLING_EDGE:
 		rf = false;
 		break;
@@ -3270,11 +3264,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 	}
 
 	if (dss_mgr_is_lcd(channel)) {
-		_dispc_mgr_set_lcd_timings(channel,
-				t.hsync_len, t.hfront_porch, t.hback_porch,
-				t.vsync_len, t.vfront_porch, t.vback_porch,
-				t.vsync_level, t.hsync_level, t.data_pclk_edge,
-				t.de_level, t.sync_pclk_edge);
+		_dispc_mgr_set_lcd_timings(channel, &t);
 
 		xtot = t.hactive + t.hfront_porch + t.hsync_len + t.hback_porch;
 		ytot = t.vactive + t.vfront_porch + t.vsync_len + t.vback_porch;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488787 — [PATCH v2 15/23] drm/omap: omap_display_timings: Use display_flags for pixel data edge

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 15/23] drm/omap: omap_display_timings: Use display_flags for pixel data edge
Message-ID<skacO-5BK-23@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information use display_flags for pixel data edge.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c         |  3 +--
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c        |  3 +--
 .../gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c  |  3 +--
 drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c  |  3 +--
 .../gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c   |  3 +--
 drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c  |  3 +--
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c  |  3 +--
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c  |  3 +--
 drivers/gpu/drm/omapdrm/dss/dispc.c                      | 16 +++++-----------
 drivers/gpu/drm/omapdrm/dss/display.c                    |  9 +--------
 drivers/gpu/drm/omapdrm/dss/dsi.c                        |  3 ++-
 drivers/gpu/drm/omapdrm/dss/omapdss.h                    |  2 --
 drivers/gpu/drm/omapdrm/dss/rfbi.c                       |  3 ++-
 drivers/gpu/drm/omapdrm/dss/sdi.c                        |  2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                       |  8 ++++----
 drivers/gpu/drm/omapdrm/omap_connector.c                 |  3 +--
 16 files changed, 24 insertions(+), 46 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index b94bfca0ecae..6f130862db8a 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -33,11 +33,10 @@ static const struct omap_video_timings dvic_default_timings = {
 	.vsync_len	= 4,
 	.vback_porch	= 7,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
index e3b8dddc90bd..eec079e017f0 100644
--- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
+++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
@@ -115,9 +115,8 @@ static void tfp410_disable(struct omap_dss_device *dssdev)
 
 static void tfp410_fix_timings(struct omap_video_timings *timings)
 {
-	timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	timings->flags |= DISPLAY_FLAGS_DE_HIGH;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE;
 }
 
 static void tfp410_set_timings(struct omap_dss_device *dssdev,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 7d4c59bf1950..33cdc107ed21 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -33,11 +33,10 @@ static struct omap_video_timings lb035q02_timings = {
 	.vfront_porch	= 4,
 	.vback_porch	= 18,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index f0edb4ece16d..475420239b40 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -77,11 +77,10 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.vsync_len	= 1,
 	.vback_porch	= 4,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index a18dd7160df0..fb7e032209bd 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -49,11 +49,10 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.vfront_porch	= 1,
 	.vback_porch	= 1,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index fd9d5282319c..ea6d59d8e41e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -104,11 +104,10 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.vsync_len	= 3,
 	.vback_porch	= 4,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 8570ad5aeb55..717b4577ac49 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -53,11 +53,10 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.vsync_len	= 2,
 	.vback_porch	= 2,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
 };
 
 #define JBT_COMMAND	0x000
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 03497708c4c9..71fa7aabd062 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -86,11 +86,10 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.vfront_porch	= 39,
 	.vback_porch	= 34,
 
-	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			  DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 3d5262422d88..a68fe59f250d 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3172,16 +3172,10 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
 	else
 		de = true;
 
-	switch (ovt->data_pclk_edge) {
-	case OMAPDSS_DRIVE_SIG_RISING_EDGE:
+	if (ovt->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE)
 		ipc = false;
-		break;
-	case OMAPDSS_DRIVE_SIG_FALLING_EDGE:
+	else
 		ipc = true;
-		break;
-	default:
-		BUG();
-	}
 
 	/* always use the 'rf' setting */
 	onoff = true;
@@ -3261,7 +3255,8 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			!!(t.flags & DISPLAY_FLAGS_VSYNC_HIGH),
 			!!(t.flags & DISPLAY_FLAGS_HSYNC_HIGH),
-			t.data_pclk_edge, !!(t.flags & DISPLAY_FLAGS_DE_HIGH),
+			!!(t.flags & DISPLAY_FLAGS_PIXDATA_POSEDGE),
+			!!(t.flags & DISPLAY_FLAGS_DE_HIGH),
 			t.sync_pclk_edge);
 
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
@@ -4205,11 +4200,10 @@ static const struct dispc_errata_i734_data {
 		.pixelclock = 16000000,
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
-		.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
 		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
-			 DISPLAY_FLAGS_DE_HIGH,
+			 DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
 	},
 	.ovli = {
 		.screen_width = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 8d2fcb705ae8..1cd503cc95fe 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -234,11 +234,9 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->vsync_len = vm->vsync_len;
 	ovt->flags = vm->flags;
 
-	ovt->data_pclk_edge = vm->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
+	ovt->sync_pclk_edge = ovt->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
 		OMAPDSS_DRIVE_SIG_RISING_EDGE :
 		OMAPDSS_DRIVE_SIG_FALLING_EDGE;
-
-	ovt->sync_pclk_edge = ovt->data_pclk_edge;
 }
 EXPORT_SYMBOL(videomode_to_omap_video_timings);
 
@@ -258,10 +256,5 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->vfront_porch = ovt->vfront_porch;
 	vm->vsync_len = ovt->vsync_len;
 	vm->flags = ovt->flags;
-
-	if (ovt->data_pclk_edge == OMAPDSS_DRIVE_SIG_RISING_EDGE)
-		vm->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
-	else
-		vm->flags |= DISPLAY_FLAGS_PIXDATA_NEGEDGE;
 }
 EXPORT_SYMBOL(omap_video_timings_to_videomode);
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 62ffc654737c..6866341396fb 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4127,7 +4127,8 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
 	dsi->timings.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
 	dsi->timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
 	dsi->timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
-	dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_PIXDATA_NEGEDGE;
+	dsi->timings.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	dsi->timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
 	dsi->timings.flags |= DISPLAY_FLAGS_DE_HIGH;
 	dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 342993154d6d..1bc186110106 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -319,8 +319,6 @@ struct omap_video_timings {
 	/* Unit: line clocks */
 	u16 vback_porch;	/* Vertical back porch */
 
-	/* Pixel clock edge to drive LCD data */
-	enum omap_dss_signal_edge data_pclk_edge;
 	/* Pixel clock edges to drive HSYNC and VSYNC signals */
 	enum omap_dss_signal_edge sync_pclk_edge;
 
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 449d6aafb71f..7a9598e93bc9 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -870,7 +870,8 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.flags |= DISPLAY_FLAGS_HSYNC_HIGH;
 	rfbi.timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
 	rfbi.timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
-	rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_PIXDATA_NEGEDGE;
+	rfbi.timings.flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	rfbi.timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
 	rfbi.timings.flags |= DISPLAY_FLAGS_DE_HIGH;
 	rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c
index 0a96c321ce62..a886f9051b33 100644
--- a/drivers/gpu/drm/omapdrm/dss/sdi.c
+++ b/drivers/gpu/drm/omapdrm/dss/sdi.c
@@ -151,7 +151,7 @@ static int sdi_display_enable(struct omap_dss_device *dssdev)
 		goto err_get_dispc;
 
 	/* 15.5.9.1.2 */
-	t->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
+	t->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	t->sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 
 	r = sdi_calc_clock_div(t->pixelclock, &fck, &dispc_cinfo);
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 8657e3c09e32..82d0cda9a499 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -273,11 +273,11 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.vfront_porch	= 5,
 	.vback_porch	= 41,
 
-	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
-			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
@@ -292,11 +292,11 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.vfront_porch	= 6,
 	.vback_porch	= 31,
 
-	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
-			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH,
+			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH |
+			  DISPLAY_FLAGS_PIXDATA_POSEDGE,
 };
 EXPORT_SYMBOL(omap_dss_ntsc_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index f3e9bcf1f784..5fa15da78a8c 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -107,8 +107,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 	else
 		timings->flags |= DISPLAY_FLAGS_VSYNC_LOW;
 
-	timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	timings->flags |= DISPLAY_FLAGS_DE_HIGH;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
 }
 
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488788 — [PATCH v2 06/23] drm/omap: omap_display_timings: rename vsw to vsync_len

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 06/23] drm/omap: omap_display_timings: rename vsw to vsync_len
Message-ID<skacO-5BK-31@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the vsw member to vsync_len.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c      |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c            |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c           |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c     |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c  |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c     |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c     |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c     |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                         | 12 ++++++------
 drivers/gpu/drm/omapdrm/dss/display.c                       |  4 ++--
 drivers/gpu/drm/omapdrm/dss/dsi.c                           |  4 ++--
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c                    |  6 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                       |  6 +++---
 drivers/gpu/drm/omapdrm/dss/omapdss.h                       |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                          |  2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                          |  4 ++--
 drivers/gpu/drm/omapdrm/omap_connector.c                    |  4 ++--
 18 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 2dbc6a42fb32..ce33f47f4eea 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -36,7 +36,7 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.hsync_len	= 64,
 	.hfront_porch	= 12,
 	.hback_porch	= 68,
-	.vsw		= 5,
+	.vsync_len	= 5,
 	.vfp		= 5,
 	.vbp		= 41,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index 6cf541cb9933..91516fbc711b 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -30,7 +30,7 @@ static const struct omap_video_timings dvic_default_timings = {
 	.hback_porch	= 80,
 
 	.vfp		= 3,
-	.vsw		= 4,
+	.vsync_len	= 4,
 	.vbp		= 7,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_HIGH,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 24d047844b7c..6e75da30dc9d 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -28,7 +28,7 @@ static const struct omap_video_timings hdmic_default_timings = {
 	.hsync_len	= 96,
 	.hfront_porch	= 16,
 	.hback_porch	= 48,
-	.vsw		= 2,
+	.vsync_len	= 2,
 	.vfp		= 11,
 	.vbp		= 31,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 295904a5f28d..5b2dd1e48705 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -29,7 +29,7 @@ static struct omap_video_timings lb035q02_timings = {
 	.hfront_porch	= 20,
 	.hback_porch	= 68,
 
-	.vsw		= 2,
+	.vsync_len	= 2,
 	.vfp		= 4,
 	.vbp		= 18,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index 2eaa290a7777..c15afc0b28ac 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -74,7 +74,7 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.hsync_len	= 1,
 	.hback_porch	= 4,
 	.vfp		= 3,
-	.vsw		= 1,
+	.vsync_len	= 1,
 	.vbp		= 4,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index b36df2c66db1..917f145e8d88 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -45,7 +45,7 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.hfront_porch	= 1,
 	.hback_porch	= 28,
 
-	.vsw		= 1,
+	.vsync_len	= 1,
 	.vfp		= 1,
 	.vbp		= 1,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index 59be59750349..e40a8cdd2bb2 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -101,7 +101,7 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.hsync_len	= 4,
 	.hback_porch	= 24,
 	.vfp		= 3,
-	.vsw		= 3,
+	.vsync_len	= 3,
 	.vbp		= 4,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index f1cc3fa275e6..693b9ec9326e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -50,7 +50,7 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.hsync_len	= 8,
 	.hback_porch	= 8,
 	.vfp		= 4,
-	.vsw		= 2,
+	.vsync_len	= 2,
 	.vbp		= 2,
 
 	.vsync_level	= OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 458a4541f85c..6301701c820e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -82,7 +82,7 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.hfront_porch	= 68,
 	.hback_porch	= 214,
 
-	.vsw		= 1,
+	.vsync_len	= 1,
 	.vfp		= 39,
 	.vbp		= 34,
 
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 1ba284c3bb9f..60a4c6001900 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2869,7 +2869,7 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
 	} else {
 		int wbdelay;
 
-		wbdelay = min(mgr_timings->vfp + mgr_timings->vsw +
+		wbdelay = min(mgr_timings->vfp + mgr_timings->vsync_len +
 			mgr_timings->vbp, 255);
 
 		/* WBDELAYCOUNT */
@@ -3133,7 +3133,7 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 
 		if (!_dispc_lcd_timings_ok(timings->hsync_len,
 				timings->hfront_porch, timings->hback_porch,
-				timings->vsw, timings->vfp, timings->vbp))
+				timings->vsync_len, timings->vfp, timings->vbp))
 			return false;
 	}
 
@@ -3270,12 +3270,12 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 
 	if (dss_mgr_is_lcd(channel)) {
 		_dispc_mgr_set_lcd_timings(channel, t.hsync_len, t.hfront_porch,
-				t.hback_porch, t.vsw, t.vfp, t.vbp,
+				t.hback_porch, t.vsync_len, t.vfp, t.vbp,
 				t.vsync_level, t.hsync_level, t.data_pclk_edge,
 				t.de_level, t.sync_pclk_edge);
 
 		xtot = t.hactive + t.hfront_porch + t.hsync_len + t.hback_porch;
-		ytot = t.vactive + t.vfp + t.vsw + t.vbp;
+		ytot = t.vactive + t.vfp + t.vsync_len + t.vbp;
 
 		ht = timings->pixelclock / xtot;
 		vt = timings->pixelclock / xtot / ytot;
@@ -3283,7 +3283,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		DSSDBG("pck %u\n", timings->pixelclock);
 		DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
 			t.hsync_len, t.hfront_porch, t.hback_porch,
-			t.vsw, t.vfp, t.vbp);
+			t.vsync_len, t.vfp, t.vbp);
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			t.vsync_level, t.hsync_level, t.data_pclk_edge,
 			t.de_level, t.sync_pclk_edge);
@@ -4227,7 +4227,7 @@ static const struct dispc_errata_i734_data {
 		.hactive = 8, .vactive = 1,
 		.pixelclock = 16000000,
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
-		.vsw = 1, .vfp = 1, .vbp = 1,
+		.vsync_len = 1, .vfp = 1, .vbp = 1,
 		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.interlace = false,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 336521cdf824..372a16ad770f 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -231,7 +231,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->vactive = vm->vactive;
 	ovt->vbp = vm->vback_porch;
 	ovt->vfp = vm->vfront_porch;
-	ovt->vsw = vm->vsync_len;
+	ovt->vsync_len = vm->vsync_len;
 
 	ovt->vsync_level = vm->flags & DISPLAY_FLAGS_VSYNC_HIGH ?
 		OMAPDSS_SIG_ACTIVE_HIGH :
@@ -264,7 +264,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->vactive = ovt->vactive;
 	vm->vback_porch = ovt->vbp;
 	vm->vfront_porch = ovt->vfp;
-	vm->vsync_len = ovt->vsw;
+	vm->vsync_len = ovt->vsync_len;
 
 	if (ovt->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH)
 		vm->flags |= DISPLAY_FLAGS_HSYNC_HIGH;
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 008599bdd97c..9af31b377361 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4423,7 +4423,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 	t->pixelclock = pck;
 	t->hactive = ctx->config->timings->hactive;
 	t->vactive = ctx->config->timings->vactive;
-	t->hsync_len = t->hfront_porch = t->hback_porch = t->vsw = 1;
+	t->hsync_len = t->hfront_porch = t->hback_porch = t->vsync_len = 1;
 	t->vfp = t->vbp = 0;
 
 	return true;
@@ -4634,7 +4634,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 	dsi_vm->hact = xres;
 	dsi_vm->hfp = hfp;
 
-	dsi_vm->vsa = req_vm->vsw;
+	dsi_vm->vsa = req_vm->vsync_len;
 	dsi_vm->vbp = req_vm->vbp;
 	dsi_vm->vact = req_vm->vactive;
 	dsi_vm->vfp = req_vm->vfp;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index f986b323764b..39944749c160 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -299,7 +299,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 	video_cfg->hblank = cfg->timings.hfront_porch +
 			    cfg->timings.hback_porch + cfg->timings.hsync_len;
 	video_cfg->vblank_osc = 0;
-	video_cfg->vblank = cfg->timings.vsw +
+	video_cfg->vblank = cfg->timings.vsync_len +
 				cfg->timings.vfp + cfg->timings.vbp;
 	video_cfg->v_fc_config.hdmi_dvi_mode = cfg->hdmi_dvi_mode;
 
@@ -311,7 +311,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 		video_cfg->v_fc_config.timings.vactive /= 2;
 		video_cfg->vblank /= 2;
 		video_cfg->v_fc_config.timings.vfp /= 2;
-		video_cfg->v_fc_config.timings.vsw /= 2;
+		video_cfg->v_fc_config.timings.vsync_len /= 2;
 		video_cfg->v_fc_config.timings.vbp /= 2;
 	}
 
@@ -383,7 +383,7 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 
 	/*  set vertical sync pulse width */
 	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINWIDTH,
-			cfg->v_fc_config.timings.vsw, 5, 0);
+			cfg->v_fc_config.timings.vsync_len, 5, 0);
 
 	/* select DVI mode */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVIDCONF,
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index e4a431cb33a4..ba964c12148d 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -188,7 +188,7 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
 
 	timing_v |= FLD_VAL(timings->vbp, 31, 20);
 	timing_v |= FLD_VAL(timings->vfp, 19, 8);
-	timing_v |= FLD_VAL(timings->vsw, 7, 0);
+	timing_v |= FLD_VAL(timings->vsync_len, 7, 0);
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_V, timing_v);
 }
 
@@ -206,7 +206,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	timings->hsync_len = param->timings.hsync_len;
 	timings->vbp = param->timings.vbp;
 	timings->vfp = param->timings.vfp;
-	timings->vsw = param->timings.vsw;
+	timings->vsync_len = param->timings.vsync_len;
 
 	timings->vsync_level = param->timings.vsync_level;
 	timings->hsync_level = param->timings.hsync_level;
@@ -217,7 +217,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 		video_fmt->y_res /= 2;
 		timings->vbp /= 2;
 		timings->vfp /= 2;
-		timings->vsw /= 2;
+		timings->vsync_len /= 2;
 	}
 
 	if (param->timings.double_pixel) {
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index f8db4c29be83..c761583b0b24 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -313,7 +313,7 @@ struct omap_video_timings {
 	/* Unit: pixel clocks */
 	u16 hback_porch;	/* Horizontal back porch */
 	/* Unit: line clocks */
-	u16 vsw;	/* Vertical synchronization pulse width */
+	u16 vsync_len;		/* Vertical synchronization pulse width */
 	/* Unit: line clocks */
 	u16 vfp;	/* Vertical front porch */
 	/* Unit: line clocks */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 0f721fbbe570..b90348ad2e31 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -861,7 +861,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.hsync_len = 1;
 	rfbi.timings.hfront_porch = 1;
 	rfbi.timings.hback_porch = 1;
-	rfbi.timings.vsw = 1;
+	rfbi.timings.vsync_len = 1;
 	rfbi.timings.vfp = 0;
 	rfbi.timings.vbp = 0;
 
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index f192368bec60..5e8ea7e00b68 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -269,7 +269,7 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.hsync_len	= 64,
 	.hfront_porch	= 12,
 	.hback_porch	= 68,
-	.vsw		= 5,
+	.vsync_len	= 5,
 	.vfp		= 5,
 	.vbp		= 41,
 
@@ -290,7 +290,7 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.hsync_len	= 64,
 	.hfront_porch	= 16,
 	.hback_porch	= 58,
-	.vsw		= 6,
+	.vsync_len	= 6,
 	.vfp		= 6,
 	.vbp		= 31,
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 3d1b418fd858..2c9b429da5cc 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -54,7 +54,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 
 	mode->vdisplay = timings->vactive;
 	mode->vsync_start = mode->vdisplay + timings->vfp;
-	mode->vsync_end = mode->vsync_start + timings->vsw;
+	mode->vsync_end = mode->vsync_start + timings->vsync_len;
 	mode->vtotal = mode->vsync_end + timings->vbp;
 
 	mode->flags = 0;
@@ -88,7 +88,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 
 	timings->vactive = mode->vdisplay;
 	timings->vfp = mode->vsync_start - mode->vdisplay;
-	timings->vsw = mode->vsync_end - mode->vsync_start;
+	timings->vsync_len = mode->vsync_end - mode->vsync_start;
 	timings->vbp = mode->vtotal - mode->vsync_end;
 
 	timings->interlace = !!(mode->flags & DRM_MODE_FLAG_INTERLACE);
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488789 — [PATCH v2 03/23] drm/omap: omap_display_timings: rename hsw to hsync_len

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 03/23] drm/omap: omap_display_timings: rename hsw to hsync_len
Message-ID<skacO-5BK-27@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the hsw member to hsync_len.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  |  2 +-
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    |  2 +-
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    |  2 +-
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c |  2 +-
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    |  2 +-
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    |  2 +-
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                | 29 +++++++++++-----------
 drivers/gpu/drm/omapdrm/dss/display.c              |  4 +--
 drivers/gpu/drm/omapdrm/dss/dsi.c                  | 22 ++++++++--------
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c           |  8 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              | 12 ++++-----
 drivers/gpu/drm/omapdrm/dss/omapdss.h              |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                 |  2 +-
 drivers/gpu/drm/omapdrm/dss/venc.c                 |  4 +--
 drivers/gpu/drm/omapdrm/omap_connector.c           |  4 +--
 18 files changed, 53 insertions(+), 52 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index a57e1efb12ac..5205a8ef6038 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -33,7 +33,7 @@ static const struct omap_video_timings tvc_pal_timings = {
 	.hactive	= 720,
 	.vactive	= 574,
 	.pixelclock	= 13500000,
-	.hsw		= 64,
+	.hsync_len	= 64,
 	.hfp		= 12,
 	.hbp		= 68,
 	.vsw		= 5,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index b25c05c27c80..e9a8ea5043e6 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -26,7 +26,7 @@ static const struct omap_video_timings dvic_default_timings = {
 	.pixelclock	= 23500000,
 
 	.hfp		= 48,
-	.hsw		= 32,
+	.hsync_len	= 32,
 	.hbp		= 80,
 
 	.vfp		= 3,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 33bc41c5cf71..707fd62cb99c 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -25,7 +25,7 @@ static const struct omap_video_timings hdmic_default_timings = {
 	.hactive	= 640,
 	.vactive	= 480,
 	.pixelclock	= 25175000,
-	.hsw		= 96,
+	.hsync_len	= 96,
 	.hfp		= 16,
 	.hbp		= 48,
 	.vsw		= 2,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index dc8d191e3635..6fbf07048df0 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -25,7 +25,7 @@ static struct omap_video_timings lb035q02_timings = {
 
 	.pixelclock	= 6500000,
 
-	.hsw		= 2,
+	.hsync_len	= 2,
 	.hfp		= 20,
 	.hbp		= 68,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index f109852e0409..734ca68f56e4 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -71,7 +71,7 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.vactive	= LCD_YRES,
 	.pixelclock	= LCD_PIXEL_CLOCK,
 	.hfp		= 6,
-	.hsw		= 1,
+	.hsync_len	= 1,
 	.hbp		= 4,
 	.vfp		= 3,
 	.vsw		= 1,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index c2dda73ac466..5e96edebdd5c 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -41,7 +41,7 @@ static const struct omap_video_timings sharp_ls_timings = {
 
 	.pixelclock	= 19200000,
 
-	.hsw		= 2,
+	.hsync_len	= 2,
 	.hfp		= 1,
 	.hbp		= 28,
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index 2545e6abe405..32d3c908304e 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -98,7 +98,7 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.vactive	= 480,
 	.pixelclock	= 24000000,
 	.hfp		= 28,
-	.hsw		= 4,
+	.hsync_len	= 4,
 	.hbp		= 24,
 	.vfp		= 3,
 	.vsw		= 3,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index 013286abbfda..bc8e82abc0ba 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -47,7 +47,7 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.vactive	= 640,
 	.pixelclock	= 22153000,
 	.hfp		= 24,
-	.hsw		= 8,
+	.hsync_len	= 8,
 	.hbp		= 8,
 	.vfp		= 4,
 	.vsw		= 2,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index eedbea62c51d..1255e8c128d5 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -78,7 +78,7 @@ static const struct omap_video_timings tpo_td043_timings = {
 
 	.pixelclock	= 36000000,
 
-	.hsw		= 1,
+	.hsync_len	= 1,
 	.hfp		= 68,
 	.hbp		= 214,
 
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 4c17457b8939..1c1d24c510cc 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2189,14 +2189,14 @@ static int check_horiz_timing_omap3(unsigned long pclk, unsigned long lclk,
 	u64 val, blank;
 	int i;
 
-	nonactive = t->hactive + t->hfp + t->hsw + t->hbp - out_width;
+	nonactive = t->hactive + t->hfp + t->hsync_len + t->hbp - out_width;
 
 	i = 0;
 	if (out_height < height)
 		i++;
 	if (out_width < width)
 		i++;
-	blank = div_u64((u64)(t->hbp + t->hsw + t->hfp) * lclk, pclk);
+	blank = div_u64((u64)(t->hbp + t->hsync_len + t->hfp) * lclk, pclk);
 	DSSDBG("blanking period + ppl = %llu (limit = %u)\n", blank, limits[i]);
 	if (blank <= limits[i])
 		return -EINVAL;
@@ -3093,10 +3093,10 @@ static bool _dispc_mgr_size_ok(u16 width, u16 height)
 		height <= dispc.feat->mgr_height_max;
 }
 
-static bool _dispc_lcd_timings_ok(int hsw, int hfp, int hbp,
+static bool _dispc_lcd_timings_ok(int hsync_len, int hfp, int hbp,
 		int vsw, int vfp, int vbp)
 {
-	if (hsw < 1 || hsw > dispc.feat->sw_max ||
+	if (hsync_len < 1 || hsync_len > dispc.feat->sw_max ||
 			hfp < 1 || hfp > dispc.feat->hp_max ||
 			hbp < 1 || hbp > dispc.feat->hp_max ||
 			vsw < 1 || vsw > dispc.feat->sw_max ||
@@ -3129,7 +3129,7 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 		if (timings->interlace)
 			return false;
 
-		if (!_dispc_lcd_timings_ok(timings->hsw, timings->hfp,
+		if (!_dispc_lcd_timings_ok(timings->hsync_len, timings->hfp,
 				timings->hbp, timings->vsw, timings->vfp,
 				timings->vbp))
 			return false;
@@ -3138,7 +3138,7 @@ bool dispc_mgr_timings_ok(enum omap_channel channel,
 	return true;
 }
 
-static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsw,
+static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsync_len,
 		int hfp, int hbp, int vsw, int vfp, int vbp,
 		enum omap_dss_signal_level vsync_level,
 		enum omap_dss_signal_level hsync_level,
@@ -3150,7 +3150,7 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsw,
 	u32 timing_h, timing_v, l;
 	bool onoff, rf, ipc, vs, hs, de;
 
-	timing_h = FLD_VAL(hsw-1, dispc.feat->sw_start, 0) |
+	timing_h = FLD_VAL(hsync_len-1, dispc.feat->sw_start, 0) |
 			FLD_VAL(hfp-1, dispc.feat->fp_start, 8) |
 			FLD_VAL(hbp-1, dispc.feat->bp_start, 20);
 	timing_v = FLD_VAL(vsw-1, dispc.feat->sw_start, 0) |
@@ -3267,19 +3267,20 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 	}
 
 	if (dss_mgr_is_lcd(channel)) {
-		_dispc_mgr_set_lcd_timings(channel, t.hsw, t.hfp, t.hbp, t.vsw,
-				t.vfp, t.vbp, t.vsync_level, t.hsync_level,
-				t.data_pclk_edge, t.de_level, t.sync_pclk_edge);
+		_dispc_mgr_set_lcd_timings(channel, t.hsync_len, t.hfp, t.hbp,
+				t.vsw, t.vfp, t.vbp, t.vsync_level,
+				t.hsync_level, t.data_pclk_edge, t.de_level,
+				t.sync_pclk_edge);
 
-		xtot = t.hactive + t.hfp + t.hsw + t.hbp;
+		xtot = t.hactive + t.hfp + t.hsync_len + t.hbp;
 		ytot = t.vactive + t.vfp + t.vsw + t.vbp;
 
 		ht = timings->pixelclock / xtot;
 		vt = timings->pixelclock / xtot / ytot;
 
 		DSSDBG("pck %u\n", timings->pixelclock);
-		DSSDBG("hsw %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
-			t.hsw, t.hfp, t.hbp, t.vsw, t.vfp, t.vbp);
+		DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
+			t.hsync_len, t.hfp, t.hbp, t.vsw, t.vfp, t.vbp);
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			t.vsync_level, t.hsync_level, t.data_pclk_edge,
 			t.de_level, t.sync_pclk_edge);
@@ -4222,7 +4223,7 @@ static const struct dispc_errata_i734_data {
 	.timings = {
 		.hactive = 8, .vactive = 1,
 		.pixelclock = 16000000,
-		.hsw = 8, .hfp = 4, .hbp = 4,
+		.hsync_len = 8, .hfp = 4, .hbp = 4,
 		.vsw = 1, .vfp = 1, .vbp = 1,
 		.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
 		.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 29ae5d6e1508..78ceaa5e8198 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -227,7 +227,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->hactive = vm->hactive;
 	ovt->hbp = vm->hback_porch;
 	ovt->hfp = vm->hfront_porch;
-	ovt->hsw = vm->hsync_len;
+	ovt->hsync_len = vm->hsync_len;
 	ovt->vactive = vm->vactive;
 	ovt->vbp = vm->vback_porch;
 	ovt->vfp = vm->vfront_porch;
@@ -260,7 +260,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->hactive = ovt->hactive;
 	vm->hback_porch = ovt->hbp;
 	vm->hfront_porch = ovt->hfp;
-	vm->hsync_len = ovt->hsw;
+	vm->hsync_len = ovt->hsync_len;
 	vm->vactive = ovt->vactive;
 	vm->vback_porch = ovt->vbp;
 	vm->vfront_porch = ovt->vfp;
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index e60d2ebacbb2..59bf2d0b2d90 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4362,7 +4362,7 @@ static void print_dispc_vm(const char *str, const struct omap_video_timings *t)
 	int hact, bl, tot;
 
 	hact = t->hactive;
-	bl = t->hsw + t->hbp + t->hfp;
+	bl = t->hsync_len + t->hbp + t->hfp;
 	tot = hact + bl;
 
 #define TO_DISPC_T(x) ((u32)div64_u64((u64)x * 1000000000llu, pck))
@@ -4371,9 +4371,9 @@ static void print_dispc_vm(const char *str, const struct omap_video_timings *t)
 			"%u/%u/%u/%u = %u + %u = %u\n",
 			str,
 			pck,
-			t->hsw, t->hbp, hact, t->hfp,
+			t->hsync_len, t->hbp, hact, t->hfp,
 			bl, hact, tot,
-			TO_DISPC_T(t->hsw),
+			TO_DISPC_T(t->hsync_len),
 			TO_DISPC_T(t->hbp),
 			TO_DISPC_T(hact),
 			TO_DISPC_T(t->hfp),
@@ -4399,7 +4399,7 @@ static void print_dsi_dispc_vm(const char *str,
 	dsi_htot = t->hss + t->hsa + t->hse + t->hbp + dsi_hact + t->hfp;
 
 	vm.pixelclock = pck;
-	vm.hsw = div64_u64((u64)(t->hsa + t->hse) * pck, byteclk);
+	vm.hsync_len = div64_u64((u64)(t->hsa + t->hse) * pck, byteclk);
 	vm.hbp = div64_u64((u64)t->hbp * pck, byteclk);
 	vm.hfp = div64_u64((u64)t->hfp * pck, byteclk);
 	vm.hactive = t->hact;
@@ -4423,7 +4423,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 	t->pixelclock = pck;
 	t->hactive = ctx->config->timings->hactive;
 	t->vactive = ctx->config->timings->vactive;
-	t->hsw = t->hfp = t->hbp = t->vsw = 1;
+	t->hsync_len = t->hfp = t->hbp = t->vsw = 1;
 	t->vfp = t->vbp = 0;
 
 	return true;
@@ -4527,7 +4527,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 
 	xres = req_vm->hactive;
 
-	panel_hbl = req_vm->hfp + req_vm->hbp + req_vm->hsw;
+	panel_hbl = req_vm->hfp + req_vm->hbp + req_vm->hsync_len;
 	panel_htot = xres + panel_hbl;
 
 	dsi_hact = DIV_ROUND_UP(DIV_ROUND_UP(xres * bitspp, 8) + 6, ndl);
@@ -4557,7 +4557,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 	hss = DIV_ROUND_UP(4, ndl);
 
 	if (cfg->trans_mode == OMAP_DSS_DSI_PULSE_MODE) {
-		if (ndl == 3 && req_vm->hsw == 0)
+		if (ndl == 3 && req_vm->hsync_len == 0)
 			hse = 1;
 		else
 			hse = DIV_ROUND_UP(4, ndl);
@@ -4596,10 +4596,10 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 
 	if (cfg->trans_mode != OMAP_DSS_DSI_PULSE_MODE) {
 		hsa = 0;
-	} else if (ndl == 3 && req_vm->hsw == 0) {
+	} else if (ndl == 3 && req_vm->hsync_len == 0) {
 		hsa = 0;
 	} else {
-		hsa = div64_u64((u64)req_vm->hsw * byteclk, req_pck_nom);
+		hsa = div64_u64((u64)req_vm->hsync_len * byteclk, req_pck_nom);
 		hsa = max(hsa - hse, 1);
 	}
 
@@ -4655,7 +4655,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 	dispc_vm->pixelclock = dispc_pck;
 
 	if (cfg->trans_mode == OMAP_DSS_DSI_PULSE_MODE) {
-		hsa = div64_u64((u64)req_vm->hsw * dispc_pck,
+		hsa = div64_u64((u64)req_vm->hsync_len * dispc_pck,
 				req_pck_nom);
 		hsa = max(hsa, 1);
 	} else {
@@ -4686,7 +4686,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 		return false;
 
 	dispc_vm->hfp = hfp;
-	dispc_vm->hsw = hsa;
+	dispc_vm->hsync_len = hsa;
 	dispc_vm->hbp = hbp;
 
 	return true;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 3f76976b0e38..dd4c989c44ce 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -297,7 +297,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 	/* video core */
 	video_cfg->data_enable_pol = 1; /* It is always 1*/
 	video_cfg->hblank = cfg->timings.hfp +
-				cfg->timings.hbp + cfg->timings.hsw;
+				cfg->timings.hbp + cfg->timings.hsync_len;
 	video_cfg->vblank_osc = 0;
 	video_cfg->vblank = cfg->timings.vsw +
 				cfg->timings.vfp + cfg->timings.vbp;
@@ -319,7 +319,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 		video_cfg->v_fc_config.timings.hactive *= 2;
 		video_cfg->hblank *= 2;
 		video_cfg->v_fc_config.timings.hfp *= 2;
-		video_cfg->v_fc_config.timings.hsw *= 2;
+		video_cfg->v_fc_config.timings.hsync_len *= 2;
 		video_cfg->v_fc_config.timings.hbp *= 2;
 	}
 }
@@ -377,9 +377,9 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 
 	/* set horizontal sync pulse width */
 	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH1,
-			(cfg->v_fc_config.timings.hsw >> 8), 1, 0);
+			(cfg->v_fc_config.timings.hsync_len >> 8), 1, 0);
 	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH0,
-			cfg->v_fc_config.timings.hsw & 0xFF, 7, 0);
+			cfg->v_fc_config.timings.hsync_len & 0xFF, 7, 0);
 
 	/*  set vertical sync pulse width */
 	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINWIDTH,
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 05462cfe5af8..89914a7a2bf9 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -166,24 +166,24 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
 {
 	u32 timing_h = 0;
 	u32 timing_v = 0;
-	unsigned hsw_offset = 1;
+	unsigned hsync_len_offset = 1;
 
 	DSSDBG("Enter hdmi_wp_video_config_timing\n");
 
 	/*
 	 * On OMAP4 and OMAP5 ES1 the HSW field is programmed as is. On OMAP5
-	 * ES2+ (including DRA7/AM5 SoCs) HSW field is programmed to hsw-1.
+	 * ES2+ (including DRA7/AM5 SoCs) HSW field is programmed to hsync_len-1.
 	 * However, we don't support OMAP5 ES1 at all, so we can just check for
 	 * OMAP4 here.
 	 */
 	if (omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES1 ||
 	    omapdss_get_version() == OMAPDSS_VER_OMAP4430_ES2 ||
 	    omapdss_get_version() == OMAPDSS_VER_OMAP4)
-		hsw_offset = 0;
+		hsync_len_offset = 0;
 
 	timing_h |= FLD_VAL(timings->hbp, 31, 20);
 	timing_h |= FLD_VAL(timings->hfp, 19, 8);
-	timing_h |= FLD_VAL(timings->hsw - hsw_offset, 7, 0);
+	timing_h |= FLD_VAL(timings->hsync_len - hsync_len_offset, 7, 0);
 	hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_H, timing_h);
 
 	timing_v |= FLD_VAL(timings->vbp, 31, 20);
@@ -203,7 +203,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 
 	timings->hbp = param->timings.hbp;
 	timings->hfp = param->timings.hfp;
-	timings->hsw = param->timings.hsw;
+	timings->hsync_len = param->timings.hsync_len;
 	timings->vbp = param->timings.vbp;
 	timings->vfp = param->timings.vfp;
 	timings->vsw = param->timings.vsw;
@@ -223,7 +223,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 	if (param->timings.double_pixel) {
 		video_fmt->x_res *= 2;
 		timings->hfp *= 2;
-		timings->hsw *= 2;
+		timings->hsync_len *= 2;
 		timings->hbp *= 2;
 	}
 }
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 0b969f6f5701..6468afa2a85b 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -307,7 +307,7 @@ struct omap_video_timings {
 	/* Unit: Hz */
 	u32 pixelclock;
 	/* Unit: pixel clocks */
-	u16 hsw;	/* Horizontal synchronization pulse width */
+	u16 hsync_len;		/* Horizontal synchronization pulse width */
 	/* Unit: pixel clocks */
 	u16 hfp;	/* Horizontal front porch */
 	/* Unit: pixel clocks */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index ef9984c3d906..11d70691c4b1 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -858,7 +858,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	 * are expected to be already configured by the panel driver via
 	 * omapdss_rfbi_set_size()
 	 */
-	rfbi.timings.hsw = 1;
+	rfbi.timings.hsync_len = 1;
 	rfbi.timings.hfp = 1;
 	rfbi.timings.hbp = 1;
 	rfbi.timings.vsw = 1;
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 463dc4e27f7a..9f53e9a21706 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -266,7 +266,7 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.hactive	= 720,
 	.vactive	= 574,
 	.pixelclock	= 13500000,
-	.hsw		= 64,
+	.hsync_len	= 64,
 	.hfp		= 12,
 	.hbp		= 68,
 	.vsw		= 5,
@@ -287,7 +287,7 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.hactive	= 720,
 	.vactive	= 482,
 	.pixelclock	= 13500000,
-	.hsw		= 64,
+	.hsync_len	= 64,
 	.hfp		= 16,
 	.hbp		= 58,
 	.vsw		= 6,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index e3833efb6db8..86620396a561 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -49,7 +49,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 
 	mode->hdisplay = timings->hactive;
 	mode->hsync_start = mode->hdisplay + timings->hfp;
-	mode->hsync_end = mode->hsync_start + timings->hsw;
+	mode->hsync_end = mode->hsync_start + timings->hsync_len;
 	mode->htotal = mode->hsync_end + timings->hbp;
 
 	mode->vdisplay = timings->vactive;
@@ -83,7 +83,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 
 	timings->hactive = mode->hdisplay;
 	timings->hfp = mode->hsync_start - mode->hdisplay;
-	timings->hsw = mode->hsync_end - mode->hsync_start;
+	timings->hsync_len = mode->hsync_end - mode->hsync_start;
 	timings->hbp = mode->htotal - mode->hsync_end;
 
 	timings->vactive = mode->vdisplay;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488790 — [PATCH v2 13/23] drm/omap: omap_display_timings: Use display_flags for DE level

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 13/23] drm/omap: omap_display_timings: Use display_flags for DE level
Message-ID<skacO-5BK-35@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information use display_flags for DE level.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c      |  4 ++--
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c     |  2 +-
 .../drm/omapdrm/displays/panel-lgphilips-lb035q02.c   |  4 ++--
 .../gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c   |  4 ++--
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c    |  4 ++--
 .../gpu/drm/omapdrm/displays/panel-sony-acx565akm.c   |  4 ++--
 .../gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c   |  4 ++--
 .../gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c   |  4 ++--
 drivers/gpu/drm/omapdrm/dss/dispc.c                   | 19 +++++++------------
 drivers/gpu/drm/omapdrm/dss/display.c                 |  8 --------
 drivers/gpu/drm/omapdrm/dss/dsi.c                     |  3 ++-
 drivers/gpu/drm/omapdrm/dss/omapdss.h                 |  2 --
 drivers/gpu/drm/omapdrm/dss/rfbi.c                    |  3 ++-
 drivers/gpu/drm/omapdrm/dss/venc.c                    |  6 ++----
 drivers/gpu/drm/omapdrm/omap_connector.c              |  2 +-
 15 files changed, 29 insertions(+), 44 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index b81c366ba63a..b94bfca0ecae 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -34,10 +34,10 @@ static const struct omap_video_timings dvic_default_timings = {
 	.vback_porch	= 7,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH,
+	.flags		= DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
index d768217cefe0..e3b8dddc90bd 100644
--- a/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
+++ b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
@@ -117,7 +117,7 @@ static void tfp410_fix_timings(struct omap_video_timings *timings)
 {
 	timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
 	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	timings->de_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH;
 }
 
 static void tfp410_set_timings(struct omap_dss_device *dssdev,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 999dec6c2cff..7d4c59bf1950 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -34,10 +34,10 @@ static struct omap_video_timings lb035q02_timings = {
 	.vback_porch	= 18,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 struct panel_drv_data {
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index a3cb5c20ce9e..f0edb4ece16d 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -78,10 +78,10 @@ static const struct omap_video_timings nec_8048_panel_timings = {
 	.vback_porch	= 4,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index a83e6a1b894b..a18dd7160df0 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -50,10 +50,10 @@ static const struct omap_video_timings sharp_ls_timings = {
 	.vback_porch	= 1,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index a0c53ec38e5a..fd9d5282319c 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -105,10 +105,10 @@ static const struct omap_video_timings acx565akm_panel_timings = {
 	.vback_porch	= 4,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index d98a16e8ce4a..8570ad5aeb55 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -54,10 +54,10 @@ static struct omap_video_timings td028ttec1_panel_timings = {
 	.vback_porch	= 2,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 #define JBT_COMMAND	0x000
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 65eeda51dbef..03497708c4c9 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -87,10 +87,10 @@ static const struct omap_video_timings tpo_td043_timings = {
 	.vback_porch	= 34,
 
 	.data_pclk_edge	= OMAPDSS_DRIVE_SIG_FALLING_EDGE,
-	.de_level	= OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge	= OMAPDSS_DRIVE_SIG_RISING_EDGE,
 
-	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+	.flags		= DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			  DISPLAY_FLAGS_DE_HIGH,
 };
 
 #define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev)
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 234c68d8aaeb..8d7ebf77a7b5 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -3167,16 +3167,10 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
 	else
 		hs = true;
 
-	switch (ovt->de_level) {
-	case OMAPDSS_SIG_ACTIVE_LOW:
-		de = true;
-		break;
-	case OMAPDSS_SIG_ACTIVE_HIGH:
+	if (ovt->flags & DISPLAY_FLAGS_DE_HIGH)
 		de = false;
-		break;
-	default:
-		BUG();
-	}
+	else
+		de = true;
 
 	switch (ovt->data_pclk_edge) {
 	case OMAPDSS_DRIVE_SIG_RISING_EDGE:
@@ -3267,7 +3261,8 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 		DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
 			!!(t.flags & DISPLAY_FLAGS_VSYNC_HIGH),
 			!!(t.flags & DISPLAY_FLAGS_HSYNC_HIGH),
-			t.data_pclk_edge, t.de_level, t.sync_pclk_edge);
+			t.data_pclk_edge, !!(t.flags & DISPLAY_FLAGS_DE_HIGH),
+			t.sync_pclk_edge);
 
 		DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
 	} else {
@@ -4210,11 +4205,11 @@ static const struct dispc_errata_i734_data {
 		.hsync_len = 8, .hfront_porch = 4, .hback_porch = 4,
 		.vsync_len = 1, .vfront_porch = 1, .vback_porch = 1,
 		.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
-		.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 		.sync_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
 		.double_pixel = false,
 
-		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
+		.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+			 DISPLAY_FLAGS_DE_HIGH,
 	},
 	.ovli = {
 		.screen_width = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index ddb5bbd41dfb..8d2fcb705ae8 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -234,9 +234,6 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	ovt->vsync_len = vm->vsync_len;
 	ovt->flags = vm->flags;
 
-	ovt->de_level = vm->flags & DISPLAY_FLAGS_DE_HIGH ?
-		OMAPDSS_SIG_ACTIVE_HIGH :
-		OMAPDSS_SIG_ACTIVE_LOW;
 	ovt->data_pclk_edge = vm->flags & DISPLAY_FLAGS_PIXDATA_POSEDGE ?
 		OMAPDSS_DRIVE_SIG_RISING_EDGE :
 		OMAPDSS_DRIVE_SIG_FALLING_EDGE;
@@ -262,11 +259,6 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 	vm->vsync_len = ovt->vsync_len;
 	vm->flags = ovt->flags;
 
-	if (ovt->de_level == OMAPDSS_SIG_ACTIVE_HIGH)
-		vm->flags |= DISPLAY_FLAGS_DE_HIGH;
-	else
-		vm->flags |= DISPLAY_FLAGS_DE_LOW;
-
 	if (ovt->data_pclk_edge == OMAPDSS_DRIVE_SIG_RISING_EDGE)
 		vm->flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE;
 	else
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 0117681973bb..62ffc654737c 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -4128,7 +4128,8 @@ static int dsi_display_init_dispc(struct platform_device *dsidev,
 	dsi->timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
 	dsi->timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
 	dsi->timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	dsi->timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	dsi->timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
+	dsi->timings.flags |= DISPLAY_FLAGS_DE_HIGH;
 	dsi->timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
 
 	dss_mgr_set_timings(channel, &dsi->timings);
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 23ab45447b0d..b1934d55acb1 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -321,8 +321,6 @@ struct omap_video_timings {
 
 	/* Pixel clock edge to drive LCD data */
 	enum omap_dss_signal_edge data_pclk_edge;
-	/* Data enable logic level */
-	enum omap_dss_signal_level de_level;
 	/* Pixel clock edges to drive HSYNC and VSYNC signals */
 	enum omap_dss_signal_edge sync_pclk_edge;
 
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index 62f037ebfe6d..449d6aafb71f 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -871,7 +871,8 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	rfbi.timings.flags &= ~DISPLAY_FLAGS_VSYNC_LOW;
 	rfbi.timings.flags |= DISPLAY_FLAGS_VSYNC_HIGH;
 	rfbi.timings.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	rfbi.timings.de_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	rfbi.timings.flags &= ~DISPLAY_FLAGS_DE_LOW;
+	rfbi.timings.flags |= DISPLAY_FLAGS_DE_HIGH;
 	rfbi.timings.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
 
 	dss_mgr_set_timings(mgr, &rfbi.timings);
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index e80ec809f0c7..8657e3c09e32 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -274,11 +274,10 @@ const struct omap_video_timings omap_dss_pal_timings = {
 	.vback_porch	= 41,
 
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
-			  DISPLAY_FLAGS_VSYNC_LOW,
+			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH,
 };
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
@@ -294,11 +293,10 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
 	.vback_porch	= 31,
 
 	.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
-	.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
 	.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
 
 	.flags		= DISPLAY_FLAGS_INTERLACED | DISPLAY_FLAGS_HSYNC_LOW |
-			  DISPLAY_FLAGS_VSYNC_LOW,
+			  DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH,
 };
 EXPORT_SYMBOL(omap_dss_ntsc_timings);
 
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 695386256d18..8817e38761ae 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -107,7 +107,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 		timings->flags |= DISPLAY_FLAGS_VSYNC_LOW;
 
 	timings->data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE;
-	timings->de_level = OMAPDSS_SIG_ACTIVE_HIGH;
+	timings->flags |= DISPLAY_FLAGS_DE_HIGH;
 	timings->sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE;
 }
 
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488791 — [PATCH v2 01/23] drm/omap: omap_display_timings: rename x_res to hactive

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 01/23] drm/omap: omap_display_timings: rename x_res to hactive
Message-ID<skacO-5BK-33@gated-at.bofh.it>
In reply to#1488764
In preparation to move the stack to use the generic videmode struct for
display timing information rename the x_res member to hactive.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 .../gpu/drm/omapdrm/displays/connector-analog-tv.c   |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c     |  2 +-
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c    |  2 +-
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c      |  8 ++++----
 .../drm/omapdrm/displays/panel-lgphilips-lb035q02.c  |  2 +-
 .../gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c  |  2 +-
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c   |  2 +-
 .../gpu/drm/omapdrm/displays/panel-sony-acx565akm.c  |  2 +-
 .../gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c  |  2 +-
 .../gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c  |  2 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                  | 16 ++++++++--------
 drivers/gpu/drm/omapdrm/dss/display.c                |  6 +++---
 drivers/gpu/drm/omapdrm/dss/dpi.c                    |  2 +-
 drivers/gpu/drm/omapdrm/dss/dsi.c                    | 20 ++++++++++----------
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                  |  2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                  |  2 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c             |  6 +++---
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c                |  2 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h                |  2 +-
 drivers/gpu/drm/omapdrm/dss/rfbi.c                   |  6 +++---
 drivers/gpu/drm/omapdrm/dss/venc.c                   |  4 ++--
 drivers/gpu/drm/omapdrm/omap_connector.c             |  4 ++--
 22 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
index 3485d1ecd655..190a03672181 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
@@ -30,7 +30,7 @@ struct panel_drv_data {
 };
 
 static const struct omap_video_timings tvc_pal_timings = {
-	.x_res		= 720,
+	.hactive	= 720,
 	.y_res		= 574,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
index 684b7aeda411..c6e02e1a3799 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
@@ -20,7 +20,7 @@
 #include "../dss/omapdss.h"
 
 static const struct omap_video_timings dvic_default_timings = {
-	.x_res		= 640,
+	.hactive	= 640,
 	.y_res		= 480,
 
 	.pixelclock	= 23500000,
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index 7bdf83af9797..ef5ae08b362b 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -22,7 +22,7 @@
 #include "../dss/omapdss.h"
 
 static const struct omap_video_timings hdmic_default_timings = {
-	.x_res		= 640,
+	.hactive	= 640,
 	.y_res		= 480,
 	.pixelclock	= 25175000,
 	.hsw		= 96,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 0eae8afaed90..d6c63d57a274 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -383,7 +383,7 @@ static const struct backlight_ops dsicm_bl_ops = {
 static void dsicm_get_resolution(struct omap_dss_device *dssdev,
 		u16 *xres, u16 *yres)
 {
-	*xres = dssdev->panel.timings.x_res;
+	*xres = dssdev->panel.timings.hactive;
 	*yres = dssdev->panel.timings.y_res;
 }
 
@@ -893,7 +893,7 @@ static int dsicm_update(struct omap_dss_device *dssdev,
 
 	/* XXX no need to send this every frame, but dsi break if not done */
 	r = dsicm_set_update_window(ddata, 0, 0,
-			dssdev->panel.timings.x_res,
+			dssdev->panel.timings.hactive,
 			dssdev->panel.timings.y_res);
 	if (r)
 		goto err;
@@ -1025,7 +1025,7 @@ static int dsicm_memory_read(struct omap_dss_device *dssdev,
 	}
 
 	size = min(w * h * 3,
-			dssdev->panel.timings.x_res *
+			dssdev->panel.timings.hactive *
 			dssdev->panel.timings.y_res * 3);
 
 	in->ops.dsi->bus_lock(in);
@@ -1187,7 +1187,7 @@ static int dsicm_probe(struct platform_device *pdev)
 	if (r)
 		return r;
 
-	ddata->timings.x_res = 864;
+	ddata->timings.hactive = 864;
 	ddata->timings.y_res = 480;
 	ddata->timings.pixelclock = 864 * 480 * 60;
 
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
index 6dfb96cea293..c8b5462f462f 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
@@ -20,7 +20,7 @@
 #include "../dss/omapdss.h"
 
 static struct omap_video_timings lb035q02_timings = {
-	.x_res = 320,
+	.hactive = 320,
 	.y_res = 240,
 
 	.pixelclock	= 6500000,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
index fc4c238c9583..3b198d4b3338 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
@@ -67,7 +67,7 @@ static const struct {
 };
 
 static const struct omap_video_timings nec_8048_panel_timings = {
-	.x_res		= LCD_XRES,
+	.hactive	= LCD_XRES,
 	.y_res		= LCD_YRES,
 	.pixelclock	= LCD_PIXEL_CLOCK,
 	.hfp		= 6,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
index 3d3efc561ea9..b66ad743c607 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
@@ -36,7 +36,7 @@ struct panel_drv_data {
 };
 
 static const struct omap_video_timings sharp_ls_timings = {
-	.x_res = 480,
+	.hactive = 480,
 	.y_res = 640,
 
 	.pixelclock	= 19200000,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index 157c512205d1..f5631a5fb279 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -94,7 +94,7 @@ struct panel_drv_data {
 };
 
 static const struct omap_video_timings acx565akm_panel_timings = {
-	.x_res		= 800,
+	.hactive	= 800,
 	.y_res		= 480,
 	.pixelclock	= 24000000,
 	.hfp		= 28,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
index e859b3f893f7..935728405cde 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
@@ -43,7 +43,7 @@ struct panel_drv_data {
 };
 
 static struct omap_video_timings td028ttec1_panel_timings = {
-	.x_res		= 480,
+	.hactive	= 480,
 	.y_res		= 640,
 	.pixelclock	= 22153000,
 	.hfp		= 24,
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
index 66c6bbe6472b..fe8166640da8 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
@@ -73,7 +73,7 @@ struct panel_drv_data {
 };
 
 static const struct omap_video_timings tpo_td043_timings = {
-	.x_res		= 800,
+	.hactive	= 800,
 	.y_res		= 480,
 
 	.pixelclock	= 36000000,
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 535240fba671..d73bf21c8f15 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -2189,7 +2189,7 @@ static int check_horiz_timing_omap3(unsigned long pclk, unsigned long lclk,
 	u64 val, blank;
 	int i;
 
-	nonactive = t->x_res + t->hfp + t->hsw + t->hbp - out_width;
+	nonactive = t->hactive + t->hfp + t->hsw + t->hbp - out_width;
 
 	i = 0;
 	if (out_height < height)
@@ -2242,7 +2242,7 @@ static unsigned long calc_core_clk_five_taps(unsigned long pclk,
 		return (unsigned long) pclk;
 
 	if (height > out_height) {
-		unsigned int ppl = mgr_timings->x_res;
+		unsigned int ppl = mgr_timings->hactive;
 
 		tmp = (u64)pclk * height * out_width;
 		do_div(tmp, 2 * out_height * ppl);
@@ -2819,7 +2819,7 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
 	const u8 zorder = 0, global_alpha = 0;
 	const bool replication = false;
 	bool truncation;
-	int in_width = mgr_timings->x_res;
+	int in_width = mgr_timings->hactive;
 	int in_height = mgr_timings->y_res;
 	enum omap_overlay_caps caps =
 		OMAP_DSS_OVL_CAP_SCALE | OMAP_DSS_OVL_CAP_PRE_MULT_ALPHA;
@@ -3118,7 +3118,7 @@ static bool _dispc_mgr_pclk_ok(enum omap_channel channel,
 bool dispc_mgr_timings_ok(enum omap_channel channel,
 		const struct omap_video_timings *timings)
 {
-	if (!_dispc_mgr_size_ok(timings->x_res, timings->y_res))
+	if (!_dispc_mgr_size_ok(timings->hactive, timings->y_res))
 		return false;
 
 	if (!_dispc_mgr_pclk_ok(channel, timings->pixelclock))
@@ -3259,7 +3259,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 	unsigned long ht, vt;
 	struct omap_video_timings t = *timings;
 
-	DSSDBG("channel %d xres %u yres %u\n", channel, t.x_res, t.y_res);
+	DSSDBG("channel %d xres %u yres %u\n", channel, t.hactive, t.y_res);
 
 	if (!dispc_mgr_timings_ok(channel, &t)) {
 		BUG();
@@ -3271,7 +3271,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 				t.vfp, t.vbp, t.vsync_level, t.hsync_level,
 				t.data_pclk_edge, t.de_level, t.sync_pclk_edge);
 
-		xtot = t.x_res + t.hfp + t.hsw + t.hbp;
+		xtot = t.hactive + t.hfp + t.hsw + t.hbp;
 		ytot = t.y_res + t.vfp + t.vsw + t.vbp;
 
 		ht = timings->pixelclock / xtot;
@@ -3294,7 +3294,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
 				19, 17);
 	}
 
-	dispc_mgr_set_size(channel, t.x_res, t.y_res);
+	dispc_mgr_set_size(channel, t.hactive, t.y_res);
 }
 EXPORT_SYMBOL(dispc_mgr_set_timings);
 
@@ -4220,7 +4220,7 @@ static const struct dispc_errata_i734_data {
 	struct dss_lcd_mgr_config lcd_conf;
 } i734 = {
 	.timings = {
-		.x_res = 8, .y_res = 1,
+		.hactive = 8, .y_res = 1,
 		.pixelclock = 16000000,
 		.hsw = 8, .hfp = 4, .hbp = 4,
 		.vsw = 1, .vfp = 1, .vbp = 1,
diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c
index 8dcdd7cf9937..4808cc8368c5 100644
--- a/drivers/gpu/drm/omapdrm/dss/display.c
+++ b/drivers/gpu/drm/omapdrm/dss/display.c
@@ -35,7 +35,7 @@
 void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
 			u16 *xres, u16 *yres)
 {
-	*xres = dssdev->panel.timings.x_res;
+	*xres = dssdev->panel.timings.hactive;
 	*yres = dssdev->panel.timings.y_res;
 }
 EXPORT_SYMBOL(omapdss_default_get_resolution);
@@ -224,7 +224,7 @@ void videomode_to_omap_video_timings(const struct videomode *vm,
 	memset(ovt, 0, sizeof(*ovt));
 
 	ovt->pixelclock = vm->pixelclock;
-	ovt->x_res = vm->hactive;
+	ovt->hactive = vm->hactive;
 	ovt->hbp = vm->hback_porch;
 	ovt->hfp = vm->hfront_porch;
 	ovt->hsw = vm->hsync_len;
@@ -257,7 +257,7 @@ void omap_video_timings_to_videomode(const struct omap_video_timings *ovt,
 
 	vm->pixelclock = ovt->pixelclock;
 
-	vm->hactive = ovt->x_res;
+	vm->hactive = ovt->hactive;
 	vm->hback_porch = ovt->hbp;
 	vm->hfront_porch = ovt->hfp;
 	vm->hsync_len = ovt->hsw;
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c
index b268295b76cf..d653f492cbfd 100644
--- a/drivers/gpu/drm/omapdrm/dss/dpi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dpi.c
@@ -512,7 +512,7 @@ static int dpi_check_timings(struct omap_dss_device *dssdev,
 	struct dpi_clk_calc_ctx ctx;
 	bool ok;
 
-	if (timings->x_res % 8 != 0)
+	if (timings->hactive % 8 != 0)
 		return -EINVAL;
 
 	if (!dispc_mgr_timings_ok(channel, timings))
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index e1be5e795cd8..aaff0d5a6720 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -3326,7 +3326,7 @@ static void dsi_config_vp_num_line_buffers(struct platform_device *dsidev)
 		 * Don't use line buffers if width is greater than the video
 		 * port's line buffer size
 		 */
-		if (dsi->line_buffer_size <= timings->x_res * bpp / 8)
+		if (dsi->line_buffer_size <= timings->hactive * bpp / 8)
 			num_line_buffers = 0;
 		else
 			num_line_buffers = 2;
@@ -3494,7 +3494,7 @@ static void dsi_config_cmd_mode_interleaving(struct platform_device *dsidev)
 
 	exiths_clk = ths_exit + tclk_trail;
 
-	width_bytes = DIV_ROUND_UP(timings->x_res * bpp, 8);
+	width_bytes = DIV_ROUND_UP(timings->hactive * bpp, 8);
 	bllp = hbp + hfp + hsa + DIV_ROUND_UP(width_bytes + 6, ndl);
 
 	if (!hsa_blanking_mode) {
@@ -3713,7 +3713,7 @@ static void dsi_proto_timings(struct platform_device *dsidev)
 		t_he = hsync_end ?
 			((hsa == 0 && ndl == 3) ? 1 : DIV_ROUND_UP(4, ndl)) : 0;
 
-		width_bytes = DIV_ROUND_UP(timings->x_res * bpp, 8);
+		width_bytes = DIV_ROUND_UP(timings->hactive * bpp, 8);
 
 		/* TL = t_HS + HSA + t_HE + HFP + ceil((WC + 6) / NDL) + HBP */
 		tl = DIV_ROUND_UP(4, ndl) + (hsync_end ? hsa : 0) + t_he + hfp +
@@ -3856,7 +3856,7 @@ static int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel)
 		/* MODE, 1 = video mode */
 		REG_FLD_MOD(dsidev, DSI_VC_CTRL(channel), 1, 4, 4);
 
-		word_count = DIV_ROUND_UP(dsi->timings.x_res * bpp, 8);
+		word_count = DIV_ROUND_UP(dsi->timings.hactive * bpp, 8);
 
 		dsi_vc_write_long_header(dsidev, channel, data_type,
 				word_count, 0);
@@ -3918,7 +3918,7 @@ static void dsi_update_screen_dispc(struct platform_device *dsidev)
 	int r;
 	const unsigned channel = dsi->update_channel;
 	const unsigned line_buf_size = dsi->line_buffer_size;
-	u16 w = dsi->timings.x_res;
+	u16 w = dsi->timings.hactive;
 	u16 h = dsi->timings.y_res;
 
 	DSSDBG("dsi_update_screen_dispc(%dx%d)\n", w, h);
@@ -4056,7 +4056,7 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel,
 	dsi->framedone_callback = callback;
 	dsi->framedone_data = data;
 
-	dw = dsi->timings.x_res;
+	dw = dsi->timings.hactive;
 	dh = dsi->timings.y_res;
 
 #ifdef DSI_PERF_MEASURE
@@ -4361,7 +4361,7 @@ static void print_dispc_vm(const char *str, const struct omap_video_timings *t)
 	unsigned long pck = t->pixelclock;
 	int hact, bl, tot;
 
-	hact = t->x_res;
+	hact = t->hactive;
 	bl = t->hsw + t->hbp + t->hfp;
 	tot = hact + bl;
 
@@ -4402,7 +4402,7 @@ static void print_dsi_dispc_vm(const char *str,
 	vm.hsw = div64_u64((u64)(t->hsa + t->hse) * pck, byteclk);
 	vm.hbp = div64_u64((u64)t->hbp * pck, byteclk);
 	vm.hfp = div64_u64((u64)t->hfp * pck, byteclk);
-	vm.x_res = t->hact;
+	vm.hactive = t->hact;
 
 	print_dispc_vm(str, &vm);
 }
@@ -4421,7 +4421,7 @@ static bool dsi_cm_calc_dispc_cb(int lckd, int pckd, unsigned long lck,
 
 	*t = *ctx->config->timings;
 	t->pixelclock = pck;
-	t->x_res = ctx->config->timings->x_res;
+	t->hactive = ctx->config->timings->hactive;
 	t->y_res = ctx->config->timings->y_res;
 	t->hsw = t->hfp = t->hbp = t->vsw = 1;
 	t->vfp = t->vbp = 0;
@@ -4525,7 +4525,7 @@ static bool dsi_vm_calc_blanking(struct dsi_clk_calc_ctx *ctx)
 	dispc_pck = ctx->dispc_cinfo.pck;
 	dispc_tput = (u64)dispc_pck * bitspp;
 
-	xres = req_vm->x_res;
+	xres = req_vm->hactive;
 
 	panel_hbl = req_vm->hfp + req_vm->hbp + req_vm->hsw;
 	panel_htot = xres + panel_hbl;
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
index cbd28dfdb86a..c5e89c887687 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c
@@ -171,7 +171,7 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 
 	p = &hdmi.cfg.timings;
 
-	DSSDBG("hdmi_power_on x_res= %d y_res = %d\n", p->x_res, p->y_res);
+	DSSDBG("hdmi_power_on hactive= %d y_res = %d\n", p->hactive, p->y_res);
 
 	pc = p->pixelclock;
 	if (p->double_pixel)
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
index 0c0a5139a301..829d22253972 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c
@@ -183,7 +183,7 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
 
 	p = &hdmi.cfg.timings;
 
-	DSSDBG("hdmi_power_on x_res= %d y_res = %d\n", p->x_res, p->y_res);
+	DSSDBG("hdmi_power_on hactive= %d y_res = %d\n", p->hactive, p->y_res);
 
 	pc = p->pixelclock;
 	if (p->double_pixel)
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 8ab2093daa12..cecc400b08e2 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -316,7 +316,7 @@ static void hdmi_core_init(struct hdmi_core_vid_config *video_cfg,
 	}
 
 	if (cfg->timings.double_pixel) {
-		video_cfg->v_fc_config.timings.x_res *= 2;
+		video_cfg->v_fc_config.timings.hactive *= 2;
 		video_cfg->hblank *= 2;
 		video_cfg->v_fc_config.timings.hfp *= 2;
 		video_cfg->v_fc_config.timings.hsw *= 2;
@@ -348,9 +348,9 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 
 	/* set x resolution */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV1,
-			cfg->v_fc_config.timings.x_res >> 8, 4, 0);
+			cfg->v_fc_config.timings.hactive >> 8, 4, 0);
 	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV0,
-			cfg->v_fc_config.timings.x_res & 0xFF, 7, 0);
+			cfg->v_fc_config.timings.hactive & 0xFF, 7, 0);
 
 	/* set y resolution */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV1,
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
index 203694a52d18..17f0d7afb855 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
@@ -199,7 +199,7 @@ void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
 
 	video_fmt->packing_mode = HDMI_PACK_10b_RGB_YUV444;
 	video_fmt->y_res = param->timings.y_res;
-	video_fmt->x_res = param->timings.x_res;
+	video_fmt->x_res = param->timings.hactive;
 
 	timings->hbp = param->timings.hbp;
 	timings->hfp = param->timings.hfp;
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 6eaf1adbd606..ddd6d14049d0 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -301,7 +301,7 @@ struct omap_dss_dsi_config {
 
 struct omap_video_timings {
 	/* Unit: pixels */
-	u16 x_res;
+	u16 hactive;
 	/* Unit: pixels */
 	u16 y_res;
 	/* Unit: Hz */
diff --git a/drivers/gpu/drm/omapdrm/dss/rfbi.c b/drivers/gpu/drm/omapdrm/dss/rfbi.c
index cd53566d75eb..81d26d1562f6 100644
--- a/drivers/gpu/drm/omapdrm/dss/rfbi.c
+++ b/drivers/gpu/drm/omapdrm/dss/rfbi.c
@@ -308,7 +308,7 @@ static int rfbi_transfer_area(struct omap_dss_device *dssdev,
 	u32 l;
 	int r;
 	struct omap_overlay_manager *mgr = rfbi.output.manager;
-	u16 width = rfbi.timings.x_res;
+	u16 width = rfbi.timings.hactive;
 	u16 height = rfbi.timings.y_res;
 
 	/*BUG_ON(callback == 0);*/
@@ -777,7 +777,7 @@ static int rfbi_update(struct omap_dss_device *dssdev, void (*callback)(void *),
 
 static void rfbi_set_size(struct omap_dss_device *dssdev, u16 w, u16 h)
 {
-	rfbi.timings.x_res = w;
+	rfbi.timings.hactive = w;
 	rfbi.timings.y_res = h;
 }
 
@@ -854,7 +854,7 @@ static void rfbi_config_lcd_manager(struct omap_dss_device *dssdev)
 	dss_mgr_set_lcd_config(mgr, &mgr_config);
 
 	/*
-	 * Set rfbi.timings with default values, the x_res and y_res fields
+	 * Set rfbi.timings with default values, the hactive and y_res fields
 	 * are expected to be already configured by the panel driver via
 	 * omapdss_rfbi_set_size()
 	 */
diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c
index 6eedf2118708..970c3cb97a8c 100644
--- a/drivers/gpu/drm/omapdrm/dss/venc.c
+++ b/drivers/gpu/drm/omapdrm/dss/venc.c
@@ -263,7 +263,7 @@ static const struct venc_config venc_config_pal_bdghi = {
 };
 
 const struct omap_video_timings omap_dss_pal_timings = {
-	.x_res		= 720,
+	.hactive	= 720,
 	.y_res		= 574,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
@@ -284,7 +284,7 @@ const struct omap_video_timings omap_dss_pal_timings = {
 EXPORT_SYMBOL(omap_dss_pal_timings);
 
 const struct omap_video_timings omap_dss_ntsc_timings = {
-	.x_res		= 720,
+	.hactive	= 720,
 	.y_res		= 482,
 	.pixelclock	= 13500000,
 	.hsw		= 64,
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index 137fe690a0da..bc33ce34a856 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -47,7 +47,7 @@ void copy_timings_omap_to_drm(struct drm_display_mode *mode,
 {
 	mode->clock = timings->pixelclock / 1000;
 
-	mode->hdisplay = timings->x_res;
+	mode->hdisplay = timings->hactive;
 	mode->hsync_start = mode->hdisplay + timings->hfp;
 	mode->hsync_end = mode->hsync_start + timings->hsw;
 	mode->htotal = mode->hsync_end + timings->hbp;
@@ -81,7 +81,7 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
 {
 	timings->pixelclock = mode->clock * 1000;
 
-	timings->x_res = mode->hdisplay;
+	timings->hactive = mode->hdisplay;
 	timings->hfp = mode->hsync_start - mode->hdisplay;
 	timings->hsw = mode->hsync_end - mode->hsync_start;
 	timings->hbp = mode->htotal - mode->hsync_end;
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


#1488792 — [PATCH v2 09/23] drm/omap: HDMI5: Use pointer to cfg->v_fc_config.timings in hdmi_core_video_config

FromPeter Ujfalusi <peter.ujfalusi@ti.com>
Date2016-09-22 13:20 +0200
Subject[PATCH v2 09/23] drm/omap: HDMI5: Use pointer to cfg->v_fc_config.timings in hdmi_core_video_config
Message-ID<skacO-5BK-37@gated-at.bofh.it>
In reply to#1488764
By using a pointer to the omap_mode_timings struct we can unwrap lines to
make the code easier to follow.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 47 ++++++++++++++------------------
 1 file changed, 20 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
index 457dbd2f93a2..2baef4f7714b 100644
--- a/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
+++ b/drivers/gpu/drm/omapdrm/dss/hdmi5_core.c
@@ -329,13 +329,12 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 			struct hdmi_core_vid_config *cfg)
 {
 	void __iomem *base = core->base;
+	struct omap_video_timings *ovt = &cfg->v_fc_config.timings;
 	unsigned char r = 0;
 	bool vsync_pol, hsync_pol;
 
-	vsync_pol =
-		cfg->v_fc_config.timings.vsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
-	hsync_pol =
-		cfg->v_fc_config.timings.hsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
+	vsync_pol = ovt->vsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
+	hsync_pol = ovt->hsync_level == OMAPDSS_SIG_ACTIVE_HIGH;
 
 	/* Set hsync, vsync and data-enable polarity  */
 	r = hdmi_read_reg(base, HDMI_CORE_FC_INVIDCONF);
@@ -343,20 +342,16 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 	r = FLD_MOD(r, hsync_pol, 5, 5);
 	r = FLD_MOD(r, cfg->data_enable_pol, 4, 4);
 	r = FLD_MOD(r, cfg->vblank_osc, 1, 1);
-	r = FLD_MOD(r, cfg->v_fc_config.timings.interlace, 0, 0);
+	r = FLD_MOD(r, ovt->interlace, 0, 0);
 	hdmi_write_reg(base, HDMI_CORE_FC_INVIDCONF, r);
 
 	/* set x resolution */
-	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV1,
-			cfg->v_fc_config.timings.hactive >> 8, 4, 0);
-	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV0,
-			cfg->v_fc_config.timings.hactive & 0xFF, 7, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV1, ovt->hactive >> 8, 4, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_INHACTIV0, ovt->hactive & 0xFF, 7, 0);
 
 	/* set y resolution */
-	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV1,
-			cfg->v_fc_config.timings.vactive >> 8, 4, 0);
-	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV0,
-			cfg->v_fc_config.timings.vactive & 0xFF, 7, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV1, ovt->vactive >> 8, 4, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_INVACTIV0, ovt->vactive & 0xFF, 7, 0);
 
 	/* set horizontal blanking pixels */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INHBLANK1, cfg->hblank >> 8, 4, 0);
@@ -366,30 +361,28 @@ static void hdmi_core_video_config(struct hdmi_core_data *core,
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVBLANK, cfg->vblank, 7, 0);
 
 	/* set horizontal sync offset */
-	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINDELAY1,
-			cfg->v_fc_config.timings.hfront_porch >> 8, 4, 0);
-	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINDELAY0,
-			cfg->v_fc_config.timings.hfront_porch & 0xFF, 7, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINDELAY1, ovt->hfront_porch >> 8,
+		    4, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINDELAY0, ovt->hfront_porch & 0xFF,
+		    7, 0);
 
 	/* set vertical sync offset */
-	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINDELAY,
-			cfg->v_fc_config.timings.vfront_porch, 7, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINDELAY, ovt->vfront_porch, 7, 0);
 
 	/* set horizontal sync pulse width */
-	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH1,
-			(cfg->v_fc_config.timings.hsync_len >> 8), 1, 0);
-	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH0,
-			cfg->v_fc_config.timings.hsync_len & 0xFF, 7, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH1, (ovt->hsync_len >> 8),
+		    1, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_HSYNCINWIDTH0, ovt->hsync_len & 0xFF,
+		    7, 0);
 
 	/*  set vertical sync pulse width */
-	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINWIDTH,
-			cfg->v_fc_config.timings.vsync_len, 5, 0);
+	REG_FLD_MOD(base, HDMI_CORE_FC_VSYNCINWIDTH, ovt->vsync_len, 5, 0);
 
 	/* select DVI mode */
 	REG_FLD_MOD(base, HDMI_CORE_FC_INVIDCONF,
-			cfg->v_fc_config.hdmi_dvi_mode, 3, 3);
+		    cfg->v_fc_config.hdmi_dvi_mode, 3, 3);
 
-	if (cfg->v_fc_config.timings.double_pixel)
+	if (ovt->double_pixel)
 		REG_FLD_MOD(base, HDMI_CORE_FC_PRCONF, 2, 7, 4);
 	else
 		REG_FLD_MOD(base, HDMI_CORE_FC_PRCONF, 1, 7, 4);
-- 
2.10.0

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web