Commit Graph

108 Commits

Author SHA1 Message Date
qinglin.li ab86e730aa ddr_bandwidth: freq node value does not match actual [1/1]
PD#SWPL-206552

Problem:
freq node value does not match actual

Solution:
register has only the lower 16 bits used ddr freq

Verify:
local

Change-Id: I74e8f59def96916abd44cd39eaa28b615e3d8fdd
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2025-10-23 16:37:36 +09:00
Jianxiong Pan 66ffdd5595 dmc: filter pages of isolate migrate type. [1/1]
PD#SWPL-197897

Problem:
The cma allocated by the driver is considered normal access.

Solution:
filter pages of isolate migrate type.

Verify:
local.

Change-Id: I9261f5b2de41b5b9896e4628b0c1e06890f4679f
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2025-10-23 16:37:36 +09:00
qinglin.li 2e90a1bdb4 dmc_monitor: fix default mode debug is zero when not reserved [1/1]
PD#SWPL-197897

Problem:
default mode debug is zero when not reserved

Solution:
get original early

Verify:
local

Change-Id: I954d4afea75cfed0bf63c34ea451a2c833fd6745
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2025-10-23 16:37:36 +09:00
qinglin.li c86d68130e dmc_monitor: sample set dmc with bootargs [1/1]
PD#SWPL-197897

Problem:
dmc default config cmd set is too long
dmc read protect mem crash

Solution:
1.add default mode set by bootargs
2.auto set range when set default mode
example cmd as
uboot
setenv initargs $initargs dmc_monitor=default;saveenv;reset
kernel
echo default > /sys/class/dmc_monitor/device
3.use !<DEVICE> to delete device
example cmd as
echo !USB > /sys/class/dmc_monitor/device
4.dmc_filter default set
use !<DEVICE/FUNCTION> to delete device or function
example cmd as
uboot
setenv initargs $initargs dmc_filter=!USB,!alloc_from_cma;saveenv;reset
kernel
echo !USB > /sys/class/dmc_monitor/filter
echo !alloc_from_cma > /sys/class/dmc_monitor/filter
5.default not read violation value
if want to read, echo value 1 > /sys/class/dmc_monitor/debug

Verify:
local

Change-Id: I243fbc0fb289f534b78a473ef15d8927d747d689
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2025-10-23 16:37:36 +09:00
qiankun.wang 37920b77ba IOTM: support iotm_v2 function on t6w [1/2]
PD#SWPL-188937

Problem:
support iotm function on t6w

Solution:
support iotm funciotn on t6w

Verify:
t6w,t6d

Change-Id: I89c835ea502bfe13612f270e095307cc0bdb898b
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
2025-10-23 16:37:36 +09:00
qinglin.li 54b6e846f7 dmc_monitor: filter media use scatter memory [1/1]
PD#SWPL-194719

Problem:
filter media use scatter memory

Solution:
media use alloc_page_boost_work_func alloc scatter memory
filter function alloc_page_boost_work_func

Verify:
local

Change-Id: Iafdbe4fc76b94cd857d232586d0f4b8c00bec2de
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2025-10-23 16:37:36 +09:00
qinglin.li 97075ea85d ddr_tool: coverity fix [1/1]
PD#SWPL-190779

Problem:
coverity fix

Solution:
coverity fix

Verify:
local

Change-Id: I63c28cec53c2395760eb0a12c53891cdc6110886
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-11-07 13:27:50 +08:00
xing.xu e94bdcd514 bandwidth: CF1 Single-frame Bandwidth data error [1/1]
PD#SWPL-179304

Problem:
Bandwidth data error

Solution:
Division used incorrectly saves the remainder

Verify:
s6.s7

Change-Id: I9da9c779b0bf57117c16cb2bc1dfe3db1c50ab0a
Signed-off-by: xing.xu <xing.xu@amlogic.com>
2024-10-22 14:33:28 +08:00
xing.xu 146a889115 bandwidth: CF1 Single-frame Bandwidth Sampling [1/1]
PD#SWPL-179304

Problem:
Getting bandwidth data

Solution:
Getting bandwidth data

Verify:
s6.s7

