[Karmic] SRU: [PATCH] drm-i915-remove-loop-in-Ironlake-interrupt-handler

Tim Gardner tim.gardner at canonical.com
Wed Jan 20 13:45:03 UTC 2010

Steve Conklin wrote:
> The attached patch is derived from c7c85101afd0cb8ce497456d12ee1cad4aad152f in
> Linus's tree. There has been an urgent request made by intel to apply this to
> the stable tree, and it should be in Karmic as well.
> I welcome additional reviews of this patch, as it required some tweaking to
> apply and it's ISR code.
> As far as I know, this is the last remaining patch for the moment that is
> required in Karmic for Ironlake.
> Steve

I noticed 3 things about the resulting patch.

1) This handler is not very efficient. There is typically one or more
bits in a single register that indicates if this instance of the card
actually generated the interrupt. In this case it looks like DEIER has
that information. Does the handler really need to do 6 register reads
and 2 register writes simply to determine it has nothing to do.

2) Depending on the HW design, there may be a race between when the IIR
registers are read, and when their conditions are cleared. For example,
DEIIR could go active after having been read, but before its cleared at
the end of the handler.

3) Why is there an additional variable introduced 'u32 segno' ?

Tim Gardner tim.gardner at canonical.com

More information about the kernel-team mailing list