Coder Social home page Coder Social logo

jeffycn / mirrors Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 4.0 5.97 GB

Mirrors of Rockchip BSP repositories, only contains yocto related ones to keep it thin since the yocto would try to clone the whole repository.

License: Other

Makefile 0.38% Shell 0.06% C 97.45% Assembly 1.89% C++ 0.03% Perl 0.10% Awk 0.01% Python 0.04% Yacc 0.01% Lex 0.01% UnrealScript 0.01% SmPL 0.01% Gherkin 0.01% XS 0.01% Raku 0.01% Roff 0.01% Clojure 0.01% M4 0.01% GDB 0.01%

mirrors's Issues

Add kernel-5.10 branch?

Can we have kernel-5.10 mirror like kernel-4.4 and kernel-4.19 mirror?

Currently there is a kernel-5.10-2022_01_10 tag used by linux-rockchip_5.10.bb, but no branch.

Out of memory (GST Rockchipmpp)

Hello. I upgraded the Rockchip GStreamer library in NanoPi R6C Debian 11 (5.10.160), but it crashed when I ran my transcoding app. I have a question: Is there any requirement for updating the lib (libgstrockchipmpp.so)? And how can I resolve the issue?

Also, my app was developed based on the previous version (2021), and it works based on that lib, but because of some errors that I saw in the system log, I wanted to upgrade it to the latest version:

This is the issue after updating the new lib (libgstrockchipmpp):
rga_api: 1.9.1
rga_driver: 1.2.26

Dec 13 16:29:56 NanoPi-R6C kernel: mali fb000000.gpu: OOM notifier: dev mali0  35564 kB
Dec 13 16:29:56 NanoPi-R6C kernel: mali fb000000.gpu: OOM notifier: tsk Xorg  tgid (771)  pid (771) 35532 kB
Dec 13 16:29:56 NanoPi-R6C kernel: stamp thread invoked oom-killer: gfp_mask=0x1100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0
Dec 13 16:29:56 NanoPi-R6C kernel: CPU: 5 PID: 2072 Comm: stamp thread Tainted: G           O      5.10.160 #194
Dec 13 16:29:56 NanoPi-R6C kernel: Hardware name: FriendlyElec NanoPi R6C (DT)
Dec 13 16:29:56 NanoPi-R6C kernel: Call trace:
Dec 13 16:29:56 NanoPi-R6C kernel:  dump_backtrace+0x0/0x1d0
Dec 13 16:29:56 NanoPi-R6C kernel:  show_stack+0x1c/0x24
Dec 13 16:29:56 NanoPi-R6C kernel:  dump_stack_lvl+0xc8/0xec
Dec 13 16:29:56 NanoPi-R6C kernel:  dump_stack+0x14/0x50
Dec 13 16:29:56 NanoPi-R6C kernel:  dump_header+0x4c/0x1ec
Dec 13 16:29:56 NanoPi-R6C kernel:  oom_kill_process+0x1c0/0x1c4
Dec 13 16:29:56 NanoPi-R6C kernel:  out_of_memory+0x1e0/0x414
Dec 13 16:29:56 NanoPi-R6C kernel:  __alloc_pages_may_oom+0x114/0x190
Dec 13 16:29:56 NanoPi-R6C kernel:  __alloc_pages_nodemask+0x984/0xcac
Dec 13 16:29:56 NanoPi-R6C kernel:  pagecache_get_page+0x1b4/0x384
Dec 13 16:29:56 NanoPi-R6C kernel:  filemap_fault+0x6ec/0x940
Dec 13 16:29:56 NanoPi-R6C kernel:  ext4_filemap_fault+0x38/0x900
Dec 13 16:29:56 NanoPi-R6C kernel:  __do_fault+0x40/0x160
Dec 13 16:29:56 NanoPi-R6C kernel:  handle_pte_fault+0x8b4/0xdc0
Dec 13 16:29:56 NanoPi-R6C kernel:  __handle_mm_fault+0x10c/0x2d0
Dec 13 16:29:56 NanoPi-R6C kernel:  handle_mm_fault+0xc4/0x234
Dec 13 16:29:56 NanoPi-R6C kernel:  do_page_fault+0x2b8/0x4c0
Dec 13 16:29:56 NanoPi-R6C kernel:  do_translation_fault+0xac/0xc0
Dec 13 16:29:56 NanoPi-R6C kernel:  do_mem_abort+0x44/0xb0
Dec 13 16:29:56 NanoPi-R6C kernel:  el0_ia+0x68/0xac
Dec 13 16:29:56 NanoPi-R6C kernel:  el0_sync_handler+0x11c/0x120
Dec 13 16:29:56 NanoPi-R6C kernel:  el0_sync+0x15c/0x180
Dec 13 16:29:56 NanoPi-R6C kernel: Mem-Info:
Dec 13 16:29:56 NanoPi-R6C kernel: active_anon:221 inactive_anon:873839 isolated_anon:0
                                    active_file:111 inactive_file:57 isolated_file:0
                                    unevictable:805 dirty:0 writeback:0
                                    slab_reclaimable:10933 slab_unreclaimable:12498
                                    mapped:273 shmem:1520 pagetables:3774 bounce:0
                                    free:19107 free_pcp:419 free_cma:0
