mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-27 09:11:49 +00:00
117 lines
4.9 KiB
Diff
117 lines
4.9 KiB
Diff
From 507f899137f9e4f1405820b946063a6db78b2295 Mon Sep 17 00:00:00 2001
|
|
From: Russell King <rmk+kernel@arm.linux.org.uk>
|
|
Date: Sun, 24 Jan 2016 17:35:48 +0000
|
|
Subject: [PATCH] drm/etnaviv: use defined constants for the chip model
|
|
|
|
Use the defined constants in common.xml.h for the chip model rather
|
|
than coding these as hex numbers.
|
|
|
|
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
|
|
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
|
|
---
|
|
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 31 +++++++++++++++++--------------
|
|
1 file changed, 17 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
|
index a9530f5..7dc355e 100644
|
|
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
|
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
|
|
@@ -173,7 +173,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
|
|
/* Convert the register max value */
|
|
if (gpu->identity.register_max)
|
|
gpu->identity.register_max = 1 << gpu->identity.register_max;
|
|
- else if (gpu->identity.model == 0x0400)
|
|
+ else if (gpu->identity.model == chipModel_GC400)
|
|
gpu->identity.register_max = 32;
|
|
else
|
|
gpu->identity.register_max = 64;
|
|
@@ -181,10 +181,10 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
|
|
/* Convert thread count */
|
|
if (gpu->identity.thread_count)
|
|
gpu->identity.thread_count = 1 << gpu->identity.thread_count;
|
|
- else if (gpu->identity.model == 0x0400)
|
|
+ else if (gpu->identity.model == chipModel_GC400)
|
|
gpu->identity.thread_count = 64;
|
|
- else if (gpu->identity.model == 0x0500 ||
|
|
- gpu->identity.model == 0x0530)
|
|
+ else if (gpu->identity.model == chipModel_GC500 ||
|
|
+ gpu->identity.model == chipModel_GC530)
|
|
gpu->identity.thread_count = 128;
|
|
else
|
|
gpu->identity.thread_count = 256;
|
|
@@ -206,7 +206,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
|
|
if (gpu->identity.vertex_output_buffer_size) {
|
|
gpu->identity.vertex_output_buffer_size =
|
|
1 << gpu->identity.vertex_output_buffer_size;
|
|
- } else if (gpu->identity.model == 0x0400) {
|
|
+ } else if (gpu->identity.model == chipModel_GC400) {
|
|
if (gpu->identity.revision < 0x4000)
|
|
gpu->identity.vertex_output_buffer_size = 512;
|
|
else if (gpu->identity.revision < 0x4200)
|
|
@@ -219,9 +219,9 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
|
|
|
|
switch (gpu->identity.instruction_count) {
|
|
case 0:
|
|
- if ((gpu->identity.model == 0x2000 &&
|
|
+ if ((gpu->identity.model == chipModel_GC2000 &&
|
|
gpu->identity.revision == 0x5108) ||
|
|
- gpu->identity.model == 0x880)
|
|
+ gpu->identity.model == chipModel_GC880)
|
|
gpu->identity.instruction_count = 512;
|
|
else
|
|
gpu->identity.instruction_count = 256;
|
|
@@ -253,7 +253,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
|
|
/* Special case for older graphic cores. */
|
|
if (((chipIdentity & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK)
|
|
>> VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) == 0x01) {
|
|
- gpu->identity.model = 0x500; /* gc500 */
|
|
+ gpu->identity.model = chipModel_GC500;
|
|
gpu->identity.revision =
|
|
(chipIdentity & VIVS_HI_CHIP_IDENTITY_REVISION__MASK)
|
|
>> VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT;
|
|
@@ -269,12 +269,12 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
|
|
* same. Only for GC400 family.
|
|
*/
|
|
if ((gpu->identity.model & 0xff00) == 0x0400 &&
|
|
- gpu->identity.model != 0x0420) {
|
|
+ gpu->identity.model != chipModel_GC420) {
|
|
gpu->identity.model = gpu->identity.model & 0x0400;
|
|
}
|
|
|
|
/* Another special case */
|
|
- if (gpu->identity.model == 0x300 &&
|
|
+ if (gpu->identity.model == chipModel_GC300 &&
|
|
gpu->identity.revision == 0x2201) {
|
|
u32 chipDate = gpu_read(gpu, VIVS_HI_CHIP_DATE);
|
|
u32 chipTime = gpu_read(gpu, VIVS_HI_CHIP_TIME);
|
|
@@ -295,11 +295,13 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
|
|
gpu->identity.features = gpu_read(gpu, VIVS_HI_CHIP_FEATURE);
|
|
|
|
/* Disable fast clear on GC700. */
|
|
- if (gpu->identity.model == 0x700)
|
|
+ if (gpu->identity.model == chipModel_GC700)
|
|
gpu->identity.features &= ~chipFeatures_FAST_CLEAR;
|
|
|
|
- if ((gpu->identity.model == 0x500 && gpu->identity.revision < 2) ||
|
|
- (gpu->identity.model == 0x300 && gpu->identity.revision < 0x2000)) {
|
|
+ if ((gpu->identity.model == chipModel_GC500 &&
|
|
+ gpu->identity.revision < 2) ||
|
|
+ (gpu->identity.model == chipModel_GC300 &&
|
|
+ gpu->identity.revision < 0x2000)) {
|
|
|
|
/*
|
|
* GC500 rev 1.x and GC300 rev < 2.0 doesn't have these
|
|
@@ -466,7 +468,8 @@ static void etnaviv_gpu_hw_init(struct etnaviv_gpu *gpu)
|
|
VIVS_HI_AXI_CONFIG_ARCACHE(2));
|
|
|
|
/* GC2000 rev 5108 needs a special bus config */
|
|
- if (gpu->identity.model == 0x2000 && gpu->identity.revision == 0x5108) {
|
|
+ if (gpu->identity.model == chipModel_GC2000 &&
|
|
+ gpu->identity.revision == 0x5108) {
|
|
u32 bus_config = gpu_read(gpu, VIVS_MC_BUS_CONFIG);
|
|
bus_config &= ~(VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK |
|
|
VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK);
|
|
--
|
|
2.7.0.rc3
|
|
|