summaryrefslogtreecommitdiff
path: root/tests/kms_color_helper.h
AgeCommit message (Collapse)Author
2022-07-04tests/kms_color: Test CleanupBhanuprakash Modem
Sanitize the system state before starting the subtest. V2: * Fix multiline comments. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-07-04tests/kms_color: Convert tests to dynamicBhanuprakash Modem
Convert the existing subtests to dynamic subtests at pipe level. V2: * Fix nested igt_fixture in igt_subtest V3: * Fix to not dereferencing a NULL pointer V4: * Add output name to subtest V5: * Rebase V6: * Fix typos in test description V7: * Added comments back to ctm tets. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
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>
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>