[AMD Official Use Only] > -----Original Message----- > From: Chai, Thomas <YiPeng.Chai@xxxxxxx> > Sent: Wednesday, December 1, 2021 6:53 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Chai, Thomas <YiPeng.Chai@xxxxxxx>; Zhang, Hawking > <Hawking.Zhang@xxxxxxx>; Zhou1, Tao <Tao.Zhou1@xxxxxxx>; Chai, > Thomas <YiPeng.Chai@xxxxxxx> > Subject: [PATCH V2 02/11] drm/amdgpu: Modify the compilation failed problem > when other ras blocks' .h include amdgpu_ras.h > > Modify the compilation failed problem when other ras blocks' .h include [Tao] 'Fix' is better than "Modify" here. > amdgpu_ras.h. > > Signed-off-by: yipechai <YiPeng.Chai@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 22 ++++++++++++++++++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 23 ++++------------------- > 2 files changed, 26 insertions(+), 19 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > index 8713575c7cf1..1cf1f6331db1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > @@ -2739,6 +2739,28 @@ static void > amdgpu_register_bad_pages_mca_notifier(void) > } > } > #endif > + > +/* check if ras is supported on block, say, sdma, gfx */ int > +amdgpu_ras_is_supported(struct amdgpu_device *adev, > + unsigned int block) > +{ > + struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); > + > + if (block >= AMDGPU_RAS_BLOCK_COUNT) > + return 0; > + return ras && (adev->ras_enabled & (1 << block)); } > + > +int amdgpu_ras_reset_gpu(struct amdgpu_device *adev) { > + struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); > + > + if (atomic_cmpxchg(&ras->in_recovery, 0, 1) == 0) > + schedule_work(&ras->recovery_work); > + return 0; > +} > + > + > /* Rigister each ip ras block into amdgpu ras */ int > amdgpu_ras_register_ras_block(struct amdgpu_device *adev, > struct amdgpu_ras_block_object* ras_block_obj) diff --git > a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h > index d6e5e3c862bd..41623a649fa1 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h > @@ -514,16 +514,6 @@ struct amdgpu_ras_block_ops { > #define amdgpu_ras_get_context(adev) ((adev)->psp.ras_context.ras) > #define amdgpu_ras_set_context(adev, ras_con) ((adev)- > >psp.ras_context.ras = (ras_con)) > > -/* check if ras is supported on block, say, sdma, gfx */ -static inline int > amdgpu_ras_is_supported(struct amdgpu_device *adev, > - unsigned int block) > -{ > - struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); > - > - if (block >= AMDGPU_RAS_BLOCK_COUNT) > - return 0; > - return ras && (adev->ras_enabled & (1 << block)); > -} > > int amdgpu_ras_recovery_init(struct amdgpu_device *adev); > > @@ -540,15 +530,6 @@ int amdgpu_ras_add_bad_pages(struct > amdgpu_device *adev, > > int amdgpu_ras_save_bad_pages(struct amdgpu_device *adev); > > -static inline int amdgpu_ras_reset_gpu(struct amdgpu_device *adev) -{ > - struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); > - > - if (atomic_cmpxchg(&ras->in_recovery, 0, 1) == 0) > - schedule_work(&ras->recovery_work); > - return 0; > -} > - > static inline enum ta_ras_block > amdgpu_ras_block_to_ta(enum amdgpu_ras_block block) { > switch (block) { > @@ -680,5 +661,9 @@ const char *get_ras_block_str(struct ras_common_if > *ras_block); > > bool amdgpu_ras_is_poison_mode_supported(struct amdgpu_device *adev); > > +int amdgpu_ras_is_supported(struct amdgpu_device *adev, unsigned int > block); > + > +int amdgpu_ras_reset_gpu(struct amdgpu_device *adev); > + > int amdgpu_ras_register_ras_block(struct amdgpu_device *adev, struct > amdgpu_ras_block_object* ras_block_obj); #endif > -- > 2.25.1