[AMD Official Use Only - Internal Distribution Only]
I dropped the KFD debugger hunks and just added the gfx 9.4.2 changes since these were required for a bunch of later patches that build on that file that are not dependent on debugger. I can rework the commit message if you'd like.
Alex
From: Kuehling, Felix <Felix.Kuehling@xxxxxxx>
Sent: Wednesday, February 24, 2021 10:22 PM To: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: Kim, Jonathan <Jonathan.Kim@xxxxxxx> Subject: Re: [PATCH 147/159] drm/amdgpu: restore aldebaran save ttmp and trap config on init (v2) This patch is for the debugger functionality that's not on
amd-staging-drm-next yet. You can probably drop this patch for now. Regards, Felix On 2021-02-24 5:18 p.m., Alex Deucher wrote: > From: Jonathan Kim <Jonathan.Kim@xxxxxxx> > > Initialization of TRAP_DATA0/1 is still required for the debugger to detect > new waves on Aldebaran. Also, per-vmid global trap enablement may be > required outside of debugger scope so move to init phase. > > v2: just add the gfx 9.4.2 changes (Alex) > > Signed-off-by: Jonathan Kim <Jonathan.Kim@xxxxxxx> > Reviewed-by: Felix Kuehling <Felix.Kuehling@xxxxxxx> > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/Makefile | 1 + > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 1 + > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c | 50 +++++++++++++++++++++++++ > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.h | 30 +++++++++++++++ > 4 files changed, 82 insertions(+) > create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c > create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.h > > diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile > index c5ec926bc6d5..741b68874e53 100644 > --- a/drivers/gpu/drm/amd/amdgpu/Makefile > +++ b/drivers/gpu/drm/amd/amdgpu/Makefile > @@ -123,6 +123,7 @@ amdgpu-y += \ > gfx_v8_0.o \ > gfx_v9_0.o \ > gfx_v9_4.o \ > + gfx_v9_4_2.o \ > gfx_v10_0.o > > # add async DMA block > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > index 5bac5659e707..78bb4e28c27c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > @@ -49,6 +49,7 @@ > > #include "gfx_v9_4.h" > #include "gfx_v9_0.h" > +#include "gfx_v9_4_2.h" > > #include "asic_reg/pwr/pwr_10_0_offset.h" > #include "asic_reg/pwr/pwr_10_0_sh_mask.h" > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c > new file mode 100644 > index 000000000000..0c2ccbe327ab > --- /dev/null > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c > @@ -0,0 +1,50 @@ > +/* > + * Copyright 2020 Advanced Micro Devices, Inc. > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the "Software"), > + * to deal in the Software without restriction, including without limitation > + * the rights to use, copy, modify, merge, publish, distribute, sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice shall be included in > + * all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + * > + */ > +#include "amdgpu.h" > +#include "soc15.h" > + > +#include "gc/gc_9_4_2_offset.h" > +#include "gc/gc_9_4_2_sh_mask.h" > + > +void gfx_v9_4_2_debug_trap_config_init(struct amdgpu_device *adev, > + uint32_t first_vmid, > + uint32_t last_vmid) > +{ > + uint32_t data; > + int i; > + > + mutex_lock(&adev->srbm_mutex); > + > + for (i = first_vmid; i < last_vmid; i++) { > + data = ""> > + soc15_grbm_select(adev, 0, 0, 0, i); > + data = "" SPI_GDBG_PER_VMID_CNTL, TRAP_EN, 1); > + data = "" SPI_GDBG_PER_VMID_CNTL, EXCP_EN, 0); > + data = "" SPI_GDBG_PER_VMID_CNTL, EXCP_REPLACE, > + 0); > + WREG32(SOC15_REG_OFFSET(GC, 0, regSPI_GDBG_PER_VMID_CNTL), data); > + } > + > + soc15_grbm_select(adev, 0, 0, 0, 0); > + mutex_unlock(&adev->srbm_mutex); > +} > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.h b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.h > new file mode 100644 > index 000000000000..5b175c10de23 > --- /dev/null > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.h > @@ -0,0 +1,30 @@ > +/* > + * Copyright 2020 Advanced Micro Devices, Inc. > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the "Software"), > + * to deal in the Software without restriction, including without limitation > + * the rights to use, copy, modify, merge, publish, distribute, sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice shall be included in > + * all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR > + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > + * OTHER DEALINGS IN THE SOFTWARE. > + * > + */ > + > +#ifndef __GFX_V9_4_2_H__ > +#define __GFX_V9_4_2_H__ > + > +void gfx_v9_4_2_debug_trap_config_init(struct amdgpu_device *adev, > + uint32_t first_vmid, uint32_t last_vmid); > + > +#endif /* __GFX_V9_4_2_H__ */ |
_______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx