Commit Graph

37 Commits

Author SHA1 Message Date
timkingh.huang
6588b71f2b fix[mpp_meta]: Add KEY_NPU_UOBJ_FLAG and KEY_NPU_SOBJ_FLAG
UOBJ: deliver userspace buffer for rk3588 and rk3576
SOBJ: deliver shared memory buffer for rv1126b

Sync to kmpp-develop patch with the same log:
If596371639eaedb01d6900c737d1f7fec49bf8d4

Change-Id: I8927f6341b5d3f94bf52af32c02b75cd24ad0681
Signed-off-by: timkingh.huang <timkingh.huang@rock-chips.com>
2025-09-01 17:35:25 +08:00
Yanjun Liao
9a6bf0e0b0 fix[kmpp_obj]: Fix obj ioctl typo
Use "flags" instead of "flag" for KmppIoc entry

Change-Id: I87b0557a09cfad87d825836de1c6be72478957e5
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-08-28 14:52:11 +08:00
Yandong Lin
0ce028aaa9 fix[kmpp_buffer]: Close fd when deinit
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ie12c20ecaa6d2b090d257e8fe1ba8f578da4a054
2025-08-12 09:27:30 +00:00
xiaoxu.chen
bb2f5bba51 refactor[kmpp]: Fix kmpp obj compilation warning
Change-Id: I081c631b1e921b67324e81dc193732b338aefe17
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-08-12 10:39:52 +08:00
xiaoxu.chen
45246e9c89 fix[kmpp_obj]: Fix kmpp obj get by sptr
Change-Id: I2db2823448351200ac25ae5496319e80fee2985e
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-08-11 10:07:23 +08:00
Yanjun Liao
225418ca78 fix[kmpp_obj]: Rename kmpp_obj_impl_put func
Change-Id: I08313a43e68fe93ecf141505a2be4439a5b507f8
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-08-04 01:51:03 +00:00
Yanjun Liao
7fbdfbe3c1 fix[kmpp_obj]: Fix kmpp frm/pkt self meta erro
Change-Id: Ibfb4409962e4f35fdcc73cf239253b44a86a52ce
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-08-03 14:05:33 +08:00
Yanjun Liao
47cfaf2497 fix[kmpp_frame]: Remove unnecessary logs
Change-Id: I7c0a80540f2f80113fd70fec15e148dcec90325c
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-30 18:55:59 +08:00
Yanjun Liao
a899106f89 feat[kmpp]: Replace frame_infos with kmpp_frame
kernel patch:
fix[mpp_vcodec]: Replace frame_infos with kmpp_frame

Change-Id: Ie3b0358a7b79ad9755608f20b5b29175263b4dbb
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-30 18:39:07 +08:00
Herman Chen
9abddf0a7b chore[kmpp_meta]: Disable failure log
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I5d721014bac6345c32644cdadd4da7750f671100
2025-07-30 15:54:47 +08:00
Yanjun Liao
40d1857674 feat[kmpp_frame]: Add self_meta in kmpp_frame
Change-Id: Ieddb482e06c5230e04d6b05dec5bf48c307c411e
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-29 10:22:44 +08:00
Yanjun Liao
f47eae175c feat[kmpp_buffer]: Add ioctl to inc ref and flush
Change-Id: Ia0c12d6bae71246c17e0a065761439702c529af9
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-28 22:30:35 +08:00
Herman Chen
f317f8c50f chore[kmpp_obj]: Add is_kobj query function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3fde40bd823d5ca336931fc4e959cfb1deb96498
2025-07-17 18:10:55 +08:00
Yanjun Liao
2bec3a942d fix[kmpp_obj]: Update tbl after objdef registration
Change-Id: If97e9333be2a9a14e01252e51c98641a632f9c07
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-07-10 10:32:15 +08:00
Herman Chen
4f102251f3 feat[kmpp]: Add KmppMeta module
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Change-Id: If4cc861cd1598e0b66842f8f21256a1a0000b4a6
2025-07-09 14:20:19 +08:00
Yanjun Liao
69191e72d3 feat[kmpp]: Add KmppBuffer module
1. Add buf_grp, buf_grp_cfg, buffer, buf_cfg objdef.
2. The buf_grp_cfg is binded to buf_grp and the buf_cfg is binded to
buffer. The binding cfg obj is stored in private data.

Change-Id: I9243c03f7b9519536fdc2f24b62761dc04baac85
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2025-07-09 10:39:15 +08:00
Herman Chen
28f17c9ebf feat[kmpp_obj]: Add priv prop support for objdef
1. Add KMPP_OBJ_PRIV_SIZE for extra priv data to userspace KmppObjImpl.
2. When add private data realloc mempool for KmppObjImpl.

Change-Id: Ifc6d210cc77497cc9cbd5d86ad1ddcf2ba0fc4af
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2025-07-08 23:53:36 +08:00
Herman Chen
5497c458fe fix[kmpp_obj]: Fix grp_cfg and buf_cfg leak in kmpp_obj_test
1. Use mem pool to alloc KmppObjImpl
2. Add kmpp_obj_put_impl to release KmppObjImpl header only.
3. Add grp_cfg and buf_cfg release operation.
4. Use MPP_SINGLETON to init kmpp_venc_cfg.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I865d4d990d7e89598b2f17d85460b809f7f602df
2025-07-08 17:48:39 +08:00
Yanjun Liao
04908eb50b fix[kmpp_obj]: Undef KMPP_OBJ_SGLN_ID macro
Undefine KMPP_OBJ_SGLN_ID macro for multi helper.h in one file.

