[PATCH] drm/amdgpu: Add comments to gmc structure

Christian König ckoenig.leichtzumerken at gmail.com
Thu Nov 7 09:21:41 UTC 2019


Am 06.11.19 um 18:26 schrieb Zeng, Oak:
> Explain fields like aper_base, agp_start etc. The definition
> of those fields are confusing as they are from different view
> (CPU or GPU). Add comments for easier understand.
>
> Change-Id: I02c2a27cd0dbc205498eb86aafa722f2e0c25fe6
> Signed-off-by: Oak Zeng <Oak.Zeng at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 26 ++++++++++++++++++++++++++
>   1 file changed, 26 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
> index 555d8e5..1356ff9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
> @@ -127,18 +127,44 @@ struct amdgpu_xgmi {
>   };
>   
>   struct amdgpu_gmc {
> +	/* FB's physical address in MMIO space (for CPU to
> +	 * map FB). This is different compared to the apg/
> +	 * gart/vram_start/end field as the later is from
> +	 * GPU's view and aper_base is from CPU's view.
> +	 */
>   	resource_size_t		aper_size;
>   	resource_size_t		aper_base;
>   	/* for some chips with <= 32MB we need to lie
>   	 * about vram size near mc fb location */
>   	u64			mc_vram_size;
>   	u64			visible_vram_size;
> +	/* APG aperture start and end in MC address space
> +	 * Driver find a hole in the MC address space
> +	 * to place AGP by setting MC_VM_AGP_BOT/TOP registers
> +	 * Under VMID0, logical address == MC address
> +	 * AGP aperture is used to simulate FB in ZFB case
> +	 */

Really nice improvement. Alex noted as well please mention the page 
table use case here as well.

Additional to that we also have a use case for display scanout, but that 
one is currently not implemented yet. Might be a good idea to mention 
that as well.

With that fixed the patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>.

Regards,
Christian.

>   	u64			agp_size;
>   	u64			agp_start;
>   	u64			agp_end;
> +	/* GART aperture start and end in MC address space
> +	 * Driver find a hole in the MC address space
> +	 * to place GART by setting VM_CONTEXT0_PAGE_TABLE_START/END_ADDR
> +	 * registers
> +	 * Under VMID0, logical address inside GART aperture will
> +	 * be translated through gpuvm gart page table to access
> +	 * paged system memory
> +	 */
>   	u64			gart_size;
>   	u64			gart_start;
>   	u64			gart_end;
> +	/* Frame buffer aperture of this GPU device. Different from
> +	 * fb_start (see below), this only covers the local GPU device.
> +	 * Driver get fb_start from MC_VM_FB_LOCATION_BASE (set by vbios)
> +	 * and calculate vram_start of this local device by adding an
> +	 * offset inside the XGMI hive.
> +	 * Under VMID0, logical address == MC address
> +	 */
>   	u64			vram_start;
>   	u64			vram_end;
>   	/* FB region , it's same as local vram region in single GPU, in XGMI



More information about the amd-gfx mailing list