Hi Jacopo, On Tue, Oct 15, 2019 at 12:46:13PM +0200, Jacopo Mondi wrote: ----8<--- > * Testing > I have tested by injecting a color inversion LUT table and enabling/disabling it > every 50 displayed frames: > https://jmondi.org/cgit/kmsxx/log/?h=gamma_lut Could you kindly share the cross compilation steps for your kmsxx fork? Just out of curiosity, have you ever tried to pull the display's HDMI cable while reading from CM2_LUT_TBL? At least with the out-of-tree CMM implementation [*], this sends the R-Car3 reference targets into an unrecoverable freeze, with no lockup reported by the kernel (i.e. looks like an serious HW issue). > > CMM functionalities are retained between suspend/resume cycles (tested with > suspend-to-idle) without requiring a re-programming of the LUT tables. Hmm. Is this backed up by any statement in the HW User's manual? This comes in contrast with the original Renesas CMM implementation [**] which does make use of suspend (where the freeze actually happens). Can we infer, based on your statement, that we could also get rid of the suspend callback in [**]? [*] https://github.com/renesas-rcar/du_cmm [**] https://github.com/renesas-rcar/du_cmm/blob/c393ed49834bdbc/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-drm-rcar-du-Add-DU-CMM-support.patch#L1912 -- Best regards, Eugeniu Rosca