OSDN Git Service

drm/edid: fix AVI infoframe aspect ratio handling
authorJani Nikula <jani.nikula@intel.com>
Wed, 4 Jan 2023 10:05:16 +0000 (12:05 +0200)
committerJani Nikula <jani.nikula@intel.com>
Thu, 19 Jan 2023 08:52:34 +0000 (10:52 +0200)
commit1cbc1f0d324ba6c4d1b10ac6362b5e0b029f63d5
treed9c91a4b87ff7b847f2c23cfe3cb1758938988eb
parent065ff1dc8764dd6394bb6f6c42e6b1e4fac74911
drm/edid: fix AVI infoframe aspect ratio handling

We try to avoid sending VICs defined in the later specs in AVI
infoframes to sinks that conform to the earlier specs, to not upset
them, and use 0 for the VIC instead. However, we do this detection and
conversion to 0 too early, as we'll need the actual VIC to figure out
the aspect ratio.

In particular, for a mode with 64:27 aspect ratio, 0 for VIC fails the
AVI infoframe generation altogether with -EINVAL.

Separate the VIC lookup from the "filtering", and postpone the
filtering, to use the proper VIC for aspect ratio handling, and the 0
VIC for the infoframe video code as needed.

Reported-by: William Tseng <william.tseng@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6153
References: https://lore.kernel.org/r/20220920062316.43162-1-william.tseng@intel.com
Cc: <stable@vger.kernel.org>
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/c3e78cc6d01ed237f71ad0038826b08d83d75eef.1672826282.git.jani.nikula@intel.com
drivers/gpu/drm/drm_edid.c