[PATCH 4/7] drm/amdgpu/virt: add function to check MMIO accessing

Deucher, Alexander Alexander.Deucher at amd.com
Tue Oct 24 20:42:40 UTC 2017


> -----Original Message-----
> From: Ding, Pixel
> Sent: Monday, October 23, 2017 9:43 PM
> To: Deucher, Alexander; amd-gfx at lists.freedesktop.org
> Cc: Sun, Gary; Li, Bingley
> Subject: Re: [PATCH 4/7] drm/amdgpu/virt: add function to check MMIO
> accessing
> 
> It works with current MMIO blocking policy, while all pages are blocked
> expect the one containing mailbox registers. But actually it’s not a good
> approach, as commented we should add interaction between host and guest
> for MMIO blocking check in future.
> 
> By now I can add more comments here, is it OK?

Please add a comment that mentions what register this is.  With that fixed the patch is:
Acked-by: Alex Deucher <alexander.deucher at amd.com>

>> Sincerely Yours,
> Pixel
> 
> 
> 
> 
> 
> 
> 
> On 24/10/2017, 12:33 AM, "Deucher, Alexander"
> <Alexander.Deucher at amd.com> wrote:
> 
> >> -----Original Message-----
> >> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On
> Behalf
> >> Of Pixel Ding
> >> Sent: Monday, October 23, 2017 6:03 AM
> >> To: amd-gfx at lists.freedesktop.org
> >> Cc: Sun, Gary; Ding, Pixel; Li, Bingley
> >> Subject: [PATCH 4/7] drm/amdgpu/virt: add function to check MMIO
> >> accessing
> >>
> >> From: pding <Pixel.Ding at amd.com>
> >>
> >> MMIO space can be blocked on virtualised device. Add this function
> >> to check if MMIO is blocked or not.
> >>
> >> Todo: need a reliable method such like communation with hypervisor.
> >>
> >> Signed-off-by: pding <Pixel.Ding at amd.com>
> >> ---
> >>  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 5 +++++
> >>  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 1 +
> >>  2 files changed, 6 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> >> index e97f80f..33dac7e 100644
> >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> >> @@ -24,6 +24,11 @@
> >>  #include "amdgpu.h"
> >>  #define MAX_KIQ_REG_WAIT	100000000 /* in usecs */
> >>
> >> +bool amdgpu_virt_mmio_blocked(struct amdgpu_device *adev)
> >> +{
> >> +	return RREG32_NO_KIQ(0xc040) == 0xffffffff;
> >> +}
> >
> >Is this safe?  Won't accessing non-instanced registers cause a problem?
> Probably also worth commenting that register this is and a note for future
> asics in case the register map changes.
> >
> >Alex
> >
> >> +
> >>  int amdgpu_allocate_static_csa(struct amdgpu_device *adev)
> >>  {
> >>  	int r;
> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> >> index b89d37f..81efb9d 100644
> >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> >> @@ -276,6 +276,7 @@ static inline bool is_virtual_machine(void)
> >>  }
> >>
> >>  struct amdgpu_vm;
> >> +bool amdgpu_virt_mmio_blocked(struct amdgpu_device *adev);
> >>  int amdgpu_allocate_static_csa(struct amdgpu_device *adev);
> >>  int amdgpu_map_static_csa(struct amdgpu_device *adev, struct
> >> amdgpu_vm *vm,
> >>  			  struct amdgpu_bo_va **bo_va);
> >> --
> >> 2.9.5
> >>
> >> _______________________________________________
> >> amd-gfx mailing list
> >> amd-gfx at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list