Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-7]: src/sys/external/bsd/drm2/dist/drm/i915 Pull up following rev...
details: https://anonhg.NetBSD.org/src/rev/574aedbb3a93
branches: netbsd-7
changeset: 799795:574aedbb3a93
user: snj <snj%NetBSD.org@localhost>
date: Thu Feb 11 23:23:11 2016 +0000
description:
Pull up following revision(s) (requested by riastradh in ticket #1091):
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revisions 1.17, 1.18
Zero out the guard for bus_space_unmap before calling i915_dma_cleanup() which
calls i915_free_hws(), which then tries to unmap. Perhaps this fixes PR/50060.
--
fix the same bug on the linux side, print the error, and return the -tive
error to mimick linux.
diffstat:
sys/external/bsd/drm2/dist/drm/i915/i915_dma.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diffs (28 lines):
diff -r 6fb30c128176 -r 574aedbb3a93 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c Thu Feb 11 23:20:11 2016 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c Thu Feb 11 23:23:11 2016 +0000
@@ -1137,11 +1137,11 @@
BUS_SPACE_MAP_PREFETCHABLE,
&dev_priv->dri1.gfx_hws_cpu_bsh);
if (ret) {
+ ring->status_page.gfx_addr = 0;
i915_dma_cleanup(dev);
- ring->status_page.gfx_addr = 0;
DRM_ERROR("can not ioremap virtual address for"
- " G33 hw status page\n");
- return ret;
+ " G33 hw status page, error %d\n", ret);
+ return -ret;
}
__CTASSERT(PAGE_SIZE == 4096);
@@ -1151,8 +1151,8 @@
dev_priv->dri1.gfx_hws_cpu_addr =
ioremap_wc(dev_priv->gtt.mappable_base + hws->addr, 4096);
if (dev_priv->dri1.gfx_hws_cpu_addr == NULL) {
+ ring->status_page.gfx_addr = 0;
i915_dma_cleanup(dev);
- ring->status_page.gfx_addr = 0;
DRM_ERROR("can not ioremap virtual address for"
" G33 hw status page\n");
return -ENOMEM;
Home |
Main Index |
Thread Index |
Old Index