Commit 507f8991 authored by Russell King's avatar Russell King Committed by Lucas Stach

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: default avatarChristian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
parent e2a2e263
...@@ -173,7 +173,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu) ...@@ -173,7 +173,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
/* Convert the register max value */ /* Convert the register max value */
if (gpu->identity.register_max) if (gpu->identity.register_max)
gpu->identity.register_max = 1 << 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; gpu->identity.register_max = 32;
else else
gpu->identity.register_max = 64; gpu->identity.register_max = 64;
...@@ -181,10 +181,10 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu) ...@@ -181,10 +181,10 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
/* Convert thread count */ /* Convert thread count */
if (gpu->identity.thread_count) if (gpu->identity.thread_count)
gpu->identity.thread_count = 1 << 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; gpu->identity.thread_count = 64;
else if (gpu->identity.model == 0x0500 || else if (gpu->identity.model == chipModel_GC500 ||
gpu->identity.model == 0x0530) gpu->identity.model == chipModel_GC530)
gpu->identity.thread_count = 128; gpu->identity.thread_count = 128;
else else
gpu->identity.thread_count = 256; gpu->identity.thread_count = 256;
...@@ -206,7 +206,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu) ...@@ -206,7 +206,7 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
if (gpu->identity.vertex_output_buffer_size) { if (gpu->identity.vertex_output_buffer_size) {
gpu->identity.vertex_output_buffer_size = gpu->identity.vertex_output_buffer_size =
1 << 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) if (gpu->identity.revision < 0x4000)
gpu->identity.vertex_output_buffer_size = 512; gpu->identity.vertex_output_buffer_size = 512;
else if (gpu->identity.revision < 0x4200) else if (gpu->identity.revision < 0x4200)
...@@ -219,9 +219,9 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu) ...@@ -219,9 +219,9 @@ static void etnaviv_hw_specs(struct etnaviv_gpu *gpu)
switch (gpu->identity.instruction_count) { switch (gpu->identity.instruction_count) {
case 0: case 0:
if ((gpu->identity.model == 0x2000 && if ((gpu->identity.model == chipModel_GC2000 &&
gpu->identity.revision == 0x5108) || gpu->identity.revision == 0x5108) ||
gpu->identity.model == 0x880) gpu->identity.model == chipModel_GC880)
gpu->identity.instruction_count = 512; gpu->identity.instruction_count = 512;
else else
gpu->identity.instruction_count = 256; gpu->identity.instruction_count = 256;
...@@ -253,7 +253,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -253,7 +253,7 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
/* Special case for older graphic cores. */ /* Special case for older graphic cores. */
if (((chipIdentity & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK) if (((chipIdentity & VIVS_HI_CHIP_IDENTITY_FAMILY__MASK)
>> VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) == 0x01) { >> VIVS_HI_CHIP_IDENTITY_FAMILY__SHIFT) == 0x01) {
gpu->identity.model = 0x500; /* gc500 */ gpu->identity.model = chipModel_GC500;
gpu->identity.revision = gpu->identity.revision =
(chipIdentity & VIVS_HI_CHIP_IDENTITY_REVISION__MASK) (chipIdentity & VIVS_HI_CHIP_IDENTITY_REVISION__MASK)
>> VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT; >> VIVS_HI_CHIP_IDENTITY_REVISION__SHIFT;
...@@ -269,12 +269,12 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -269,12 +269,12 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
* same. Only for GC400 family. * same. Only for GC400 family.
*/ */
if ((gpu->identity.model & 0xff00) == 0x0400 && if ((gpu->identity.model & 0xff00) == 0x0400 &&
gpu->identity.model != 0x0420) { gpu->identity.model != chipModel_GC420) {
gpu->identity.model = gpu->identity.model & 0x0400; gpu->identity.model = gpu->identity.model & 0x0400;
} }
/* Another special case */ /* Another special case */
if (gpu->identity.model == 0x300 && if (gpu->identity.model == chipModel_GC300 &&
gpu->identity.revision == 0x2201) { gpu->identity.revision == 0x2201) {
u32 chipDate = gpu_read(gpu, VIVS_HI_CHIP_DATE); u32 chipDate = gpu_read(gpu, VIVS_HI_CHIP_DATE);
u32 chipTime = gpu_read(gpu, VIVS_HI_CHIP_TIME); u32 chipTime = gpu_read(gpu, VIVS_HI_CHIP_TIME);
...@@ -295,11 +295,13 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu) ...@@ -295,11 +295,13 @@ static void etnaviv_hw_identify(struct etnaviv_gpu *gpu)
gpu->identity.features = gpu_read(gpu, VIVS_HI_CHIP_FEATURE); gpu->identity.features = gpu_read(gpu, VIVS_HI_CHIP_FEATURE);
/* Disable fast clear on GC700. */ /* Disable fast clear on GC700. */
if (gpu->identity.model == 0x700) if (gpu->identity.model == chipModel_GC700)
gpu->identity.features &= ~chipFeatures_FAST_CLEAR; gpu->identity.features &= ~chipFeatures_FAST_CLEAR;
if ((gpu->identity.model == 0x500 && gpu->identity.revision < 2) || if ((gpu->identity.model == chipModel_GC500 &&
(gpu->identity.model == 0x300 && gpu->identity.revision < 0x2000)) { 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 * 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) ...@@ -466,7 +468,8 @@ static void etnaviv_gpu_hw_init(struct etnaviv_gpu *gpu)
VIVS_HI_AXI_CONFIG_ARCACHE(2)); VIVS_HI_AXI_CONFIG_ARCACHE(2));
/* GC2000 rev 5108 needs a special bus config */ /* 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); u32 bus_config = gpu_read(gpu, VIVS_MC_BUS_CONFIG);
bus_config &= ~(VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK | bus_config &= ~(VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK |
VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK); VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment