From: Satendra Singh Thakur <satendra.t@samsung.com>
To: Maxime Ripard <maxime.ripard@bootlin.com>,
David Airlie <airlied@linux.ie>, Chen-Yu Tsai <wens@csie.org>,
dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Cc: madhur.verma@samsung.com, sst2005@gmail.com,
Satendra Singh Thakur <satendra.t@samsung.com>,
Hemanshu Srivastava <hemanshu.s@samsung.com>
Subject: [PATCH v1 09/13] drm/kms/mode/sun4i-tv: using helper func drm_display_mode_from_videomode for calculating timing parameters
Date: Fri, 4 May 2018 13:53:25 +0530 [thread overview]
Message-ID: <1525422205-2915-1-git-send-email-satendra.t@samsung.com> (raw)
In-Reply-To: <20180503110216.63bg3kw7cwppqbzx@flea>
To avoid duplicate logic for horizonal/vertical sync_start/end
helper func drm_display_mode_from_videomode is used
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Satendra Singh Thakur <satendra.t@samsung.com>
Acked-by: Madhur Verma <madhur.verma@samsung.com>
Cc: Hemanshu Srivastava <hemanshu.s@samsung.com>
---
v1: Added acked-by fields
drivers/gpu/drm/sun4i/sun4i_tv.c | 67 +++++++++++++++-------------------------
1 file changed, 25 insertions(+), 42 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index b070d52..7ffa930 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -21,6 +21,7 @@
#include <drm/drm_crtc_helper.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
+#include <video/videomode.h>
#include "sun4i_crtc.h"
#include "sun4i_drv.h"
@@ -147,16 +148,7 @@ struct tv_mode {
u16 front_porch;
u16 line_number;
u16 vblank_level;
-
- u32 hdisplay;
- u16 hfront_porch;
- u16 hsync_len;
- u16 hback_porch;
-
- u32 vdisplay;
- u16 vfront_porch;
- u16 vsync_len;
- u16 vback_porch;
+ struct videomode vm;
bool yc_en;
bool dac3_en;
@@ -223,16 +215,16 @@ static const struct tv_mode tv_modes[] = {
.back_porch = 118,
.front_porch = 32,
.line_number = 525,
-
- .hdisplay = 720,
- .hfront_porch = 18,
- .hsync_len = 2,
- .hback_porch = 118,
-
- .vdisplay = 480,
- .vfront_porch = 26,
- .vsync_len = 2,
- .vback_porch = 17,
+ .vm = {
+ .hactive = 720,
+ .hfront_porch = 18,
+ .hsync_len = 2,
+ .hback_porch = 118,
+ .vactive = 480,
+ .vfront_porch = 26,
+ .vsync_len = 2,
+ .vback_porch = 17,
+ },
.vblank_level = 240,
@@ -249,16 +241,16 @@ static const struct tv_mode tv_modes[] = {
.back_porch = 138,
.front_porch = 24,
.line_number = 625,
-
- .hdisplay = 720,
- .hfront_porch = 3,
- .hsync_len = 2,
- .hback_porch = 139,
-
- .vdisplay = 576,
- .vfront_porch = 28,
- .vsync_len = 2,
- .vback_porch = 19,
+ .vm = {
+ .hactive = 720,
+ .hfront_porch = 3,
+ .hsync_len = 2,
+ .hback_porch = 139,
+ .vactive = 576,
+ .vfront_porch = 28,
+ .vsync_len = 2,
+ .vback_porch = 19,
+ },
.vblank_level = 252,
@@ -311,9 +303,9 @@ static const struct tv_mode *sun4i_tv_find_tv_by_mode(const struct drm_display_m
DRM_DEBUG_DRIVER("Comparing mode %s vs %s (X: %d vs %d)",
mode->name, tv_mode->name,
- mode->vdisplay, tv_mode->vdisplay);
+ mode->vdisplay, tv_mode->vm.vactive);
- if (mode->vdisplay == tv_mode->vdisplay)
+ if (mode->vdisplay == tv_mode->vm.vactive)
return tv_mode;
}
@@ -325,19 +317,10 @@ static void sun4i_tv_mode_to_drm_mode(const struct tv_mode *tv_mode,
{
DRM_DEBUG_DRIVER("Creating mode %s\n", mode->name);
+ drm_display_mode_from_videomode(&tv_mode->vm, mode);
mode->type = DRM_MODE_TYPE_DRIVER;
mode->clock = 13500;
mode->flags = DRM_MODE_FLAG_INTERLACE;
-
- mode->hdisplay = tv_mode->hdisplay;
- mode->hsync_start = mode->hdisplay + tv_mode->hfront_porch;
- mode->hsync_end = mode->hsync_start + tv_mode->hsync_len;
- mode->htotal = mode->hsync_end + tv_mode->hback_porch;
-
- mode->vdisplay = tv_mode->vdisplay;
- mode->vsync_start = mode->vdisplay + tv_mode->vfront_porch;
- mode->vsync_end = mode->vsync_start + tv_mode->vsync_len;
- mode->vtotal = mode->vsync_end + tv_mode->vback_porch;
}
static void sun4i_tv_disable(struct drm_encoder *encoder)
--
2.7.4
next prev parent reply other threads:[~2018-05-04 8:24 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
2018-05-03 8:36 ` [PATCH 01/13] drm/kms/mode/atmel-hlcdc: using helper func drm_display_mode_to_videomode " Satendra Singh Thakur
2018-05-03 8:37 ` [PATCH 02/13] drm/kms/mode/bridge-tc358767: " Satendra Singh Thakur
2018-05-03 8:39 ` [PATCH 03/13] drm/kms/mode/exynos-dsi: " Satendra Singh Thakur
2018-05-03 12:21 ` Robin Murphy
2018-05-04 8:15 ` [PATCH v1 " Satendra Singh Thakur
2018-05-04 11:25 ` Robin Murphy
2018-05-07 3:32 ` [PATCH v2 " Satendra Singh Thakur
2018-05-07 9:33 ` Andrzej Hajda
2018-05-03 8:44 ` [PATCH 04/13] drm/kms/mode/fsl-dcu: " Satendra Singh Thakur
2018-05-07 20:46 ` Stefan Agner
2018-05-08 4:15 ` [PATCH v1 " Satendra Singh Thakur
2018-05-03 8:46 ` [PATCH 05/13] drm/kms/mode/gma500-mdfld_dsi_dpi: using helper function " Satendra Singh Thakur
2018-05-03 9:01 ` [PATCH 06/13] drm/kms/mode/hisilicon-kirin-dsi-ade: " Satendra Singh Thakur
2018-05-03 9:09 ` [PATCH 07/13] drm/kms/mode/meson-encoder: " Satendra Singh Thakur
2018-05-03 9:35 ` [PATCH 08/13] drm/kms/mode/pl111-display: " Satendra Singh Thakur
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
2018-05-04 8:23 ` Satendra Singh Thakur [this message]
2018-05-03 11:03 ` [PATCH 10/13] drm/kms/mode/ti-lcdc: using helper func drm_display_mode_to_videomode " Satendra Singh Thakur
2018-05-03 11:08 ` [PATCH 11/13] drm/kms/mode/tegra: " Satendra Singh Thakur
2018-05-03 11:09 ` [PATCH 12/13] drm/kms/mode/mtk_dpi_dsi: " Satendra Singh Thakur
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
2018-05-08 10:58 ` Satendra Singh Thakur
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=1525422205-2915-1-git-send-email-satendra.t@samsung.com \
--to=satendra.t@samsung.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=hemanshu.s@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=madhur.verma@samsung.com \
--cc=maxime.ripard@bootlin.com \
--cc=sst2005@gmail.com \
--cc=wens@csie.org \
/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