Re: [Nouveau] [PATCH] drm/nouveau: Ack interrupts for some fuc engines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 25, 2013 at 10:22:37AM +0100, Maarten Lankhorst wrote:
> Fixes 100% cpu usage when the exit interrupt never got acked.
> 
> Signed-off-by: Maarten Lankhorst <m.b.lankhorst@xxxxxxxxx>
> ---
> diff --git a/drivers/gpu/drm/nouveau/core/core/falcon.c b/drivers/gpu/drm/nouveau/core/core/falcon.c
> index e05c157..b11c5f3 100644
> --- a/drivers/gpu/drm/nouveau/core/core/falcon.c
> +++ b/drivers/gpu/drm/nouveau/core/core/falcon.c
> @@ -229,6 +229,24 @@ _nouveau_falcon_fini(struct nouveau_object *object, bool suspend)
>  	return nouveau_engine_fini(&falcon->base, suspend);
>  }
>  
> +void
> +nouveau_falcon_intr(struct nouveau_subdev *subdev)
> +{
> +	struct nouveau_falcon *falcon = (void*)subdev;
> +	u32 intr = nv_ro32(falcon, 0x008);
> +
> +	nv_wo32(falcon, 0x004, intr);
> +
> +	if (intr & 0x10) {
> +		intr &= ~0x10;
> +
> +		nv_info(falcon, "Exit interrupt called\n");

Do you really want to print it at "info" level? How frequent it is?

> +	}
> +
> +	if (intr)
> +		nv_error(falcon, "Unhandled interrupt %08x\n", intr);
> +}
> +
>  int
>  nouveau_falcon_create_(struct nouveau_object *parent,
>  		       struct nouveau_object *engine,
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux