msm: kgsl: Separate out A6xx GMU specific code

A6xx GPU has different GMUs, which requires a different
set of sequence programming. Move A6xx GMU specific code
to separate file, so that it's easy and scalable to fit
new kind of GMU in existing driver.

Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Change-Id: I7773b1626a8fa6036dda06753466d2c822960096
This commit is contained in:
Hareesh Gundu 2018-04-04 18:20:34 +05:30
parent 42123387ba
commit 933eb9895c
4 changed files with 1264 additions and 1224 deletions

View File

@ -39,6 +39,7 @@ msm_adreno-y += \
adreno_a4xx_preempt.o \
adreno_a5xx_preempt.o \
adreno_a6xx_preempt.o \
adreno_a6xx_gmu.o \
adreno_sysfs.o \
adreno.o \
adreno_cp_parser.o \

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -131,6 +131,18 @@ void a6xx_snapshot(struct adreno_device *adreno_dev,
struct kgsl_snapshot *snapshot);
void a6xx_snapshot_gmu(struct adreno_device *adreno_dev,
struct kgsl_snapshot *snapshot);
void a6xx_crashdump_init(struct adreno_device *adreno_dev);
int a6xx_gmu_oob_set(struct adreno_device *adreno_dev, enum oob_request req);
void a6xx_gmu_oob_clear(struct adreno_device *adreno_dev, enum oob_request req);
void a6xx_gmu_enable_lm(struct kgsl_device *device);
int a6xx_gmu_load_firmware(struct kgsl_device *device);
int a6xx_gmu_rpmh_gpu_pwrctrl(struct adreno_device *adreno_dev,
unsigned int mode, unsigned int arg1, unsigned int arg2);
int a6xx_gmu_wait_for_lowest_idle(struct adreno_device *adreno_dev);
int a6xx_gmu_wait_for_idle(struct adreno_device *adreno_dev);
int a6xx_gmu_sptprac_enable(struct adreno_device *adreno_dev);
void a6xx_gmu_sptprac_disable(struct adreno_device *adreno_dev);
bool a6xx_gmu_gx_is_on(struct adreno_device *adreno_dev);
bool a6xx_gmu_sptprac_is_on(struct adreno_device *adreno_dev);
#endif

File diff suppressed because it is too large Load Diff