]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/i915: Introduce i915_has_legacy_blc_interrupt()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 27 Sep 2024 14:35:42 +0000 (17:35 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 1 Oct 2024 15:30:27 +0000 (18:30 +0300)
commit8f6b856ebe7f1f35c10fb6ccddd4f7a7d66e317a
tree454f69eb83eaafbea0ce3df4a8035d1cb9112aac
parente622905020fb8e2152804971db47586ccc846b9f
drm/i915: Introduce i915_has_legacy_blc_interrupt()

i915_has_asle() is a bit of a mess. It does some kind of
partial check whether the platform has the legacy BLC
interrupt or not, and then it checks whether OpRegion
ASLE is present.

Let's split the legacy BLC interrupt check into its
own thing, and while at it let's make it accurate.
Currently it misses i85x (not a problem since gen2
never has OpRegion, nor do we currently call
i915_enable_asle_pipestat() on gen2), and it
doesn't reject ILK-M (not that anyone should call
this on ILK). The exlusion of VLV/CHV (where one
might even consider calling this, being gmch
platforms) only happens due to .is_mobile==false.

List the platforms that actually do have the legacy
BLC interrupt in a bit more explicit fashion.
i915gm/i945gm/i965gm/gm45 we can cover with a
display_ver+is_mobile check, pnv needs an exception
due to having a variant with is_mobile==false, and
i85x is the only relevant gen2 platform so easier to
handle on its own.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240927143545.8665-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_irq.c