From: <ai...@ke...> - 2006-11-06 00:46:45
|
linux-core/drm_fops.c | 6 +++--- shared-core/drm_sarea.h | 2 +- shared-core/nouveau_drm.h | 2 +- shared-core/nouveau_fifo.c | 2 +- shared-core/nouveau_reg.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) New commits: diff-tree f7affda35bb0c47fbc973725e05847669e215d46 (from 2dd3c039fdbe86db4043abcc69babf768edb3ab8) Author: Dave Airlie <airlied@ppcg5.localdomain> Date: Mon Nov 6 11:44:36 2006 +1100 drm: fixup page alignment on SAREA map on ppc64 diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c index b60ced3..60ea57a 100644 --- a/linux-core/drm_fops.c +++ b/linux-core/drm_fops.c @@ -46,7 +46,7 @@ static int drm_setup(drm_device_t * dev) drm_local_map_t *map; int i; int ret; - + int sareapage; if (dev->driver->firstopen) { ret = dev->driver->firstopen(dev); @@ -57,8 +57,8 @@ static int drm_setup(drm_device_t * dev) dev->magicfree.next = NULL; /* prebuild the SAREA */ - - i = drm_addmap(dev, 0, SAREA_MAX, _DRM_SHM, _DRM_CONTAINS_LOCK, &map); + sareapage = max(SAREA_MAX, PAGE_SIZE); + i = drm_addmap(dev, 0, sareapage, _DRM_SHM, _DRM_CONTAINS_LOCK, &map); if (i != 0) return i; diff --git a/shared-core/drm_sarea.h b/shared-core/drm_sarea.h index 0d5baf6..43d1114 100644 --- a/shared-core/drm_sarea.h +++ b/shared-core/drm_sarea.h @@ -41,7 +41,7 @@ #define SAREA_MAX 0x10000 /* 64kB */ #else /* Intel 830M driver needs at least 8k SAREA */ -#define SAREA_MAX 0x2000 +#define SAREA_MAX 0x2000UL #endif /** Maximum number of drawables in the SAREA */ diff-tree 2dd3c039fdbe86db4043abcc69babf768edb3ab8 (from 5e55594061b24521551c45838fbe6c3df57050d1) Author: Dave Airlie <airlied@ppcg5.localdomain> Date: Mon Nov 6 11:42:15 2006 +1100 fixup fifo size so it is page aligned diff --git a/shared-core/nouveau_fifo.c b/shared-core/nouveau_fifo.c index 5c32866..cf38964 100644 --- a/shared-core/nouveau_fifo.c +++ b/shared-core/nouveau_fifo.c @@ -138,7 +138,7 @@ static int nouveau_dma_init(struct drm_d drm_nouveau_private_t *dev_priv = dev->dev_private; struct nouveau_config *config = &dev_priv->config; struct mem_block *cb; - int cb_min_size = nouveau_fifo_number(dev) * NV03_FIFO_SIZE; + int cb_min_size = nouveau_fifo_number(dev) * max(NV03_FIFO_SIZE,PAGE_SIZE); /* XXX this should be done earlier on init */ nouveau_hash_table_init(dev); diff --git a/shared-core/nouveau_reg.h b/shared-core/nouveau_reg.h index f15b621..868a067 100644 --- a/shared-core/nouveau_reg.h +++ b/shared-core/nouveau_reg.h @@ -38,7 +38,7 @@ #define NV_DMA_TARGET_VIDMEM 0 #define NV_DMA_TARGET_AGP 3 -#define NV03_FIFO_SIZE 0x8000 +#define NV03_FIFO_SIZE 0x8000UL #define NV_MAX_FIFO_NUMBER 32 #define NV03_FIFO_REGS_SIZE 0x10000 #define NV03_FIFO_REGS(i) (0x00800000+i*NV03_FIFO_REGS_SIZE) diff-tree 5e55594061b24521551c45838fbe6c3df57050d1 (from 1e90b7ee8cefff59b70e285557aa7920dea77e81) Author: Dave Airlie <airlied@ppcg5.localdomain> Date: Mon Nov 6 11:41:51 2006 +1100 use a uint64_t for this not a pointer diff --git a/shared-core/nouveau_drm.h b/shared-core/nouveau_drm.h index 865dbe9..2517bbc 100644 --- a/shared-core/nouveau_drm.h +++ b/shared-core/nouveau_drm.h @@ -74,7 +74,7 @@ typedef struct drm_nouveau_mem_alloc { int flags; int alignment; uint64_t size; // in bytes - uint64_t __user *region_offset; + uint64_t region_offset; } drm_nouveau_mem_alloc_t; |