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 > <maxime.ripard at free-electrons.com> wrote: > > The planes can do more than what was previously exposed. Add support for > > them. > > > > Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com> > > --- > > 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_ARGB8888; > > break; > > > > + case DRM_FORMAT_ARGB4444: > > + *mode = SUN4I_BACKEND_LAY_FBFMT_ARGB4444; > > + 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_RGBA4444: > > + *mode = SUN4I_BACKEND_LAY_FBFMT_RGBA4444; > > The A20 manual only lists ARGB4444, not RGBA4444. 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_XRGB8888: > > *mode = SUN4I_BACKEND_LAY_FBFMT_XRGB8888; > > 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_ARGB8888, > > DRM_FORMAT_RGB888, > > + DRM_FORMAT_RGB565, > > DRM_FORMAT_XRGB8888, > > }; > > > > static const uint32_t sun4i_backend_layer_formats_overlay[] = { > > DRM_FORMAT_ARGB8888, > > + DRM_FORMAT_ARGB4444, > > + DRM_FORMAT_ARGB1555, > > + DRM_FORMAT_RGBA5551, > > + DRM_FORMAT_RGBA4444, > > DRM_FORMAT_RGB888, > > + DRM_FORMAT_RGB565, > > DRM_FORMAT_XRGB8888, > > 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: <https://lists.freedesktop.org/archives/dri-devel/attachments/20161024/66862cae/attachment.sig>