[PATCH 3/4] drm/exynos: fix interlace resolutions for exynos5420
Inki Dae
inki.dae at samsung.com
Wed Jun 19 15:59:47 EST 2013
Applied.
Thanks,
Inki Dae
> -----Original Message-----
> From: 김승우 [mailto:sw0312.kim at samsung.com]
> Sent: Wednesday, June 19, 2013 2:34 PM
> To: Rahul Sharma
> Cc: linux-samsung-soc at vger.kernel.org; devicetree-
discuss at lists.ozlabs.org;
> dri-devel at lists.freedesktop.org; kgene.kim at samsung.com;
> inki.dae at samsung.com; joshi at samsung.com; r.sh.open at gmail.com; Seung-Woo
> Kim
> Subject: Re: [PATCH 3/4] drm/exynos: fix interlace resolutions for
> exynos5420
>
> Hi Rahul,
>
> This patch looks good to me.
>
> On 2013년 06월 18일 21:49, Rahul Sharma wrote:
> > Modified code for calculating hdmi IP register values from drm timing
> > values. The modification is based on the inputs from hw team and
> specifically
> > proposed for 1440x576i and 1440x480i. But same changes holds good for
> other
> > interlaced resolutions also.
> >
> > Signed-off-by: Rahul Sharma <rahul.sharma at samsung.com>
>
> Acked-by: Seung-Woo Kim <sw0312.kim at samsung.com>
>
> > ---
> > drivers/gpu/drm/exynos/exynos_hdmi.c | 14 ++++++++------
> > 1 file changed, 8 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> > index 8752171..2f807d5 100644
> > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> > @@ -1557,8 +1557,7 @@ static void hdmi_v14_mode_set(struct hdmi_context
> *hdata,
> > (m->vsync_start - m->vdisplay) / 2);
> > hdmi_set_reg(core->v2_blank, 2, m->vtotal / 2);
> > hdmi_set_reg(core->v1_blank, 2, (m->vtotal - m->vdisplay) /
> 2);
> > - hdmi_set_reg(core->v_blank_f0, 2, (m->vtotal +
> > - ((m->vsync_end - m->vsync_start) * 4) + 5) / 2);
> > + hdmi_set_reg(core->v_blank_f0, 2, m->vtotal - m->vdisplay /
> 2);
> > hdmi_set_reg(core->v_blank_f1, 2, m->vtotal);
> > hdmi_set_reg(core->v_sync_line_aft_2, 2, (m->vtotal / 2) +
> 7);
> > hdmi_set_reg(core->v_sync_line_aft_1, 2, (m->vtotal / 2) +
> 2);
> > @@ -1568,7 +1567,10 @@ static void hdmi_v14_mode_set(struct hdmi_context
> *hdata,
> > (m->htotal / 2) + (m->hsync_start - m->hdisplay));
> > hdmi_set_reg(tg->vact_st, 2, (m->vtotal - m->vdisplay) / 2);
> > hdmi_set_reg(tg->vact_sz, 2, m->vdisplay / 2);
> > - hdmi_set_reg(tg->vact_st2, 2, 0x249);/* Reset value + 1*/
> > + hdmi_set_reg(tg->vact_st2, 2, m->vtotal - m->vdisplay / 2);
> > + hdmi_set_reg(tg->vsync2, 2, (m->vtotal / 2) + 1);
> > + hdmi_set_reg(tg->vsync_bot_hdmi, 2, (m->vtotal / 2) + 1);
> > + hdmi_set_reg(tg->field_bot_hdmi, 2, (m->vtotal / 2) + 1);
> > hdmi_set_reg(tg->vact_st3, 2, 0x0);
> > hdmi_set_reg(tg->vact_st4, 2, 0x0);
> > } else {
> > @@ -1590,6 +1592,9 @@ static void hdmi_v14_mode_set(struct hdmi_context
> *hdata,
> > hdmi_set_reg(tg->vact_st2, 2, 0x248); /* Reset value */
> > hdmi_set_reg(tg->vact_st3, 2, 0x47b); /* Reset value */
> > hdmi_set_reg(tg->vact_st4, 2, 0x6ae); /* Reset value */
> > + hdmi_set_reg(tg->vsync2, 2, 0x233); /* Reset value */
> > + hdmi_set_reg(tg->vsync_bot_hdmi, 2, 0x233); /* Reset value
> */
> > + hdmi_set_reg(tg->field_bot_hdmi, 2, 0x233); /* Reset value
> */
> > }
> >
> > /* Following values & calculations are same irrespective of mode
> type */
> > @@ -1621,12 +1626,9 @@ static void hdmi_v14_mode_set(struct hdmi_context
> *hdata,
> > hdmi_set_reg(tg->hact_sz, 2, m->hdisplay);
> > hdmi_set_reg(tg->v_fsz, 2, m->vtotal);
> > hdmi_set_reg(tg->vsync, 2, 0x1);
> > - hdmi_set_reg(tg->vsync2, 2, 0x233); /* Reset value */
> > hdmi_set_reg(tg->field_chg, 2, 0x233); /* Reset value */
> > hdmi_set_reg(tg->vsync_top_hdmi, 2, 0x1); /* Reset value */
> > - hdmi_set_reg(tg->vsync_bot_hdmi, 2, 0x233); /* Reset value */
> > hdmi_set_reg(tg->field_top_hdmi, 2, 0x1); /* Reset value */
> > - hdmi_set_reg(tg->field_bot_hdmi, 2, 0x233); /* Reset value */
> > hdmi_set_reg(tg->tg_3d, 1, 0x0);
> > }
> >
> >
>
> --
> Seung-Woo Kim
> Samsung Software R&D Center
> --
More information about the devicetree-discuss
mailing list