Message ID | 20220929204235.773-1-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
Headers | show |
Series | drm: lcdif: Improve YUV support | expand |
On 9/29/22 22:42, Laurent Pinchart wrote: > Hello, > > This small patch series improves YUV support in the i.MX8MP LCDIF > driver. After patches 1/4 and 2/4 that fix tiny cosmetic issues, patch > 3/4 fixes YUV quantization range for the RGB to YUV conversion. Patch > 4/4 addresses the other direction and adds support for YUV planes. > > Please see individual patches for details. > > Compared to v2, review comments have been taken into account, and the > YUV to RGB coefficients in patch 4/4 have been fixed (they were > blatantly wrong due to a stupid mistake). > > The series has been tested on a Polyhex Debix board with the currently > out-of-tree HDMI encoder support patches developed by Lucas Stach, with > the kmstest and the libcamera 'cam' applications. > > There is a know issue with the way the driver programs the format and > pitch, which produces incorrect output when testing YUV formats with the > legacy (non-atomic) KMS API, in particular with the modetest > application. The framebuffer is accessed from the plane state in > function called from the .atomic_enable() handler, which in some > circumstances results in the format and/or pitch of the old frame buffer > being used. This issue preexists, and can be triggered by selecting a > different RGB format with modetest (XR15 for instance). It should be > fixed separately, and I wouldn't consider it as a blocker for this > series as YUV formats can already be used correctly when using the KMS > atomic API. > > Kieran Bingham (1): > drm: lcdif: Add support for YUV planes > > Laurent Pinchart (3): > drm: lcdif: Fix indentation in lcdif_regs.h > drm: lcdif: Don't use BIT() for multi-bit register fields > drm: lcdif: Switch to limited range for RGB to YUV conversion > > drivers/gpu/drm/mxsfb/lcdif_kms.c | 232 ++++++++++++++++++++++++++--- > drivers/gpu/drm/mxsfb/lcdif_regs.h | 37 ++--- > 2 files changed, 229 insertions(+), 40 deletions(-) Applied all, thanks