Messages in this thread | | | Subject | Re: [PATCH] drm/ttm: remove cpu_address member from ttm_tt | From | Christian König <> | Date | Fri, 16 Sep 2016 11:43:48 +0200 |
| |
Am 16.09.2016 um 11:32 schrieb Alexandre Courbot: > Patch 3d50d4dcb0 exposed the CPU address of DMA-allocated pages as > returned by dma_alloc_coherent because Nouveau on Tegra needed it. > > This is not required anymore - as there were no other users for it, > remove it and save some memory for everyone. > > Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Christian König <christian.koenig@amd.com>.
> --- > drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 2 -- > drivers/gpu/drm/ttm/ttm_tt.c | 7 ++----- > include/drm/ttm/ttm_bo_driver.h | 2 -- > 3 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > index bef9f6feb635..cec4b4baa179 100644 > --- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > +++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > @@ -858,7 +858,6 @@ static int ttm_dma_pool_get_pages(struct dma_pool *pool, > if (count) { > d_page = list_first_entry(&pool->free_list, struct dma_page, page_list); > ttm->pages[index] = d_page->p; > - ttm_dma->cpu_address[index] = d_page->vaddr; > ttm_dma->dma_address[index] = d_page->dma; > list_move_tail(&d_page->page_list, &ttm_dma->pages_list); > r = 0; > @@ -989,7 +988,6 @@ void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev) > INIT_LIST_HEAD(&ttm_dma->pages_list); > for (i = 0; i < ttm->num_pages; i++) { > ttm->pages[i] = NULL; > - ttm_dma->cpu_address[i] = 0; > ttm_dma->dma_address[i] = 0; > } > > diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c > index bc5aa573f466..aee3c00f836e 100644 > --- a/drivers/gpu/drm/ttm/ttm_tt.c > +++ b/drivers/gpu/drm/ttm/ttm_tt.c > @@ -57,10 +57,8 @@ static void ttm_dma_tt_alloc_page_directory(struct ttm_dma_tt *ttm) > { > ttm->ttm.pages = drm_calloc_large(ttm->ttm.num_pages, > sizeof(*ttm->ttm.pages) + > - sizeof(*ttm->dma_address) + > - sizeof(*ttm->cpu_address)); > - ttm->cpu_address = (void *) (ttm->ttm.pages + ttm->ttm.num_pages); > - ttm->dma_address = (void *) (ttm->cpu_address + ttm->ttm.num_pages); > + sizeof(*ttm->dma_address)); > + ttm->dma_address = (void *) (ttm->ttm.pages + ttm->ttm.num_pages); > } > > #ifdef CONFIG_X86 > @@ -244,7 +242,6 @@ void ttm_dma_tt_fini(struct ttm_dma_tt *ttm_dma) > > drm_free_large(ttm->pages); > ttm->pages = NULL; > - ttm_dma->cpu_address = NULL; > ttm_dma->dma_address = NULL; > } > EXPORT_SYMBOL(ttm_dma_tt_fini); > diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h > index c986fa7effd2..4f0a92185995 100644 > --- a/include/drm/ttm/ttm_bo_driver.h > +++ b/include/drm/ttm/ttm_bo_driver.h > @@ -133,7 +133,6 @@ struct ttm_tt { > * struct ttm_dma_tt > * > * @ttm: Base ttm_tt struct. > - * @cpu_address: The CPU address of the pages > * @dma_address: The DMA (bus) addresses of the pages > * @pages_list: used by some page allocation backend > * > @@ -143,7 +142,6 @@ struct ttm_tt { > */ > struct ttm_dma_tt { > struct ttm_tt ttm; > - void **cpu_address; > dma_addr_t *dma_address; > struct list_head pages_list; > };
| |