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


Groups > linux.kernel > #1488792

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

From Peter Ujfalusi <peter.ujfalusi@ti.com>
Newsgroups linux.kernel
Subject [PATCH v2 09/23] drm/omap: HDMI5: Use pointer to cfg->v_fc_config.timings in hdmi_core_video_config
Date 2016-09-22 13:20 +0200
Message-ID <skacO-5BK-37@gated-at.bofh.it> (permalink)
References <ska37-5ym-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[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

csiph-web