msm: kgsl: Add GMEM size configuration in gpu list
To avoid msm or gpu specific code in the driver, added GMEM size configuration parameter as a part of gpu list.
This commit is contained in:
parent
efa80a4cc1
commit
121a2a91a5
@ -140,33 +140,41 @@ static const struct {
|
||||
unsigned int istore_size;
|
||||
unsigned int pix_shader_start;
|
||||
unsigned int instruction_size; /* Size of an instruction in dwords */
|
||||
unsigned int gmem_size; /* size of gmem for gpu*/
|
||||
} adreno_gpulist[] = {
|
||||
{ ADRENO_REV_A200, 0, 2, ANY_ID, ANY_ID,
|
||||
"yamato_pm4.fw", "yamato_pfp.fw", &adreno_a2xx_gpudev,
|
||||
512, 384, 3},
|
||||
512, 384, 3, SZ_256K },
|
||||
{ ADRENO_REV_A203, 0, 1, 1, ANY_ID,
|
||||
"yamato_pm4.fw", "yamato_pfp.fw", &adreno_a2xx_gpudev,
|
||||
512, 384, 3, SZ_256K },
|
||||
{ ADRENO_REV_A205, 0, 1, 0, ANY_ID,
|
||||
"yamato_pm4.fw", "yamato_pfp.fw", &adreno_a2xx_gpudev,
|
||||
512, 384, 3},
|
||||
512, 384, 3, SZ_256K },
|
||||
{ ADRENO_REV_A220, 2, 1, ANY_ID, ANY_ID,
|
||||
"leia_pm4_470.fw", "leia_pfp_470.fw", &adreno_a2xx_gpudev,
|
||||
512, 384, 3},
|
||||
512, 384, 3, SZ_512K },
|
||||
/*
|
||||
* patchlevel 5 (8960v2) needs special pm4 firmware to work around
|
||||
* a hardware problem.
|
||||
*/
|
||||
{ ADRENO_REV_A225, 2, 2, 0, 5,
|
||||
"a225p5_pm4.fw", "a225_pfp.fw", &adreno_a2xx_gpudev,
|
||||
1536, 768, 3 },
|
||||
1536, 768, 3, SZ_512K },
|
||||
{ ADRENO_REV_A225, 2, 2, 0, 6,
|
||||
"a225_pm4.fw", "a225_pfp.fw", &adreno_a2xx_gpudev,
|
||||
1536, 768, 3 },
|
||||
1536, 768, 3, SZ_512K },
|
||||
{ ADRENO_REV_A225, 2, 2, ANY_ID, ANY_ID,
|
||||
"a225_pm4.fw", "a225_pfp.fw", &adreno_a2xx_gpudev,
|
||||
1536, 768, 3 },
|
||||
1536, 768, 3, SZ_512K },
|
||||
/* A3XX doesn't use the pix_shader_start */
|
||||
{ ADRENO_REV_A305, 3, 1, ANY_ID, ANY_ID,
|
||||
"a300_pm4.fw", "a300_pfp.fw", &adreno_a3xx_gpudev,
|
||||
512, 0, 2, SZ_256K },
|
||||
/* A3XX doesn't use the pix_shader_start */
|
||||
{ ADRENO_REV_A320, 3, 1, ANY_ID, ANY_ID,
|
||||
"a300_pm4.fw", "a300_pfp.fw", &adreno_a3xx_gpudev,
|
||||
512, 0, 2 },
|
||||
512, 0, 2, SZ_512K },
|
||||
|
||||
};
|
||||
|
||||
@ -416,6 +424,7 @@ adreno_identify_gpu(struct adreno_device *adreno_dev)
|
||||
adreno_dev->istore_size = adreno_gpulist[i].istore_size;
|
||||
adreno_dev->pix_shader_start = adreno_gpulist[i].pix_shader_start;
|
||||
adreno_dev->instruction_size = adreno_gpulist[i].instruction_size;
|
||||
adreno_dev->gmemspace.sizebytes = adreno_gpulist[i].gmem_size;
|
||||
}
|
||||
|
||||
static int __devinit
|
||||
|
@ -44,9 +44,11 @@
|
||||
enum adreno_gpurev {
|
||||
ADRENO_REV_UNKNOWN = 0,
|
||||
ADRENO_REV_A200 = 200,
|
||||
ADRENO_REV_A203 = 203,
|
||||
ADRENO_REV_A205 = 205,
|
||||
ADRENO_REV_A220 = 220,
|
||||
ADRENO_REV_A225 = 225,
|
||||
ADRENO_REV_A305 = 305,
|
||||
ADRENO_REV_A320 = 320,
|
||||
};
|
||||
|
||||
|
@ -1846,11 +1846,6 @@ static void a2xx_start(struct adreno_device *adreno_dev)
|
||||
adreno_regwrite(device, REG_CP_INT_CNTL, 0);
|
||||
adreno_regwrite(device, REG_SQ_INT_CNTL, 0);
|
||||
|
||||
if (adreno_is_a22x(adreno_dev))
|
||||
adreno_dev->gmemspace.sizebytes = SZ_512K;
|
||||
else
|
||||
adreno_dev->gmemspace.sizebytes = SZ_256K;
|
||||
|
||||
a2xx_gmeminit(adreno_dev);
|
||||
}
|
||||
|
||||
|
@ -2502,9 +2502,6 @@ static void a3xx_start(struct adreno_device *adreno_dev)
|
||||
{
|
||||
struct kgsl_device *device = &adreno_dev->dev;
|
||||
|
||||
/* GMEM size on A320 is 512K */
|
||||
adreno_dev->gmemspace.sizebytes = SZ_512K;
|
||||
|
||||
/* Reset the core */
|
||||
adreno_regwrite(device, A3XX_RBBM_SW_RESET_CMD,
|
||||
0x00000001);
|
||||
|
Loading…
x
Reference in New Issue
Block a user