Skip to content

Commit

Permalink
staging: gma500: We don't support the CI either
Browse files Browse the repository at this point in the history
The camera interface is also not covered (and we won't be using TTM anyway
even if it ever re-emerges) so it to can go

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Apr 5, 2011
1 parent 7e2c6c4 commit 1163a0b
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 85 deletions.
13 changes: 0 additions & 13 deletions drivers/staging/gma500/psb_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,6 @@ static int psb_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
man->default_caching = TTM_PL_FLAG_WC;
break;
case TTM_PL_CI:
man->func = &ttm_bo_manager_func;
man->flags = TTM_MEMTYPE_FLAG_MAPPABLE |
TTM_MEMTYPE_FLAG_FIXED;
man->gpu_offset = pg->mmu_gatt_start + (pg->ci_start);
man->available_caching = TTM_PL_FLAG_UNCACHED;
man->default_caching = TTM_PL_FLAG_UNCACHED;
break;
case TTM_PL_TT: /* Mappable GATT memory */
man->func = &ttm_bo_manager_func;
#ifdef PSB_WORKING_HOST_MMU_ACCESS
Expand Down Expand Up @@ -373,11 +365,6 @@ static int psb_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
mem->bus.offset = mm_node->start << PAGE_SHIFT;
mem->bus.base = 0x00000000;
break;
case TTM_PL_CI:
mem->bus.offset = mm_node->start << PAGE_SHIFT;
mem->bus.base = dev_priv->ci_region_start;;
mem->bus.is_iomem = true;
break;
default:
return -EINVAL;
}
Expand Down
36 changes: 1 addition & 35 deletions drivers/staging/gma500/psb_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -316,11 +316,6 @@ static void psb_do_takedown(struct drm_device *dev)
ttm_bo_clean_mm(bdev, TTM_PL_TT);
dev_priv->have_tt = 0;
}

if (dev_priv->have_camera) {
ttm_bo_clean_mm(bdev, TTM_PL_CI);
dev_priv->have_camera = 0;
}
}

void mrst_get_fuse_settings(struct drm_device *dev)
Expand Down Expand Up @@ -639,12 +634,7 @@ static int psb_do_init(struct drm_device *dev)
PSB_WSGX32(pg->mmu_gatt_start, PSB_CR_BIF_TWOD_REQ_BASE);

