[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