<html><body><p>
<pre>
Hi Alper,

On Sun, 2024-09-15 at 13:54 +0300, Alper Nebi Yasak wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Hi,
>
> On 2024-09-14 23:18 +03:00, Jason-JH.Lin wrote:
> > OVL_CON_CLRFMT_MAN is an configuration for extending color format
> > settings of DISP_REG_OVL_CON(n).
> > It will change some of the original color format settings.
> >
> > Take the settings of (3 << 12) for example.
> > - If OVL_CON_CLRFMT_MAN = 0 means OVL_CON_CLRFMT_RGBA8888.
> > - If OVL_CON_CLRFMT_MAN = 1 means OVL_CON_CLRFMT_PARGB8888.
> >
> > Since OVL_CON_CLRFMT_MAN is not supported on previous SoCs,
> > It breaks the OVL color format setting of MT8173.
> > So add fmt_support_man to the driver data of MT8192 and MT8195
> > to solve the downgrade problem.
> >
> > Fixes: a3f7f7ef4bfe ("drm/mediatek: Support "Pre-multiplied"
> blending in OVL")
> > Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
> > ---
> > drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 28 ++++++++++++++++++---
> ----
> > 1 file changed, 20 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > index 89b439dcf3a6..aa575569f996 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > @@ -70,10 +70,18 @@
> > #define OVL_CON_CLRFMT_UYVY(4 << 12)
> > #define OVL_CON_CLRFMT_YUYV(5 << 12)
> > #define OVL_CON_MTX_YUV_TO_RGB(6 << 16)
> > -#define OVL_CON_CLRFMT_PARGB8888 ((3 << 12) | OVL_CON_CLRFMT_MAN)
> > -#define OVL_CON_CLRFMT_PABGR8888 (OVL_CON_CLRFMT_PARGB8888 |
> OVL_CON_RGB_SWAP)
> > -#define OVL_CON_CLRFMT_PBGRA8888 (OVL_CON_CLRFMT_PARGB8888 |
> OVL_CON_BYTE_SWAP)
> > -#define OVL_CON_CLRFMT_PRGBA8888 (OVL_CON_CLRFMT_PABGR8888 |
> OVL_CON_BYTE_SWAP)
> > +#define OVL_CON_CLRFMT_PARGB8888(ovl)((ovl)->data->fmt_support_man
> ? \
> > +((3 << 12) | OVL_CON_CLRFMT_MAN) : \
> > +OVL_CON_CLRFMT_ABGR8888)
>
> Should be OVL_CON_CLRFMT_ARGB8888 (*RGB* vs *BGR*)?
>
> Otherwise I still see broken colors, but in blue instead of red.
>

Yes, that was a typo. It should be original settings (ARGB8888).

> > +#define OVL_CON_CLRFMT_PABGR8888(ovl)((ovl)->data->fmt_support_man
> ? \
> > +(OVL_CON_CLRFMT_PARGB8888 | OVL_CON_RGB_SWAP) : \
>
> Compile error, likely (OVL_CON_CLRFMT_PARGB8888(ovl) | ...)?
>

Yes, my mistake...

> > +OVL_CON_CLRFMT_ABGR8888)
> > +#define OVL_CON_CLRFMT_PBGRA8888(ovl)((ovl)->data->fmt_support_man
> ? \
> > +(OVL_CON_CLRFMT_PARGB8888 | OVL_CON_BYTE_SWAP) : \
>
> Same as above, OVL_CON_CLRFMT_PARGB8888(ovl)
>
> > +OVL_CON_CLRFMT_BGRA8888)
> > +#define OVL_CON_CLRFMT_PRGBA8888(ovl)((ovl)->data->fmt_support_man
> ? \
> > +(OVL_CON_CLRFMT_PABGR8888 | OVL_CON_BYTE_SWAP) : \
>
> Same as above, OVL_CON_CLRFMT_PABGR8888(ovl)
>
> > +OVL_CON_CLRFMT_RGBA8888)
> > #define OVL_CON_CLRFMT_RGB565(ovl)((ovl)->data->fmt_rgb565_is_0 ?
> \
> > 0 : OVL_CON_CLRFMT_RGB)
> > #define OVL_CON_CLRFMT_RGB888(ovl)((ovl)->data->fmt_rgb565_is_0 ?
> \
>
> With those changes, colors are fine on my MT8173, MT8183, MT8186
> Chromebooks.

Thanks for your verification.
I'll fix them and send v2 soon.

Regards,
Jason-JH.Lin


</pre>
</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->