/* TT region managed by TTM. */
if (!ttm_bo_init_mm(bdev, TTM_PL_TT,
pg->gatt_pages -
(pg->ci_start >> PAGE_SHIFT) -
((dev_priv->ci_region_size)
>> PAGE_SHIFT))) {

if (!ttm_bo_init_mm(bdev, TTM_PL_TT, pg->gatt_pages)) {
dev_priv->have_tt = 1;
dev_priv->sizes.tt_size =
(tt_pages << PAGE_SHIFT) / (1024 * 1024) / 2;
Expand Down Expand Up @@ -696,12 +686,6 @@ static int psb_driver_unload(struct drm_device *dev)
(dev_priv->mmu),
pg->mmu_gatt_start,
pg->vram_stolen_size >> PAGE_SHIFT);
if (pg->ci_stolen_size != 0)
psb_mmu_remove_pfn_sequence(
psb_mmu_get_default_pd
(dev_priv->mmu),
pg->ci_start,
pg->ci_stolen_size >> PAGE_SHIFT);
up_read(&pg->sem);
psb_mmu_driver_takedown(dev_priv->mmu);
dev_priv->mmu = NULL;
Expand Down Expand Up @@ -870,24 +854,6 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
tt_pages = (pg->gatt_pages < PSB_TT_PRIV0_PLIMIT) ?
(pg->gatt_pages) : PSB_TT_PRIV0_PLIMIT;

/* CI/RAR use the lower half of TT. */
pg->ci_start = (tt_pages / 2) << PAGE_SHIFT;


/*
* Make MSVDX/TOPAZ MMU aware of the CI stolen memory area.
*/
if (dev_priv->pg->ci_stolen_size != 0) {
down_read(&pg->sem);
ret = psb_mmu_insert_pfn_sequence(psb_mmu_get_default_pd
(dev_priv->mmu),
dev_priv->ci_region_start >> PAGE_SHIFT,
pg->mmu_gatt_start + pg->ci_start,
pg->ci_stolen_size >> PAGE_SHIFT, 0);
up_read(&pg->sem);
if (ret)
goto out_err;
}

dev_priv->pf_pd = psb_mmu_alloc_pd(dev_priv->mmu, 1, 0);
if (!dev_priv->pf_pd)
Expand Down
8 changes: 0 additions & 8 deletions drivers/staging/gma500/psb_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -599,18 +599,10 @@ struct drm_psb_private {
struct drm_crtc *pipe_to_crtc_mapping[PSB_NUM_PIPE];
uint32_t num_pipe;

/*
* CI share buffer
*/
unsigned int ci_region_start;
unsigned int ci_region_size;

/*
*Memory managers
*/

int have_camera;
int have_rar;
int have_tt;
int have_mem_mmu;
struct mutex temp_mem;
Expand Down
27 changes: 2 additions & 25 deletions drivers/staging/gma500/psb_gtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ int psb_gtt_init(struct psb_gtt *pg, int resume)
struct drm_device *dev = pg->dev;
struct drm_psb_private *dev_priv = dev->dev_private;
unsigned gtt_pages;
unsigned long stolen_size, vram_stolen_size, ci_stolen_size;
unsigned long stolen_size, vram_stolen_size;
unsigned i, num_pages;
unsigned pfn_base;
uint32_t ci_pages, vram_pages;
uint32_t vram_pages;
uint32_t tt_pages;
uint32_t *ttm_gtt_map;
uint32_t dvmt_mode = 0;
Expand Down Expand Up @@ -111,10 +111,6 @@ int psb_gtt_init(struct psb_gtt *pg, int resume)
pci_read_config_dword(dev->pdev, PSB_BSM, &pg->stolen_base);
vram_stolen_size = pg->gtt_phys_start - pg->stolen_base - PAGE_SIZE;

/* CI is not included in the stolen size since the TOPAZ MMU bug */
ci_stolen_size = dev_priv->ci_region_size;
/* Don't add CI & RAR share buffer space
* managed by TTM to stolen_size */
stolen_size = vram_stolen_size;

printk(KERN_INFO"GMMADR(region 0) start: 0x%08x (%dM).\n",
Expand All @@ -129,11 +125,6 @@ int psb_gtt_init(struct psb_gtt *pg, int resume)
printk(KERN_INFO " the correct size should be: %dM(dvmt mode=%d)\n",
(dvmt_mode == 1) ? 1 : (2 << (dvmt_mode - 1)), dvmt_mode);

if (ci_stolen_size > 0)
printk(KERN_INFO"CI Stole memory: RAM base = 0x%08x, size = %lu M\n",
dev_priv->ci_region_start,
ci_stolen_size / 1024 / 1024);

if (resume && (gtt_pages != pg->gtt_pages) &&
(stolen_size != pg->stolen_size)) {
DRM_ERROR("GTT resume error.\n");
Expand All @@ -144,7 +135,6 @@ int psb_gtt_init(struct psb_gtt *pg, int resume)
pg->gtt_pages = gtt_pages;
pg->stolen_size = stolen_size;
pg->vram_stolen_size = vram_stolen_size;
pg->ci_stolen_size = ci_stolen_size;
pg->gtt_map =
ioremap_nocache(pg->gtt_phys_start, gtt_pages << PAGE_SHIFT);
if (!pg->gtt_map) {
Expand Down Expand Up @@ -188,19 +178,6 @@ int psb_gtt_init(struct psb_gtt *pg, int resume)
for (; i < tt_pages / 2 - 1; ++i)
iowrite32(pte, pg->gtt_map + i);

/*
* insert CI stolen pages
*/

pfn_base = dev_priv->ci_region_start >> PAGE_SHIFT;
ci_pages = num_pages = ci_stolen_size >> PAGE_SHIFT;
printk(KERN_INFO"Set up %d CI stolen pages starting at 0x%08x, GTT offset %dK\n",
num_pages, pfn_base, (ttm_gtt_map - pg->gtt_map) * 4);
for (i = 0; i < num_pages; ++i) {
pte = psb_gtt_mask_pte(pfn_base + i, 0);
iowrite32(pte, ttm_gtt_map + i);
}

/*
* Init rest of gtt managed by TTM.
*/
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/gma500/psb_gtt.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ struct psb_gtt {
int initialized;
uint32_t gatt_start;
uint32_t mmu_gatt_start;
uint32_t ci_start;
uint32_t rar_start;
uint32_t gtt_start;
uint32_t gtt_phys_start;
unsigned gtt_pages;
Expand All @@ -41,8 +39,6 @@ struct psb_gtt {
u16 gmch_ctrl;
unsigned long stolen_size;
unsigned long vram_stolen_size;
unsigned long ci_stolen_size;
unsigned long rar_stolen_size;
uint32_t *gtt_map;
struct rw_semaphore sem;
};
Expand Down

0 comments on commit 1163a0b

Please sign in to comment.