[poky] [PATCH 3/6] drm: apply psb-kernel-source package's build.patch

Tom Zanussi tom.zanussi at intel.com
Sun Jan 23 20:23:48 PST 2011


Mods required to build on 2.6.33.2 sans the external module Makefile
changes.  Again, these changes should be audited later for unnecessary
changes, but the assumption is that they're also needed for the wr
kernel; in any case they don't obviously break anything and they
tested out ok, at least cursorily.

Signed-off-by: Tom Zanussi <tom.zanussi at intel.com>
---
 drivers/gpu/drm-psb/drm_agpsupport.c |    2 +-
 drivers/gpu/drm-psb/drm_edid.c       |    3 ++-
 drivers/gpu/drm-psb/drm_memory.c     |    4 ++--
 drivers/gpu/drm-psb/drm_os_linux.h   |    6 ------
 drivers/gpu/drm-psb/drm_ttm.c        |    2 ++
 drivers/gpu/drm-psb/drm_vm.c         |    4 ++--
 drivers/gpu/drm-psb/intel_lvds.c     |    1 +
 drivers/gpu/drm-psb/psb_drv.c        |    4 +++-
 drivers/gpu/drm-psb/psb_drv.h        |    2 +-
 9 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm-psb/drm_agpsupport.c b/drivers/gpu/drm-psb/drm_agpsupport.c
index a1af119..8b739d2 100644
--- a/drivers/gpu/drm-psb/drm_agpsupport.c
+++ b/drivers/gpu/drm-psb/drm_agpsupport.c
@@ -524,7 +524,7 @@ static int drm_agp_populate(struct drm_ttm_backend *backend,
 	DRM_DEBUG("Current page count is %ld\n", (long) mem->page_count);
 	mem->page_count = 0;
 	for (cur_page = pages; cur_page < last_page; ++cur_page)
-		mem->pages[mem->page_count++] = phys_to_gart(page_to_phys(*cur_page));
+		mem->pages[mem->page_count++] = page_to_phys(*cur_page);
 	agp_be->mem = mem;
 	return 0;
 }
diff --git a/drivers/gpu/drm-psb/drm_edid.c b/drivers/gpu/drm-psb/drm_edid.c
index 6307cdc..54d27c6 100644
--- a/drivers/gpu/drm-psb/drm_edid.c
+++ b/drivers/gpu/drm-psb/drm_edid.c
@@ -11,6 +11,7 @@
 #include "drm_edid.h"
 
 #include <acpi/acpi_drivers.h>
+#include <linux/i2c.h>
 
 /* Valid EDID header has these bytes */
 static u8 edid_header[] = { 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00 };
@@ -39,7 +40,7 @@ int drm_get_acpi_edid(char *method, char *edid, ssize_t length)
 	if (obj && obj->type == ACPI_TYPE_BUFFER)
 		memcpy(edid, obj->buffer.pointer, obj->buffer.length);
 	else {
-		printk(KERN_ERR PREFIX "Invalid _DDC data\n");
+		printk(KERN_ERR "Invalid _DDC data\n");
 		status = -EFAULT;
 		kfree(obj);
 	}
