drm/i915/hdcp: Do intel_hdcp_component_init() much later during init
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 15 Dec 2023 11:09:31 +0000 (13:09 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 5 Feb 2024 15:23:46 +0000 (17:23 +0200)
commite66a176592bd876f440daf7a58c3375397dddab5
tree74048f9cf938134305fe8410650fa7b2c65845ce
parent35396cd3efa8b0311fbbb5a0cc48bd7d8b017b81
drm/i915/hdcp: Do intel_hdcp_component_init() much later during init

intel_hdcp_component_init()->...->intel_hdcp_gsc_initialize_message()
will allocate ggtt address space for some hdcp gsc message thing.
That is currently being done way too early as we haven't even
taken over the BIOS fb yet. So this has the potential of corrupting
ggtt PTEs that need to be preserved until the BIOS fb takover
is done.

Only call intel_hdcp_component_init() once all the BIOS fb takeover,
and full ggtt init (which currently also needs to reserve very
specific ranges of ggtt, thus assuming that no one else has stolen
them yet) is done.

Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231215110933.9188-2-ville.syrjala@linux.intel.com
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
drivers/gpu/drm/i915/display/intel_display_driver.c