> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Ken Wang > Sent: Monday, July 11, 2016 1:42 AM > To: amd-gfx at lists.freedesktop.org > Cc: Wang, Qingqing > Subject: [PATCH 1/2] drm/amdgpu: Add pci revision id > > Change-Id: I304ea635d0bfddecc4ae44f22e73166bad2d6f86 > Signed-off-by: Ken Wang <Qingqing.Wang at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/vi.c | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index a464456..bd94f50 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -1988,6 +1988,7 @@ struct amdgpu_device { > uint32_t family; > uint32_t rev_id; > uint32_t external_rev_id; > + uint32_t pci_rev_id; > unsigned long flags; > int usec_timeout; > const struct amdgpu_asic_funcs *asic_funcs; > diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c > b/drivers/gpu/drm/amd/amdgpu/vi.c > index c628a09..f37f818 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vi.c > +++ b/drivers/gpu/drm/amd/amdgpu/vi.c > @@ -1456,6 +1456,25 @@ static uint32_t vi_get_rev_id(struct > amdgpu_device *adev) > >> PCIE_EFUSE4__STRAP_BIF_ATI_REV_ID__SHIFT; > } > > +static uint32_t vi_get_pci_rev_id(struct amdgpu_device *adev) > +{ > + uint32_t pci_rev_id = 0; > + uint32_t major, minor; > + > + if (adev->flags & AMD_IS_APU) > + return 0; > + > + major = (RREG32(mmPCIE_EFUSE4) & > PCIE_EFUSE4__STRAP_BIF_F0_MAJOR_REV_ID_MASK) > + >> > PCIE_EFUSE4__STRAP_BIF_F0_MAJOR_REV_ID__SHIFT; > + > + minor = (RREG32(mmPCIE_EFUSE4) & > PCIE_EFUSE4__STRAP_BIF_F0_MINOR_REV_ID_MASK) > + >> > PCIE_EFUSE4__STRAP_BIF_F0_MINOR_REV_ID__SHIFT; > + > + pci_rev_id = ((major & 0xf) << 4) | (minor & 0xf); > + > + return pci_rev_id; > +} > + > static const struct amdgpu_asic_funcs vi_asic_funcs = > { > .read_disabled_bios = &vi_read_disabled_bios, > @@ -1495,6 +1514,7 @@ static int vi_common_early_init(void *handle) > smc_enabled = true; > > adev->rev_id = vi_get_rev_id(adev); > + adev->pci_rev_id = vi_get_pci_rev_id(adev); How is this different from adev->pdev->revision? Can't we just use that directly? Alex > adev->external_rev_id = 0xFF; > switch (adev->asic_type) { > case CHIP_TOPAZ: > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx