mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
Merge "msm: kgsl: Support QDSS_STM based on QCOM_KGSL_QDSS_STM config"
This commit is contained in:
commit
f1a9ffedcd
5 changed files with 16 additions and 8 deletions
|
|
@ -70,3 +70,11 @@ config QCOM_KGSL_CONTEXT_DEBUG
|
|||
When enabled, total number of KGSL contexts, number of attached and
|
||||
detached contexts are dumped into kernel log for all the processes.
|
||||
This gives insight about the number of contexts held by each process.
|
||||
|
||||
config QCOM_KGSL_QDSS_STM
|
||||
bool "Enable support for QDSS STM for Adreno GPU"
|
||||
depends on QCOM_KGSL && CORESIGHT
|
||||
help
|
||||
When enabled, the Adreno GPU QDSS STM support is enabled. GPU QDSS STM
|
||||
memory will be mapped to GPU and QDSS clock needed to access this memory
|
||||
is voted. Debug kernels should say 'Y' here.
|
||||
|
|
|
|||
|
|
@ -2664,11 +2664,11 @@ int a6xx_gmu_probe(struct kgsl_device *device,
|
|||
return ret;
|
||||
/*
|
||||
* Voting for apb_pclk will enable power and clocks required for
|
||||
* QDSS path to function. However, if CORESIGHT is not enabled,
|
||||
* QDSS path to function. However, if QCOM_KGSL_QDSS_STM is not enabled,
|
||||
* QDSS is essentially unusable. Hence, if QDSS cannot be used,
|
||||
* don't vote for this clock.
|
||||
*/
|
||||
if (!IS_ENABLED(CONFIG_CORESIGHT)) {
|
||||
if (!IS_ENABLED(CONFIG_QCOM_KGSL_QDSS_STM)) {
|
||||
for (i = 0; i < ret; i++) {
|
||||
if (!strcmp(gmu->clks[i].id, "apb_pclk")) {
|
||||
gmu->clks[i].clk = NULL;
|
||||
|
|
|
|||
|
|
@ -1258,11 +1258,11 @@ static int a6xx_rgmu_clocks_probe(struct a6xx_rgmu_device *rgmu,
|
|||
return ret;
|
||||
/*
|
||||
* Voting for apb_pclk will enable power and clocks required for
|
||||
* QDSS path to function. However, if CORESIGHT is not enabled,
|
||||
* QDSS path to function. However, if QCOM_KGSL_QDSS_STM is not enabled,
|
||||
* QDSS is essentially unusable. Hence, if QDSS cannot be used,
|
||||
* don't vote for this clock.
|
||||
*/
|
||||
if (!IS_ENABLED(CONFIG_CORESIGHT)) {
|
||||
if (!IS_ENABLED(CONFIG_QCOM_KGSL_QDSS_STM)) {
|
||||
for (i = 0; i < ret; i++) {
|
||||
if (!strcmp(rgmu->clks[i].id, "apb_pclk")) {
|
||||
rgmu->clks[i].clk = NULL;
|
||||
|
|
|
|||
|
|
@ -2511,8 +2511,8 @@ int kgsl_iommu_probe(struct kgsl_device *device)
|
|||
*/
|
||||
kgsl_iommu_map_globals(mmu, mmu->defaultpagetable);
|
||||
kgsl_iommu_map_globals(mmu, mmu->lpac_pagetable);
|
||||
/* QDSS is supported only when CORESIGHT is enabled */
|
||||
if (IS_ENABLED(CONFIG_CORESIGHT))
|
||||
/* QDSS is supported only when QCOM_KGSL_QDSS_STM is enabled */
|
||||
if (IS_ENABLED(CONFIG_QCOM_KGSL_QDSS_STM))
|
||||
device->qdss_desc = kgsl_allocate_global_fixed(device,
|
||||
"qcom,gpu-qdss-stm", "gpu-qdss");
|
||||
|
||||
|
|
|
|||
|
|
@ -1427,8 +1427,8 @@ static int _get_clocks(struct kgsl_device *device)
|
|||
for (i = 0; i < KGSL_MAX_CLKS; i++) {
|
||||
if (pwr->grp_clks[i] || strcmp(clocks[i], name))
|
||||
continue;
|
||||
/* apb_pclk should only be enabled if CORESIGHT is enabled */
|
||||
if (!strcmp(name, "apb_pclk") && !IS_ENABLED(CONFIG_CORESIGHT))
|
||||
/* apb_pclk should only be enabled if QCOM_KGSL_QDSS_STM is enabled */
|
||||
if (!strcmp(name, "apb_pclk") && !IS_ENABLED(CONFIG_QCOM_KGSL_QDSS_STM))
|
||||
continue;
|
||||
|
||||
pwr->grp_clks[i] = devm_clk_get(dev, name);
|
||||
|
|
|
|||
Loading…
Reference in a new issue