[PATCH 1/2] drm/amdgpu: Add pci revision id
Deucher, Alexander
Alexander.Deucher at amd.com
Mon Jul 11 13:34:12 UTC 2016
> -----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
More information about the amd-gfx
mailing list