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