/[pkgs]/rpms/kernel/F-10/drm-intel-gem-use-dma32-on-pae.patch
ViewVC logotype

Contents of /rpms/kernel/F-10/drm-intel-gem-use-dma32-on-pae.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download) (as text)
Fri May 22 22:26:41 2009 UTC (6 months ago) by cebbert
Branch: MAIN
CVS Tags: kernel-2_6_29_6-99_fc10, kernel-2_6_29_6-93_fc10, kernel-2_6_29_6-97_fc10, kernel-2_6_29_5-84_fc10, kernel-2_6_29_4-72_fc10, kernel-2_6_29_5-88_fc10, kernel-2_6_29_4-75_fc10, kernel-2_6_29_4-80_fc10, HEAD
File MIME type: text/x-patch
Copy DRM fixes from F-11:
    drm-copyback-ioctl-data-to-userspace-regardless-of-retcode.patch
    drm-edid-ignore-tiny-modes.patch
    drm-intel-big-hammer.patch
    drm-intel-gem-use-dma32-on-pae.patch
    drm-intel-gen3-fb-hack.patch
    drm-intel-hdmi-edid-fix.patch
    drm-intel-i8xx-cursors.patch
    drm-intel-include-965gme-pci-id.patch
    drm-intel-lying-systems-without-lvds.patch
    drm-intel-tiling-transition.patch
1 diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
2 index 4984aa8..ae52edc 100644
3 --- a/drivers/gpu/drm/drm_gem.c
4 +++ b/drivers/gpu/drm/drm_gem.c
5 @@ -142,6 +142,9 @@ drm_gem_object_alloc(struct drm_device *dev, size_t size)
6 return NULL;
7 }
8
9 + if (dev->gem_flags)
10 + mapping_set_gfp_mask(obj->filp->f_mapping, dev->gem_flags);
11 +
12 kref_init(&obj->refcount);
13 kref_init(&obj->handlecount);
14 obj->size = size;
15 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
16 index 8161343..049fc3f 100644
17 --- a/drivers/gpu/drm/i915/i915_dma.c
18 +++ b/drivers/gpu/drm/i915/i915_dma.c
19 @@ -1145,12 +1145,12 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
20 }
21
22 #ifdef CONFIG_HIGHMEM64G
23 - /* don't enable GEM on PAE - needs agp + set_memory_* interface fixes */
24 - dev_priv->has_gem = 0;
25 -#else
26 + /* set default allocation flags */
27 + dev->gem_flags = GFP_USER | GFP_DMA32;
28 +#endif
29 +
30 /* enable GEM by default, except on I8xx */
31 dev_priv->has_gem = !IS_I8XX(dev) ? 1 : 0;
32 -#endif
33
34 dev->driver->get_vblank_counter = i915_get_vblank_counter;
35 if (IS_GM45(dev))
36 diff --git a/include/drm/drmP.h b/include/drm/drmP.h
37 index 04fbd1e..018534b 100644
38 --- a/include/drm/drmP.h
39 +++ b/include/drm/drmP.h
40 @@ -1043,6 +1043,7 @@ struct drm_device {
41 uint32_t gtt_total;
42 uint32_t invalidate_domains; /* domains pending invalidation */
43 uint32_t flush_domains; /* domains pending flush */
44 + gfp_t gem_flags; /* object allocation flags */
45 /*@} */
46 };
47
48 diff --git a/mm/shmem.c b/mm/shmem.c
49 index 4103a23..515bb1b 100644
50 --- a/mm/shmem.c
51 +++ b/mm/shmem.c
52 @@ -1226,7 +1226,7 @@ repeat:
53 * Try to preload while we can wait, to not make a habit of
54 * draining atomic reserves; but don't latch on to this cpu.
55 */
56 - error = radix_tree_preload(gfp & ~__GFP_HIGHMEM);
57 + error = radix_tree_preload(gfp & ~(__GFP_HIGHMEM|__GFP_DMA32));
58 if (error)
59 goto failed;
60 radix_tree_preload_end();

admin@fedoraproject.org
ViewVC Help
Powered by ViewVC 1.1.2