[PATCH] drm/sun4i: Add a few formats

2016-11-02 Thread Maxime Ripard
On Sat, Oct 29, 2016 at 06:25:46PM +0800, Chen-Yu Tsai wrote:
> On Thu, Oct 27, 2016 at 10:35 PM, Maxime Ripard
>  wrote:
> > Hi,
> >
> > On Tue, Oct 25, 2016 at 08:42:26AM +0800, Chen-Yu Tsai wrote:
> >> On Mon, Oct 24, 2016 at 10:40 PM, Maxime Ripard
> >>  wrote:
> >> > Hi,
> >> >
> >> > On Fri, Oct 21, 2016 at 11:15:32AM +0800, Chen-Yu Tsai wrote:
> >> >> On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
> >> >>  wrote:
> >> >> > The planes can do more than what was previously exposed. Add support 
> >> >> > for
> >> >> > them.
> >> >> >
> >> >> > Signed-off-by: Maxime Ripard 
> >> >> > ---
> >> >> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
> >> >> >  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
> >> >> >  2 files changed, 26 insertions(+)
> >> >> >
> >> >> > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
> >> >> > b/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> >> > index afb7ddf660ef..b184a476a480 100644
> >> >> > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> >> > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> >> > @@ -96,6 +96,22 @@ static int 
> >> >> > sun4i_backend_drm_format_to_layer(struct drm_plane *plane,
> >> >> > *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> >> >> > break;
> >> >> >
> >> >> > +   case DRM_FORMAT_ARGB:
> >> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> >> >> > +   break;
> >> >> > +
> >> >> > +   case DRM_FORMAT_ARGB1555:
> >> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
> >> >> > +   break;
> >> >> > +
> >> >> > +   case DRM_FORMAT_RGBA5551:
> >> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
> >> >> > +   break;
> >> >> > +
> >> >> > +   case DRM_FORMAT_RGBA:
> >> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
> >> >>
> >> >> The A20 manual only lists ARGB, not RGBA. There might be
> >> >> some discrepancy here. We can deal with them
> >> >
> >> > Hmm, yes, that's weird. But I guess this would be part of porting it
> >> > to the A20.
> >> >
> >> >> Also there are some more formats missing from the list, could you
> >> >> add them as well?
> >> >
> >> > Which one do you refer to?
> >>
> >> RGB556 and RGB655.
> >
> > These formats are not supported by Linux yet though.
> 
> I see. Sorry for the noise.
> 
> Acked-by: Chen-Yu Tsai 

Applied with a more verbose commit log.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: 



[PATCH] drm/sun4i: Add a few formats

2016-10-29 Thread Chen-Yu Tsai
On Thu, Oct 27, 2016 at 10:35 PM, Maxime Ripard
 wrote:
> Hi,
>
> On Tue, Oct 25, 2016 at 08:42:26AM +0800, Chen-Yu Tsai wrote:
>> On Mon, Oct 24, 2016 at 10:40 PM, Maxime Ripard
>>  wrote:
>> > Hi,
>> >
>> > On Fri, Oct 21, 2016 at 11:15:32AM +0800, Chen-Yu Tsai wrote:
>> >> On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
>> >>  wrote:
>> >> > The planes can do more than what was previously exposed. Add support for
>> >> > them.
>> >> >
>> >> > Signed-off-by: Maxime Ripard 
>> >> > ---
>> >> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
>> >> >  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
>> >> >  2 files changed, 26 insertions(+)
>> >> >
>> >> > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
>> >> > b/drivers/gpu/drm/sun4i/sun4i_backend.c
>> >> > index afb7ddf660ef..b184a476a480 100644
>> >> > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
>> >> > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
>> >> > @@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
>> >> > drm_plane *plane,
>> >> > *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
>> >> > break;
>> >> >
>> >> > +   case DRM_FORMAT_ARGB:
>> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
>> >> > +   break;
>> >> > +
>> >> > +   case DRM_FORMAT_ARGB1555:
>> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
>> >> > +   break;
>> >> > +
>> >> > +   case DRM_FORMAT_RGBA5551:
>> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
>> >> > +   break;
>> >> > +
>> >> > +   case DRM_FORMAT_RGBA:
>> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
>> >>
>> >> The A20 manual only lists ARGB, not RGBA. There might be
>> >> some discrepancy here. We can deal with them
>> >
>> > Hmm, yes, that's weird. But I guess this would be part of porting it
>> > to the A20.
>> >
>> >> Also there are some more formats missing from the list, could you
>> >> add them as well?
>> >
>> > Which one do you refer to?
>>
>> RGB556 and RGB655.
>
> These formats are not supported by Linux yet though.

I see. Sorry for the noise.

Acked-by: Chen-Yu Tsai 

>
> Thanks,
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com


[PATCH] drm/sun4i: Add a few formats

2016-10-27 Thread Maxime Ripard
Hi,

On Tue, Oct 25, 2016 at 08:42:26AM +0800, Chen-Yu Tsai wrote:
> On Mon, Oct 24, 2016 at 10:40 PM, Maxime Ripard
>  wrote:
> > Hi,
> >
> > On Fri, Oct 21, 2016 at 11:15:32AM +0800, Chen-Yu Tsai wrote:
> >> On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
> >>  wrote:
> >> > The planes can do more than what was previously exposed. Add support for
> >> > them.
> >> >
> >> > Signed-off-by: Maxime Ripard 
> >> > ---
> >> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
> >> >  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
> >> >  2 files changed, 26 insertions(+)
> >> >
> >> > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
> >> > b/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> > index afb7ddf660ef..b184a476a480 100644
> >> > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> >> > @@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
> >> > drm_plane *plane,
> >> > *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> >> > break;
> >> >
> >> > +   case DRM_FORMAT_ARGB:
> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> >> > +   break;
> >> > +
> >> > +   case DRM_FORMAT_ARGB1555:
> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
> >> > +   break;
> >> > +
> >> > +   case DRM_FORMAT_RGBA5551:
> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
> >> > +   break;
> >> > +
> >> > +   case DRM_FORMAT_RGBA:
> >> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
> >>
> >> The A20 manual only lists ARGB, not RGBA. There might be
> >> some discrepancy here. We can deal with them
> >
> > Hmm, yes, that's weird. But I guess this would be part of porting it
> > to the A20.
> >
> >> Also there are some more formats missing from the list, could you
> >> add them as well?
> >
> > Which one do you refer to?
> 
> RGB556 and RGB655.

These formats are not supported by Linux yet though.

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: 



[PATCH] drm/sun4i: Add a few formats

2016-10-25 Thread Chen-Yu Tsai
On Mon, Oct 24, 2016 at 10:40 PM, Maxime Ripard
 wrote:
> Hi,
>
> On Fri, Oct 21, 2016 at 11:15:32AM +0800, Chen-Yu Tsai wrote:
>> On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
>>  wrote:
>> > The planes can do more than what was previously exposed. Add support for
>> > them.
>> >
>> > Signed-off-by: Maxime Ripard 
>> > ---
>> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
>> >  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
>> >  2 files changed, 26 insertions(+)
>> >
>> > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
>> > b/drivers/gpu/drm/sun4i/sun4i_backend.c
>> > index afb7ddf660ef..b184a476a480 100644
>> > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
>> > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
>> > @@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
>> > drm_plane *plane,
>> > *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
>> > break;
>> >
>> > +   case DRM_FORMAT_ARGB:
>> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
>> > +   break;
>> > +
>> > +   case DRM_FORMAT_ARGB1555:
>> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
>> > +   break;
>> > +
>> > +   case DRM_FORMAT_RGBA5551:
>> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
>> > +   break;
>> > +
>> > +   case DRM_FORMAT_RGBA:
>> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
>>
>> The A20 manual only lists ARGB, not RGBA. There might be
>> some discrepancy here. We can deal with them
>
> Hmm, yes, that's weird. But I guess this would be part of porting it
> to the A20.
>
>> Also there are some more formats missing from the list, could you
>> add them as well?
>
> Which one do you refer to?

RGB556 and RGB655.

>
>> > +   break;
>> > +
>> > case DRM_FORMAT_XRGB:
>> > *mode = SUN4I_BACKEND_LAY_FBFMT_XRGB;
>> > break;
>> > @@ -104,6 +120,10 @@ static int sun4i_backend_drm_format_to_layer(struct 
>> > drm_plane *plane,
>> > *mode = SUN4I_BACKEND_LAY_FBFMT_RGB888;
>> > break;
>> >
>> > +   case DRM_FORMAT_RGB565:
>> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGB565;
>> > +   break;
>> > +
>> > default:
>> > return -EINVAL;
>> > }
>> > diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c 
>> > b/drivers/gpu/drm/sun4i/sun4i_layer.c
>> > index f0035bf5efea..5d53c977bca5 100644
>> > --- a/drivers/gpu/drm/sun4i/sun4i_layer.c
>> > +++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
>> > @@ -73,12 +73,18 @@ static const struct drm_plane_funcs 
>> > sun4i_backend_layer_funcs = {
>> >  static const uint32_t sun4i_backend_layer_formats_primary[] = {
>> > DRM_FORMAT_ARGB,
>> > DRM_FORMAT_RGB888,
>> > +   DRM_FORMAT_RGB565,
>> > DRM_FORMAT_XRGB,
>> >  };
>> >
>> >  static const uint32_t sun4i_backend_layer_formats_overlay[] = {
>> > DRM_FORMAT_ARGB,
>> > +   DRM_FORMAT_ARGB,
>> > +   DRM_FORMAT_ARGB1555,
>> > +   DRM_FORMAT_RGBA5551,
>> > +   DRM_FORMAT_RGBA,
>> > DRM_FORMAT_RGB888,
>> > +   DRM_FORMAT_RGB565,
>> > DRM_FORMAT_XRGB,
>>
>> Could you explain in the commit log why these 2 aren't the same?
>
> Yep, I will.

Cool! Thanks.

ChenYu

>
> Thanks!
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com


[PATCH] drm/sun4i: Add a few formats

2016-10-24 Thread Maxime Ripard
Hi,

On Fri, Oct 21, 2016 at 11:15:32AM +0800, Chen-Yu Tsai wrote:
> On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
>  wrote:
> > The planes can do more than what was previously exposed. Add support for
> > them.
> >
> > Signed-off-by: Maxime Ripard 
> > ---
> >  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
> >  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
> >  2 files changed, 26 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
> > b/drivers/gpu/drm/sun4i/sun4i_backend.c
> > index afb7ddf660ef..b184a476a480 100644
> > --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> > +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> > @@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
> > drm_plane *plane,
> > *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> > break;
> >
> > +   case DRM_FORMAT_ARGB:
> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> > +   break;
> > +
> > +   case DRM_FORMAT_ARGB1555:
> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
> > +   break;
> > +
> > +   case DRM_FORMAT_RGBA5551:
> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
> > +   break;
> > +
> > +   case DRM_FORMAT_RGBA:
> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
> 
> The A20 manual only lists ARGB, not RGBA. There might be
> some discrepancy here. We can deal with them

Hmm, yes, that's weird. But I guess this would be part of porting it
to the A20.

> Also there are some more formats missing from the list, could you
> add them as well?

Which one do you refer to?

> > +   break;
> > +
> > case DRM_FORMAT_XRGB:
> > *mode = SUN4I_BACKEND_LAY_FBFMT_XRGB;
> > break;
> > @@ -104,6 +120,10 @@ static int sun4i_backend_drm_format_to_layer(struct 
> > drm_plane *plane,
> > *mode = SUN4I_BACKEND_LAY_FBFMT_RGB888;
> > break;
> >
> > +   case DRM_FORMAT_RGB565:
> > +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGB565;
> > +   break;
> > +
> > default:
> > return -EINVAL;
> > }
> > diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c 
> > b/drivers/gpu/drm/sun4i/sun4i_layer.c
> > index f0035bf5efea..5d53c977bca5 100644
> > --- a/drivers/gpu/drm/sun4i/sun4i_layer.c
> > +++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
> > @@ -73,12 +73,18 @@ static const struct drm_plane_funcs 
> > sun4i_backend_layer_funcs = {
> >  static const uint32_t sun4i_backend_layer_formats_primary[] = {
> > DRM_FORMAT_ARGB,
> > DRM_FORMAT_RGB888,
> > +   DRM_FORMAT_RGB565,
> > DRM_FORMAT_XRGB,
> >  };
> >
> >  static const uint32_t sun4i_backend_layer_formats_overlay[] = {
> > DRM_FORMAT_ARGB,
> > +   DRM_FORMAT_ARGB,
> > +   DRM_FORMAT_ARGB1555,
> > +   DRM_FORMAT_RGBA5551,
> > +   DRM_FORMAT_RGBA,
> > DRM_FORMAT_RGB888,
> > +   DRM_FORMAT_RGB565,
> > DRM_FORMAT_XRGB,
> 
> Could you explain in the commit log why these 2 aren't the same?

Yep, I will.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-- next part --
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: 



[PATCH] drm/sun4i: Add a few formats

2016-10-21 Thread Chen-Yu Tsai
On Tue, Oct 18, 2016 at 4:46 PM, Maxime Ripard
 wrote:
> The planes can do more than what was previously exposed. Add support for
> them.
>
> Signed-off-by: Maxime Ripard 
> ---
>  drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
>  drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
>  2 files changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
> b/drivers/gpu/drm/sun4i/sun4i_backend.c
> index afb7ddf660ef..b184a476a480 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_backend.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
> @@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
> drm_plane *plane,
> *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> break;
>
> +   case DRM_FORMAT_ARGB:
> +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
> +   break;
> +
> +   case DRM_FORMAT_ARGB1555:
> +   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
> +   break;
> +
> +   case DRM_FORMAT_RGBA5551:
> +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
> +   break;
> +
> +   case DRM_FORMAT_RGBA:
> +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;

The A20 manual only lists ARGB, not RGBA. There might be
some discrepancy here. We can deal with them

Also there are some more formats missing from the list, could you
add them as well?

> +   break;
> +
> case DRM_FORMAT_XRGB:
> *mode = SUN4I_BACKEND_LAY_FBFMT_XRGB;
> break;
> @@ -104,6 +120,10 @@ static int sun4i_backend_drm_format_to_layer(struct 
> drm_plane *plane,
> *mode = SUN4I_BACKEND_LAY_FBFMT_RGB888;
> break;
>
> +   case DRM_FORMAT_RGB565:
> +   *mode = SUN4I_BACKEND_LAY_FBFMT_RGB565;
> +   break;
> +
> default:
> return -EINVAL;
> }
> diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c 
> b/drivers/gpu/drm/sun4i/sun4i_layer.c
> index f0035bf5efea..5d53c977bca5 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_layer.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
> @@ -73,12 +73,18 @@ static const struct drm_plane_funcs 
> sun4i_backend_layer_funcs = {
>  static const uint32_t sun4i_backend_layer_formats_primary[] = {
> DRM_FORMAT_ARGB,
> DRM_FORMAT_RGB888,
> +   DRM_FORMAT_RGB565,
> DRM_FORMAT_XRGB,
>  };
>
>  static const uint32_t sun4i_backend_layer_formats_overlay[] = {
> DRM_FORMAT_ARGB,
> +   DRM_FORMAT_ARGB,
> +   DRM_FORMAT_ARGB1555,
> +   DRM_FORMAT_RGBA5551,
> +   DRM_FORMAT_RGBA,
> DRM_FORMAT_RGB888,
> +   DRM_FORMAT_RGB565,
> DRM_FORMAT_XRGB,

Could you explain in the commit log why these 2 aren't the same?

Thanks
ChenYu

>  };
>
> --
> 2.9.3
>


[PATCH] drm/sun4i: Add a few formats

2016-10-18 Thread Maxime Ripard
The planes can do more than what was previously exposed. Add support for
them.

Signed-off-by: Maxime Ripard 
---
 drivers/gpu/drm/sun4i/sun4i_backend.c | 20 
 drivers/gpu/drm/sun4i/sun4i_layer.c   |  6 ++
 2 files changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
b/drivers/gpu/drm/sun4i/sun4i_backend.c
index afb7ddf660ef..b184a476a480 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -96,6 +96,22 @@ static int sun4i_backend_drm_format_to_layer(struct 
drm_plane *plane,
*mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
break;

+   case DRM_FORMAT_ARGB:
+   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB;
+   break;
+
+   case DRM_FORMAT_ARGB1555:
+   *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB1555;
+   break;
+
+   case DRM_FORMAT_RGBA5551:
+   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA5551;
+   break;
+
+   case DRM_FORMAT_RGBA:
+   *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA;
+   break;
+
case DRM_FORMAT_XRGB:
*mode = SUN4I_BACKEND_LAY_FBFMT_XRGB;
break;
@@ -104,6 +120,10 @@ static int sun4i_backend_drm_format_to_layer(struct 
drm_plane *plane,
*mode = SUN4I_BACKEND_LAY_FBFMT_RGB888;
break;

+   case DRM_FORMAT_RGB565:
+   *mode = SUN4I_BACKEND_LAY_FBFMT_RGB565;
+   break;
+
default:
return -EINVAL;
}
diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c 
b/drivers/gpu/drm/sun4i/sun4i_layer.c
index f0035bf5efea..5d53c977bca5 100644
--- a/drivers/gpu/drm/sun4i/sun4i_layer.c
+++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
@@ -73,12 +73,18 @@ static const struct drm_plane_funcs 
sun4i_backend_layer_funcs = {
 static const uint32_t sun4i_backend_layer_formats_primary[] = {
DRM_FORMAT_ARGB,
DRM_FORMAT_RGB888,
+   DRM_FORMAT_RGB565,
DRM_FORMAT_XRGB,
 };

 static const uint32_t sun4i_backend_layer_formats_overlay[] = {
DRM_FORMAT_ARGB,
+   DRM_FORMAT_ARGB,
+   DRM_FORMAT_ARGB1555,
+   DRM_FORMAT_RGBA5551,
+   DRM_FORMAT_RGBA,
DRM_FORMAT_RGB888,
+   DRM_FORMAT_RGB565,
DRM_FORMAT_XRGB,
 };

-- 
2.9.3