[PATCH libdrm 1/2] amdgpu: add SI support
Marek Olšák
maraeo at gmail.com
Fri Aug 19 13:23:30 UTC 2016
On Fri, Aug 19, 2016 at 11:04 AM, Marek Olšák <maraeo at gmail.com> wrote:
> From: Ronie Salgado <roniesalg at gmail.com>
>
> ---
> amdgpu/amdgpu_gpu_info.c | 18 +++++++++++-------
> include/drm/amdgpu_drm.h | 1 +
> 2 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/amdgpu/amdgpu_gpu_info.c b/amdgpu/amdgpu_gpu_info.c
> index 0cc17f1..5c1644b 100644
> --- a/amdgpu/amdgpu_gpu_info.c
> +++ b/amdgpu/amdgpu_gpu_info.c
> @@ -180,35 +180,39 @@ drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev)
> return r;
> /* extract bitfield CC_RB_BACKEND_DISABLE.BACKEND_DISABLE */
> dev->info.backend_disable[i] =
> (dev->info.backend_disable[i] >> 16) & 0xff;
>
> r = amdgpu_read_mm_registers(dev, 0xa0d4, 1, instance, 0,
> &dev->info.pa_sc_raster_cfg[i]);
> if (r)
> return r;
>
> - r = amdgpu_read_mm_registers(dev, 0xa0d5, 1, instance, 0,
> + if (dev->info.family_id >= AMDGPU_FAMILY_CI) {
> + r = amdgpu_read_mm_registers(dev, 0xa0d5, 1, instance, 0,
> &dev->info.pa_sc_raster_cfg1[i]);
> - if (r)
> - return r;
> + if (r)
> + return r;
> + }
> }
>
> r = amdgpu_read_mm_registers(dev, 0x2644, 32, 0xffffffff, 0,
> dev->info.gb_tile_mode);
> if (r)
> return r;
>
> - r = amdgpu_read_mm_registers(dev, 0x2664, 16, 0xffffffff, 0,
> - dev->info.gb_macro_tile_mode);
> - if (r)
> - return r;
> + if (dev->info.family_id >= AMDGPU_FAMILY_CI) {
> + r = amdgpu_read_mm_registers(dev, 0x2664, 16, 0xffffffff, 0,
> + dev->info.gb_macro_tile_mode);
> + if (r)
> + return r;
> + }
>
> r = amdgpu_read_mm_registers(dev, 0x263e, 1, 0xffffffff, 0,
> &dev->info.gb_addr_cfg);
> if (r)
> return r;
>
> r = amdgpu_read_mm_registers(dev, 0x9d8, 1, 0xffffffff, 0,
> &dev->info.mc_arb_ramcfg);
> if (r)
> return r;
> diff --git a/include/drm/amdgpu_drm.h b/include/drm/amdgpu_drm.h
> index fbdd118..62e8682 100644
> --- a/include/drm/amdgpu_drm.h
> +++ b/include/drm/amdgpu_drm.h
> @@ -630,16 +630,17 @@ struct drm_amdgpu_info_hw_ip {
> uint32_t ib_size_alignment;
> /** Bitmask of available rings. Bit 0 means ring 0, etc. */
> uint32_t available_rings;
> uint32_t _pad;
> };
>
> /*
> * Supported GPU families
> */
> #define AMDGPU_FAMILY_UNKNOWN 0
> +#define AMDGPU_FAMILY_SI 100 /* Tahiti, Pitcairn, CapeVerde, Oland, Hainan */
This should be 110 according to the kernel. Consider it fixed.
Marek
More information about the amd-gfx
mailing list