Change-Id: I64e0bdc57456e6e17cb542b608eec5e952eac9ec
Signed-off-by: xing.xu <xing.xu@amlogic.com>
2024-08-29 10:41:27 +08:00
qinglin.li e0525f14ad ddr_tool: s7 not amfc port [1/1]
PD#SWPL-181574

Problem:
s7 not amfc port

Solution:
remove s7 amfc port

Verify:
local

Change-Id: Ic98cabbdb7b20bf6f755f87f82227bebf9780b01
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-08-13 16:28:51 +08:00
qinglin.li c4d8ac03d7 dmc_monitor: prefetch abor error [1/1]
PD#SWPL-173394

Problem:
prefetch abor error when set dmc
kasan check use after free when read value

Solution:
ddr init set dmc reg to check overflow
this will be due to prefetch abor
need to clear reg before set.

Verify:
Detail info

Change-Id: Ia45c2cd30e408f5f6d36c177564433fa3cefd4fa
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-07-31 20:56:06 +08:00
Jianxiong Pan 86ed90504d mm: check if the page is in free state. [1/1]
PD#SWPL-179075

Problem:
the page status printed in dmc is incorrect.

Solution:
correct the page status.

Verify:
local.

Change-Id: I670fd6a7437f93b680deeba81e1511fb657a42d0
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2024-07-26 18:48:42 +08:00
qiankun.wang 465664e608 mm: fix the access function of "watch_addr". [1/1]
PD#SWPL-175818

Problem:
"cat /sys/class/watch_point/watch_addr" will crash,
dbgwvr4_el1 that should not be accessed was accessed..

Solution:
Delete "do{}while(0)". and break will take effect on 'switch' rather
than 'while'.

Verify:
SC2

Change-Id: Ie613f032fe8f6b951c503f318064cc5b3511b914
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
2024-07-17 14:58:19 +08:00
qinglin.li d3f67bd33a ddr_bandwidth: fixed s6 port not be config [1/1]
PD#SWPL-172962

Problem:
fixed s6 port not be config

Solution:
fixed s6 port not be config
port will be set default when mode enabled

Verify:
s6

Change-Id: I72cbce0e4f769b07186423a2a85660b00fdacc23
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-07-13 19:16:39 +08:00
qinglin.li b3895c6af8 dmc_monitor: add mte device [1/1]
PD#SWPL-172962

Problem:
add mte device

Solution:
add mte device

Verify:
s6

Change-Id: I88fc9655cbbf7b37366fe10a2c22df349310775f
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-07-13 19:16:38 +08:00
qinglin.li 0758b4f228 ddr_tool: bring up s6 ddr_tool [1/1]
PD#SWPL-172962

Problem:
bring up s6 ddr_tool

Solution:
bring up s6 ddr_tool

Verify:
s6

Change-Id: I9d0f63e340d8bacbd846ccbd710a153cf5192f16
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-07-13 19:16:37 +08:00
Wanwei Jiang ce910dea45 dmc: porting for s6 [1/1]
PD#SWPL-156505

Problem:
porting dmc for s6

Solution:
1. support ddr bandwidth
2. support dmc monitor
3. analyzing register information according to
the latest secure register definitions

Verify:
s6 pxp

Change-Id: I90067dab06a268e8f87c4f5df1960375b2eecf32
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
2024-07-13 19:11:23 +08:00
qinglin.li 39b1b94df1 ddr_tool: support sc2 and t5w priority [2/2]
PD#SWPL-173670

Problem:
support sc2 and t5w priority

Solution:
support sc2 and t5w priority

Verify:
local

Change-Id: I010790af9ee2c8e6fe46d2a426f3b1d9a17b4491
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-06-18 19:43:52 +08:00
qinglin.li 29c56ceb61 ddr_tool: support sc2 and t5w priority [1/1]
PD#SWPL-173670

Problem:
support sc2 and t5w priority

Solution:
support sc2 and t5w priority

Verify:
local

Change-Id: Ibe6c3858e04eb60f59b6d44b66a9c0dab7b6f44c
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-06-18 19:43:22 +08:00
Jianxiong Pan c0ae2f061c mm: pagetrace: arm64 unable get _text and module_base parameters. [1/1]
PD#SWPL-161628

Problem:
arm64 unable get _text and module_base parameters via find symbal.

