Subject: Re: [EXT] Re: [PATCH v2 06/15] drm/mxsfb: Update mxsfb with additional pixel formats

From: Robert Chiras <[email-masked]>
Date: Wed, 14 Aug 2019 14:58:47 +0000

Hi Daniel,

On Mi, 2019-08-14 at 12:44 +0100, Daniel Stone wrote:
> Hi Robert,
> 
> On Wed, 14 Aug 2019 at 11:49, Robert Chiras <[email-masked]>
> wrote:
> > 
> > +       case DRM_FORMAT_BGR565: /* BG16 */
> > +               if (mxsfb->devdata->ipversion < 4)
> > +                       goto err;
> > +               writel(CTRL2_ODD_LINE_PATTERN(CTRL2_LINE_PATTERN_BG
> > R) |
> > +                       CTRL2_EVEN_LINE_PATTERN(CTRL2_LINE_PATTERN_
> > BGR),
> > +                       mxsfb->base + LCDC_V4_CTRL2 + REG_SET);
> > +               /* Fall through */
> > +       case DRM_FORMAT_RGB565: /* RG16 */
> > +               ctrl |= CTRL_SET_WORD_LENGTH(0);
> > +               ctrl &= ~CTRL_DF16;
> > +               ctrl1 |= CTRL1_SET_BYTE_PACKAGING(0xf);
> > +               break;
> For non-BGR formats, do you need to write RGB line-pattern back to
> the
> CTRL2 register? Otherwise, if you start with BGR565 then switch back
> to RGB565, presumably CTRL2 would still be programmed for BGR so you
> would display inverted channels.
The LINE_PATTERN from LCDC_V4_CTRL2 register is cleared above, with
this code:
+       if (mxsfb->devdata->ipversion >= 4)
+               writel(CTRL2_ODD_LINE_PATTERN(CTRL2_LINE_PATTERN_CLR) |
+                      CTRL2_EVEN_LINE_PATTERN(CTRL2_LINE_PATTERN_CLR),
+                      mxsfb->base + LCDC_V4_CTRL2 + REG_CLR);
> 
> Same goes for all the other BGR/RGB format pairs below.
> 
> Cheers,
> Daniel

Thanks,
Robert
_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel