Commit Graph

86 Commits

Author SHA1 Message Date
dongqing.li c6d798d463 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-04-29 23:53:29 -07:00
qinglin.li 3e376f5418 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-22 21:52:44 -07:00
Wanwei Jiang 27a20afba8 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-17 19:31:21 +08:00
qinglin.li f675ab3cec 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: Iebb8d1efd981478356720222ba55dd0daf346f23
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2024-04-17 19:29:59 +08:00
qinglin.li fa264e53f3 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-03-14 02:50:13 -08:00
qinglin.li 48b11182b5 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-03-14 02:49:49 -08:00
qinglin.li 9bc0ad4976 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-03-11 00:57:37 -08:00
qinglin.li 7e57f740c2 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-02-21 22:59:42 -07:00
Dezhen Wang 6256ce3548 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-02-21 04:05:46 -07:00
qinglin.li 71dd318d3e 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-02-20 06:05:14 -07:00
qinglin.li 9ee23a110f 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-02-03 22:55:31 -07:00
qinglin.li f0bef1b9b5 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-01-31 04:53:17 -07:00
Jiucheng Xu a71f24d903 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-01-29 04:01:34 -07:00
qiankun.wang 89a73decb1 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-25 22:27:19 -07:00
qinglin.li 492feeaaba 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 12:48:44 +08:00
qinglin.li cebb95ab7e 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 12:48:43 +08:00
qinglin.li 7f7de17272 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-18 04:26:22 -07:00
qinglin.li 06f10bbe4d 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-05 00:13:18 -07:00
Qinglin Li 62776701f2 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-04 20:21:53 -07:00
dongqing.li 48058cc683 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>
2023-12-22 08:33:37 -07:00
qinglin.li 67127b1b77 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>
2023-12-22 16:08:59 +08:00
Lei Zhang 8594f23db1 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-14 22:31:07 -07:00
qinglin.li ea602ff808 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>
2023-12-14 02:34:21 -07:00
qinglin.li 90c249a79b 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>
2023-11-17 08:21:08 -07:00
qinglin.li c979889953 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>
2023-11-16 02:51:35 -07:00
qinglin.li d604c3f806 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>
2023-11-13 20:37:16 -07:00
Jianxiong Pan ce218b6b98 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-05 22:23:43 -07:00
Jianxiong Pan 7cf0f34c3a dmc: print more page information in dmc. [1/1]
PD#SWPL-142086

Problem:
print more page info.

Solution:
whether page in buddy or slab.

Verify:
t5m.

Change-Id: Ic33a685e510c24cde706b8285cb4f62444d98d42
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-11-05 20:29:25 -07:00
Dezhen Wang 530db67545 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>
2023-11-02 11:15:48 +08:00
qinglin.li 0b87f32de7 ddr_bandwidth: irq too much due to crash [1/1]
PD#SWPL-141263

Problem:
when ddr bandwidth irq handle not register but set,
will be due dmc irq too much,
if dmc and bandwidth use same irq num.

Solution:
not enabled bandwidth irq when irq handle not set

Verify:
sc2

Change-Id: Ie8622c8b8a9a623d936d37a43d3e56d039b83cd1
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-10-17 05:58:37 -07:00
Jianxiong Pan cca80c3423 zapper: rename CONFIG_AMLOGIC_ZAPPER_CUT_C1A. [1/1]
PD#SWPL-140594

Problem:
rename CONFIG_AMLOGIC_ZAPPER_C1A.

Solution:
CONFIG_AMLOGIC_ZAPPER_CUT_C1A.

Verify:
build pass.

Test:
run on s1a board normally.

Change-Id: I3a8ab8d81af2c4d14b51c117ac16d75f3980adac
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-09-20 04:40:01 -07:00
Jianxiong Pan a72a96b533 dmc: add check for free pages. [1/1]
PD#SWPL-140453

Problem:
the newly released page is not filtered out.

Solution:
add check for free pages.

Verify:
local.

Change-Id: Ib8cfea7fb13cce9bef134864ce6f44c1dbccc7dc
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-09-20 01:29:26 -07:00
dongqing.li e9d42c748b ramdump: ker5.15 creat /sys/kernel/mdump/compmsg [1/1]
PD#SWPL-132538

Problem:
The core-dump file cannot be saved to /data in Android.

Solution:
a. Fix BUG for bad page state when lazy_clear_work is running.
b. Print the parameter infor required for the crash tools.
c. Support for storing crashdump files in Android /data/vender/ramdump/
1)  When a kernel panic occurs, flush cache all.
2)  Restart to uboot stage and compress the full DDR.
3)  Set kernel dts rsv mem based on compressed infor.
4)  Crop reserved memory sub nodes to reduce mem usage.
5)  Kernel stage parsing dts to configure rsv mem.
6)  Android init.rc read sysnode, and generate crash file.

Verify:
sc2_ah212

Change-Id: Ic6fba2c305f9e3171445f3b89afa02c75c27a080
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
2023-09-15 02:53:46 -07:00
Dezhen Wang dadc15697a coverity: fix [1/1]
PD#SWPL-136722

Problem:
coverity errors

Solution:
fix the coverity errors

Verify:
local

Change-Id: I5b210b5c44ee6a0e34c1c8b9685fe2d38cd52b1b
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
2023-09-03 21:53:42 -07:00
dongqing.li 26df3302ed ramdump: ker5.15 flush cache all when kernel panic. [1/1]
PD#SWPL-137107

Problem:
The data in the ramdump crash file is abnormal
because the cache data has not been flushed back.

Solution:
1. Use ipi_stop hook to flush online cpu cache.
2. Use panic_notifier to flush panic cpu cache.

Verify:
sc2_ah212