Dec 13 16:29:56 NanoPi-R6C kernel: Node 0 active_anon:884kB inactive_anon:3495356kB active_file:444kB inactive_file:228kB unevictable:3220kB isolated(anon):0kB isolated(file):0kB mapped:1092kB dirty:0kB writeback:0kB shmem:6080kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB kernel_stack:7088kB all_unreclaimable? no
Dec 13 16:29:56 NanoPi-R6C kernel: DMA free:70852kB min:70396kB low:87992kB high:105588kB reserved_highatomic:0KB active_anon:264kB inactive_anon:3406488kB active_file:100kB inactive_file:0kB unevictable:3200kB writepending:0kB present:3913728kB managed:3815692kB mlocked:64kB pagetables:13580kB bounce:0kB free_pcp:1412kB local_pcp:248kB free_cma:0kB
Dec 13 16:29:56 NanoPi-R6C kernel: lowmem_reserve[]: 0 0 175 175
Dec 13 16:29:56 NanoPi-R6C kernel: Normal free:5576kB min:3328kB low:4160kB high:4992kB reserved_highatomic:0KB active_anon:620kB inactive_anon:88868kB active_file:252kB inactive_file:104kB unevictable:20kB writepending:0kB present:262144kB managed:179836kB mlocked:0kB pagetables:1516kB bounce:0kB free_pcp:264kB local_pcp:76kB free_cma:0kB
Dec 13 16:29:56 NanoPi-R6C kernel: lowmem_reserve[]: 0 0 0 0
Dec 13 16:29:56 NanoPi-R6C kernel: DMA: 394*4kB (UME) 299*8kB (UME) 271*16kB (UE) 248*32kB (UME) 129*64kB (UE) 63*128kB (UE) 39*256kB (UE) 25*512kB (UME) 10*1024kB (UME) 2*2048kB (U) 0*4096kB = 69680kB
Dec 13 16:29:56 NanoPi-R6C kernel: Normal: 363*4kB (U) 304*8kB (UE) 61*16kB (UE) 20*32kB (U) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 5500kB
Dec 13 16:29:56 NanoPi-R6C kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
Dec 13 16:29:56 NanoPi-R6C kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=32768kB
Dec 13 16:29:56 NanoPi-R6C kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
Dec 13 16:29:56 NanoPi-R6C kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=64kB
Dec 13 16:29:56 NanoPi-R6C kernel: 1682 total pagecache pages
Dec 13 16:29:56 NanoPi-R6C kernel: 0 pages in swap cache
Dec 13 16:29:56 NanoPi-R6C kernel: Swap cache stats: add 0, delete 0, find 0/0
Dec 13 16:29:56 NanoPi-R6C kernel: Free swap  = 0kB
Dec 13 16:29:56 NanoPi-R6C kernel: Total swap = 0kB
Dec 13 16:29:56 NanoPi-R6C kernel: 1043968 pages RAM
Dec 13 16:29:56 NanoPi-R6C kernel: 0 pages HighMem/MovableOnly
Dec 13 16:29:56 NanoPi-R6C kernel: 45086 pages reserved
Dec 13 16:29:56 NanoPi-R6C kernel: 2048 pages cma reserved
Dec 13 16:29:56 NanoPi-R6C kernel: Tasks state (memory values in pages):
Dec 13 16:29:56 NanoPi-R6C kernel: [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
Dec 13 16:29:56 NanoPi-R6C kernel: [    225]     0   225      206        1    28672        0             0 bpfilter_umh
Dec 13 16:29:56 NanoPi-R6C kernel: [    377]     0   377    16376      281    98304        0          -250 systemd-journal
Dec 13 16:29:56 NanoPi-R6C kernel: [    421]     0   421     5077      390    57344        0         -1000 systemd-udevd
Dec 13 16:29:56 NanoPi-R6C kernel: [    582]     0   582      495       15    36864        0             0 acpid
Dec 13 16:29:56 NanoPi-R6C kernel: [    587]   104   587     2161      304    49152        0          -900 dbus-daemon
Dec 13 16:29:56 NanoPi-R6C kernel: [    593]     0   593    63496      602   122880        0             0 NetworkManager
Dec 13 16:29:56 NanoPi-R6C kernel: [    600]     0   600    55219      349    77824        0             0 rsyslogd
Dec 13 16:29:56 NanoPi-R6C kernel: [    602]     0   602     3636      210    57344        0             0 systemd-logind
Dec 13 16:29:56 NanoPi-R6C kernel: [    604]     0   604     1369       57    40960        0             0 thd
Dec 13 16:29:56 NanoPi-R6C kernel: [    605]     0   605    97338      526   114688        0             0 udisksd
Dec 13 16:29:56 NanoPi-R6C kernel: [    606]     0   606     3391      165    61440        0             0 wpa_supplicant
Dec 13 16:29:56 NanoPi-R6C kernel: [    719]     0   719    58817      534    90112        0             0 polkitd
Dec 13 16:29:56 NanoPi-R6C kernel: [    725]     0   725     2543      102    49152        0             0 lcd2usb_print
Dec 13 16:29:56 NanoPi-R6C kernel: [    736]     0   736     1520       90    45056        0             0 starter
Dec 13 16:29:56 NanoPi-R6C kernel: [    750]     0   750      624       26    36864        0             0 agetty
Dec 13 16:29:56 NanoPi-R6C kernel: [    752]     0   752    76615      234    81920        0             0 lightdm
Dec 13 16:29:56 NanoPi-R6C kernel: [    753]     0   753     1005       29    32768        0             0 agetty
Dec 13 16:29:56 NanoPi-R6C kernel: [    771]     0   771   878217    19766  1052672        0             0 Xorg
Dec 13 16:29:56 NanoPi-R6C kernel: [    772]     0   772      513       27    36864        0             0 xl2tpd
Dec 13 16:29:56 NanoPi-R6C kernel: [    775]     0   775     3405      238    57344        0         -1000 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [    798]     0   798   297689      214   192512        0             0 charon
Dec 13 16:29:56 NanoPi-R6C kernel: [    903]     0   903      514       45    32768        0             0 usbdevice
Dec 13 16:29:56 NanoPi-R6C kernel: [    905]     0   905     2579        1    40960        0             0 adbd
Dec 13 16:29:56 NanoPi-R6C kernel: [    980]     0   980    40894      257    73728        0             0 lightdm
Dec 13 16:29:56 NanoPi-R6C kernel: [    985]  1000   985     4041      361    53248        0             0 systemd
Dec 13 16:29:56 NanoPi-R6C kernel: [    986]  1000   986    42129      711    90112        0             0 (sd-pam)
Dec 13 16:29:56 NanoPi-R6C kernel: [    999]  1000   999   134645     1440   229376        0             0 pulseaudio
Dec 13 16:29:56 NanoPi-R6C kernel: [   1002]  1000  1002   466013     3175   499712        0             0 xfce4-session
Dec 13 16:29:56 NanoPi-R6C kernel: [   1041]  1000  1041     2018      114    40960        0             0 dbus-launch
Dec 13 16:29:56 NanoPi-R6C kernel: [   1042]  1000  1042     2031      197    49152        0             0 dbus-daemon
Dec 13 16:29:56 NanoPi-R6C kernel: [   1057]  1000  1057     1358      115    32768        0             0 ssh-agent
Dec 13 16:29:56 NanoPi-R6C kernel: [   1069]     0  1069     3103      132    53248        0             0 bluetoothd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1150]  1000  1150    57626      199    73728        0             0 xfconfd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1168]  1000  1168    19867       65    40960        0             0 gpg-agent
Dec 13 16:29:56 NanoPi-R6C kernel: [   1170]  1000  1170   458915     3980   548864        0             0 xfwm4
Dec 13 16:29:56 NanoPi-R6C kernel: [   1174]  1000  1174    59104      225    86016        0             0 gvfsd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1200]  1000  1200    56103     1316   155648        0             0 xfsettingsd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1203]     0  1203    61319      285    86016        0             0 upowerd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1216]  1000  1216    78574     2330   192512        0             0 xfce4-panel
Dec 13 16:29:56 NanoPi-R6C kernel: [   1220]  1000  1220    84456     1202   155648        0             0 Thunar
Dec 13 16:29:56 NanoPi-R6C kernel: [   1225]  1000  1225    81362     5077   208896        0             0 xfdesktop
Dec 13 16:29:56 NanoPi-R6C kernel: [   1229]  1000  1229   145897     2047   180224        0             0 tracker-miner-f
Dec 13 16:29:56 NanoPi-R6C kernel: [   1231]  1000  1231    46163      492   110592        0             0 polkit-gnome-au
Dec 13 16:29:56 NanoPi-R6C kernel: [   1232]  1000  1232   106869     2125   196608        0             0 nm-applet
Dec 13 16:29:56 NanoPi-R6C kernel: [   1242]  1000  1242    87167      500   114688        0             0 gvfs-udisks2-vo
Dec 13 16:29:56 NanoPi-R6C kernel: [   1246]  1000  1246    47335     1232   131072        0             0 xfce4-power-man
Dec 13 16:29:56 NanoPi-R6C kernel: [   1270]  1000  1270    77621      236    98304        0             0 gvfsd-trash
Dec 13 16:29:56 NanoPi-R6C kernel: [   1277]  1000  1277    39756      153    69632        0             0 gvfsd-metadata
Dec 13 16:29:56 NanoPi-R6C kernel: [   1284]  1000  1284    84255     1227   143360        0             0 panel-6-systray
Dec 13 16:29:56 NanoPi-R6C kernel: [   1285]  1000  1285   115714     1842   155648        0             0 panel-8-pulseau
Dec 13 16:29:56 NanoPi-R6C kernel: [   1298]  1000  1298    47839     1226   135168        0             0 panel-14-action
Dec 13 16:29:56 NanoPi-R6C kernel: [   1310]     0  1310     3990      298    57344        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1312]     0  1312     3991      298    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1318]  1000  1318     4076      348    57344        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1319]  1000  1319     1461      136    45056        0             0 bash
Dec 13 16:29:56 NanoPi-R6C kernel: [   1331]  1000  1331     3991      299    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1332]  1000  1332     1340      114    45056        0             0 sftp-server
Dec 13 16:29:56 NanoPi-R6C kernel: [   1354]     0  1354     3991      299    69632        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1356]     0  1356     3991      300    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1362]  1000  1362     4076      320    69632        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1365]  1000  1365     1461      135    45056        0             0 bash
Dec 13 16:29:56 NanoPi-R6C kernel: [   1374]  1000  1374     3991      301    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1375]  1000  1375     1340      114    40960        0             0 sftp-server
Dec 13 16:29:56 NanoPi-R6C kernel: [   1385]     0  1385     3991      299    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1387]     0  1387     3991      299    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1392]  1000  1392     4076      334    65536        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1396]  1000  1396     1461      136    40960        0             0 bash
Dec 13 16:29:56 NanoPi-R6C kernel: [   1405]  1000  1405     3991      300    61440        0             0 sshd
Dec 13 16:29:56 NanoPi-R6C kernel: [   1406]  1000  1406     1340      114    40960        0             0 sftp-server
Dec 13 16:29:56 NanoPi-R6C kernel: [   1776]   999  1776    22002      185    65536        0             0 systemd-timesyn
Dec 13 16:29:56 NanoPi-R6C kernel: [   1973]  1000  1973    20336      173   151552        0             0 journalctl
Dec 13 16:29:56 NanoPi-R6C kernel: [   2067]  1000  2067     2752      139    57344        0             0 sudo
Dec 13 16:29:56 NanoPi-R6C kernel: [   2068]     0  2068   188593      300   147456        0             0 MediaServer
Dec 13 16:29:56 NanoPi-R6C kernel: [   2223]  1000  2223     1985      103    49152        0             0 dbus-launch
Dec 13 16:29:56 NanoPi-R6C kernel: [   2224]  1000  2224     1920       93    45056        0             0 dbus-daemon
Dec 13 16:29:56 NanoPi-R6C kernel: [   3192]     0  3192      581       15    32768        0             0 anacron
Dec 13 16:29:56 NanoPi-R6C kernel: [   3203]  1000  3203   108180     2936   167936        0             0 tracker-store
Dec 13 16:29:56 NanoPi-R6C kernel: [   3292]  1000  3292     1360       69    40960        0             0 bash
Dec 13 16:29:56 NanoPi-R6C kernel: [   3297]  1000  3297  1357792   817803  7102464        0             0 demo
Dec 13 16:29:56 NanoPi-R6C kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-3.scope,task=demo,pid=3297,uid=1000
Dec 13 16:29:56 NanoPi-R6C kernel: Out of memory: Killed process 3297 (demo) total-vm:5431168kB, anon-rss:3271208kB, file-rss:0kB, shmem-rss:4kB, UID:1000 pgtables:6936kB oom_score_adj:0
Dec 13 16:29:56 NanoPi-R6C kernel: oom_reaper: reaped process 3297 (demo), now anon-rss:0kB, file-rss:0kB, shmem-rss:4kB
Dec 13 16:30:20 NanoPi-R6C org.freedesktop.Tracker1[3203]: OK
Out of memory: Killed processDec 13 16:34:35 NanoPi-R6C anacron[3192]: Job `cron.daily' started

cannot compile successfully

I am compiling this lib on the rk3588 box directly, not cross compile. But it always complain error messages like this.
A lot of symbols not defined. I do not know if there is some config error. I am using ubuntu aarch64.


/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp: In constructor 'RockchipRga::RockchipRga()':
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp:109:9: error: 'ALOGE' was not declared in this scope
  109 |         ALOGE("%s", RGA_API_FULL_VERSION);
      |         ^~~~~
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp: In destructor 'RockchipRga::~RockchipRga()':
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp:113:9: error: 'RgaDeInit' was not declared in this scope; did you mean 'RkRgaDeInit'?
  113 |         RgaDeInit(&mContext);
      |         ^~~~~~~~~
      |         RkRgaDeInit
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp: In member function 'int RockchipRga::RkRgaInit()':
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp:122:15: error: 'RgaInit' was not declared in this scope; did you mean 'RkRgaInit'?
  122 |         ret = RgaInit(&mContext);
      |               ^~~~~~~
      |               RkRgaInit
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp: In member function 'void RockchipRga::RkRgaDeInit()':
/data/librga_dev/mirrors-linux-rga-multi/core/RockchipRga.cpp:133:13: error: 'RgaDeInit' was not declared in this scope; did you mean 'RkRgaDeInit'?
  133 |             RgaDeInit(&mContext);

U-Boot fails to generate for PX30

Not possible to build U-Boot for PX30.

| Platform PX30 is build OK, with exist .config
| 
| Thu Jan  6 10:27:56 AM UTC 2022
| NOTE: u-boot: Generating idblock.img from loader.bin
| unpack entry(px30_ddr_333MHz_v1)
| unpack entry(px30_usbplug_v1)
| unpack entry(FlashData)
| unpack entry(FlashBoot)
| unpack success
| Error: SPL image is too large (size 0x3000 than 0x2800)
| Error: Bad parameters for image type
| Usage: ./tools/mkimage -l image
|           -l ==> list image header information
|        ./tools/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
|           -A ==> set architecture to 'arch'
|           -O ==> set operating system to 'os'
|           -T ==> set image type to 'type'
|           -C ==> set compression type 'comp'
|           -a ==> set load address to 'addr' (hex)
|           -e ==> set entry point to 'ep' (hex)
|           -n ==> set image name to 'name'
|           -d ==> use image data from 'datafile'
|           -x ==> set XIP (execute in place)
|        ./tools/mkimage [-D dtc_options] [-f fit-image.its|-f auto|-F] [-b  [-b ]] [-i ] fit-image
|             file is used with -f auto, it may occur multiple times.
|           -D => set all options for device tree compiler
|           -f => input filename for FIT source
|           -i => input filename for ramdisk file
|           -v => set FIT image version in decimal
| Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)
|        ./tools/mkimage -V ==> print version information and exit
| Use '-T list' to see a list of available image types
| WARNING: exit code 1 from a shell command.

This problem exists since 413d2f5.
Before px30_ddr_333MHz_v1.15.bin was exactly 10.240 Bytes (= 0x2800) and everything was fine.
But since update to px30_ddr_333MHz_v1.16.bin it is 10.248 Bytes and therefore does not fit.

Does linux-rga-multi support RK3328?

I don't see RK3328 listed in the supported chips in the linux-rga-multi branch.

Is it an omission or is RK3328 not supported there?

I'm using the linux-rga branch and it works fine (4.4 kernel).

Two issues about the upcoming 6.1 kernel release

I'm not sure if these have been fixed in the 6.1 final release. Therefore I report them here so that you can forward it to the corresponding developers. cc @JeffyCN


  1. rk_system_heap.c is still not ported to 6.1 yet, which causes MPP runtime to crash in DMA_HEAP allocator.

https://github.com/JeffyCN/mirrors/blob/kernel-6.1-2024_01_02/drivers/dma-buf/heaps/Makefile#L2

ls -l /dev/dma_heap/
total 0
crw------- 1 root root 251, 1 Jan 18 18:50 cma
crw------- 1 root root 251, 0 Jan 18 18:50 system

  1. rockchip_drm_gem.c cacheable memory flag is broken during manual merging. It causes very slow copying from the decoder frame pool.

https://github.com/JeffyCN/mirrors/blob/kernel-6.1-2024_01_02/drivers/gpu/drm/rockchip/rockchip_drm_gem.c#L550

A simple fix is this:

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index 3a32a03e91f8..f386f44f825b 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -546,10 +546,6 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj,
 	int ret;
 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
 
-	/* default is wc. */
-	if (rk_obj->flags & ROCKCHIP_BO_CACHABLE)
-		vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
-
 	/*
 	 * Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the
 	 * whole buffer from the start.
@@ -566,6 +562,10 @@ static int rockchip_drm_gem_object_mmap(struct drm_gem_object *obj,
 	vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
 	vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
 
+        /* default is wc. */
+        if (rk_obj->flags & ROCKCHIP_BO_CACHABLE)
+                vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
+
 	if (rk_obj->buf_type == ROCKCHIP_GEM_BUF_TYPE_SECURE) {
 		DRM_ERROR("Disallow mmap for secure buffer\n");
 		ret = -EINVAL;

ldconfig: file /usr/lib/mali/libmali-midgard-t86x-r18p0-x11.so is truncated

I am building Deb packages MALI USERSPACE DRIVER from mali branch
I build packages using the command:

debuild -us -uc -b

ARCH=arm64
Rootfs = Debian 10 Buster
I am building a Deb package for RK3399 that uses the Mali T86x. Packages are assembled without errors, however, after installing them into the system, ldconfig returns the following warnings:

apt install ./libmali-midgard-t86x-r18p0-x11_1.9-1_arm64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libmali-midgard-t86x-r18p0-x11' instead of './libmali-midgard-t86x-r18p0-x11_1.9-1_arm64.deb'
The following NEW packages will be installed:
  libmali-midgard-t86x-r18p0-x11
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/8013 kB of archives.
After this operation, 29.8 MB of additional disk space will be used.
Get:1 /work/libmali-midgard-t86x-r18p0-x11_1.9-1_arm64.deb libmali-midgard-t86x-r18p0-x11 arm64 1.9-1 [8013 kB]
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libmali-midgard-t86x-r18p0-x11.
(Reading database ... 71506 files and directories currently installed.)
Preparing to unpack .../libmali-midgard-t86x-r18p0-x11_1.9-1_arm64.deb ...
Unpacking libmali-midgard-t86x-r18p0-x11 (1.9-1) ...
Setting up libmali-midgard-t86x-r18p0-x11 (1.9-1) ...
Processing triggers for libc-bin (2.28-10+deb10u2) ...
ldconfig: file /usr/lib/aarch64-linux-gnu/libmali.so is truncated

ldconfig: file /usr/lib/aarch64-linux-gnu/libMali.so.1 is truncated

ldconfig: file /usr/lib/aarch64-linux-gnu/libmali.so.1.9.0 is truncated

ldconfig: file /usr/lib/aarch64-linux-gnu/libmali.so.1 is truncated

ldconfig: file /usr/lib/aarch64-linux-gnu/libmali-midgard-t86x-r18p0-x11.so is truncated

Can you tell me what's going wrong?

linux-rga-im2d分支平台重复写的代码有点冗余

很多这样的代码:
#if defined(arm64) || defined(aarch64)
xxxxxxx
#else
yyyyyyy
#endif

这其实就是几个参数的类型不一致而已,而重复写了多次这样的接口,不如改成这样:
#if defined(arm64) || defined(aarch64)
typedef unsigned long arch_type_t;
#else
typedef unsigned int arch_type_t;
#endif

然后利用arch_type_t去合并那几个变量的类型

Kernel 5.10 PX30 Device Tree issues

Hi Jeffy,
There are some issues with compiling Kernel 5.10 Device Tree on PX30 (e. g. non-existent nodes / labels). I think this would require some patching from Rockchip.
However, I have temporarily created some patch as a workaround to be able to build the dtb. But unfortunately the Kernel won't boot:

...
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x3d8/0x5c4 with crng_init=0
[    0.000000] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
[    0.000000] Mem abort info:
[    0.000000]   ESR = 0x96000005
[    0.000000]   EC = 0x25: DABT (current EL), IL = 32 bits
[    0.000000]   SET = 0, FnV = 0
[    0.000000]   EA = 0, S1PTW = 0
[    0.000000] Data abort info:
[    0.000000]   ISV = 0, ISS = 0x00000005
[    0.000000]   CM = 0, WnR = 0
[    0.000000] [0000000000000008] user address but active_mm is swapper
[    0.000000] Internal error: Oops: 96000005 [#1] SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.66-rockchip-standard #1
[    0.000000] Hardware name: Rockchip linux PX30 evb ddr3 board (DT)
[    0.000000] pstate: 80000085 (Nzcv daIf -PAN -UAO -TCO BTYPE=--)
[    0.000000] pc : px30_pmu_clk_init+0xb8/0x118
[    0.000000] lr : px30_pmu_clk_init+0x80/0x118
[    0.000000] sp : ffffffc011593eb0
[    0.000000] x29: ffffffc011593ec0 x28: 0000000001230018 
[    0.000000] x27: 0000000000000001 x26: ffffff807fbdd7d8 
[    0.000000] x25: ffffff8001c05400 x24: dead000000000100 
[    0.000000] x23: ffffffc0118c1000 x22: ffffffc011086dd0 
[    0.000000] x21: ffffff807fbdd7d8 x20: ffffffc010c39c28 
[    0.000000] x19: ffffff8001d8c500 x18: 0000000000000000 
[    0.000000] x17: 0000000035c5f6ec x16: 0000000000000014 
[    0.000000] x15: 0000000000000010 x14: 00000000ff140000 
[    0.000000] x13: ffffff8001d8c690 x12: 0000000000000038 
[    0.000000] x11: 0000000000000004 x10: 0101010101010101 
[    0.000000] x9 : ffffffc01087dbd0 x8 : 0000000000000005 
[    0.000000] x7 : 0000000000000001 x6 : 00000000171f13e7 
[    0.000000] x5 : 67131f1700000000 x4 : 8000000000000000 
[    0.000000] x3 : 0000000000000480 x2 : 0000000000000001 
[    0.000000] x1 : 0000000000000000 x0 : ffffff8001d8c500 
[    0.000000] Call trace:
[    0.000000]  px30_pmu_clk_init+0xb8/0x118
[    0.000000]  of_clk_init+0x1dc/0x230
[    0.000000]  time_init+0x1c/0x54
[    0.000000]  start_kernel+0x468/0x5c4
...

Since I saw your answer on #2 I think I have to start a bug report on Redmine, right?
I already asked for user registration at https://redmine.rock-chips.com/
Hope this is the right place...

Framerate is Insane Warnings Despite Valid Frame Rate

When using RGA for hardware accelerated video conversion, the mpph264enc element logs a WARN message indicating that the framerate 0/1 is insane!. The frame rate is specified in a cap at the element v4l2src which is being used to capture from the /dev/video0 device so it is understood that the frame rate is valid.

This framerate 0/1 is insane WARN message is logged for any frame rate that is fed to the mpph264enc element. GStreamer graphs also validate that the expected frame rate is being sent to mpph264enc.

It is believed that the issue may lie with the usage of this line gst_video_info_set_format (info, gst_mpp_mpp_format_to_gst_format (format), width, height); at line 650 of the gstmppenc.c file (link).

The function gst_video_info_set_format () appears to not preserve any values passed in from the info object according to the GStreamer documentation linked here.

Because converting with RGA is enabled, we enter a logic path where the function gst_video_info_set_format () is called and that clears all values in the info object. The framerate data gets cleared thus causing the WARN log framerate 0/1 is insane! and the framerate to always default to the value of DEFAULT_FPS.

Could it be possible to temporarily save the frame rate data before this gst_video_info_set_format () function is called and add the data back to the info object after the function returns?

rk3562 support

*** No rule to make target 'arch/arm64/boot/dts/rockchip/rk3562-evb1-lp4x-v10-linux.dtb'.  Stop.

when use yocto build for rk3562

TSP build fails

hi,
you're the only one that answers about rockchip devel. I'm facing a build problem related to RK3328 TSP.
seems that devel is incomplete or something is incomplete. build fails because of missing rk_tsp_api.h file.

|   CC      drivers/media/platform/rockchip-tsp/rockchip_tsp.o
| /home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/drivers/media/platform/rockchip-tsp/rockchip_tsp.c:43:10: fatal error: linux/rk_tsp_api.h: No such file or directory
|    43 | #include <linux/rk_tsp_api.h>
|       |          ^~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[6]: *** [/home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/scripts/Makefile.build:278: drivers/media/platform/rockchip-tsp/rockchip_tsp.o] Error 1
| make[5]: *** [/home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/scripts/Makefile.build:484: drivers/media/platform/rockchip-tsp] Error 2
| make[4]: *** [/home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/scripts/Makefile.build:484: drivers/media/platform] Error 2
| make[4]: *** Waiting for unfinished jobs....
| make[3]: *** [/home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/scripts/Makefile.build:484: drivers/media] Error 2
| make[3]: *** Waiting for unfinished jobs....
| make[2]: *** [/home/ballest/rockhevc_workspace/bsp/linux/linux-rockchip_4.4/Makefile:1036: drivers] Error 2
| make[1]: *** [Makefile:152: sub-make] Error 2
| make: *** [Makefile:24: __sub-make] Error 2

is TSP support broken for my chip? Can you help me?
I really need this interface for a project I'm working on and I'm a little bit worried about it.

thank you
davide

在ubuntu 22.04的嵌入式服务器系统上报:could not initialize canvas

在ubuntu22.04
下载源码后meson build 发现生成的.so只有8.2kb,ninja ---> ninja install 后,把安装目录的.so文件覆盖到系统/usr/lib/aarch64-linux-gnu/目录下
运行glmark2-es2-drm 报错:
root@localhost:/usr/lib/aarch64-linux-gnu# ls libmali* libMali* libEGL* libgbm* libGLES* -l -h
lrwxrwxrwx 1 root root 11 Apr 15 15:07 libEGL.so -> libEGL.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libEGL.so.1
lrwxrwxrwx 1 root root 17 Apr 15 15:07 libGLESv1_CM.so -> libGLESv1_CM.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv1_CM.so.1
lrwxrwxrwx 1 root root 14 Apr 15 15:07 libGLESv2.so -> libGLESv2.so.2
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libGLESv2.so.2
lrwxrwxrwx 1 root root 18 Apr 15 15:07 libMaliOpenCL.so -> libMaliOpenCL.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libMaliOpenCL.so.1
lrwxrwxrwx 1 root root 11 Apr 15 15:07 libgbm.so -> libgbm.so.1
-rwxr-xr-x 1 root root 8.2K Apr 15 15:07 libgbm.so.1
lrwxrwxrwx 1 root root 12 Apr 15 15:07 libmali-bifrost-g52-g13p0-gbm.so -> libmali.so.1
-rw-r--r-- 1 root root 3.6K Apr 15 14:59 libmali-hook-injector.a
lrwxrwxrwx 1 root root 17 Apr 15 15:07 libmali-hook.so -> libmali-hook.so.1
lrwxrwxrwx 1 root root 21 Apr 15 15:07 libmali-hook.so.1 -> libmali-hook.so.1.9.0
-rwxr-xr-x 1 root root 23K Apr 15 15:07 libmali-hook.so.1.9.0
lrwxrwxrwx 1 root root 12 Apr 15 15:07 libmali.so -> libmali.so.1
lrwxrwxrwx 1 root root 16 Apr 15 15:07 libmali.so.1 -> libmali.so.1.9.0
-rwxr-xr-x 1 root root 42M Apr 15 15:07 libmali.so.1.9.0
root@localhost:/usr/lib/aarch64-linux-gnu# glmark2-es2-drm
arm_release_ver: g13p0-01eac0, rk_so_ver: 10
Error: eglCreateWindowSurface failed with error: 0x3009
Error: eglCreateWindowSurface failed with error: 0x3009
Error: CanvasGeneric: Invalid EGL state
Error: main: Could not initialize canvas

同样的方法在ubuntu23.10系统下,能正常运行glmark2-es2-drm
root@localhost:~# glmark2-es2-drm
arm_release_ver: g13p0-01eac0, rk_so_ver: 10

glmark2 2023.01

=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-G52
GL_VERSION: OpenGL ES 3.2 v1.g13p0-01eac0.fdf91928d758c45c1787782175b35c6a
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x480 fullscreen

[build] use-vbo=false: FPS: 60 FrameTime: 16.697 ms
[build] use-vbo=true: FPS: 60 FrameTime: 16.679 ms
[texture] texture-filter=nearest: FPS: 60 FrameTime: 16.671 ms
[texture] texture-filter=linear: FPS: 60 FrameTime: 16.693 ms
[texture] texture-filter=mipmap: FPS: 60 FrameTime: 16.672 ms
[shading] shading=gouraud: FPS: 60 FrameTime: 16.701 ms
[shading] shading=blinn-phong-inf: FPS: 60 FrameTime: 16.693 ms
[shading] shading=phong: FPS: 60 FrameTime: 16.687 ms
[shading] shading=cel: FPS: 60 FrameTime: 16.691 ms
[bump] bump-render=high-poly: FPS: 60 FrameTime: 16.717 ms
[bump] bump-render=normals: FPS: 60 FrameTime: 16.681 ms
[bump] bump-render=height: FPS: 60 FrameTime: 16.685 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 60 FrameTime: 16.678 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 60 FrameTime: 16.703 ms
[pulsar] light=false:quads=5:texture=false: FPS: 60 FrameTime: 16.692 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 60 FrameTime: 16.689 ms
[desktop] effect=shadow:windows=4: FPS: 60 FrameTime: 16.679 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 43 FrameTime: 23.739 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 42 FrameTime: 24.119 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 60 FrameTime: 16.690 ms
[ideas] speed=duration: FPS: 60 FrameTime: 16.689 ms
[jellyfish] : FPS: 60 FrameTime: 16.692 ms
[terrain] : FPS: 33 FrameTime: 30.709 ms
[shadow] : FPS: 60 FrameTime: 16.674 ms
[refract] : FPS: 58 FrameTime: 17.336 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 60 FrameTime: 16.681 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 60 FrameTime: 16.695 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 60 FrameTime: 16.691 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 60 FrameTime: 16.677 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 60 FrameTime: 16.700 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 60 FrameTime: 16.686 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 60 FrameTime: 16.689 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 60 FrameTime: 16.691 ms

                              glmark2 Score: 57

=======================================================

gstreamer-rockchip cannot decode NV16

@JeffyCN

I updated gstreamer-rockchip and it cannot decode NV16 anymore.
My previous version that worked was with the commit: 2ed1e68

gst-launch-1.0 filesrc location=/apps/Videos/Poltergeist_DOM_TrailerD-1080p-HDTN.mp4 ! qtdemux ! h264parse ! mppvideodec arm-afbc=1 ! waylandsink

Libmali with Vulkan support for RK3588 (mali G610)

Hello!

I have a question about https://github.com/tsukumijima/libmali-rockchip.git (this repo, branch libmali):
I use OrangePi5B device, trying to build on Ubuntu for -Dplatform=vulkan with error:
The Meson build system Version: 0.61.2 Source dir: /home/orangepi/git/libmali-rockchip Build dir: /home/orangepi/git/libmali-rockchip/build Build type: native build Project name: libmali Project version: 1.9.0 C compiler for the host machine: cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0") C linker for the host machine: cc ld.bfd 2.38 Host machine cpu family: aarch64 Host machine cpu: aarch64 Message: Building for aarch64|valhall|g610|g13p0|vulkan|O3 meson.build:40:2: ERROR: Problem encountered: Failed to find matched library

As i understand, i need a prebuilt library like libmali-valhall-g610-g13p0-vulkan-gbm.so in lib/ folder? If so, where can i take it/build it?
If i build with this command:
meson build . -Dgpu=valhall -Dversion=g610 -Dsubversion=g13p0 -Dplatform=x11
Everything is fine, EXCEPT this:
Checking for function "vk_icdGetInstanceProcAddr" with dependency -lmali-prebuilt: NO

T620 seems to work with vulkan cause of data/mali.json.in commit with confirmation that it works correctly.
"Tested with an internal version of DDK for vulkan, vulkaninfo works."

Best regards,
Vadim.

linux-libc-headers-4.19-custom-r0 do_install: oe_runmake failed

i want to create image for rockchip-rk3399pro-evb machine conf
but I have following error

ERROR: linux-libc-headers-4.19-custom-r0 do_install: oe_runmake failed
ERROR: linux-libc-headers-4.19-custom-r0 do_install: ExecutionError('/home/mahdi2001h/kirkstone/build/orangepi_lts/tmp/work/armv8a-poky-linux/linux-libc-headers/4.19-custom-r0/temp/run.do_install.31969', 1, None, None)
ERROR: Logfile of failure stored in: /home/mahdi2001h/kirkstone/build/orangepi_lts/tmp/work/armv8a-poky-linux/linux-libc-headers/4.19-custom-r0/temp/log.do_install.31969
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/bison/bison_3.8.2.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/rsync/rsync_3.2.5.bb:do_populate_sysroot', 'virtual:native:/home/mahdi2001h/kirkstone/layers/poky/meta/recipes-devtools/unifdef/unifdef_2.12.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['quilt-native', 'bison-native', 'patch-native', 'pkgconfig-native', 'pseudo-native', 'rsync-native', 'unifdef-native', 'xz-native', 'flex-native', 'libtool-native', 'gettext-minimal-native', 'texinfo-dummy-native', 'popt-native', 'acl-native', 'attr-native', 'm4-native', 'gnu-config-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_install
| NOTE: make -j 4 HOSTCC=gcc  HOSTCPP=gcc  -E headers_install INSTALL_HDR_PATH=/home/mahdi2001h/kirkstone/build/orangepi_lts/tmp/work/armv8a-poky-linux/linux-libc-headers/4.19-custom-r0/image/usr
| make: *** No rule to make target 'headers_install'.  Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/mahdi2001h/kirkstone/layers/meta-rockchip/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19-custom.bb:do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 691 tasks of which 690 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/mahdi2001h/kirkstone/layers/meta-rockchip/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19-custom.bb:do_install
Summary: There were 2 ERROR messages, returning a non-zero exit code.

DSI2 driver looping with -EPROBE_DEFER in kernel 6.1

This issue is not 100% reproducible (depends on which device you're using, what dts you have, which driver is used for your DSI panel, maybe even which DSI port, etc.), but when it happens, you end up with a non-working screen and sometimes unbootable device, which keeps logging these:

dw-mipi-dsi2 fde30000.dsi: [drm:dw_mipi_dsi2_bind] *ERROR* Failed to find panel or bridge: -517

This happens because the Rockchip DSI driver registers itself as MIPI host during probe, then proceeds to register all sub-components, then realize the panel isn't available yet (unless, for some reason, it managed to get probed sooner), and defer.
This doesn't work with 6.1 though, and results in an endless loop. The kernel docs also advice against this:

-EPROBE_DEFER must not be returned if probe() has already created child devices, even if those child devices are removed again in a cleanup path. If -EPROBE_DEFER is returned after a child device has been registered, it may result in an infinite loop of .probe() calls to the same driver.

The correct way is to let the DSI driver register as host, then wait for the panel driver to be registered and probed, and then let the panel driver trigger attach, that will in turn register the DSI driver's sub-components.

Please refer to this commit: armbian/linux-rockchip#168 that seems to have fixed the issue for those who had it. It would be nice to have this fixed in the Rockchip's own repository as well.

HDMI output issue on RK3568 - kernel 4.19.193 - linux

Hi @JeffyCN / @HermanChen
I have a black screen for HDMI output on RK3568. HDMI output works fine on RK3399.
How can I troubleshoot HDMI?
Radxa kernel 4.19.193 works fine for HDMI but it is somewhat outdated.

No kernel message error for HDMI

[    0.451780] rockchip-drm display-subsystem: Linked as a consumer to fe0a0000.hdmi
[    0.455410] dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY)
[    0.456262] dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver
[    0.457217] rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops 0xffffff8008fa66a8)
[    1.195352] asoc-simple-card hdmi-sound: i2s-hifi <-> fe400000.i2s mapping ok
[    1.866690]   #0: rockchip,hdmi

rga_img_info_t 结构体在 librga 和 内核 RGA3 代码定义不一致

librga的定义:

mirrors/include/rga.h

Lines 204 to 226 in a1b05b8

typedef struct rga_img_info_t {
#if defined(__arm64__) || defined(__aarch64__)
unsigned long yrgb_addr; /* yrgb mem addr */
unsigned long uv_addr; /* cb/cr mem addr */
unsigned long v_addr; /* cr mem addr */
#else
unsigned int yrgb_addr; /* yrgb mem addr */
unsigned int uv_addr; /* cb/cr mem addr */
unsigned int v_addr; /* cr mem addr */
#endif
unsigned int format; //definition by RK_FORMAT
unsigned short act_w;
unsigned short act_h;
unsigned short x_offset;
unsigned short y_offset;
unsigned short vir_w;
unsigned short vir_h;
unsigned short endian_mode; //for BPP
unsigned short alpha_swap;
}
rga_img_info_t;

RGA3的定义:

struct rga_img_info_t {
/* yrgb mem addr */
uint64_t yrgb_addr;
/* cb/cr mem addr */
uint64_t uv_addr;
/* cr mem addr */
uint64_t v_addr;
/* definition by RK_FORMAT */
uint32_t format;
uint16_t act_w;
uint16_t act_h;
uint16_t x_offset;
uint16_t y_offset;
uint16_t vir_w;
uint16_t vir_h;
uint16_t endian_mode;
/* useless */
uint16_t alpha_swap;
/* used by RGA3 */
uint16_t rotate_mode;
uint16_t rd_mode;
uint16_t compact_mode;
uint16_t is_10b_endian;
uint16_t enable;
};

RGA3 内核定义多了20字节,加上 rga_img_info_t 在 rga_req 结构体里多次使用,而且不是在 rga_req 末尾,导致 librga 与 RGA3 的 API 和 ABI 都不兼容。

struct rga_req {
/* (enum) process mode sel */
uint8_t render_mode;
struct rga_img_info_t src;
struct rga_img_info_t dst;
struct rga_img_info_t pat;
/* rop4 mask addr */
uint64_t rop_mask_addr;

也就是说,我基于 librga 构建的程序,在使用 RGA3 提供的内核设备时,会出现结构体参数错乱的问题,这问题已经在 RK3568 板子上实际复现过。

请问,librga 是否不兼容 RGA3 驱动?如果不兼容,librga 或者 RGA3 驱动有没有 ABI 兼容的计划?

RGA2 Error on rk3568 When Handling Memory Larger Than 4G!

On the rk3568 platform, the RGA2 is reporting an error when handling memory larger than 4G. Is there a need to modify the gstreamer-rockchip or mpp code to address this issue? Thank you!
rga driver version:RGA multicore Device Driver: v1.2.25
rga API version:rga_api version 1.10.0_[5]

截屏2024-03-09 11 45 34

mpp_frame: pointer 0x7fa81a4b98 failed on mpp_frame_deinit check mpp_frame

Hello. While transcoding the Dahua IP camera streams via Onvif (RTSPOnvif URL), I encountered a stop issue during decoding, and the task was stopped (failed) after the scene was changed. I don't see any error in the GStreamer debug; I just see this error in the system log:

ad4e6e5e165e8b2cdf8a94d71e492f2
847a926b492fb223f68cb21ca21ebf5

Is there any issue related to MPP or the GST plugin? My application is based on Gstreamer, and I use libgstrockchipmpp.
I have this issue in the new and old versions of the lib. Also, I don't have this issue via the RTSP URL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.