linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Satendra Singh Thakur <satendra.t@samsung.com>
To: Stefan Agner <stefan@agner.ch>,
	Alison Wang <alison.wang@freescale.com>,
	David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Cc: sst2005@gmail.com, Satendra Singh Thakur <satendra.t@samsung.com>,
	Madhur Verma <madhur.verma@samsung.com>,
	Hemanshu Srivastava <hemanshu.s@samsung.com>
Subject: [PATCH v1 04/13] drm/kms/mode/fsl-dcu: using helper func drm_display_mode_to_videomode for calculating timing parameters
Date: Tue,  8 May 2018 09:45:55 +0530	[thread overview]
Message-ID: <1525752955-9497-1-git-send-email-satendra.t@samsung.com> (raw)
In-Reply-To: <ac53f43cece86178076bc78c94cf06d4@agner.ch>

-Using drm_display_mode_to_videomode to avoid duplicate logic
-Removed index = drm_crtc_index(crtc) as it is unused
-Replaced DRM_MODE_FLAG_* flags with DISPLAY_FLAGS_* flags
-Replaced mode->h/vdisplay with vm.h/vactive

Acked-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Satendra Singh Thakur <satendra.t@samsung.com>
Cc: Madhur Verma <madhur.verma@samsung.com>
Cc: Hemanshu Srivastava <hemanshu.s@samsung.com>
---

 v1: 
 	Thanks for the comments Mr Stefan. I fixed most of them, other ones can't be fixed as explained below:
     	Header <video/videomode.h> defines struct vm, therefore we can't remove it.
     	Tried to add new line below clk_set_rate but checkpatch gave error.

	Other changes in the patch:
     	Removed index = drm_crtc_index(crtc) line as it is unused
     	Replaced DRM_MODE_FLAG_* flags with DISPLAY_FLAGS_* flags
     	Replaced mode->h/vdisplay with vm.h/vactive
	Added acked-by field

 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 37 ++++++++++++------------------
 1 file changed, 15 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
index 0e37524..d6ea667 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
@@ -17,6 +17,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_crtc_helper.h>
+#include <video/videomode.h>
 
 #include "fsl_dcu_drm_crtc.h"
 #include "fsl_dcu_drm_drv.h"
@@ -85,40 +86,32 @@ static void fsl_dcu_drm_crtc_mode_set_nofb(struct drm_crtc *crtc)
 	struct fsl_dcu_drm_device *fsl_dev = dev->dev_private;
 	struct drm_connector *con = &fsl_dev->connector.base;
 	struct drm_display_mode *mode = &crtc->state->mode;
-	unsigned int hbp, hfp, hsw, vbp, vfp, vsw, index, pol = 0;
-
-	index = drm_crtc_index(crtc);
-	clk_set_rate(fsl_dev->pix_clk, mode->clock * 1000);
-
-	/* Configure timings: */
-	hbp = mode->htotal - mode->hsync_end;
-	hfp = mode->hsync_start - mode->hdisplay;
-	hsw = mode->hsync_end - mode->hsync_start;
-	vbp = mode->vtotal - mode->vsync_end;
-	vfp = mode->vsync_start - mode->vdisplay;
-	vsw = mode->vsync_end - mode->vsync_start;
+	unsigned int pol = 0;
+	struct videomode vm;
 
+	drm_display_mode_to_videomode(mode, &vm);
+	clk_set_rate(fsl_dev->pix_clk, vm.pixelclock);
 	/* INV_PXCK as default (most display sample data on rising edge) */
 	if (!(con->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_POSEDGE))
 		pol |= DCU_SYN_POL_INV_PXCK;
 
-	if (mode->flags & DRM_MODE_FLAG_NHSYNC)
+	if (vm.flags & DISPLAY_FLAGS_HSYNC_LOW)
 		pol |= DCU_SYN_POL_INV_HS_LOW;
 