Solution:
use long type to store pagetrace information.

Verify:
sc2.

Change-Id: Id52bed43bbeed50a6d8ef0e32a54c5d9d9eab331
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2024-06-18 19:40:42 +08:00
qinglin.li 0b66eab2d1 dmc_monitor: check and dump dmc sec reg when serror [1/1]
PD#SWPL-169568

Problem:
check and dump dmc sec reg when serror

Solution:
1. check dmc sec reg when probe
2. check dmc sec reg when serror

Verify:
local

Change-Id: Idb379eefa410419b0750ba1f33c3bc007a3a255d
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-06-18 19:38:42 +08:00
Tao Zeng 6d13604db9 amfc: add amfc driver support [1/1]
PD#SWPL-137614
PD#SWPL-163213

Problem:
No amfc driver

Solution:
add it:
1, basic driver for AMFC
2, EROFS support
3, kernel compressed by ZSTD support

Verify:
pxp

Change-Id: I45d2e308d209e35edba626619072aae93c4d0f56
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2024-05-16 20:03:23 +08:00
dongqing.li 154dca6108 T7C: ramdump optimize the DDR cleaning strategy. [1/1]
PD#SWPL-165513

Problem:
Autosuspend can't resume when connect usb disk
and enable ramdump.

Solution:
Optimize the DDR cleaning strategy:
1.delay 120s to clean up memory.
2.stop cleaning when the remaining free size
drops to 10%.

Verify:
on t7c

Change-Id: I93e64706e1a39a7e37f3a7dd4afb081c687c1f9f
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
2024-05-16 15:18:58 +08:00
qinglin.li 94b3ac5dac dmc: page invalid due to panic [1/1]
PD#SWPL-163624

Problem:
get out of ddr size addr page flags to panic

Solution:
panic when write addr out of ddr
warning when read addr out of ddr

Verify:
txhd2 && g12a

Change-Id: I8bbe6e4185f433eb34868bb94fe0f32a06400a29
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-24 14:59:15 +08:00
Wanwei Jiang de03e0235d dmc: bringup s7d [1/1]
PD#SWPL-163047

Problem:
bringup s7d

Solution:
add priority and vpu sub port tables

Verify:
s7d

Change-Id: I953574a1c5a100d180d9e00e3a0a3304fee6c9ab
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
2024-04-18 19:00:17 +08:00
qinglin.li 2b67eea136 s7d: s7d dmc pxp bring up [1/1]
PD#SWPL-147270

Problem:
s7d dmc pxp bring up

Solution:
s7d dmc pxp bring up

Verify:
local

Change-Id: Ie8a2a09bba30acf7e4c07ad6b5f9e2b16ecd1ed5
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 19:00:17 +08:00
qinglin.li e873461243 dmc_monitor: fix dmc error due to crash [1/1]
PD#SWPL-160944

Problem:
fix c2 reg error
fix port name is null due to strstr crash

Solution:
fix c2 reg error
fix port name is null due to strstr crash
update to dmc version to 1.5

Verify:
c2

Change-Id: I02f6528d0d61a3dff42852f8e479439993fadaa5
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:02:20 +08:00
qinglin.li f0494ce622 ddr_bandwidth: irq request flag mismatch [1/1]
PD#SWPL-160944

Problem:
genirq: Flags mismatch irq 38.
00002084 (dmc_monitor) vs. 00000084 (ddr_bandwidth)

Solution:
fix irq use same irq flag

Verify:
local

Change-Id: I98e45e57ae4e1d1c57553b64ace0795f0f7f4eaa
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:02:07 +08:00
qinglin.li b8e3ca09fd dmc_monitor: disabled dmc monitor alone with ddr_tool [1/1]
PD#SWPL-160189

Problem:
disabled dmc monitor alone with ddr_tool
modify dmc monitor depend on page trace
update dmc version to 1.4

Solution:
disabled dmc monitor with ddr_tool
modify dmc monitor depend on page trace

Verify:
local

Change-Id: Ib9d0463ee0734c3b8ae1dc27b1e0cacf69a605fa
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:02:00 +08:00
qinglin.li 9696f7615f dmc_monitor: fix io_mem array get error [1/1]
PD#SWPL-147355

