[PATCH] drm/amdgpu: gtt offset should be 64 bit

Christian König deathsimple at vodafone.de
Wed Sep 14 09:32:32 UTC 2016


Am 14.09.2016 um 11:13 schrieb Flora Cui:
> Change-Id: I05618a472b1ebf381575d02e226264609bf4db7f
> Signed-off-by: Flora Cui <Flora.Cui at amd.com>

Didn't Felix came up with the same patch a few weeks ago?

Anyway the fix is clearly not committed. Patch is Reviewed-by: Christian 
König <christian.koenig at amd.com>.

Regards,
Christian.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu.h      |  4 ++--
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 10 ++++------
>   2 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 282e00d..f07f1c9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -619,9 +619,9 @@ int amdgpu_gart_table_vram_pin(struct amdgpu_device *adev);
>   void amdgpu_gart_table_vram_unpin(struct amdgpu_device *adev);
>   int amdgpu_gart_init(struct amdgpu_device *adev);
>   void amdgpu_gart_fini(struct amdgpu_device *adev);
> -void amdgpu_gart_unbind(struct amdgpu_device *adev, unsigned offset,
> +void amdgpu_gart_unbind(struct amdgpu_device *adev, u64 offset,
>   			int pages);
> -int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset,
> +int amdgpu_gart_bind(struct amdgpu_device *adev, u64 offset,
>   		     int pages, struct page **pagelist,
>   		     dma_addr_t *dma_addr, uint32_t flags);
>   int amdgpu_ttm_recover_gart(struct amdgpu_device *adev);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> index 921bce2..7968f77 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> @@ -221,11 +221,10 @@ void amdgpu_gart_table_vram_free(struct amdgpu_device *adev)
>    * Unbinds the requested pages from the gart page table and
>    * replaces them with the dummy page (all asics).
>    */
> -void amdgpu_gart_unbind(struct amdgpu_device *adev, unsigned offset,
> +void amdgpu_gart_unbind(struct amdgpu_device *adev, u64 offset,
>   			int pages)
>   {
> -	unsigned t;
> -	unsigned p;
> +	u64 t, p;
>   	int i, j;
>   	u64 page_base;
>   	uint32_t flags = AMDGPU_PTE_SYSTEM;
> @@ -268,12 +267,11 @@ void amdgpu_gart_unbind(struct amdgpu_device *adev, unsigned offset,
>    * (all asics).
>    * Returns 0 for success, -EINVAL for failure.
>    */
> -int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset,
> +int amdgpu_gart_bind(struct amdgpu_device *adev, u64 offset,
>   		     int pages, struct page **pagelist, dma_addr_t *dma_addr,
>   		     uint32_t flags)
>   {
> -	unsigned t;
> -	unsigned p;
> +	uint64_t t, p;
>   	uint64_t page_base;
>   	int i, j;
>   




More information about the amd-gfx mailing list