On Tue, Feb 25, 2020 at 07:50:03PM +0100, Jernej Škrabec wrote: > Hi! > > Dne torek, 25. februar 2020 ob 09:52:18 CET je Chen-Yu Tsai napisal(a): > > On Tue, Feb 25, 2020 at 4:35 PM Maxime Ripard wrote: > > > Hi, > > > > > > On Mon, Feb 24, 2020 at 06:39:00PM +0100, Jernej Skrabec wrote: > > > > Now that de2_fmt_info contains only DRM <-> HW format mapping, it > > > > doesn't make sense to return pointer to structure when searching by DRM > > > > format. Rework that to return only HW format instead. > > > > > > > > This doesn't make any functional change. > > > > > > > > Signed-off-by: Jernej Skrabec > > > > --- > > > > > > > > drivers/gpu/drm/sun4i/sun8i_mixer.c | 15 +++++++++++---- > > > > drivers/gpu/drm/sun4i/sun8i_mixer.h | 7 +------ > > > > drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 10 +++++----- > > > > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 12 ++++++------ > > > > 4 files changed, 23 insertions(+), 21 deletions(-) > > > > > > > > diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c > > > > b/drivers/gpu/drm/sun4i/sun8i_mixer.c index e078ec96de2d..56cc037fd312 > > > > 100644 > > > > --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c > > > > +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c > > > > @@ -27,6 +27,11 @@ > > > > > > > > #include "sun8i_vi_layer.h" > > > > #include "sunxi_engine.h" > > > > > > > > +struct de2_fmt_info { > > > > + u32 drm_fmt; > > > > + u32 de2_fmt; > > > > +}; > > > > + > > > > > > > > static const struct de2_fmt_info de2_formats[] = { > > > > > > > > { > > > > > > > > .drm_fmt = DRM_FORMAT_ARGB8888, > > > > > > > > @@ -230,15 +235,17 @@ static const struct de2_fmt_info de2_formats[] = { > > > > > > > > }, > > > > > > > > }; > > > > > > > > -const struct de2_fmt_info *sun8i_mixer_format_info(u32 format) > > > > +int sun8i_mixer_drm_format_to_hw(u32 format, u32 *hw_format) > > > > > > > > { > > > > > > > > unsigned int i; > > > > > > > > for (i = 0; i < ARRAY_SIZE(de2_formats); ++i) > > > > > > > > - if (de2_formats[i].drm_fmt == format) > > > > - return &de2_formats[i]; > > > > + if (de2_formats[i].drm_fmt == format) { > > > > + *hw_format = de2_formats[i].de2_fmt; > > > > + return 0; > > > > + } > > > > > > > > - return NULL; > > > > + return -EINVAL; > > > > > > > > } > > > > > > I'm not too sure about that one. It breaks the consistency with the > > > other functions, and I don't really see a particular benefit to it? > > > > I don't have strong opinion about this patch. It can be dropped. > > > I guess we could just define an "invalid" value, and have the function > > return that if can't find a match? I'm guessing 0x0 is valid, so maybe > > 0xffffffff or 0xdeadbeef ? > > > > That would keep consistency with everything else all the while > > removing the level of indirection you wanted to. > > I modeled this after > static int sun4i_backend_drm_format_to_layer(u32 format, u32 *mode); > from sun4i_backend.c. > > What consistency do you have in mind? Well I guess if we're doing that elsewhere it's not really fair to ask you to change this then :) Fine by me Maxime