Problem:
io_mem array get error

Solution:
fix io_mem array get error
update dmc version to 1.3

Verify:
local

Change-Id: I95b69d5c8a06b984858c73d6e2564c8d17214680
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:01:52 +08:00
qinglin.li 0cbb4684d0 dmc_monitor: optimize port and subport name save [1/1]
PD#SWPL-147355

Problem:
optimize port and subport name save

Solution:
update dmc version to 1.2
optimize port and subport name save

Verify:
local

Change-Id: I2e293ad8b359cdef93475ee976ddc0562e1593e5
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:01:42 +08:00
qinglin.li aa80b3a899 dmc_monitor: fix irq thread null pointer [1/1]
PD#SWPL-147355

Problem:
old soc may creat a secure but irq thread not be init
when first irq set

Solution:
fix irq thread null pointer
update dmc version to 1.1

Verify:
g12a

Change-Id: I1f0e99db992d52f0acb8e66eb906f0d89bb52b32
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-18 15:01:32 +08:00
Jiucheng Xu a5458278eb ddr_tool: add ddr bandwidth trace for 5.15 [1/1]
PD#SWPL-156027

Problem:
5.15 has no ddr bandwidth trace tool

Solution:
add tools

Verify:
G12A

Change-Id: Ifc4a471809078de7a991ac98e5cd26cb19ec0297
Signed-off-by: Jiucheng Xu <jiucheng.xu@amlogic.com>
2024-04-18 15:01:14 +08:00
qinglin.li ca2b13446a dmc: tm2 dmc bring up [1/1]
PD#SWPL-143634

Problem:
tm2 dmc bring up
cpu info modules need to load earlier due to get cpu version

Solution:
tm2 dmc bring up
cpu info modules load earlier

Verify:
local

Change-Id: I0ce73c49a9c0aefb1d3beac3151eac20eec2b166
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2024-04-18 15:00:28 +08:00
Dezhen Wang fb250df9e2 kernel6.6: support clang build for a4 and a5 [1/1]
PD#SWPL-156726

Problem:
support clang build for a4 and a5

Solution:
fix build error

Verify:
a4 a5

Change-Id: I9aa3e06010344c9a313365d3dcdf1b10b4f75904
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
2024-03-08 10:27:31 +08:00
qinglin.li 23bed8cc07 dmc_monitor: use dmc irq thread when irq ratio is too high [1/1]
PD#SWPL-147355

Problem:
due to lockup when dmc irq ratio is too high

Solution:
use dmc irq thread when irq ratio is too high

Verify:
local

Change-Id: Ie13d584f81563e3c2e111fb5d6033f0e2aa0d337
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-02-19 20:22:41 +08:00
qiankun.wang 1ed0f9e18b iotrace: iotrace vendor hooks and optimization [2/2]
PD#SWPL-142603

Problem:
iotrace read/write use vendor hooks.
iotrace optimization

Solution:
iotrace read/write use vendor hooks.
iotrace optimization

Verify:
sc2_ah212

Change-Id: If69ed5dce03ffa53f1c4819659fb80dfcad767c5
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
2024-01-26 21:02:30 +08:00
qinglin.li 2416219355 ddr_tool: s7 dmc bring up [1/1]
PD#SWPL-152397

Problem:
1. fix ddr freq reg
2. add ddr priority support

Solution:
1. fix ddr freq reg
2. add ddr priority support

Verify:
s7

Change-Id: I2e8af4b2f1b8a9bb820db52f5fa6045da65ebed3
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-22 20:29:09 +08:00
qinglin.li f9186f2084 s7: s7 dmc pxp bring up [1/1]
PD#SWPL-135753

Problem:
s7 dmc pxp bring up

Solution:
s7 dmc pxp bring up

Verify:
local

Change-Id: Iebb8d1efd981478356720222ba55dd0daf346f23
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-22 20:26:22 +08:00
qinglin.li 687495159f scripts: support build kasan with parameter for androidt [2/2]
PD#TV-107858

Problem:
support build kasan with parameter for androidt

Solution:
support build kasan with parameter for androidt

Verify:
local

