From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCHv2 20/31] drm/omap: HDMI: Fix HSW value
Date: Mon, 29 Feb 2016 23:55:39 +0200 [thread overview]
Message-ID: <11295071.bJVeF4RKFr@avalon> (raw)
In-Reply-To: <1456479379-6086-21-git-send-email-tomi.valkeinen@ti.com>
Hi Tomi,
Thank you for the patch.
On Friday 26 February 2016 11:36:08 Tomi Valkeinen wrote:
> On OMAP4 and OMAP5 ES1.0 the HDMI_WP_VIDEO_TIMING_H:HSW field is
> set directly to the HSW value. On later SoCs the field needs to be
> programmed with the value of HSW-1.
>
> Currently the driver always programs the field with the HSW value. Most
> videomodes seem to work fine with that, but at least low resolution
> interlaced modes don't work at all.
>
> This patch fixes the HSW for OMAP5 ES2.0+ SoCs.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
> drivers/gpu/drm/omapdrm/dss/hdmi_wp.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
> b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c index 7c544bc56fb5..48ffb39663c8
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
> +++ b/drivers/gpu/drm/omapdrm/dss/hdmi_wp.c
> @@ -165,12 +165,24 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data
> *wp, {
> u32 timing_h = 0;
> u32 timing_v = 0;
> + bool hsw_minus_one = true;
>
> 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.
> + * 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_minus_one = false;
> +
> timing_h |= FLD_VAL(timings->hbp, 31, 20);
> timing_h |= FLD_VAL(timings->hfp, 19, 8);
> - timing_h |= FLD_VAL(timings->hsw, 7, 0);
> + timing_h |= FLD_VAL(timings->hsw - (hsw_minus_one ? 1 : 0), 7, 0);
If you named the variable hsw_offset, make it an unsigned int, initialized it
to 1 and set it to 0 instead of false, you could write this as
timing_h |= FLD_VAL(timings->hsw - hsw_offset, 7, 0);
> hdmi_write_reg(wp->base, HDMI_WP_VIDEO_TIMING_H, timing_h);
>
> timing_v |= FLD_VAL(timings->vbp, 31, 20);
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-02-29 21:55 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 9:35 [PATCHv2 00/31] drm/omap: patches for v4.6 part 1 Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 01/31] drm/omap: HDMI: change enable/disable to avoid sync-losts Tomi Valkeinen
2016-02-29 21:48 ` Laurent Pinchart
2016-02-26 9:35 ` [PATCHv2 02/31] HACK: drm/omap: always use blocking DMM fill Tomi Valkeinen
2016-02-29 21:47 ` Laurent Pinchart
2016-02-26 9:35 ` [PATCHv2 03/31] drm/omap: add dmm_read() and dmm_write() wrappers Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 04/31] drm/omap: drm_atomic_get_plane_state() may return ERR_PTR Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 05/31] drm/omap: tpd12s015: remove platform data support Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 06/31] drm/omap: tpd12s015: gpio descriptor API Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 07/31] drm/omap: tpd12s015: CT_CP_HPD as optional gpio Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 08/31] drm/omap: add define for DISPC_IRQ_WBUNCOMPLETEERROR Tomi Valkeinen
2016-02-26 9:35 ` [PATCHv2 09/31] drm/omap: use dma_mapping_error in omap_gem_attach_pages Tomi Valkeinen
2016-02-29 21:48 ` Laurent Pinchart
2016-02-26 9:35 ` [PATCHv2 10/31] drm/omap: use dma_mapping_error in omap_gem_dma_sync Tomi Valkeinen
2016-02-29 21:51 ` Laurent Pinchart
2016-02-26 9:35 ` [PATCHv2 11/31] drm/omap: print an error if display enable fails Tomi Valkeinen
2016-02-29 21:52 ` Laurent Pinchart
2016-02-26 9:36 ` [PATCHv2 12/31] drm/omap: gem: Clean up GEM objects memory flags Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 13/31] drm/omap: gem: Refactor GEM object allocation Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 14/31] drm/omap: gem: Implement dma_buf import Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 15/31] drm/omap: remove support for ext mem & sync Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 16/31] drm/omap: increase vblank wait timeout Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 17/31] drm/omap: DISPC: support double-pixel mode Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 18/31] drm/omap: support double-pixel Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 19/31] drm/omap: HDMI: support double-pixel pixel clock Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 20/31] drm/omap: HDMI: Fix HSW value Tomi Valkeinen
2016-02-29 21:55 ` Laurent Pinchart [this message]
2016-03-01 8:32 ` Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 21/31] drm/omap: HDMI: fix WP timings for ilace Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 22/31] drm/omap: DISPC: Fix field order for HDMI Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 23/31] drm/omap: HDMI5: Fix FC HSW value Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 24/31] drm/omap: HDMI5: clean up timings copy Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 25/31] drm/omap: HDMI5: Add interlace support Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 26/31] drm/omap: HDMI5: allow interlace Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 27/31] drm/omap: verify that display x-res is divisible by 8 Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 28/31] drm/omap: verify that fb plane pitches are the same Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 29/31] drm/omap: EBUSY status handling in omap_gem_fault() Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 30/31] drm/omap: fix crtc->plane property delegation Tomi Valkeinen
2016-02-26 9:36 ` [PATCHv2 31/31] drm/omap: check if rotation is supported before commit Tomi Valkeinen
2016-02-29 21:56 ` [PATCHv2 00/31] drm/omap: patches for v4.6 part 1 Laurent Pinchart
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=11295071.bJVeF4RKFr@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=tomi.valkeinen@ti.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: link
Be 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.