]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.xen/xen3-add-via-chrome9-drm-support.patch
Imported linux-2.6.27.39 suse/xen patches.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.xen / xen3-add-via-chrome9-drm-support.patch
1 From: Bruce Chang<BruceChang@via.com.tw>
2 Subject: add Via chrome9 drm support
3
4 Signed-off-by: Bruce Chang<BruceChang@via.com.tw>
5 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
6
7 Automatically created from "patches.drivers/add-via-chrome9-drm-support.patch" by xen-port-patches.py
8
9 --- sle11-2009-10-08.orig/drivers/gpu/drm/via_chrome9/via_chrome9_dma.c 2009-01-16 09:39:39.000000000 +0100
10 +++ sle11-2009-10-08/drivers/gpu/drm/via_chrome9/via_chrome9_dma.c 2009-10-08 12:19:47.000000000 +0200
11 @@ -135,10 +135,17 @@ void via_chrome9_dma_init_inv(struct drm
12 0x83c5);
13 } while (sr6f & 0x80);
14
15 - for (i = 0; i < entries; i++)
16 - writel(page_to_pfn(vmalloc_to_page(
17 - (void *)addrlinear + PAGE_SIZE * i)) &
18 - 0x3fffffff, pGARTTable + i + alignedoffset);
19 + for (i = 0; i < entries; i++) {
20 + unsigned long pfn;
21 +
22 + pfn = vmalloc_to_pfn((void *)addrlinear
23 + + PAGE_SIZE * i);
24 +#ifdef CONFIG_XEN
25 + pfn = pfn_to_mfn(pfn);
26 +#endif
27 + writel(pfn & 0x3fffffff,
28 + pGARTTable + i + alignedoffset);
29 + }
30
31 sr6f |= 0x80;
32 SetMMIORegisterU8(dev_priv->mmio->handle, 0x83c5, sr6f);
33 @@ -270,10 +277,15 @@ AllocAndBindPCIEMemory(struct drm_via_ch
34 while (sr6f & 0x80)
35 ;
36
37 - for (i = 0; i < entries; i++)
38 - writel(page_to_pfn
39 - (vmalloc_to_page((void *) addrlinear + PAGE_SIZE * i)) &
40 - 0x3fffffff, pGARTTable + i + alignedoffset);
41 + for (i = 0; i < entries; i++) {
42 + unsigned long pfn;
43 +
44 + pfn = vmalloc_to_pfn((void *)addrlinear + PAGE_SIZE * i);
45 +#ifdef CONFIG_XEN
46 + pfn = pfn_to_mfn(pfn);
47 +#endif
48 + writel(pfn & 0x3fffffff, pGARTTable + i + alignedoffset);
49 + }
50
51 sr6f |= 0x80;
52 SetMMIORegisterU8(dev_priv->mmio->handle, 0x83c5, sr6f);