summaryrefslogtreecommitdiff
path: root/tests/kms_color_helper.c
AgeCommit message (Collapse)Author
2022-05-17tests/kms_color: Use debugfs apis for deep-colorBhanuprakash Modem
Instead of parsing the EDID, read from the debugfs to make sure the connected monitor supports deep-color. V2: * Update max_bpc prop before exit Cc: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-03-16tests/kms_color: Add support for Deep-ColorBhanuprakash Modem
Add new subtests to validate deep color. V2: * i915 needs atleast gen 11 to support deep-color * Add connector name to dynamic subtest V3: * Fix the usage of "output" V4: * Set max_bpc prop to default before exiting the subtest * Minor cleanups Cc: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2022-03-16tests/kms_color_helper: Read deep-color capability from EDIDBhanuprakash Modem
Add a helper function to read the panel's deep-color capability from EDID. For EDID 1.3, we need to read deep color capability from Vendor Specific Data Block, and for EDID 1.4 read bit depth from Video Input Definition. Vendor Specific Data Block for "HDMI Licensing LLC": --------------------------------------------------------- | Byte| Bit | Description | --------------------------------------------------------- | | Bit 6 | 16-bit-per-channel deep color (48-bit)| | 6 | Bit 5 | 12-bit-per-channel deep color (36-bit)| | | Bit 4 | 10-bit-per-channel deep color (30-bit)| --------------------------------------------------------- Video Input Definition (1-byte): * Video Signal Interface: Bit 7 (1:Digital, 0:Analog) * Color Bit Depth: Bits 6 → 4 ----------------------------------------------------- | 7 | 6 5 4 | 3 2 1 0 | Color Bit Depth: Bits 6 → 4 | |---|-------|---------|-----------------------------| | 1 | 0 0 0 | x x x x | Color Bit Depth is undefined| | 1 | 0 0 1 | x x x x | 6 Bits per Primary Color | | 1 | 0 1 0 | x x x x | 8 Bits per Primary Color | | 1 | 0 1 1 | x x x x | 10 Bits per Primary Color | | 1 | 1 0 0 | x x x x | 12 Bits per Primary Color | | 1 | 1 0 1 | x x x x | 14 Bits per Primary Color | | 1 | 1 1 0 | x x x x | 16 Bits per Primary Color | | 1 | 1 1 1 | x x x x | Reserved (Do Not Use) | ----------------------------------------------------- For deep-color we need atleast 10-bits. V2: * Add EDID 1.3 support V3: * Fix reading VSDB flags1 for deep-color V4: * Separate functions for EDID 1.3 & EDID 1.4 * Other minor cleanups V5: * Fine tune the logic to identify DC support for RGB format V6: * Cleanup V7: * Cleanup: Fix typos, comments and rename function names * Update max_bpc() to capture the prop value Cc: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2021-09-16tests/kms_color: Pass pipe to invalid LUT size testsVille Syrjälä
Each pipe can have a different LUT sizes, so run the invalid LUT size tests once for each pipe. This also makes sure data->(de)gamma_lut_size are properly initialized prior to running these subtests. Reviewed-by: Bhanuprakash Modem <Bhanuprakash.modem@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-09-16tests/kms_color: Store r/g/b separately for LUT color testsVille Syrjälä
Store the r/g/b values separately for each LUT. A lot of hw has a separate 1D LUT for each channel, so with this we can potentially do more interesting tests. Also needed for 3D LUTs (if we should ever support them). Reviewed-by: Bhanuprakash Modem <Bhanuprakash.modem@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-09-16tests/kms_color: Refactor invalid LUT size testsVille Syrjälä
Reuse the same code for all invalid LUT size tests. v2: Drop the pointless return statements in void functions Reviewed-by: Bhanuprakash Modem <Bhanuprakash.modem@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-03-18tests/kms_color: Don't opencode igt_check_crc_equal()Lyude Paul
Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Martin Peres <martin.peres@mupuf.org> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Jeremy Cline <jcline@redhat.com>
2020-09-14tests/kms_color_helper: Respect --skip-crc-compareVille Syrjälä
Unlike igt_assert_crc_equal() crc_equal() does not respect the --skip-crc-compare command line argument. Let's remedy that. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2020-07-07lib/igt_fb: remove extra parameters from igt_put_cairo_ctxMelissa Wen
The function igt_put_cairo_ctx currently requires three parameters, but only one of them is used in it. This patch removes the useless parameters, making the code more readable and cohesive. It also applies the change to all occurrences of the function in the code. Signed-off-by: Melissa Wen <melissa.srw@gmail.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-01-27Moved common function in kms_color and kms_color_chamelium to kms_color_helper.cKunal Joshi
kms_color and kms_color_chamelium shared common functions. Moved them to tests/kms_color_helper.c to avoid code duplication. (v4) Made a library kms_color_helper.c which is specific to kms_color and kms_color_chamelium. Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Suggested-by: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>