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 maxime@cerno.tech 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 jernej.skrabec@siol.net
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