summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/Makefile4
-rw-r--r--linux-core/ati_pcigart.c12
-rw-r--r--linux-core/drmP.h7
-rw-r--r--linux-core/drm_crtc.c2
4 files changed, 17 insertions, 8 deletions
diff --git a/linux-core/Makefile b/linux-core/Makefile
index effc2061..af29bd6a 100644
--- a/linux-core/Makefile
+++ b/linux-core/Makefile
@@ -238,9 +238,7 @@ drmstat: drmstat.c
$(CC) $(PRGCFLAGS) $< -o $@ $(DRMSTATLIBS)
install:
- echo "Installing DRM modules to "$(O)
- install *.ko $(O)/driver/char/drm
- depmod -a
+ make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules_install
else
diff --git a/linux-core/ati_pcigart.c b/linux-core/ati_pcigart.c
index bb30dd74..52bf8922 100644
--- a/linux-core/ati_pcigart.c
+++ b/linux-core/ati_pcigart.c
@@ -205,10 +205,18 @@ int drm_ati_pcigart_init(drm_device_t *dev, drm_ati_pcigart_info *gart_info)
page_base = (u32) entry->busaddr[i];
for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
- if (gart_info->is_pcie)
+ switch(gart_info->gart_reg_if) {
+ case DRM_ATI_GART_IGP:
+ *pci_gart = cpu_to_le32((page_base) | 0xc);
+ break;
+ case DRM_ATI_GART_PCIE:
*pci_gart = cpu_to_le32((page_base >> 8) | 0xc);
- else
+ break;
+ default:
+ case DRM_ATI_GART_PCI:
*pci_gart = cpu_to_le32(page_base);
+ break;
+ }
pci_gart++;
page_base += ATI_PCIGART_PAGE_SIZE;
}
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index 25fc8733..0d0ec992 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -75,7 +75,6 @@
#include <linux/poll.h>
#include <asm/pgalloc.h>
#include "drm.h"
-#include "drm_crtc.h"
#include <linux/slab.h>
#define __OS_HAS_AGP (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE)))
@@ -590,9 +589,13 @@ typedef struct drm_vbl_sig {
#define DRM_ATI_GART_MAIN 1
#define DRM_ATI_GART_FB 2
+#define DRM_ATI_GART_PCI 1
+#define DRM_ATI_GART_PCIE 2
+#define DRM_ATI_GART_IGP 3
+
typedef struct ati_pcigart_info {
int gart_table_location;
- int is_pcie;
+ int gart_reg_if;
void *addr;
dma_addr_t bus_addr;
drm_local_map_t mapping;
diff --git a/linux-core/drm_crtc.c b/linux-core/drm_crtc.c
index 2f140dbd..ef025922 100644
--- a/linux-core/drm_crtc.c
+++ b/linux-core/drm_crtc.c
@@ -582,7 +582,7 @@ void drm_mode_config_cleanup(drm_device_t *dev)
{
struct drm_output *output, *ot;
struct drm_crtc *crtc, *ct;
- struct drm_crtc *fb, *fbt;
+ struct drm_framebuffer *fb, *fbt;
list_for_each_entry_safe(output, ot, &dev->mode_config.output_list, head) {
drm_output_destroy(output);
}