drm/i915/display: Add mechanism to use sink model when applying quirk
authorJouni Högander <jouni.hogander@intel.com>
Mon, 2 Sep 2024 06:42:40 +0000 (09:42 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Tue, 3 Sep 2024 06:57:51 +0000 (09:57 +0300)
commit43cf50eb1408ccb99cab01521263e8cb4cfdc023
tree4ddefd8957b5142abc1c306e784d92fe3dc79bbb
parentf99999536128b14b5d765a9982763b5134efdd79
drm/i915/display: Add mechanism to use sink model when applying quirk

Currently there is no way to apply quirk on device only if certain panel
model is installed. This patch implements such mechanism by adding new
quirk type intel_dpcd_quirk which contains also sink_oui and sink_device_id
fields and using also them to figure out if applying quirk is needed.

New intel_init_dpcd_quirks is added and called after drm_dp_read_desc with
proper sink device identity read from dpcdc.

v3:
  - !mem_is_zero fixed to mem_is_zero
v2:
  - instead of using struct intel_quirk add new struct intel_dpcd_quirk

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240902064241.1020965-2-jouni.hogander@intel.com
(cherry picked from commit b3b91369908ac63be6f64905448b8ba5cd151875)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_quirks.c
drivers/gpu/drm/i915/display/intel_quirks.h