NetBSD-Bugs archive

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

Re: kern/56571: i915drmkms regression (hangs) in -current



The following reply was made to PR kern/56571; it has been noted by GNATS.

From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: is%NetBSD.org@localhost
Subject: Re: kern/56571: i915drmkms regression (hangs) in -current
Date: Fri, 24 Dec 2021 10:22:24 +0000

 This is a multi-part message in MIME format.
 --=_3LM3Qr5snjR6jwWdKR2eeC80vJ4rOpBA
 
 Can you please try running with the attached patch and show me the
 output?
 
 --=_3LM3Qr5snjR6jwWdKR2eeC80vJ4rOpBA
 Content-Type: text/plain; charset="ISO-8859-1"; name="is"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="is.patch"
 
 diff --git a/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_shmem.c b/sys=
 /external/bsd/drm2/dist/drm/i915/gem/i915_gem_shmem.c
 index 67aad0c3010e..14698baec724 100644
 --- a/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_shmem.c
 +++ b/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_shmem.c
 @@ -208,8 +208,8 @@ rebuild_st:
  			goto rebuild_st;
  		} else {
  			dev_warn(i915->drm.dev,
 -				 "Failed to DMA remap %lu pages\n",
 -				 page_count);
 +				 "Failed to DMA remap %lu pages: %d\n",
 +				 page_count, ret);
  			goto err_pages;
  		}
  	}
 diff --git a/sys/external/bsd/drm2/linux/linux_sgt.c b/sys/external/bsd/drm=
 2/linux/linux_sgt.c
 index 2300ea751129..21850bf10d06 100644
 --- a/sys/external/bsd/drm2/linux/linux_sgt.c
 +++ b/sys/external/bsd/drm2/linux/linux_sgt.c
 @@ -173,14 +173,18 @@ dma_map_sg_attrs(bus_dma_tag_t dmat, struct scatterli=
 st *sg, int nents,
 =20
  	error =3D bus_dmamap_create(dmat, (bus_size_t)sg->sg_npgs << PAGE_SHIFT,
  	    nents, PAGE_SIZE, 0, BUS_DMA_WAITOK, &sg->sg_dmamap);
 -	if (error)
 +	if (error) {
 +		printf("%s: bus_dmamap_create(dmat=3D%p, size=3D0x%zx, nseg=3D%d, maxseg=
 sz=3D0x%zx, boundary=3D0x%zx, flags=3DBUS_DMA_WAITOK, &dmamap) failed: %d\n=
 ", __func__, dmat, (size_t)sg->sg_npgs << PAGE_SHIFT, nents, (size_t)PAGE_S=
 IZE, (size_t)0, error);
  		goto out;
 +	}
  	KASSERT(sg->sg_dmamap);
 =20
  	error =3D bus_dmamap_load_pages(dmat, sg->sg_dmamap, sg->sg_pgs,
  	    (bus_size_t)sg->sg_npgs << PAGE_SHIFT, BUS_DMA_WAITOK|flags);
 -	if (error)
 +	if (error) {
 +		printf("%s: bus_dmamap_load_pages(dmat=3D%p, dmamap=3D%p, pgs=3D%p, size=
 =3D0x%zx,  flags=3DBUS_DMA_WAITOK|0x%x) failed: %d\n", __func__, dmat, sg->=
 sg_dmamap, sg->sg_pgs, (size_t)sg->sg_npgs << PAGE_SHIFT, flags, error);
  		goto out;
 +	}
  	loaded =3D true;
 =20
  	/* Success! */
 
 --=_3LM3Qr5snjR6jwWdKR2eeC80vJ4rOpBA--
 


Home | Main Index | Thread Index | Old Index