Change-Id: Iccc4062ee6d17359bfd7fefc07ac3d3d17c367e1
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
2025-06-17 19:48:46 +08:00
Herman Chen
5e67bcdf71 chore[kmpp]: Modify kmpp_objs init / deinit order
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia8fac55bc43f092a6b76bd9f5b7706f4d28bde1d
2025-06-17 11:54:39 +08:00
Herman Chen
e31839cc74 refactor[mpp_mem_pool]: Add exit leak pool print
1. Refactor caller parameter on pool functions.
2. Add name on pool init.
3. Add exit leak pool print.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I39a8a966db895340a9e01ddff3a7894f1ca4b825
2025-06-17 11:09:54 +08:00
Hongjin Li
dee9bced95 fix[mpp_singleton]: fix init order issue
Platform: General
Spec: all

Error case:
Constructors may be added after 65535(mpp_singleton_init)
ex: mpp_platform added after 65535 when mpp_soc is
    refactored to c

Signed-off-by: Hongjin Li <vic.hong@rock-chips.com>
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
Change-Id: If736904beb0cd64a3e4ae3b20fd72e1198646ac7
2025-06-06 16:25:38 +08:00
xiaoxu.chen
08bbde04bd feat[kmpp_packet]: Add kmpp_packet interface
Change-Id: If913e5deb0077b8fe59f2a6a5eebfcd76fcabf7b
Signed-off-by: xiaoxu.chen <xiaoxu.chen@rock-chips.com>
2025-06-05 20:14:47 +08:00
Herman Chen
fddfc9db2e chore[kmpp_obj]: Add from objs device macro
Combine kernel objdef and userspace objdef process.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Change-Id: Icf1ad03af8df3d1450138d3a9161b2dd20bb59f5
2025-06-05 17:54:04 +08:00
Herman Chen
47ba2a350e chore[kmpp_obj]: Add more obj function
1. Add update flag copy function.
2. Add entry copy function.
3. Fix register log.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I4059c63cd3bbcab86144eaad38c0fc30c9ee52a8
2025-06-05 11:36:24 +08:00
Herman Chen
22febcaca8 chore[kmpp_obj]: Update flag calculation macro
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib8071bce985e6f5dc09580ca8d944118e5b05c63
2025-06-01 13:18:52 +00:00
Herman Chen
ebb4987988 fix[kmpp_obj]: Update helper macro
1. Fix ELEM_FLAG handle error.
2. Move some macro to kmpp_obj_macro.h

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0e177e1aeb8e21327f7c84ace28ca890955b135f
2025-05-29 02:13:00 +00:00
Herman Chen
c384c5e8fd fix[kmpp_obj]: Remove extra print in helper
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I5fb1db340ee85e83927ebe84ee6cc6da4dc8fbbb
2025-05-27 09:58:55 +08:00
Herman Chen
f662bfc1c1 feat[kmpp_obj]: Refactor kmpp_obj helper
1. Integrate simple element and struct element to one macro.
2. Resolve different update flag mode.
3. Support hierarchy definition for future config file registration.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I691a99aafec3f4e9d4e883e172d2b82ace44e379
2025-05-26 18:16:17 +08:00
Herman Chen
21095a1bb9 feat[kmpp_obj]: Add more kmpp_obj property
1. Add disable_mismatch_log flag.
2. Disable meta mismatch log to reduce log.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I8f897929ee5dc5a895f2b7bafd69bfa7053aac36
2025-05-26 17:50:37 +08:00
Herman Chen
fa92e755c7 feat[kmpp_obj]: Add object update function
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I1d3cb9e14a28dda11374b9cde0aea72bf4d582dc
2025-05-21 08:52:53 +00:00
Herman Chen
38ee436830 feat[kmpp_obj]: Add userspace objdef functions
1. Add mpp_internal.h for simplifing mpp_trie, mpp_cfg, mpp_cfg_io,
kmpp_obj relationship.
2. Add objdef userspace interface: register / unregister, add init,
deinit, dump function registration.
3. Fix vdpp/CMakeLists.txt lack of kmpp_base issue.
4. Adjust utils order to fix compile error.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I50304a84c4baf5b49ee2658713ac171c91983209
2025-05-07 16:56:48 +08:00
Herman Chen
b01bd3346a fix[cmake]: Fix double object include issue
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6cf264917d6091154408dfc327c45d4f66ed8c18
2025-04-04 03:54:28 +00:00
Herman Chen
6b51725df4 feat[kmpp]: Add kmpp_frame_test
1. Add kmpp frame / buffer / packet / meta define in rk_type.h
2. Move KmppObj, KmppObjDef and KmppShmPtr to rk_type.h
3. Add kmpp_frame_test
4. Add kmpp_objdef_get_offset function in kmpp_obj.c

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib4aecfc26f60521288b6e33b8c4e0af5afd3213b
2025-04-03 17:18:34 +08:00
Herman Chen
a091f3ae02 fix[mpp_venc_kcfg]: Revert to mpp interface
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I546667e2647e5d5cdb0adb14e448577b1d0b7a0b
2025-04-01 18:22:41 +08:00
Herman Chen
ca334adda0 feat[kmpp_frame]: Add KmppFrame module
1. Sync kmpp_obj_func.h and kmpp_obj_helper.h from kernel.
2. Add more kmpp_obj function from kernel.
3. Add KmppFrame module.
4. Fix kmpp_obj_check failure.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ib333370eb36c7b63ef50d3e52cf7fd753c9e5af1
2025-04-01 17:41:41 +08:00
Herman Chen
84c7d337bf refactor:[kmpp]: Move kmpp to seperate directory
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I85eb166a3ebb1ae64a44c7127808fc469c6415a8
2025-04-01 14:51:32 +08:00