msm: kgsl: Make VBIF register dump more generic
Make VBIF register dump more generic to avoid adding new entry for every VBIF revision. There will not be any change in register mapping and address for new VBIF revision. AHB reads are permitted throughout entire VBIF range. For all unoccupied registers read values driven to 0 by HW but should not be relied upon. CRs-Fixed: 1021711 Change-Id: I5aada474389e9189abcd38f1bc4854ada91dea87 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
This commit is contained in:
parent
956349c46c
commit
9d0f3261dc
4 changed files with 12 additions and 14 deletions
|
@ -613,11 +613,13 @@ struct adreno_vbif_platform {
|
|||
* struct adreno_vbif_snapshot_registers - Holds an array of vbif registers
|
||||
* listed for snapshot dump for a particular core
|
||||
* @version: vbif version
|
||||
* @mask: vbif revision mask
|
||||
* @registers: vbif registers listed for snapshot dump
|
||||
* @count: count of vbif registers listed for snapshot
|
||||
*/
|
||||
struct adreno_vbif_snapshot_registers {
|
||||
const unsigned int version;
|
||||
const unsigned int mask;
|
||||
const unsigned int *registers;
|
||||
const int count;
|
||||
};
|
||||
|
|
|
@ -168,15 +168,15 @@ static const unsigned int a4xx_vbif_ver_20050000_registers[] = {
|
|||
|
||||
static const struct adreno_vbif_snapshot_registers
|
||||
a4xx_vbif_snapshot_registers[] = {
|
||||
{ 0x20000000, a4xx_vbif_ver_20000000_registers,
|
||||
{ 0x20000000, 0xFFFF0000, a4xx_vbif_ver_20000000_registers,
|
||||
ARRAY_SIZE(a4xx_vbif_ver_20000000_registers)/2},
|
||||
{ 0x20020000, a4xx_vbif_ver_20020000_registers,
|
||||
{ 0x20020000, 0xFFFF0000, a4xx_vbif_ver_20020000_registers,
|
||||
ARRAY_SIZE(a4xx_vbif_ver_20020000_registers)/2},
|
||||
{ 0x20050000, a4xx_vbif_ver_20050000_registers,
|
||||
{ 0x20050000, 0xFFFF0000, a4xx_vbif_ver_20050000_registers,
|
||||
ARRAY_SIZE(a4xx_vbif_ver_20050000_registers)/2},
|
||||
{ 0x20070000, a4xx_vbif_ver_20020000_registers,
|
||||
{ 0x20070000, 0xFFFF0000, a4xx_vbif_ver_20020000_registers,
|
||||
ARRAY_SIZE(a4xx_vbif_ver_20020000_registers)/2},
|
||||
{ 0x20090000, a4xx_vbif_ver_20050000_registers,
|
||||
{ 0x20090000, 0xFFFF0000, a4xx_vbif_ver_20050000_registers,
|
||||
ARRAY_SIZE(a4xx_vbif_ver_20050000_registers)/2},
|
||||
};
|
||||
|
||||
|
|
|
@ -329,8 +329,7 @@ static void a5xx_snapshot_debugbus(struct kgsl_device *device,
|
|||
}
|
||||
}
|
||||
|
||||
static const unsigned int a5xx_vbif_ver_20040000_registers[] = {
|
||||
/* VBIF version 0x20040000*/
|
||||
static const unsigned int a5xx_vbif_ver_20xxxxxx_registers[] = {
|
||||
0x3000, 0x3007, 0x300C, 0x3014, 0x3018, 0x302C, 0x3030, 0x3030,
|
||||
0x3034, 0x3036, 0x3038, 0x3038, 0x303C, 0x303D, 0x3040, 0x3040,
|
||||
0x3042, 0x3042, 0x3049, 0x3049, 0x3058, 0x3058, 0x305A, 0x3061,
|
||||
|
@ -344,12 +343,8 @@ static const unsigned int a5xx_vbif_ver_20040000_registers[] = {
|
|||
|
||||
static const struct adreno_vbif_snapshot_registers
|
||||
a5xx_vbif_snapshot_registers[] = {
|
||||
{ 0x20040000, a5xx_vbif_ver_20040000_registers,
|
||||
ARRAY_SIZE(a5xx_vbif_ver_20040000_registers)/2},
|
||||
{ 0x20040001, a5xx_vbif_ver_20040000_registers,
|
||||
ARRAY_SIZE(a5xx_vbif_ver_20040000_registers)/2},
|
||||
{ 0x200A0000, a5xx_vbif_ver_20040000_registers,
|
||||
ARRAY_SIZE(a5xx_vbif_ver_20040000_registers)/2},
|
||||
{ 0x20000000, 0xFF000000, a5xx_vbif_ver_20xxxxxx_registers,
|
||||
ARRAY_SIZE(a5xx_vbif_ver_20xxxxxx_registers)/2},
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -1118,7 +1118,8 @@ static const struct adreno_vbif_snapshot_registers *vbif_registers(
|
|||
adreno_readreg(adreno_dev, ADRENO_REG_VBIF_VERSION, &version);
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
if (list[i].version == version)
|
||||
if ((list[i].version & list[i].mask) ==
|
||||
(version & list[i].mask))
|
||||
return &list[i];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue