Hi John, Em Wed, 19 Aug 2020 20:28:44 -0700 John Stultz <john.stu...@linaro.org> escreveu:
> That said even with the patches I've got on top of your series, I > still see a few issues: > 1) I'm seeing red-blue swap with your driver. I need to dig a bit to > see what the difference is, I know gralloc has a config option for > this, and maybe the version of the driver I'm carrying has it wrong? Maybe it is due to this: drivers/staging/hikey9xx/gpu/kirin9xx_drm_overlay_utils.c: hal_fmt = HISI_FB_PIXEL_FORMAT_BGRA_8888;/* dss_get_format(fb->pixel_format); */ It sounds to me that someone added a hack hardcoding BGRA_8888 over there. Btw, I removed the hack, with: diff --git a/drivers/staging/hikey9xx/gpu/kirin9xx_drm_overlay_utils.c b/drivers/staging/hikey9xx/gpu/kirin9xx_drm_overlay_utils.c index a68db1a27bbf..ba64aae371e4 100644 --- a/drivers/staging/hikey9xx/gpu/kirin9xx_drm_overlay_utils.c +++ b/drivers/staging/hikey9xx/gpu/kirin9xx_drm_overlay_utils.c @@ -857,7 +857,7 @@ void hisi_fb_pan_display(struct drm_plane *plane) rect.right = src_w - 1; rect.top = 0; rect.bottom = src_h - 1; - hal_fmt = HISI_FB_PIXEL_FORMAT_BGRA_8888;/* dss_get_format(fb->pixel_format); */ + hal_fmt = dss_get_format(fb->format->format); DRM_DEBUG_DRIVER("channel%d: src:(%d,%d, %dx%d) crtc:(%d,%d, %dx%d), rect(%d,%d,%d,%d),fb:%dx%d, pixel_format=%d, stride=%d, paddr=0x%x, bpp=%d.\n", chn_idx, src_x, src_y, src_w, src_h, And now red and blue are swapped on my HDMI screen too. I'll compare this part with your version, but I guess the bug is on this logic. Thanks, Mauro