diff --git a/drivers/gpu/drm-psb/drm_memory.c b/drivers/gpu/drm-psb/drm_memory.c
index becca1e..c890499 100644
--- a/drivers/gpu/drm-psb/drm_memory.c
+++ b/drivers/gpu/drm-psb/drm_memory.c
@@ -264,9 +264,9 @@ static void *agp_remap(unsigned long offset, unsigned long size,
 		return NULL;
 
 	phys_addr_map =
-	    agpmem->memory->memory + (offset - agpmem->bound) / PAGE_SIZE;
+	    agpmem->memory->pages + (offset - agpmem->bound) / PAGE_SIZE;
 	for (i = 0; i < num_pages; ++i)
-		page_map[i] = pfn_to_page(phys_addr_map[i] >> PAGE_SHIFT);
+                page_map[i] = phys_addr_map[i];
 	addr = vmap(page_map, num_pages, VM_IOREMAP, PAGE_AGP);
 	vfree(page_map);
 
diff --git a/drivers/gpu/drm-psb/drm_os_linux.h b/drivers/gpu/drm-psb/drm_os_linux.h
index f52f0eb..ac5051b 100644
--- a/drivers/gpu/drm-psb/drm_os_linux.h
+++ b/drivers/gpu/drm-psb/drm_os_linux.h
@@ -50,12 +50,6 @@
 
 /** IRQ handler arguments and return type and values */
 #define DRM_IRQ_ARGS		int irq, void *arg
-/** backwards compatibility with old irq return values */
-#ifndef IRQ_HANDLED
-typedef void irqreturn_t;
-#define IRQ_HANDLED		/* nothing */
-#define IRQ_NONE		/* nothing */
-#endif
 
 /** AGP types */
 #if __OS_HAS_AGP
diff --git a/drivers/gpu/drm-psb/drm_ttm.c b/drivers/gpu/drm-psb/drm_ttm.c
index e0afb04..8aa3947 100644
--- a/drivers/gpu/drm-psb/drm_ttm.c
+++ b/drivers/gpu/drm-psb/drm_ttm.c
@@ -28,6 +28,8 @@
  * Authors: Thomas Hellström <thomas-at-tungstengraphics-dot-com>
  */
 
+#include "linux/spinlock.h"
+#include "asm/agp.h"
 #include "drmP.h"
 
 static void drm_ttm_ipi_handler(void *null)
diff --git a/drivers/gpu/drm-psb/drm_vm.c b/drivers/gpu/drm-psb/drm_vm.c
index 5baefee..7adbf7b 100644
--- a/drivers/gpu/drm-psb/drm_vm.c
+++ b/drivers/gpu/drm-psb/drm_vm.c
@@ -145,13 +145,13 @@ static int drm_do_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
 		 * Get the page, inc the use count, and return it
 		 */
 		offset = (baddr - agpmem->bound) >> PAGE_SHIFT;
-		page = virt_to_page(__va(agpmem->memory->memory[offset]));
+		page = agpmem->memory->pages[offset];
 		get_page(page);
 		vmf->page = page;
 
 		DRM_DEBUG
 		    ("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n",
-		     baddr, __va(agpmem->memory->memory[offset]), offset,
+		     baddr, agpmem->memory->pages[offset], offset,
 		     page_count(page));
 		return 0;
 	}
diff --git a/drivers/gpu/drm-psb/intel_lvds.c b/drivers/gpu/drm-psb/intel_lvds.c
index 208f3ad..16fbd79 100644
--- a/drivers/gpu/drm-psb/intel_lvds.c
+++ b/drivers/gpu/drm-psb/intel_lvds.c
@@ -29,6 +29,7 @@
 
 #include <linux/i2c.h>
 #include <linux/backlight.h>
+#include <linux/i2c.h>
 #include "drm_crtc.h"
 #include "drm_edid.h"
 #include "intel_lvds.h"
diff --git a/drivers/gpu/drm-psb/psb_drv.c b/drivers/gpu/drm-psb/psb_drv.c
index 2a2e8d4..794c180 100644
--- a/drivers/gpu/drm-psb/psb_drv.c
+++ b/drivers/gpu/drm-psb/psb_drv.c
@@ -34,8 +34,10 @@
 #include <linux/cpu.h>
 #include <linux/notifier.h>
 #include <linux/fb.h>
+#include "linux/spinlock.h"
+#include "asm/agp.h"
 
-int drm_psb_debug = 0;
+int drm_psb_debug = 255;
 EXPORT_SYMBOL(drm_psb_debug);
 static int drm_psb_trap_pagefaults = 0;
 static int drm_psb_clock_gating = 0;
diff --git a/drivers/gpu/drm-psb/psb_drv.h b/drivers/gpu/drm-psb/psb_drv.h
index f2c2657..ad0c36c 100644
--- a/drivers/gpu/drm-psb/psb_drv.h
+++ b/drivers/gpu/drm-psb/psb_drv.h
@@ -808,7 +808,7 @@ extern int drm_psb_detear;
 #define PSB_DEBUG(_flag, _fmt, _arg...)					\
 	do {								\
 	  if (unlikely((_flag) & drm_psb_debug))			\
-			printk(KERN_DEBUG				\
+			printk(KERN_ERR				\
 			       "[psb:0x%02x:%s] " _fmt , _flag,	\
 			       __FUNCTION__ , ##_arg);			\
 	} while (0)
-- 
1.7.0.4




More information about the poky mailing list