From: Russell King <rmk+kernel@arm.linux.org.uk> To: linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Philipp Zabel <p.zabel@pengutronix.de>, Andy Yan <andy.yan@rock-chips.com>, Yakir Yang <ykk@rock-chips.com>, Fabio Estevam <fabio.estevam@freescale.com>, Sascha Hauer <s.hauer@pengutronix.de>, Jon Nettleton <jon.nettleton@gmail.com> Subject: [PATCH 03/12] gpu: imx: simplify sync polarity setting Date: Sat, 08 Aug 2015 17:03:35 +0100 [thread overview] Message-ID: <E1ZO6at-0002qb-2m@rmk-PC.arm.linux.org.uk> (raw) In-Reply-To: <20150808160251.GM7557@n2100.arm.linux.org.uk> Use a function to convert the sync pin to a bit mask for the DI_GENERAL register, and move this out of the interlace/non-interlace path to the common path. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- drivers/gpu/ipu-v3/ipu-di.c | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/ipu-v3/ipu-di.c b/drivers/gpu/ipu-v3/ipu-di.c index 2970c6bb668c..a96991c5c15f 100644 --- a/drivers/gpu/ipu-v3/ipu-di.c +++ b/drivers/gpu/ipu-v3/ipu-di.c @@ -543,6 +543,29 @@ int ipu_di_adjust_videomode(struct ipu_di *di, struct videomode *mode) } EXPORT_SYMBOL_GPL(ipu_di_adjust_videomode); +static u32 ipu_di_gen_polarity(int pin) +{ + switch (pin) { + case 1: + return DI_GEN_POLARITY_1; + case 2: + return DI_GEN_POLARITY_2; + case 3: + return DI_GEN_POLARITY_3; + case 4: + return DI_GEN_POLARITY_4; + case 5: + return DI_GEN_POLARITY_5; + case 6: + return DI_GEN_POLARITY_6; + case 7: + return DI_GEN_POLARITY_7; + case 8: + return DI_GEN_POLARITY_8; + } + return 0; +} + int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) { u32 reg; @@ -586,11 +609,6 @@ int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) di_gen |= DI_GEN_POLARITY_8; vsync_cnt = 7; - - if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) - di_gen |= DI_GEN_POLARITY_3; - if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) - di_gen |= DI_GEN_POLARITY_2; } else { ipu_di_sync_config_noninterlaced(di, sig, div); @@ -602,25 +620,13 @@ int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) */ if (!(sig->hsync_pin == 2 && sig->vsync_pin == 3)) vsync_cnt = 6; - - if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) { - if (sig->hsync_pin == 2) - di_gen |= DI_GEN_POLARITY_2; - else if (sig->hsync_pin == 4) - di_gen |= DI_GEN_POLARITY_4; - else if (sig->hsync_pin == 7) - di_gen |= DI_GEN_POLARITY_7; - } - if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) { - if (sig->vsync_pin == 3) - di_gen |= DI_GEN_POLARITY_3; - else if (sig->vsync_pin == 6) - di_gen |= DI_GEN_POLARITY_6; - else if (sig->vsync_pin == 8) - di_gen |= DI_GEN_POLARITY_8; - } } + if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) + di_gen |= ipu_di_gen_polarity(sig->hsync_pin); + if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) + di_gen |= ipu_di_gen_polarity(sig->vsync_pin); + if (sig->clk_pol) di_gen |= DI_GEN_POLARITY_DISP_CLK; -- 2.1.0
WARNING: multiple messages have this Message-ID (diff)
From: rmk+kernel@arm.linux.org.uk (Russell King) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 03/12] gpu: imx: simplify sync polarity setting Date: Sat, 08 Aug 2015 17:03:35 +0100 [thread overview] Message-ID: <E1ZO6at-0002qb-2m@rmk-PC.arm.linux.org.uk> (raw) In-Reply-To: <20150808160251.GM7557@n2100.arm.linux.org.uk> Use a function to convert the sync pin to a bit mask for the DI_GENERAL register, and move this out of the interlace/non-interlace path to the common path. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- drivers/gpu/ipu-v3/ipu-di.c | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/ipu-v3/ipu-di.c b/drivers/gpu/ipu-v3/ipu-di.c index 2970c6bb668c..a96991c5c15f 100644 --- a/drivers/gpu/ipu-v3/ipu-di.c +++ b/drivers/gpu/ipu-v3/ipu-di.c @@ -543,6 +543,29 @@ int ipu_di_adjust_videomode(struct ipu_di *di, struct videomode *mode) } EXPORT_SYMBOL_GPL(ipu_di_adjust_videomode); +static u32 ipu_di_gen_polarity(int pin) +{ + switch (pin) { + case 1: + return DI_GEN_POLARITY_1; + case 2: + return DI_GEN_POLARITY_2; + case 3: + return DI_GEN_POLARITY_3; + case 4: + return DI_GEN_POLARITY_4; + case 5: + return DI_GEN_POLARITY_5; + case 6: + return DI_GEN_POLARITY_6; + case 7: + return DI_GEN_POLARITY_7; + case 8: + return DI_GEN_POLARITY_8; + } + return 0; +} + int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) { u32 reg; @@ -586,11 +609,6 @@ int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) di_gen |= DI_GEN_POLARITY_8; vsync_cnt = 7; - - if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) - di_gen |= DI_GEN_POLARITY_3; - if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) - di_gen |= DI_GEN_POLARITY_2; } else { ipu_di_sync_config_noninterlaced(di, sig, div); @@ -602,25 +620,13 @@ int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig) */ if (!(sig->hsync_pin == 2 && sig->vsync_pin == 3)) vsync_cnt = 6; - - if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) { - if (sig->hsync_pin == 2) - di_gen |= DI_GEN_POLARITY_2; - else if (sig->hsync_pin == 4) - di_gen |= DI_GEN_POLARITY_4; - else if (sig->hsync_pin == 7) - di_gen |= DI_GEN_POLARITY_7; - } - if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) { - if (sig->vsync_pin == 3) - di_gen |= DI_GEN_POLARITY_3; - else if (sig->vsync_pin == 6) - di_gen |= DI_GEN_POLARITY_6; - else if (sig->vsync_pin == 8) - di_gen |= DI_GEN_POLARITY_8; - } } + if (sig->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH) + di_gen |= ipu_di_gen_polarity(sig->hsync_pin); + if (sig->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH) + di_gen |= ipu_di_gen_polarity(sig->vsync_pin); + if (sig->clk_pol) di_gen |= DI_GEN_POLARITY_DISP_CLK; -- 2.1.0
next prev parent reply other threads:[~2015-08-08 16:03 UTC|newest] Thread overview: 226+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-08-08 16:02 [PATCH 00/12] dw-hdmi development Russell King - ARM Linux 2015-08-08 16:02 ` Russell King - ARM Linux 2015-08-08 16:02 ` Russell King - ARM Linux 2015-08-08 16:03 ` [PATCH 01/12] drm: bridge/dw_hdmi: remove pixel repetition setting for all VICs Russell King 2015-08-08 16:03 ` Russell King 2015-08-08 16:03 ` [PATCH 02/12] drm: bridge/dw_hdmi: don't support any pixel doubled modes Russell King 2015-08-08 16:03 ` Russell King 2015-08-08 16:03 ` Russell King [this message] 2015-08-08 16:03 ` [PATCH 03/12] gpu: imx: simplify sync polarity setting Russell King 2015-10-06 17:57 ` Fabio Estevam 2015-10-06 17:57 ` Fabio Estevam 2015-10-06 17:57 ` Fabio Estevam 2015-08-08 16:03 ` [PATCH 04/12] gpu: imx: fix support for interlaced modes Russell King 2015-08-08 16:03 ` Russell King 2015-08-27 8:39 ` Philipp Zabel 2015-08-27 8:39 ` Philipp Zabel 2015-08-27 8:39 ` Philipp Zabel 2015-08-27 8:54 ` Russell King - ARM Linux 2015-08-27 8:54 ` Russell King - ARM Linux 2015-08-27 8:54 ` Russell King - ARM Linux 2015-08-27 9:40 ` Philipp Zabel 2015-08-27 9:40 ` Philipp Zabel 2015-08-27 9:40 ` Philipp Zabel 2015-10-06 17:59 ` Fabio Estevam 2015-10-06 17:59 ` Fabio Estevam 2015-10-06 17:59 ` Fabio Estevam 2015-08-08 16:03 ` [PATCH 05/12] drm: bridge/dw_hdmi: add support for interlaced video modes Russell King 2015-08-08 16:03 ` Russell King 2015-08-08 16:03 ` Russell King 2015-10-06 18:00 ` Fabio Estevam 2015-10-06 18:00 ` Fabio Estevam 2015-10-06 18:00 ` Fabio Estevam 2015-08-08 16:03 ` [PATCH 06/12] drm: bridge/dw_hdmi: clean up HDMI vs DVI mode handling Russell King 2015-08-08 16:03 ` Russell King 2015-10-07 3:40 ` Yakir Yang 2015-10-07 3:40 ` Yakir Yang 2015-10-07 3:40 ` Yakir Yang 2015-08-08 16:03 ` [PATCH 07/12] drm: bridge/dw_hdmi: enable audio only if sink supports audio Russell King 2015-08-08 16:03 ` Russell King 2015-10-07 3:42 ` Yakir Yang 2015-10-07 3:42 ` Yakir Yang 2015-10-07 3:42 ` Yakir Yang 2015-08-08 16:04 ` [PATCH 08/12] drm: bridge/dw_hdmi: avoid enabling interface in mode_set Russell King 2015-08-08 16:04 ` Russell King 2015-10-07 3:50 ` Yakir Yang 2015-10-07 3:50 ` Yakir Yang 2015-10-07 9:18 ` Russell King - ARM Linux 2015-10-07 9:18 ` Russell King - ARM Linux 2015-10-07 9:18 ` Russell King - ARM Linux 2015-10-07 9:35 ` Yakir Yang 2015-10-07 9:35 ` Yakir Yang 2015-10-07 9:35 ` Yakir Yang 2015-08-08 16:04 ` [PATCH 09/12] drm: bridge/dw_hdmi: rename dw_hdmi_phy_enable_power() Russell King 2015-08-08 16:04 ` Russell King 2015-08-08 16:04 ` Russell King 2015-10-07 4:00 ` Yakir Yang 2015-08-08 16:04 ` [PATCH 10/12] drm: bridge/dw_hdmi: fix phy enable/disable handling Russell King 2015-08-08 16:04 ` Russell King 2015-08-08 16:04 ` Russell King 2015-10-07 4:05 ` Yakir Yang 2015-10-07 9:48 ` Russell King - ARM Linux 2015-10-07 9:48 ` Russell King - ARM Linux 2015-10-07 9:48 ` Russell King - ARM Linux 2015-10-07 10:40 ` Yakir Yang 2015-10-07 19:17 ` Russell King - ARM Linux 2015-10-07 19:17 ` Russell King - ARM Linux 2015-10-07 19:17 ` Russell King - ARM Linux 2015-10-08 8:35 ` Yakir Yang 2015-10-08 8:35 ` Yakir Yang 2015-10-08 8:35 ` Yakir Yang 2015-08-08 16:04 ` [PATCH 11/12] drm: bridge/dw_hdmi: add connector mode forcing Russell King 2015-08-08 16:04 ` Russell King 2015-08-08 16:04 ` Russell King 2015-10-06 18:01 ` Fabio Estevam 2015-10-06 18:01 ` Fabio Estevam 2015-10-06 18:01 ` Fabio Estevam 2015-08-08 16:04 ` [PATCH 12/12] drm: bridge/dw_hdmi: improve HDMI enable/disable handling Russell King 2015-08-08 16:04 ` Russell King 2015-10-06 18:03 ` Fabio Estevam 2015-10-06 18:03 ` Fabio Estevam 2015-10-06 18:03 ` Fabio Estevam 2015-08-08 16:09 ` [PATCH 0/9] dw-hdmi audio support Russell King - ARM Linux 2015-08-08 16:09 ` Russell King - ARM Linux 2015-08-08 16:09 ` Russell King - ARM Linux 2015-08-08 16:10 ` [PATCH 1/9] drm: bridge/dw_hdmi-ahb-audio: add audio driver Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-08-10 10:05 ` Takashi Iwai 2015-08-10 10:05 ` Takashi Iwai 2015-08-10 10:05 ` Takashi Iwai 2015-08-10 10:39 ` Russell King - ARM Linux 2015-08-10 10:39 ` Russell King - ARM Linux 2015-08-10 10:39 ` Russell King - ARM Linux 2015-08-10 12:23 ` Takashi Iwai 2015-08-10 12:23 ` Takashi Iwai 2015-08-10 12:23 ` Takashi Iwai 2015-08-10 16:49 ` Russell King - ARM Linux 2015-08-10 16:49 ` Russell King - ARM Linux 2015-08-10 16:49 ` Russell King - ARM Linux 2015-08-10 18:16 ` Mark Brown 2015-08-10 18:16 ` Mark Brown 2015-08-14 13:54 ` [PATCH v2 1/9] drm: bridge/dw_hdmi-ahb-audio: add audio driver David Airlie <airlied@linux.ie>, Sascha Hauer <s.hauer@pengutronix.de>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Jaroslav Kysela <perex@perex.cz>, linux-rockchip@lists.infradead.org, Mark Brown <broonie@kernel.org>, Philipp Zabel <p.zabel@pengutronix.de>, Yakir Yang <ykk@rock-chips.com>, Andy Yan <andy.yan@rock-chips.com>, Jon Nettleton <jon.nettleton@gmail.com>, linux-arm-kernel@lists.infradead.org Russell King 2015-08-14 13:54 ` Russell King 2015-08-14 13:54 ` Russell King 2015-08-14 14:04 ` [PATCH v2 1/9] drm: bridge/dw_hdmi-ahb-audio: add audio driver Russell King 2015-08-14 14:04 ` Russell King 2015-08-14 14:04 ` Russell King 2015-08-14 14:34 ` [alsa-devel] " Takashi Iwai 2015-08-14 14:34 ` Takashi Iwai 2015-08-14 14:34 ` Takashi Iwai 2015-10-06 18:07 ` [PATCH " Fabio Estevam 2015-10-06 18:07 ` Fabio Estevam 2015-10-06 18:07 ` Fabio Estevam 2015-10-06 18:18 ` Russell King - ARM Linux 2015-10-06 18:18 ` Russell King - ARM Linux 2015-10-06 18:18 ` Russell King - ARM Linux 2015-10-06 18:45 ` Fabio Estevam 2015-10-06 18:45 ` Fabio Estevam 2015-10-06 18:45 ` Fabio Estevam 2015-10-06 18:54 ` Russell King - ARM Linux 2015-10-06 18:54 ` Russell King - ARM Linux 2015-10-06 18:54 ` Russell King - ARM Linux 2015-10-06 20:25 ` Fabio Estevam 2015-10-06 20:25 ` Fabio Estevam 2015-10-06 20:25 ` Fabio Estevam 2015-10-09 16:00 ` Russell King - ARM Linux 2015-10-09 16:00 ` Russell King - ARM Linux 2015-10-09 16:00 ` Russell King - ARM Linux 2015-10-09 16:02 ` Fabio Estevam 2015-10-09 16:02 ` Fabio Estevam 2015-10-09 16:02 ` Fabio Estevam 2015-10-09 16:11 ` Russell King - ARM Linux 2015-10-09 16:11 ` Russell King - ARM Linux 2015-10-09 16:11 ` Russell King - ARM Linux 2015-08-08 16:10 ` [PATCH 2/9] drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` [PATCH 3/9] drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` [PATCH 4/9] drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` [PATCH 5/9] drm: bridge/dw_hdmi: avoid being recursive in N calculation Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-09-04 17:50 ` Doug Anderson 2015-09-04 17:50 ` Doug Anderson 2015-09-04 17:50 ` Doug Anderson 2015-08-08 16:10 ` [PATCH 6/9] drm: bridge/dw_hdmi: adjust pixel clock values " Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-09-04 18:21 ` Doug Anderson 2015-09-04 18:21 ` Doug Anderson 2015-09-04 18:21 ` Doug Anderson 2015-09-04 19:48 ` Doug Anderson 2015-09-04 19:48 ` Doug Anderson 2015-09-04 19:48 ` Doug Anderson 2015-09-04 21:24 ` Russell King - ARM Linux 2015-09-04 21:24 ` Russell King - ARM Linux 2015-09-04 21:24 ` Russell King - ARM Linux 2015-09-04 23:50 ` Doug Anderson 2015-09-04 23:50 ` Doug Anderson 2015-09-04 23:50 ` Doug Anderson 2015-09-05 0:27 ` Russell King - ARM Linux 2015-09-05 0:27 ` Russell King - ARM Linux 2015-09-05 0:27 ` Russell King - ARM Linux 2015-09-05 2:03 ` Doug Anderson 2015-09-05 2:03 ` Doug Anderson 2015-09-05 2:03 ` Doug Anderson 2015-09-05 8:31 ` Russell King - ARM Linux 2015-09-05 8:31 ` Russell King - ARM Linux 2015-09-05 8:31 ` Russell King - ARM Linux 2015-09-05 13:46 ` Doug Anderson 2015-09-05 13:46 ` Doug Anderson 2015-09-05 13:46 ` Doug Anderson 2015-09-05 14:01 ` Russell King - ARM Linux 2015-09-05 14:01 ` Russell King - ARM Linux 2015-09-05 14:01 ` Russell King - ARM Linux 2015-09-05 19:44 ` Doug Anderson 2015-09-05 19:44 ` Doug Anderson 2015-09-05 19:44 ` Doug Anderson 2015-09-05 8:34 ` Russell King - ARM Linux 2015-09-05 8:34 ` Russell King - ARM Linux 2015-09-05 8:34 ` Russell King - ARM Linux 2015-09-05 13:50 ` Doug Anderson 2015-09-05 13:50 ` Doug Anderson 2015-09-05 13:50 ` Doug Anderson 2015-08-08 16:10 ` [PATCH 7/9] drm: bridge/dw_hdmi: remove ratio support from ACR code Russell King 2015-08-08 16:10 ` Russell King 2015-08-08 16:10 ` Russell King 2015-09-04 18:24 ` Doug Anderson 2015-09-04 18:24 ` Doug Anderson 2015-09-04 18:24 ` Doug Anderson 2015-08-08 16:10 ` [PATCH 8/9] drm: bridge/dw_hdmi: replace CTS calculation for the ACR Russell King 2015-08-08 16:10 ` Russell King 2015-09-04 20:00 ` Doug Anderson 2015-09-04 20:00 ` Doug Anderson 2015-09-04 20:00 ` Doug Anderson 2015-08-08 16:10 ` [PATCH 9/9] drm: bridge/dw_hdmi-i2s-audio: add audio driver Russell King 2015-08-08 16:10 ` Russell King 2015-08-10 15:48 ` Russell King - ARM Linux 2015-08-10 15:48 ` Russell King - ARM Linux 2015-08-10 15:48 ` Russell King - ARM Linux 2015-08-10 16:26 ` Yakir Yang 2015-08-10 16:26 ` Yakir Yang 2015-08-10 16:26 ` Yakir Yang 2015-08-27 8:42 ` [PATCH 0/9] dw-hdmi audio support Philipp Zabel 2015-08-27 8:42 ` Philipp Zabel 2015-08-27 8:42 ` Philipp Zabel 2016-01-05 15:40 ` [alsa-devel] " Jean-Michel Hautbois 2016-01-05 15:40 ` Jean-Michel Hautbois 2016-01-05 15:54 ` Fabio Estevam 2016-01-05 15:54 ` Fabio Estevam 2016-01-05 15:54 ` Fabio Estevam 2016-01-05 16:04 ` Russell King - ARM Linux 2016-01-05 16:04 ` Russell King - ARM Linux 2016-01-05 16:04 ` Russell King - ARM Linux 2016-01-07 8:21 ` Jean-Michel Hautbois 2016-01-07 8:21 ` Jean-Michel Hautbois 2016-01-07 8:21 ` Jean-Michel Hautbois 2015-08-10 12:21 ` [PATCH 00/12] dw-hdmi development Thierry Reding 2015-08-10 12:21 ` Thierry Reding 2015-08-10 12:21 ` Thierry Reding 2015-08-18 10:37 ` Russell King - ARM Linux 2015-08-18 10:37 ` Russell King - ARM Linux 2015-08-18 10:37 ` Russell King - ARM Linux
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=E1ZO6at-0002qb-2m@rmk-PC.arm.linux.org.uk \ --to=rmk+kernel@arm.linux.org.uk \ --cc=andy.yan@rock-chips.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=fabio.estevam@freescale.com \ --cc=jon.nettleton@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-rockchip@lists.infradead.org \ --cc=p.zabel@pengutronix.de \ --cc=s.hauer@pengutronix.de \ --cc=ykk@rock-chips.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.