On Wed, Nov 6, 2019 at 12:21 PM Zeng, Oak <Oak.Zeng@xxxxxxx> wrote: > > 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@xxxxxxx> A few comments below, otherwise looks good to me. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h > index 555d8e5..8003201 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h > @@ -127,18 +127,43 @@ 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/ apg -> agp > + * 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 APG -> AGP > + * 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 > + */ You may want to add a comment that the AGP aperture just maps to physical bus or IOVA addresses on the platform. It's also used for page tables in system memory. > 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. > + */ > u64 vram_start; > u64 vram_end; > /* FB region , it's same as local vram region in single GPU, in XGMI > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx