If use savedefconfig to update defconfig, PM_DEVFREQ and DEVFREQ_THERMAL
will be removed, and dmc and opp_select also depend on PM_DEVFREQ,
enable them default.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ied5ac8e70fe195294df2752160ce6e56360f2db8
In order to get target read margin and scmi clk earlier,
and it will also be used in later submissions.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I75bd79dc4963fa0dcc73d7c66a696e1cc0c177b7
The warning logs fixed are "GPU activity takes longer than time interval, ...".
This fix is provided as 496f5e3.diff by Zhigang.Yao@arm.com of support_mali.
The original commit message within 496f5e3.diff:
{
From 496f5e37a803266e71cbf7b6eb5871fe2fcd8931 Mon Sep 17 00:00:00 2001
From: Tu Vuong <tu.vuong@arm.com>
Date: Wed, 09 Feb 2022 09:31:20 +0000
Subject: [PATCH] GPUCORE-30123 Fix incorrect dmesg warning for unexpected GPU activities
The DVFS utilisation calculation detects when the GPU has expended more
cycles than expected compared to the actual time passed. This margin was
not sufficient as it didn't take into account the worst-case scenario
where samples are taken TIMER_DEFAULT_VALUE_MS apart.
}
Change-Id: I16bb904fd77006f6ab1e4419e44a9834550e4c07
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
The panic was triggered
by running "cat /sys/kernel/debug/mali0/ipa_current_power".
It is fixed by enlarging KBASE_IPA_BLOCK_TYPE_NUM according to the fact
that we set 4 clks for GPU in rk3588 dts.
Change-Id: I3a87f6f2d25cf296d95d033d3d98c51666ea482d
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
The bug was found in the case of that system suspend process was broken off
for USB ADB being connected.
This fix is provided by Zhigang.Yao@arm.com of support_mali.
Related RK redmine case:
https://redmine.rock-chips.com/issues/334539
Change-Id: I4772ed901a7fe54884a79a53b3ca9f6fd7beed40
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
1. change clock rate and read margin only when pd is on.
2. change clock source to normal pll before power down pd.
3. change clock source back to pvtpll and restore clock rate
and read margin after power on pd.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I2028866fdd70909814aaba7ef6d3af3bf764eb87
Add support to change memory read margin according to voltage when
register system monitor.
Change-Id: Id1d78432b6a83bbb09b4438146a0197dc914347b
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
In addition, fix a bug of calling KBASE_KTRACE_ADD() too early.
Change-Id: I843f340526275b50ae7d1ec6a7a68963e081e219
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Add support to get soc info and set voltage read margin.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I254a92ba124655e3efc4922a7425c1f13d384adf
drivers/gpu/arm/bifrost/mali_kbase_core_linux.c:2955:6: warning: no previous prototype for function 'kbasep_ktrace_dump_wrapper' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_irq_linux.c:182:13: warning: no previous prototype for function 'kbase_gpu_irq_test_handler' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_irq_linux.c:210:5: warning: no previous prototype for function 'kbase_set_custom_irq_handler' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:241:5: warning: no previous prototype for function 'rk_kbase_device_runtime_init' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:246:6: warning: no previous prototype for function 'rk_kbase_device_runtime_disable' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:266:5: warning: no previous prototype for function 'kbase_platform_early_init' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:274:6: warning: no previous prototype for function 'kbase_platform_rk_shutdown' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.c:460:5: warning: no previous prototype for function 'kbase_platform_rk_init_opp_table' [-Wmissing-prototypes]
drivers/gpu/arm/bifrost/ipa/mali_kbase_ipa.c:399:5: warning: no previous prototype for function 'kbase_scale_static_power' [-Wmissing-prototypes]
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I47be45c9ac2b7f9eedec1977d358b535f7fbd795
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Icb1e4a388e6e8720036b6a1d85a13b5e2491cf4d
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Picked from ./platform/devicetree/.
This makes GPU utilisation info available and resolve the warning log below:
[ 19.641700][ T83] WARNING: CPU: 0 PID: 83 at drivers/gpu/arm/bifrost/csf/ipa_control/mali_kbase_csf_ipa_control.c:239 kbase_ipa_control_handle_gpu_power_off+0x128/0x198
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I7ce8d0f52d6340659b2c9ca9692c48043e1060c1
Including modifications under drivers/base/ from the new DDK.
Resolve lots of conflicts.
Fix compilation errors when CONFIG_DEBUG_FS is disabled.
Change-Id: I69f9ac87d927441d0b92b8dac8b704922aeb6a0a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Include a new directory include/uapi/gpu/arm/bifrost/,
which includes some header files of bifrost device driver.
In the original part of g6, the path is include/uapi/gpu/arm/midgard/.
I changed the "midgard" to "bifrost", and modified the paths of the header files in .c files.
I resolved some conflicts between modifications form ARM and RK, manually.
In addition, introduce source files of protected_memory_allocator
that might be needed by bifrost_device_driver into build system.
Further more, to avoid errors when building in GKI mode,
add "WITH Linux-syscall-note" to SPDX tag of uapi headers.
Change-Id: I09d500a0fdbc5da352c81dc4fcfbffb5b7f907f5
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Because they are no longer useful,
after rk3288/rk3399 Android and Linux device
use the same midgard_device_driver "drivers/gpu/arm/midgard".
Change-Id: I7ccc3c99fdfdde5a0ea12a7f3e1931fd5f1ce4cb
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Make $(src) as absolute path if it isn't already, by prefixing $(srctree).
Fix build module with "O=dir".
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I50a809faee21afd66d8f2025d05602a8a85293df
Make $(src) as absolute path if it isn't already, by prefixing $(srctree).
Fix build module with "O=dir".
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I4e6d1f252e51956dc264e544ebbf7cf774a39c5d
[ 4.128429] WARNING: CPU: 0 PID: 247 at drivers/gpu/arm/midgard/mali_kbase_mem_linux.c:1772 kbase_mmap+0x380/0xa78
...
Treat VM_FAULT_NOPAGE as success of calling vmf_insert_pfn().
Take https://android.googlesource.com/kernel/hikey-modules/+/refs/heads/android12-5.10/midgard/mali_kbase_mem_linux.c as a reference.
Fixes: 970017f88e ("MALI: midgard: Fix all compile errors under kernel 5.10")
Change-Id: Ie0562d8024e58031ba8126aab42dc7005f08b071
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
dmesg log from bootup:
...
[ 0.988106] mali fde60000.gpu: GPU identified as 0x2 arch 7.4.0 r1p0 status 0
[ 0.988199] mali fde60000.gpu: No memory group manager is configured
[ 0.989228] mali fde60000.gpu: Probed as mali0
[root@RK356X:/]# cat ./sys/devices/platform/fde60000.gpu/gpuinfo
Mali-G52 1 cores r1p0 0x7402
[root@RK356X:/]# ls /sys/class/devfreq/fde60000.gpu/
available_frequencies governor name target_freq
available_governors load polling_interval timer
cur_freq max_freq power trans_stat
device min_freq subsystem uevent
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I1669385cd2609fbe8ba4507f777e904e1f6c6961
According to commit fad7c90209 ("err.h: remove deprecated PTR_RET for good").
Initially, commit fa9ee9c4b9 ("include/linux/err.h: add a function to
cast error-pointers to a return value") from Uwe Kleine-König introduced
PTR_RET in 03/2011. Then, in 07/2013, commit 6e8b8726ad ("PTR_RET is
now PTR_ERR_OR_ZERO") from Rusty Russell renamed PTR_RET to
PTR_ERR_OR_ZERO, and left PTR_RET as deprecated-marked alias.
After six years since the renaming and various repeated cleanups in the
meantime, it is time to finally remove the deprecated PTR_RET for good.
Change-Id: I2b5d464dc1c6bc0409e41dd9da503f14bef17dc7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
According to commit 4bdc0d676a ("remove ioremap_nocache and devm_ioremap_nocache").
ioremap has provided non-cached semantics by default since the Linux 2.6
days, so remove the additional ioremap_nocache interface.
Change-Id: Id62917547d7d0d838ac3785f8c2bfd2d645af034
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Since commit 84af7a6194 ("checkpatch: kconfig: prefer 'help' over
'---help---'"), the number of '---help---' has been gradually
decreasing, but there are still more than 2400 instances.
This commit finishes the conversion. While I touched the lines,
I also fixed the indentation.
There are a variety of indentation styles found.
a) 4 spaces + '---help---'
b) 7 spaces + '---help---'
c) 8 spaces + '---help---'
d) 1 space + 1 tab + '---help---'
e) 1 tab + '---help---' (correct indentation)
f) 1 tab + 1 space + '---help---'
g) 1 tab + 2 spaces + '---help---'
In order to convert all of them to 1 tab + 'help', I ran the
following commend:
$ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I6c1a95c0cb15b1a5a4215acba748e7023dfd4338
To make it possible that the both built-in midgard and bifrost device driver
could be both loaded.
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I8271a6d817dda3781d70fc69aaaccf3860354b48
rename.h could rename the symbols that have same name in midgard/ and bifrost/,
to make it possible to build in both midgard/ and bifrost/.
Change-Id: Ibca4e2beca8a4d8ea28f712a3e219cb2a403c7e2
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>