RE: [PATCH 1/4] drm/amdgpu: export umc error address translation interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - General]



> -----Original Message-----
> From: Yang, Stanley <Stanley.Yang@xxxxxxx>
> Sent: Monday, September 26, 2022 11:15 AM
> To: Zhou1, Tao <Tao.Zhou1@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Zhang,
> Hawking <Hawking.Zhang@xxxxxxx>
> Subject: RE: [PATCH 1/4] drm/amdgpu: export umc error address translation
> interface
> 
> [AMD Official Use Only - General]
> 
> Hi Tao,
> 
> > -----Original Message-----
> > From: Zhou1, Tao <Tao.Zhou1@xxxxxxx>
> > Sent: Friday, September 23, 2022 5:21 PM
> > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Zhang, Hawking
> > <Hawking.Zhang@xxxxxxx>; Yang, Stanley <Stanley.Yang@xxxxxxx>
> > Cc: Zhou1, Tao <Tao.Zhou1@xxxxxxx>
> > Subject: [PATCH 1/4] drm/amdgpu: export umc error address translation
> > interface
> >
> > Make it globally so we can convert specific mca address.
> >
> > Signed-off-by: Tao Zhou <tao.zhou1@xxxxxxx>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h |  6 ++++++
> >  drivers/gpu/drm/amd/amdgpu/umc_v6_7.c   | 11 +++++------
> >  2 files changed, 11 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
> > index 3629d8f292ef..31fbefaaf676 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
> > @@ -22,6 +22,8 @@
> >  #define __AMDGPU_UMC_H__
> >  #include "amdgpu_ras.h"
> >
> > +#define UMC_INVALID_ADDR 0x1ULL
> > +
> >  /*
> >   * (addr / 256) * 4096, the higher 26 bits in ErrorAddr
> >   * is the index of 4KB block
> > @@ -51,6 +53,10 @@ struct amdgpu_umc_ras {
> >  	struct amdgpu_ras_block_object ras_block;
> >  	void (*err_cnt_init)(struct amdgpu_device *adev);
> >  	bool (*query_ras_poison_mode)(struct amdgpu_device *adev);
> > +	void (*query_error_address_per_channel)(struct amdgpu_device
> > *adev,
> > +						 struct ras_err_data
> > *err_data,
> > +						 uint32_t umc_reg_offset,
> > uint32_t ch_inst,
> > +						 uint32_t umc_inst, uint64_t
> > mca_addr);
> >  	void (*ecc_info_query_ras_error_count)(struct amdgpu_device *adev,
> >  				      void *ras_error_status);
> >  	void (*ecc_info_query_ras_error_address)(struct amdgpu_device *adev,
> > diff --git a/drivers/gpu/drm/amd/amdgpu/umc_v6_7.c
> > b/drivers/gpu/drm/amd/amdgpu/umc_v6_7.c
> > index bf7524f16b66..0f1b215653f3 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/umc_v6_7.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/umc_v6_7.c
> > @@ -452,9 +452,8 @@ static void umc_v6_7_query_ras_error_count(struct
> > amdgpu_device *adev,
> >
> >  static void umc_v6_7_query_error_address(struct amdgpu_device *adev,
> >  					 struct ras_err_data *err_data,
> > -					 uint32_t umc_reg_offset,
> > -					 uint32_t ch_inst,
> > -					 uint32_t umc_inst)
> > +					 uint32_t umc_reg_offset, uint32_t
> > ch_inst,
> > +					 uint32_t umc_inst, uint64_t
> > mca_addr)
> >  {
> >  	uint32_t mc_umc_status_addr;
> >  	uint32_t channel_index;
> > @@ -540,9 +539,8 @@ static void
> > umc_v6_7_query_ras_error_address(struct amdgpu_device *adev,
> >  							 ch_inst);
> >  		umc_v6_7_query_error_address(adev,
> >  					     err_data,
> > -					     umc_reg_offset,
> > -					     ch_inst,
> > -					     umc_inst);
> > +					     umc_reg_offset, ch_inst,
> > +					     umc_inst, UMC_INVALID_ADDR);
> >  	}
> >  }
> >
> > @@ -583,4 +581,5 @@ struct amdgpu_umc_ras umc_v6_7_ras = {
> >  	.query_ras_poison_mode = umc_v6_7_query_ras_poison_mode,
> >  	.ecc_info_query_ras_error_count =
> > umc_v6_7_ecc_info_query_ras_error_count,
> >  	.ecc_info_query_ras_error_address =
> > umc_v6_7_ecc_info_query_ras_error_address,
> > +	.query_error_address_per_channel =
> > umc_v6_7_query_error_address,
> 
> Stanley: According to patch#3, it's better to rename
> query_error_address_per_channel to
> covert/query_error_address_at_specific_channel due to the channel_instance
> and umc_instance get form the mce structure, using per_channel may cause
> misunderstanding.

[Tao]: thanks for your suggestion, I'll update the name. 

> 
> >  };
> > --
> > 2.35.1




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux