OSDN Git Service

drm/edid: split drm_edid_block_valid() to check and act parts
authorJani Nikula <jani.nikula@intel.com>
Thu, 31 Mar 2022 18:45:04 +0000 (21:45 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 1 Apr 2022 14:44:40 +0000 (17:44 +0300)
commit1f221284ab631d6136ce773ba360b7d3d5d40a81
treeeac233e3583f3738339cfc9506c76f0c7414a069
parent0a612bbd91bc35391c4b0dac3b6d2200f70f7196
drm/edid: split drm_edid_block_valid() to check and act parts

Add edid_block_check() that only checks the EDID block validity, without
any actions. Turns out it's simple and crystal clear.

Rewrite drm_edid_block_valid() around it, keeping all the functionality
fairly closely the same, warts and all. Turns out it's incredibly
complicated for a function you'd expect to be simple, with all the
fixing and printing and special casing. (Maybe we'll want to simplify it
in the future.)

To slightly simplify, drop the warning for EDID minor revisions > 4.

v2:
- Fix edid_fixup clamp (Ville)
- s/base/is_base_block/ (Ville)

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/b7d108b69acccb7dccbdecc0ca06c2b3ca2e33ca.1648752228.git.jani.nikula@intel.com
drivers/gpu/drm/drm_edid.c