amd-gpu: rework apertures

* increase from 64MB to 96MB total memory
* after some testing it seems that PHYS can be quite small compared
  to EMEM, therefore make the aperture split 16MB/80MB
This commit is contained in:
Ahmed Ammar
2013-05-20 20:09:54 +02:00
parent 1c537cf431
commit 8451d8d6b6
3 changed files with 10 additions and 9 deletions

View File

@@ -290,7 +290,7 @@ static void __init mx51_efikamx_fixup(struct machine_desc *desc, struct tag *tag
struct tag *mem_tag = 0;
int total_mem = SZ_512M;
int fb_mem = SZ_16M;
int gpu_mem = SZ_64M;
int gpu_mem = SZ_64M + SZ_32M;
int sys_mem;
mxc_set_cpu_type(MXC_CPU_MX51);

View File

@@ -174,12 +174,12 @@ kgsl_hal_init(void)
va = (unsigned int)ioremap(gpu_reserved_mem, gpu_reserved_mem_size);
if (!va)
pr_err("%s: ioremap failed!\n", DRVNAME);
res_size = gpu_reserved_mem_size - GSL_HAL_SHMEM_SIZE_EMEM_NOMMU;
res_size = gpu_reserved_mem_size;
}
if (va) {
/* it would be awesome if we didn't have to do this on module init.. */
memset((void *)va, 0, res_size);
memset((void *)va, 0, gpu_reserved_mem_size);
/* set up a "memchunk" so we know what we can iounmap on exit */
hal->memchunk.mmio_virt_base = (void *)va;
@@ -195,9 +195,9 @@ kgsl_hal_init(void)
hal->memspace[GSL_HAL_MEM2].mmio_virt_base = (void *) va;
hal->memspace[GSL_HAL_MEM2].gpu_base = pa;
hal->memspace[GSL_HAL_MEM2].sizebytes = res_size;
va += res_size;
pa += res_size;
hal->memspace[GSL_HAL_MEM2].sizebytes = GSL_HAL_SHMEM_SIZE_EMEM_NOMMU_PHYS;
va += hal->memspace[GSL_HAL_MEM2].sizebytes;
pa += hal->memspace[GSL_HAL_MEM2].sizebytes;
#ifdef GSL_HAL_DEBUG
pr_info("%s: GSL_HAL_MEM2 aperture (PHYS) pa = 0x%p va = 0x%p size = 0x%08x\n", DRVNAME,
@@ -214,7 +214,7 @@ kgsl_hal_init(void)
} else {
hal->memspace[GSL_HAL_MEM1].mmio_virt_base = (void *) va;
hal->memspace[GSL_HAL_MEM1].gpu_base = pa;
hal->memspace[GSL_HAL_MEM1].sizebytes = GSL_HAL_SHMEM_SIZE_EMEM_NOMMU;
hal->memspace[GSL_HAL_MEM1].sizebytes = GSL_HAL_SHMEM_SIZE_EMEM_NOMMU_EMEM;
}
#ifdef GSL_HAL_DEBUG

View File

@@ -38,8 +38,9 @@
#define GSL_HAL_SIZE_REG_G12 SZ_4K /* 4KB */
#define GSL_HAL_SHMEM_SIZE_EMEM_MMU SZ_128M
#define GSL_HAL_SHMEM_SIZE_EMEM_NOMMU SZ_32M
#define GSL_HAL_SHMEM_SIZE_EMEM_MMU SZ_128M
#define GSL_HAL_SHMEM_SIZE_EMEM_NOMMU_EMEM SZ_64M + SZ_16M
#define GSL_HAL_SHMEM_SIZE_EMEM_NOMMU_PHYS SZ_16M
/* physical memory area is reserved size minus emem area if no mmu */