[PATCH 04/10] drm/amdgpu: correct direct reg list length for v2_0 rlc
Quan, Evan
Evan.Quan at amd.com
Mon Jul 9 04:00:13 UTC 2018
As discussed for patch3, reg_list_format_direct_reg_list_length is newly introduced by rlc v2_1.
For ASICs(vega10/12/20) with rlc v2_0, it's not a good idea to use reg_list_format_direct_reg_list_length.
Regards,
Evan
> -----Original Message-----
> From: Huang Rui [mailto:ray.huang at amd.com]
> Sent: Thursday, July 05, 2018 11:07 PM
> To: Quan, Evan <Evan.Quan at amd.com>
> Cc: amd-gfx at lists.freedesktop.org
> Subject: Re: [PATCH 04/10] drm/amdgpu: correct direct reg list length for
> v2_0 rlc
>
> On Thu, Jul 05, 2018 at 05:09:29PM +0800, Evan Quan wrote:
> > For v2_0 rlc, rlc save restore list also needs to be initialized.
> > However, there is no reg_list_format_direct_reg_list_length
> > member(v2_1 spefic) for it.
> >
> > Change-Id: I29bfe441c4f4b4726a7dd61b315347fea057163b
> > Signed-off-by: Evan Quan <evan.quan at amd.com>
> > ---
> > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> > index 8d895afa6c69..8d870d4f8414 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> > @@ -42,6 +42,7 @@
> > #define GFX9_MEC_HPD_SIZE 2048
> > #define RLCG_UCODE_LOADING_START_ADDRESS 0x00002000L #define
> > RLC_SAVE_RESTORE_ADDR_STARTING_OFFSET 0x00000000L
> > +#define GFX9_RLC_FORMAT_DIRECT_REG_LIST_LENGTH 34
> >
> > #define mmPWR_MISC_CNTL_STATUS
> 0x0183
> > #define mmPWR_MISC_CNTL_STATUS_BASE_IDX
> 0
> > @@ -1927,7 +1928,7 @@ static int
> gfx_v9_1_init_rlc_save_restore_list(struct amdgpu_device *adev)
> > /* setup unique_indirect_regs array and indirect_start_offsets array
> */
> > unique_indirect_reg_count = ARRAY_SIZE(unique_indirect_regs);
> > gfx_v9_1_parse_ind_reg_list(register_list_format,
> > - adev-
> >gfx.rlc.reg_list_format_direct_reg_list_length,
> > +
> GFX9_RLC_FORMAT_DIRECT_REG_LIST_LENGTH,
> > adev->gfx.rlc.reg_list_format_size_bytes >>
> 2,
> > unique_indirect_regs,
> > unique_indirect_reg_count,
> > @@ -1952,7 +1953,7 @@ static int
> gfx_v9_1_init_rlc_save_restore_list(struct amdgpu_device *adev)
> > adev->gfx.rlc.reg_list_format_start);
> >
> > /* direct register portion */
> > - for (i = 0; i < adev->gfx.rlc.reg_list_format_direct_reg_list_length; i++)
> > + for (i = 0; i < GFX9_RLC_FORMAT_DIRECT_REG_LIST_LENGTH; i++)
>
> This definition is actually defined on register_list_format.h in the ucode.
> So we would better to put it in firmware header.
>
> Thanks,
> Ray
>
> > WREG32(SOC15_REG_OFFSET(GC, 0,
> mmRLC_GPM_SCRATCH_DATA),
> > register_list_format[i]);
> >
> > --
> > 2.18.0
> >
> > _______________________________________________
> > 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