Change-Id: Ifad5bd4203fdde327b8c2b19357aa2d92586063f
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
2023-08-30 06:18:47 -07:00
qinglin.li 4d2160cca7 dmc_monitor: page trace record when access [1/1]
PD#SWPL-137431

Problem:
need record page trace when access

Solution:
record page trace when access

Verify:
local

Change-Id: I8e940449715c8fc41855b1b811281aeea099030b
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-24 21:58:45 -07:00
Jianxiong Pan b75016a67d zapper: remove c1a relate code. [1/1]
PD#SWPL-126879

Problem:
memory optimization.

Solution:
remove c1a relate code.

Verify:
s1a.

Test:
run on s1a board normally.

Change-Id: Idbd24a529666278295724f26d10f1a720877ca6a
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-08-15 20:09:03 -07:00
qinglin.li d28356239a ddr_tool: s1a dmc bring up [1/1]
PD#SWPL-133114

Problem:
s1a dmc bring up

Solution:
s1a dmc bring up

Verify:
s1a

Change-Id: I0a63cee7c0f53c179c628f54fa97d147f1b4c84a
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-15 10:36:51 +08:00
qinglin.li a62b90917c s1a: dmc bring up sync trunk [1/1]
PD#SWPL-133114

Problem:
dmc bring up sync trunk

Solution:
dmc bring up sync trunk

Verify:
local

Change-Id: Ib17e0855c0401b439f298ca9a0668f117881e775
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-15 10:36:51 +08:00
qinglin.li 946f6bcc61 ddr_tool: s1a dmc pxp bring up [1/1]
PD#SWPL-120770

Problem:
s1a dmc pxp bring up

Solution:
s1a dmc pxp bring up

Verify:
pxp

Change-Id: Ia066c0225bcae5d2974ba21962965905f5883fbc
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-15 10:36:48 +08:00
qinglin.li 19c65c43b3 dmc_monitor: arm need check memory map [1/1]
PD#SWPL-132402

Problem:
read no map memory failed when arm build

Solution:
check memory map when arm build

Verify:
local

Change-Id: I9219cf796b2091bed31df485d18621887a50c491
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-09 02:59:07 -07:00
qinglin.li d1164cdfa4 dmc_monitor: arm need check memory map [1/1]
PD#SWPL-132402

Problem:
read no map memory failed when arm build

Solution:
check memory map when arm build

Verify:
local

Change-Id: If806828c60e54e113f7ead52670a97159aac5a22
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-08-07 00:19:00 -07:00
Jianxiong Pan 2c979ec11d zapper: enabled reg access function. [1/1]
PD#SWPL-126879

Problem:
macro error.

Solution:
use the reg access config instead of watchpoint.

Verify:
t215.

Change-Id: Ia030a2d813ec9a7c28eb814ad5978100758654df
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
2023-07-26 05:51:32 -07:00
qinglin.li 39ac61ea96 dmc_monitor: dmc function optimization [1/1]
PD#SWPL-132709

Problem:
dmc function optimization

Solution:
1. add trace print
2. add default device config
3. add suspend debug
4. add create bootcmd
5. add serror debug
6. add dev blacklist

Verify:
local

Change-Id: I785aec22216ab605b3912cad4f4263ece9820daf
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-07-26 00:12:02 -07:00
pengzhao.liu 39f8c0869b kernel: c1 enable dmc [1/1]
PD#SWPL-121081

Problem:
c1 enable dmc

Solution:
c1 enable dmc

Verify:
AE400-C308X

Change-Id: I4b05adcad18f55ba77848806dbf85cc255035901
Signed-off-by: pengzhao.liu <pengzhao.liu@amlogic.com>
2023-07-07 12:45:20 +08:00
Qianggui Song 6403737bed zapper: Memory optimizations after txhd2 merge trunk [1/1]
PD#SWPL-130072

Problem:
Zapper size increase after txhd2 merge back to trunk

Solution:
optimize some code and add macro to reduce size
module: pinctrl, clk-measure, adc, audio, tvin, dtv_demod
ddr_port_desc, and amvecm

Verify:
Zapper

Change-Id: I0c781a657811cf664ffdbb4d9c18060e9b39554e
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
2023-07-05 03:10:39 -07:00
qinglin.li 3d39ee0663 txhd2: dmc txhd2 bring up [1/1]
PD#SWPL-125771

Problem:
dmc txhd2 bring up

Solution:
dmc txhd2 bring up

Verify:
txhd2

Change-Id: Ic067232157597c9e66337ae5e6297af6e9dc77d6
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-06-29 10:34:01 +08:00
qinglin.li f7d0660936 txhd2: dmc txhd2 pxp bring up [1/1]
PD#SWPL-119914

Problem:
dmc txhd2 pxp bring up

Solution:
dmc txhd2 pxp bring up

Verify:
txhd2

Change-Id: I698f41a9d2b70afd42b244c73a067d45275c272a
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-06-29 10:33:58 +08:00
qinglin.li 944a7bcde2 dmc_monitor: crash when work queue run in dmc irq [1/1]
PD#SWPL-128461

Problem:
crash when work queue run in dmc irq

Solution:
work queue init before irq

Verify:
sm1

Change-Id: I0f93c808269d2481bf6155058756430cf29e72d8
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-06-24 21:24:21 -07:00
qinglin.li ae17aa4b79 ddr_tool: some error need fix [1/1]
PD#SWPL-123454

Problem:
some error need fix

Solution:
dmc show include mode
ddr banwidth device port set error
ddr priority fix

Verify:
local

Change-Id: If7d3034c9e18562b42d8ca235c79566f5c18147a
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
2023-05-31 20:54:20 -07:00