[Mesa-dev] [PATCH 1/2] radeonsi: add support for Stoney asics (v3)
Marek Olšák
maraeo at gmail.com
Fri Oct 23 14:40:37 PDT 2015
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Oct 23, 2015 at 6:49 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
> From: Samuel Li <samuel.li at amd.com>
>
> v2 (agd): rebase on mesa master, split pci ids to
> separate commit
> v3 (agd): use carrizo for llvm processor name for
> llvm 3.7 and older
>
> Signed-off-by: Samuel Li <samuel.li at amd.com>
> ---
> src/gallium/drivers/radeon/r600_pipe_common.c | 6 ++++++
> src/gallium/drivers/radeon/radeon_winsys.h | 1 +
> src/gallium/drivers/radeonsi/si_state.c | 1 +
> src/gallium/winsys/amdgpu/drm/amdgpu_id.h | 8 ++++++--
> src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 6 +++++-
> 5 files changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
> index 7ac94ca..4ce0c6a 100644
> --- a/src/gallium/drivers/radeon/r600_pipe_common.c
> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c
> @@ -416,6 +416,7 @@ static const char* r600_get_chip_name(struct r600_common_screen *rscreen)
> case CHIP_ICELAND: return "AMD ICELAND";
> case CHIP_CARRIZO: return "AMD CARRIZO";
> case CHIP_FIJI: return "AMD FIJI";
> + case CHIP_STONEY: return "AMD STONEY";
> default: return "AMD unknown";
> }
> }
> @@ -540,6 +541,11 @@ const char *r600_get_llvm_processor_name(enum radeon_family family)
> case CHIP_ICELAND: return "iceland";
> case CHIP_CARRIZO: return "carrizo";
> case CHIP_FIJI: return "fiji";
> +#if HAVE_LLVM <= 0x0307
> + case CHIP_STONEY: return "carrizo";
> +#else
> + case CHIP_STONEY: return "stoney";
> +#endif
> default: return "";
> }
> }
> diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h
> index b91e1ad..5f13c1e 100644
> --- a/src/gallium/drivers/radeon/radeon_winsys.h
> +++ b/src/gallium/drivers/radeon/radeon_winsys.h
> @@ -137,6 +137,7 @@ enum radeon_family {
> CHIP_ICELAND,
> CHIP_CARRIZO,
> CHIP_FIJI,
> + CHIP_STONEY,
> CHIP_LAST,
> };
>
> diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
> index 243bdc6..a71ff49 100644
> --- a/src/gallium/drivers/radeonsi/si_state.c
> +++ b/src/gallium/drivers/radeonsi/si_state.c
> @@ -3336,6 +3336,7 @@ static void si_init_config(struct si_context *sctx)
> break;
> case CHIP_KABINI:
> case CHIP_MULLINS:
> + case CHIP_STONEY:
> raster_config = 0x00000000;
> raster_config_1 = 0x00000000;
> break;
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_id.h b/src/gallium/winsys/amdgpu/drm/amdgpu_id.h
> index 8882c41..90fe0cd 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_id.h
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_id.h
> @@ -151,11 +151,15 @@ enum {
>
> /* CZ specific rev IDs */
> enum {
> - CZ_CARRIZO_A0 = 0x01,
> + CARRIZO_A0 = 0x01,
> + STONEY_A0 = 0x61,
> CZ_UNKNOWN = 0xFF
> };
>
> #define ASICREV_IS_CARRIZO(eChipRev) \
> - (eChipRev >= CARRIZO_A0)
> + ((eChipRev >= CARRIZO_A0) && (eChipRev < STONEY_A0))
> +
> +#define ASICREV_IS_STONEY(eChipRev) \
> + ((eChipRev >= STONEY_A0) && (eChipRev < CZ_UNKNOWN))
>
> #endif /* AMDGPU_ID_H */
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
> index c877249..32cd9d9 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
> @@ -226,7 +226,11 @@ static boolean do_winsys_init(struct amdgpu_winsys *ws)
> break;
> case CHIP_CARRIZO:
> ws->family = FAMILY_CZ;
> - ws->rev_id = CZ_CARRIZO_A0;
> + ws->rev_id = CARRIZO_A0;
> + break;
> + case CHIP_STONEY:
> + ws->family = FAMILY_CZ;
> + ws->rev_id = STONEY_A0;
> break;
> case CHIP_FIJI:
> ws->family = FAMILY_VI;
> --
> 1.8.3.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list