Hello, I recently ran into a need to configure the colour space conversion (CSC) matrix of the ADV7511 HDMI transmitter based on display controller particular needs. To give a bit of background regarding the use case, the ADV7511 is connected to an FPGA using a 16-bit bus. The only RGB formats supported by the AV7511 (RGB 12:12:12, 10:10:10 or 8:8:8) can't thus be transported, and YUV 4:2:2 is used instead. The display controller in the FPGA uses an RGB to YUV conversion with fixed coefficients to convert the RGB frames to YUV. When RGB needs to be sent on the HDMI link (for instance because the connected doesn't support YUV natively) the ADV7511 CSC must be enabled with inverse coefficients to avoid colour issues. The upstream adv7511 driver, implemented as a DRM I2C slave encoder, currently uses fixed hardcoded CSC coefficients. The slave encoder API has a .set_config() operation that could be used to configure the CSC coefficients by the display controller (this is the solution currently implemented in the vendor kernel shipped to customers). However, the operation takes a configuration structure that is driver-specific. This would thus require making the display controller aware of the ADV7511. Given that the display controller isn't tied to a particular HDMI encoder (or even to an HDMI encoder at all) this obviously can't scale. I thus believe we should start standardizing CSC configuration. It wouldn't be difficult to add a new slave encoder operation to set CSC coefficients, but this might not be the best solution possible. Before I give it a go, I'd like to ask and hopefully receive feedback on the idea. -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel