From 5372efc402ae4f044e95270e3663d3d9c745bf63 Mon Sep 17 00:00:00 2001 From: "Marty E. Plummer" <hanetzer@startmail.com> Date: Thu, 13 Sep 2018 15:06:38 -0500 Subject: [PATCH] drm/panfrost: flesh out gpu id detection Signed-off-by: Marty E. Plummer <hanetzer@startmail.com> --- drivers/gpu/drm/panfrost/panfrost_gpu.c | 14 +++++++++----- drivers/gpu/drm/panfrost/panfrost_regs.h | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c index f5faf1649050e..b943730fcf888 100644 --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c @@ -73,11 +73,15 @@ static int panfrost_gpu_soft_reset_async_wait(struct panfrost_ip *ip) static void panfrost_gpu_print_version(struct panfrost_ip *ip) { - u32 version, major, minor; + u32 gpu_id, version, major, minor, status; char *name; - version = gpu_read(VERSION); - switch (version >> 16) { + gpu_id = gpu_read(ID); + version = gpu_id >> 16; + major = (gpu_id >> 12) & 0xf; + minor = (gpu_id >> 4) & 0xff; + status = gpu_id & 0xf; + switch (version) { case 0x860: name = "mali-t860"; break; @@ -88,8 +92,8 @@ static void panfrost_gpu_print_version(struct panfrost_ip *ip) name = "unknown"; break; } - dev_info(ip->pfdev->dev, "%s - %s version %x\n", - panfrost_ip_name(ip), name, version); + dev_info(ip->pfdev->dev, "%s - %s version 0x%x major 0x%x minor 0x%x status 0x%x\n", + panfrost_ip_name(ip), name, version, major, minor, status); } int panfrost_gpu_init(struct panfrost_ip *ip) diff --git a/drivers/gpu/drm/panfrost/panfrost_regs.h b/drivers/gpu/drm/panfrost/panfrost_regs.h index 13ba44bd13e13..4c69c4fb4d593 100644 --- a/drivers/gpu/drm/panfrost/panfrost_regs.h +++ b/drivers/gpu/drm/panfrost/panfrost_regs.h @@ -11,7 +11,7 @@ */ /* GPU regs */ -#define PAN_GPU_VERSION 0x00 +#define PAN_GPU_ID 0x00 #define PAN_GPU_INT_RAWSTAT 0x20 #define PAN_GPU_INT_CLEAR 0x24 #define PAN_GPU_INT_MASK 0x28 -- GitLab