From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: nouveau regression: read fault PAGE_NOT_PRESENT with new fence interface Date: Mon, 22 Sep 2014 10:38:05 +0200 Message-ID: <541FDFED.7000405@canonical.com> References: <541B3B85.6000906@tedp.id.au> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by gabe.freedesktop.org (Postfix) with ESMTP id B78616E3AE for ; Mon, 22 Sep 2014 01:38:11 -0700 (PDT) In-Reply-To: <541B3B85.6000906@tedp.id.au> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ted Percival Cc: Ben Skeggs , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Hey, Op 18-09-14 om 22:07 schreef Ted Percival: > Hi, I noticed a regression in the next-20140903 kernel that was not > present in next-20140902. When Xorg starts up, the display is garbled > (or contains old image bits) and I see a page fault in the kernel log. X > is not usable in this state - there is no pointer and gdm doesn't come > up. It works fine after Xorg (gdm3) is restarted. The fault is still > present in next-20140918. > > [drm] Initialized nouveau 1.2.0 20120801 for 0000:01:00.0 on minor 0 > nouveau E[ PFIFO][0000:01:00.0] read fault at 0x0001260000 > [PAGE_NOT_PRESENT] from PGRAPH/GPC0/TEX on channel 0x001fcd1000 [Xorg[3874]] > nouveau E[ PFIFO][0000:01:00.0] PGRAPH engine fault on channel 2, > recovering... > nouveau E[ PGRAPH][0000:01:00.0] TRAP ch 2 [0x001fcd1000 Xorg[3874]] > nouveau E[ PGRAPH][0000:01:00.0] GPC0/TPC0/TEX: 0x80000041 > > My hardware is: NVIDIA Corporation GF119 [Quadro NVS 4200M] (rev a1) > > I bisected it down to this commit: > > commit 29ba89b2371d466ca68973525816cf10debc2655 > Author: Maarten Lankhorst > Date: Thu Jan 9 11:03:11 2014 +0100 > > drm/nouveau: rework to new fence interface > > Signed-off-by: Maarten Lankhorst > Acked-by: Ben Skeggs > > I tried tracing the DEVICE, PGRAPH, PFIFO & PCE0 engines but nothing > obvious stood out before the read fault shown above. > > Is there any other information I can provide to help track this down? > paranoia or spam level logging, for example? Does this patch fix things? diff --git a/drivers/gpu/drm/nouveau/nv84_fence.c b/drivers/gpu/drm/nouveau/nv84_fence.c index 7b372a68aa4e..2a372b08ae44 100644 --- a/drivers/gpu/drm/nouveau/nv84_fence.c +++ b/drivers/gpu/drm/nouveau/nv84_fence.c @@ -159,8 +159,6 @@ nv84_fence_context_new(struct nouveau_channel *chan) ret = nouveau_bo_vma_add(bo, cli->vm, &fctx->dispc_vma[i]); } - nouveau_bo_wr32(priv->bo, chan->chid * 16/4, 0x00000000); - if (ret) nv84_fence_context_del(chan); return ret;