[PATCH 4/4] drm/i915: Switch over to gen3 irq code on gen2

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Sep 27 14:45:48 UTC 2024


On Fri, Sep 27, 2024 at 05:35:45PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> The only real reason why we have the gen2 vs. gen3+ split
> in irq handling is that bspec claims that IIR/IMR/IER/ISR
> and EMR are only 16 bits on gen2, as opposed to being 32
> bits on gen3+. That doesn't seem to be a meaningful
> distinction as 32bit access to these registers works
> perfectly fine on gen2
> 
> Interestingly the 16 msbs of IMR are in fact hardcoded
> to 1 on gen2, which to me indicates that 32bit access
> was the plan all along, and perhaps someone just forgot
> to update the spec.
> 
> Nuke the special 16bit gen2 irq code and switch over to
> the gen3 code.
> 
> Gen2 doesn't have the ASLE interrupt, which just needs
> a small tweak in i915_irq_postinstall().
> 
> And so far we've not had a codepath that could enable the
> legacy BLC interrupt on gen2. Now we do, but we'll never
> actually do it since gen2 machines don't have OpRegion.
> (and neither do i915/i945 machines btw). On these older
> platforms the legacy BLC interrupt is meant to be used
> in conjunction with the LBPC backlight stuff, but we
> never actually switch off the legacy/combination mode
> and thus don't use the interrupt either.
> 
> This was quickly smoke tested on all gen2 variants.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Hmm. I guess I should do this to the gt code as well.
But I'll hold off on that for the moment.

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list