Change-Id: I0538542862e5e708aea92257d90b49ab47ced9be
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-20 20:40:37 +08:00
qinglin.li 992dca6afc ddr_bandwidth: fix irq not disabled when mode close [1/1]
PD#SWPL-141263

Problem:
irq not disabled when mode close

Solution:
fix irq not disabled when mode close

Verify:
local

Change-Id: I1ba42fbe47860838683bdd7a117aabb32b617daa
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-20 18:42:57 +08:00
Dezhen Wang 30b27cb331 ddr: upgrade the ddr tool to g12a [3/11]
PD#SWPL-133253

Problem:
G12A kernel upgrade from 4.9 to 5.15 U kernel basic - ddr tool

Solution:
G12A kernel upgrade from 4.9 to 5.15 U kernel basic - ddr tool

Verify:
sc2

Change-Id: I8e5995b832d3c54dec176a67a183b4b828cfc343
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
2024-01-20 09:16:20 +08:00
qinglin.li 48ac7ec7d7 ddr_tool: add t3 && t3x ddr priority node support [1/1]
PD#SWPL-151626

Problem:
add t3 && t3x ddr priority node support

Solution:
add t3 && t3x ddr priority node support

Verify:
local

Change-Id: I5cb708db11e60774664a22e13865d4f48e558fa6
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-09 19:58:46 +08:00
Qinglin Li f746d701e9 ddr_bandwidth: fix irq not disabled when mode close [2/2]
PD#SWPL-141263

Problem:
irq not disabled when mode close

Solution:
fix irq not disabled when mode close

Verify:
local

Change-Id: I632b145626e81cddf9aef3a05f7c1ee644c9c478
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-01-09 19:42:25 +08:00
dongqing.li eacd3929ba ramdump: Fix known issues for ker5.15. [1/1]
PD#SWPL-148227

Problem:
The crash file of ramdump cannot be parsed properly.

Solution:
1. Delay 60 seconds to clear DDR
2. Optimize print output to help parse crash files.
3. Reduce the func jump level of flush cache all.

Verify:
sc2

Change-Id: Ib82725cf2c22eb3ef9c7257cedbdfa718acd5ad9
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
2024-01-03 20:12:02 +08:00
Lei Zhang 89189d06c2 debug: optimize registers and pfn dump [1/1]
PD#SWPL-144211

Problem:
n/a

Solution:
1 not dump registers and pfn when warning
2 enable user fault dump
3 enable pfn pagetrace dump

Verify:
on SC2

Change-Id: Id0329bde1dd2d91fc818c12cd502796c3cdf123d
Signed-off-by: Lei Zhang <lei.zhang@amlogic.com>
2023-12-28 18:57:50 +08:00
qinglin.li 94fb8d43c1 dmc_monitor: reserved zero address and enabled dmc monitor [4/4]
PD#SWPL-144091

Problem:
dmc not judge reserved memory failed if use reg function in dts

Solution:
modify alloc function in dts used to reserved memory

Verify:
Detail info

Change-Id: I2dfa087cbbc940273e6495f01eb5acdb7cb3c4b7
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2023-12-25 13:58:56 +08:00
qinglin.li 62436bd235 dmc_monitor: reserved zero address and enabled dmc monitor [3/3]
PD#SWPL-144091

Problem:
arm64 use reserved 512K memory

Solution:
arm64 used reserved 512K memory

Verify:
local

Change-Id: If9d847fc68d58a21b0063d9ff4e6afb685a7c4b1
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2023-12-25 13:57:52 +08:00
qinglin.li 6ee886c147 dmc_monitor: reserved zero address and enabled dmc monitor [1/1]
PD#SWPL-144091

Problem:
reserved zero address and enabled dmc monitor

Solution:
reserved zero address and enabled dmc monitor

Verify:
local

Change-Id: Ief29049b1938a163b2f73e516e38c6c29c703f3b
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2023-12-25 13:56:02 +08:00
Jianxiong Pan e3db5369be mm: reduce the print log in momeory module. [1/1]
PD#SWPL-141371

Problem:
optimize memory log.

Solution:
reduce the print log.

Verify:
local.

Change-Id: Id5b9a9240bc94d49f6d311a1f4084ffdf0a5a13a
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-11-06 17:32:53 +08:00