Ping.
On Thu, Sep 24, 2026 at 07:01:31 UTC, YuBiao Wang wrote: > ip_discovery_size_in_kb is in KB but was compared against > DISCOVERY_TMR_SIZE, a byte count, so the check never fired. > > Compare both sides in KB against a new 16KB SR-IOV bound, since 10KB does > not cover new ASICs which need 0x2840, and drop the duplicate check below. > > Signed-off-by: YuBiao Wang <[email protected]> > Reviewed-by: Lijo Lazar <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 11 ++--------- > 2 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h > index 6e1d55e78790..94964efa7dac 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.h > @@ -28,6 +28,7 @@ > #include "discovery.h" > > #define DISCOVERY_TMR_SIZE (10 << 10) > +#define DISCOVERY_TMR_SIZE_SRIOV (16 << 10) > #define DISCOVERY_TMR_OFFSET (64 << 10) > > struct ip_discovery_top; > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > index a454c6f12d38..73d9072f0c6c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > @@ -1115,7 +1115,8 @@ int amdgpu_virt_init_critical_region(struct > amdgpu_device *adev) > /* Validation and initialization for each table entry */ > if (IS_SRIOV_CRIT_REGN_ENTRY_VALID(init_data_hdr, > AMD_SRIOV_MSG_IPD_TABLE_ID)) { > if (!init_data_hdr->ip_discovery_size_in_kb || > - init_data_hdr->ip_discovery_size_in_kb > > DISCOVERY_TMR_SIZE) { > + init_data_hdr->ip_discovery_size_in_kb > > + (DISCOVERY_TMR_SIZE_SRIOV >> 10)) { > dev_err(adev->dev, "Invalid %s size: 0x%x\n", > > amdgpu_virt_dynamic_crit_table_name[AMD_SRIOV_MSG_IPD_TABLE_ID], > init_data_hdr->ip_discovery_size_in_kb); > @@ -1189,14 +1190,6 @@ int amdgpu_virt_init_critical_region(struct > amdgpu_device *adev) > init_data_hdr->bad_page_size_in_kb; > } > > - /* Validation for critical region info */ > - if (adev->virt.crit_regn_tbl[AMD_SRIOV_MSG_IPD_TABLE_ID].size_kb > > DISCOVERY_TMR_SIZE) { > - dev_err(adev->dev, "Invalid IP discovery size: 0x%x\n", > - > adev->virt.crit_regn_tbl[AMD_SRIOV_MSG_IPD_TABLE_ID].size_kb); > - r = -EINVAL; > - goto out; > - } > - > /* reserved memory starts from crit region base offset with the size of > 5MB */ > amdgpu_ttm_init_vram_resv(adev, AMDGPU_RESV_FW_VRAM_USAGE, > adev->virt.crit_regn.offset,