-	if (mode->flags & DRM_MODE_FLAG_NVSYNC)
+	if (vm.flags & DISPLAY_FLAGS_VSYNC_LOW)
 		pol |= DCU_SYN_POL_INV_VS_LOW;
 
 	regmap_write(fsl_dev->regmap, DCU_HSYN_PARA,
-		     DCU_HSYN_PARA_BP(hbp) |
-		     DCU_HSYN_PARA_PW(hsw) |
-		     DCU_HSYN_PARA_FP(hfp));
+		     DCU_HSYN_PARA_BP(vm.hback_porch) |
+		     DCU_HSYN_PARA_PW(vm.hsync_len) |
+		     DCU_HSYN_PARA_FP(vm.hfront_porch));
 	regmap_write(fsl_dev->regmap, DCU_VSYN_PARA,
-		     DCU_VSYN_PARA_BP(vbp) |
-		     DCU_VSYN_PARA_PW(vsw) |
-		     DCU_VSYN_PARA_FP(vfp));
+		     DCU_VSYN_PARA_BP(vm.vback_porch) |
+		     DCU_VSYN_PARA_PW(vm.vsync_len) |
+		     DCU_VSYN_PARA_FP(vm.vfront_porch));
 	regmap_write(fsl_dev->regmap, DCU_DISP_SIZE,
-		     DCU_DISP_SIZE_DELTA_Y(mode->vdisplay) |
-		     DCU_DISP_SIZE_DELTA_X(mode->hdisplay));
+		     DCU_DISP_SIZE_DELTA_Y(vm.vactive) |
+		     DCU_DISP_SIZE_DELTA_X(vm.hactive));
 	regmap_write(fsl_dev->regmap, DCU_SYN_POL, pol);
 	regmap_write(fsl_dev->regmap, DCU_BGND, DCU_BGND_R(0) |
 		     DCU_BGND_G(0) | DCU_BGND_B(0));
