[Intel-gfx] Patch for testing irq spinning

Tomas Carnecky tom at dbservice.com
Fri Dec 5 08:51:06 CET 2008


On 12/05/2008 01:54 AM, Keith Packard wrote:
> On Thu, 2008-12-04 at 15:43 +0100, Tomas Carnecky wrote:
>
>> Should I apply both patches or only the second one (the one that adds
>> the 'break;')? I applied both and I was still getting the IRQ storms.
>> This is also on a GM965.
>
> It shouldn't have mattered. At this point, I'm curious if we're running
> into trouble because of interrupt sharing. We've had good reports from
> people using MSI on GM965, notwithstanding the errata which says they're
> unreliable. It may be that our driver/linux uses them differently enough
> that they work fine. Here's a patch which re-enables MSI for 965GM. Use
> this in place of the other two patches and let us know if it works. In
> other words, revert back to anholt/for-airlied and apply this patch:

The irq storms seem to be gone. But I'm not sure if MSI is really 
usable. When I let glxgears run, it freezes after a ~10-30 seconds, and 
resumes normally after I move a window (doesn't have to be the glxgears 
window, just one window on the desktop). Is that maybe a symptom of the 
lost interrupts that the errata refers to (GM965 + MSI)?

>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index ba89b42..553dd4b 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -847,9 +847,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long
> flags)
>   	 * and the registers being closely associated.
>   	 *
>   	 * According to chipset errata, on the 965GM, MSI interrupts may
> -	 * be lost or delayed
> +	 * be lost or delayed, but we use them anyways to avoid
> +	 * stuck interrupts on some machines.
>   	 */
> -	if (!IS_I945G(dev)&&  !IS_I945GM(dev)&&  !IS_I965GM(dev))
> +	if (!IS_I945G(dev)&&  !IS_I945GM(dev))
>   		pci_enable_msi(dev->pdev);
>
>   	intel_opregion_init(dev);
>





More information about the Intel-gfx mailing list