Source-Changes-HG archive

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

[src/riastradh-drm2]: src/sys/external/bsd/drm2/dist/drm/i915 Take the vmobjl...



details:   https://anonhg.NetBSD.org/src/rev/d39d9f4f8dd4
branches:  riastradh-drm2
changeset: 788650:d39d9f4f8dd4
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Thu Mar 06 00:32:39 2014 +0000

description:
Take the vmobjlock in i915_gem_release_mmap around pmap_page_protect.

diffstat:

 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c |  2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diffs (16 lines):

diff -r 2dcacc545272 -r d39d9f4f8dd4 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Wed Mar 05 22:18:27 2014 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Thu Mar 06 00:32:39 2014 +0000
@@ -1774,10 +1774,12 @@
        {
                struct vm_page *page;
 
+               mutex_enter(obj->base.gemo_shm_uao->vmobjlock);
                KASSERT(obj->pages != NULL);
                /* Force a fresh fault for each page.  */
                TAILQ_FOREACH(page, &obj->igo_pageq, pageq.queue)
                        pmap_page_protect(page, VM_PROT_NONE);
+               mutex_exit(obj->base.gemo_shm_uao->vmobjlock);
        }
 #else
        if (obj->base.dev->dev_mapping)



Home | Main Index | Thread Index | Old Index