-- 
2.7.4

  parent reply	other threads:[~2018-05-08  4:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20180503082417epcas5p19ee919d68eb5ae18f183a41881869cc1@epcas5p1.samsung.com>
2018-05-03  8:23 ` [PATCH 00/13] drm/kms/mode: using helper func drm_display_mode_to/from_videomode for calculating timing parameters Satendra Singh Thakur
     [not found]   ` <CGME20180503083608epcas5p4c9cda0f0b42af8232691baa7cbde96c9@epcas5p4.samsung.com>
2018-05-03  8:36     ` [PATCH 01/13] drm/kms/mode/atmel-hlcdc: using helper func drm_display_mode_to_videomode " Satendra Singh Thakur
     [not found]   ` <CGME20180503083729epcas5p16b374ea53fd3cf338ce7085d6467da13@epcas5p1.samsung.com>
2018-05-03  8:37     ` [PATCH 02/13] drm/kms/mode/bridge-tc358767: " Satendra Singh Thakur
     [not found]   ` <CGME20180503083956epcas5p1eb97f7bd534e58e7154f5f11733e7aa0@epcas5p1.samsung.com>
2018-05-03  8:39     ` [PATCH 03/13] drm/kms/mode/exynos-dsi: " Satendra Singh Thakur
2018-05-03 12:21       ` Robin Murphy
     [not found]         ` <CGME20180504081613epcas5p405d342fe333975048175c4a360067f52@epcas5p4.samsung.com>
2018-05-04  8:15           ` [PATCH v1 " Satendra Singh Thakur
2018-05-04 11:25             ` Robin Murphy
     [not found]               ` <CGME20180507033238epcas5p2601b5ccbba8fa02cdde4f1375e90abe9@epcas5p2.samsung.com>
2018-05-07  3:32                 ` [PATCH v2 " Satendra Singh Thakur
2018-05-07  9:33                   ` Andrzej Hajda
     [not found]   ` <CGME20180503084441epcas5p371997e3772a2fe2bfb4dc26447dafe65@epcas5p3.samsung.com>
2018-05-03  8:44     ` [PATCH 04/13] drm/kms/mode/fsl-dcu: " Satendra Singh Thakur
2018-05-07 20:46       ` Stefan Agner
     [not found]         ` <CGME20180508041658epcas5p2deee8f1a13c2b00d7d628063d8b16b00@epcas5p2.samsung.com>
2018-05-08  4:15           ` Satendra Singh Thakur [this message]
     [not found]   ` <CGME20180503084655epcas5p127066f560b7c2d75f679e682c914abd6@epcas5p1.samsung.com>
2018-05-03  8:46     ` [PATCH 05/13] drm/kms/mode/gma500-mdfld_dsi_dpi: using helper function " Satendra Singh Thakur
     [not found]   ` <CGME20180503090123epcas5p263afd14e32bc2a50e446bc674f7498d7@epcas5p2.samsung.com>
2018-05-03  9:01     ` [PATCH 06/13] drm/kms/mode/hisilicon-kirin-dsi-ade: " Satendra Singh Thakur
     [not found]   ` <CGME20180503090930epcas5p23ef09c1e72c344bf8d879a344d0998cf@epcas5p2.samsung.com>
2018-05-03  9:09     ` [PATCH 07/13] drm/kms/mode/meson-encoder: " Satendra Singh Thakur
     [not found]   ` <CGME20180503093553epcas5p35363f1990726114a9079be483cc26d9a@epcas5p3.samsung.com>
2018-05-03  9:35     ` [PATCH 08/13] drm/kms/mode/pl111-display: " Satendra Singh Thakur
     [not found]   ` <CGME20180503105821epcas5p21a35d9eb29f83201d337a195d218fdd3@epcas5p2.samsung.com>
2018-05-03 10:58     ` [PATCH 09/13] drm/kms/mode/sun4i-tv: using helper func drm_display_mode_from_videomode " Satendra Singh Thakur
2018-05-03 11:02       ` Maxime Ripard
     [not found]         ` <CGME20180504082405epcas5p212d6a9fbb2a0baac4166cb5b68616055@epcas5p2.samsung.com>
2018-05-04  8:23           ` [PATCH v1 " Satendra Singh Thakur
     [not found]   ` <CGME20180503110352epcas5p32d2bbf72da59a6e2183c9eb67c58f1ba@epcas5p3.samsung.com>
2018-05-03 11:03     ` [PATCH 10/13] drm/kms/mode/ti-lcdc: using helper func drm_display_mode_to_videomode " Satendra Singh Thakur
     [not found]   ` <CGME20180503110834epcas5p25cf074e5fe2292c8053dfa9ebe9f8dc7@epcas5p2.samsung.com>
2018-05-03 11:08     ` [PATCH 11/13] drm/kms/mode/tegra: " Satendra Singh Thakur
     [not found]   ` <CGME20180503111008epcas5p26088af1ff767ac0bf06cae934f1da339@epcas5p2.samsung.com>
2018-05-03 11:09     ` [PATCH 12/13] drm/kms/mode/mtk_dpi_dsi: " Satendra Singh Thakur
     [not found]   ` <CGME20180503111248epcas5p4c2b8d1fd447cfbe0b53cf535faaf92c2@epcas5p4.samsung.com>
2018-05-03 11:12     ` [PATCH 13/13] drm/kms/mode/bridge-adv7533: " Satendra Singh Thakur
2018-05-07 13:46   ` [PATCH 00/13] drm/kms/mode: using helper func drm_display_mode_to/from_videomode " Daniel Vetter
     [not found]     ` <CGME20180508105900epcas5p25ffe94a214e5ad0848d834d6c3562ad6@epcas5p2.samsung.com>
2018-05-08 10:58       ` Satendra Singh Thakur
     [not found]         ` <CGME20180509115224epcas5p1c958418bc36fd224e8d36b9511c5beea@epcas5p1.samsung.com>
2018-05-09 11:52           ` Satendra Singh Thakur
2018-05-13 14:12             ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1525752955-9497-1-git-send-email-satendra.t@samsung.com \
    --to=satendra.t@samsung.com \
    --cc=airlied@linux.ie \
    --cc=alison.wang@freescale.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hemanshu.s@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=madhur.verma@samsung.com \
    --cc=sst2005@gmail.com \
    --cc=stefan@agner.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).