Commit Graph

59 Commits

Author SHA1 Message Date
Yanjun Liao
3cbb906673 feat[mpp_soc]: support rk3576 soc
Change-Id: I49bd3ccbc643b3c95db5ba3ca692f365c9425440
Signed-off-by: Yanjun Liao <yanjun.liao@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2024-02-20 09:45:25 +08:00
Herman Chen
d4913c1b88 chore[mpp_dmabuf]: Add dmabuf ioctl unit test
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ice181f6d8cf312d68c79d6e6a33cddcbf65ef5f6
2023-11-16 16:33:40 +08:00
Yandong Lin
3adde926e2 [avs]: Add avs module
NOTE: I frame header decoding should check stream version.

Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I1c8276f4499d73e3b60d582890037dec376e136f
2022-10-13 15:16:13 +08:00
Yandong Lin
24fea09634 [mpp_platform]: fix get_kernel_version failed on 5.10
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I51fe2311641b4a7a64595e8fc8b4813c6a962303
2022-09-06 18:04:03 +08:00
Herman Chen
2b35cee0ce [mpp_log]: Add more log helper function
1. Move mpp_log.h to inc for external user.
2. Add mpp_debug.h for mpp internal logging.
3. Fix some warning.
4. Add log level setup function.
5. Check env log_level value in mpp_get_log_level call.

NOTE:
1. mpp internal module should use mpp_debug.h and mpp external user
should use mpp_log.h
2. Use mpp_get_log_level to update mpp_log_level when the env changed.

Change-Id: I90a55a02a72db177533013280dfe111ca3479229
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2022-05-20 11:42:10 +08:00
Herman Chen
69dfccfd12 [osal]: Add log disable/enable function
Change-Id: Iddd02b7c3d102a65a4c34a8fba89b7a28719e0a9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-12-23 15:53:14 +08:00
Herman Chen
a8ac97e5a9 [mpp_time_test]: Add timer test case
Change-Id: I65d4da1431fb68d0e8482aafb30dbeb651156d28
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-05-17 20:04:33 +08:00
Herman Chen
d1366a4801 [mpp_mem_pool]: Move mpp_mem_pool to osal
Change-Id: I124f38bc58f791993515544af2c59169ee2c2402
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-05-12 20:47:36 +08:00
Herman Chen
f86fcc7663 [osal]: Add mpp_trace using ftrace
Change-Id: I6c6597d722f574524f1b993a18f6cd868b20fbab
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-05-10 09:15:41 +08:00
Herman Chen
4ecb7de25c [mpp_platform]: Add kernel version detection
Change-Id: Id2110213daeaca606bafe288a6d4cd970c112d4f
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2021-02-02 20:21:29 +08:00
Herman Chen
2f2e4224b9 [mpp_platform]: Move codec_type detection
1. Move codec_type detection code to vcodec_service.
   Only vcodec_service needs to detect vcodec_type. Mpp_service will
   report this flag from kernel.

2. Remove kernel device detection code when soc type not detected.

3. Add mpp_soc.h for soc definition.

Change-Id: Ic83897bddbcf0fceb0c5d19a05491f75231092c1
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-11-25 15:11:28 +08:00
Herman Chen
5967c22284 [mpp_platform]: Add rk3566/rk3568 SOC definition
Change-Id: Ia1972cb95d5497cf95daab46504cfea9522b79e7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-11-10 14:19:41 +08:00
Herman Chen
154fb82445 [osal/test]: Add more test for eventfd
1. Test block mode
2. Test non-block mode
3. Test timeout mode with not timeout write
4. Test timeout mode with timeout write

Change-Id: Ibf8253f0f43be1aba1a81a2e527198b6a08eab83
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2020-09-08 09:05:59 +08:00
Herman Chen
9e77264edc [oasl]: Add eventfd support
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I46614e90abb132111105720f1cc7d4e2ec71e8c3
2020-09-08 09:05:59 +08:00
Herman Chen
eb34769db7 [cmake]: Add option to control test building
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic6c6988dad82836cfb87113f2293bc9a2b1abd66
2020-06-22 17:44:01 +08:00
Herman Chen
b83158b23b [mpp_time]: Change old timer to clock
The MppClock is used to record and sum the time only.
The MppTimer will have new implement.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I6cace6968d50db611e7493b69b14b46853070d78
2020-04-04 16:06:01 +08:00
Ding Wei
7d05e33de8 [mpp]: add /dev/mpp_service support
Add a new ioctl mode for kernel-4.19 or later.
Tips:
    1. There will be only one device /dev/mpp_service in kernel.
       User should use client type to distinguish different device.
    2. Each codec use the same function as before.
    3. Ioctl magic changes from VPU_IOC to MPP_IOC.
    4. Update structure for ioctl argument.
	Original structure:
	    data_ptr | size
	In this mode has many sortcommings:
	a) Need many ioctl cmd for different requirements.
	b) Data_ptr not to differ library for 32 or 64 system.
	c) Contain only one info ioctl once.

    New data structure:
        cmd_type | flags | size | offset | data_ptr
    a) Cmd_type works like previous ioctl cmd.
    b) Flags is extend to mark current data for any purpose.
    c) Size is the same as before.
    d) Data_ptr use 32 bits build in 32 system while 64 bits in 64 system.

kernel-4.19 related commit:
ib94ac0df876dfcc786b25ed3de6a68d861d2ef1e
cda9d27c62017309519bcbf8fe91057dfdc21076

Change-Id: I13d54a2e4823b7378265f100540916a22f62b9d4
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2019-12-10 20:12:50 +08:00
Herman Chen
bbbc9afd5e [test]: Fix error on mpp_thread_test
Change-Id: Id9f0bc58e72256f27cab6bc7fb39d441803a2bfb
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-08-20 10:58:59 +08:00
Herman Chen
6d059f65bf [osal]: Change mpp_env string interface
Set get environment string parameter to const char to avoid modification.

Change-Id: Ib5308407fcac2fa58b194fb8df33380efc1487f9
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-08-03 17:44:55 +08:00
Herman Chen
26889a7bce [mpp_time]: Add MppTimer for time recording
Change-Id: I3d04e677415ae84bc37703cb63a52be66c973798
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-07-06 16:30:11 +08:00
Herman Chen
ed4151e245 [osal]: Change time function
Change time function from gettimeofday to clock_gettime.
Output of mpp_time() is still in us.

Change-Id: I7f961bb7bb4007e8e42ae5358bd7f568edf6c3d0
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-03-23 09:20:56 +08:00
Herman Chen
82bc016bbb [oasl]: Add debug function to mpp_mem
1. Add memory node record.
2. Add runtime log with memory count and total size.
3. Add extra room for overflow detection.
4. Add memory poison after free to detect write after free.

Change-Id: I4f0fe7295f18a746c3b4c135681127a18337585e
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-01-29 11:47:31 +08:00
Herman Chen
7b7b509847 [runtime]: Add more runtime detection
As we found that simple ion / drm device detectioin can not cover all the
case. For example on some 3368 platform kernel provide both ion and drm
device. We have better to use allocator chosen in dts.

But later kernel patch from Randy will bring unified dma-fd translation in
kernel then this detection will be removed.

Change-Id: I2746142d1c3d0f36791bacaadb231dc2001a5aa7
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2018-01-03 16:48:56 +08:00
Herman Chen
75660ca37b [oasl]: Add lock timing test
Add pthread lock / unlock and condition wait / signal performance test

Change-Id: Ia0b9ae968d3bbe0b8f802b36afb93c6b564d91dc
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-07-05 11:27:22 +08:00
leo.ding
8cd076afae [mpp_platform]: rename HAVE_265E to HAVE_265ENC for buid warnnig
H265E had defined in Cmakelist.txt to choose whether build
h265 encode module, so it here is redefined.

Change-Id: I54e9704d396d0a8a0e6d0f2ae8595d033131d81b
Signed-off-by: leo.ding <leo.ding@rock-chips.com>
2017-05-15 17:28:16 +08:00
Randy Li
0de5e0599c [osal]: don't install unit test
The build system may store those files into a package.

Change-Id: I2ab54da5880d1979a19430520d36324629b8a7d8
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-04-07 10:13:44 +08:00
Herman Chen
4b41fdd8bc [mpp_platform]: Modify chip vcodec detection
1. Add video codec information and kernel driver device detection code for all
supported chips.
2. Add video codec type and device name detection test

Change-Id: I275c0e616acd80c9a4ad2fee00588479e47a92db
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2017-03-03 16:12:36 +08:00
Lin Kesheng
60373a6973 [all]: format code
use fromdos to change file type, remove ^M in code.

Change-Id: I000202dc51fcff57cc0771455baebea595115b1d
Signed-off-by: Lin Kesheng <lks@rock-chips.com>
2016-09-08 15:21:02 +08:00
ChenHengming
d101052f9b [osal]: add runtime log to mpp_mem
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1131 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-07-30 08:56:41 +00:00
ChenHengming
c0866a76f9 [comment]: fix company name hand writing error
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@906 6e48237b-75ef-9749-8fc9-41990f28c85a
2016-06-13 09:42:31 +00:00
ChenHengming
44e83d5a09 [osal]: add log_f function to mpp_log
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@189 6e48237b-75ef-9749-8fc9-41990f28c85a
2008-01-25 14:28:53 +00:00
ChenHengming
608671728d [astyle]: formating coding style
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@186 6e48237b-75ef-9749-8fc9-41990f28c85a
2008-01-24 21:36:21 +00:00
DingWei
72251b9c56 [CMakeLists] In all CMakeLists, add properties folder which belonged
[mpi_test.c] Eliminate warning

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@184 6e48237b-75ef-9749-8fc9-41990f28c85a
2008-01-24 21:07:22 +00:00
ChenHengming
d9644ded0e [mpp_log]: change mpp_dbg to _mpp_dbg, redefine new mpp_dbg
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@174 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-28 01:55:19 +00:00
ChenHengming
8d6ace3794 [cmake]: add test to CMakeLists
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@152 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-24 01:38:37 +00:00
ChenHengming
c2544d0f9c [mpi]: add mpi unit test and rename mpp_env interface
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@116 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-17 10:09:20 +00:00
ChenHengming
cbf53d2929 [mpp_log]: add new mpp_dbg function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@106 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-14 03:57:26 +00:00
ChenHengming
b9ac93ef71 [mpp_log]: add mpp_assert function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@105 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-14 02:42:17 +00:00
ChenHengming
63880b5333 [osal]: add mpp_calloc function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@101 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-13 09:30:27 +00:00
ChenHengming
e80180c728 [mpp_mem]: add mpp_realloc function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@98 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-13 09:15:31 +00:00
ChenHengming
52d5ffb332 [vpu_api_test]: add vpu_api_demo for testing and add msleep to mpp_time.h
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@73 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-12 03:34:28 +00:00
ChenHengming
a7f4bb2dd1 [osal/test]: fix compile error on vs2010
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@65 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 10:32:18 +00:00
ChenHengming
c35cc7d345 [osal]: rename mpp_malloc to mpp_mem, add mpp_time function
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@63 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 10:15:24 +00:00
ChenHengming
848f7d93fe [all]: rename function names
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@60 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 09:14:00 +00:00
ChenHengming
1b5d44e56e [all]: rename file and macro from RK to MPP
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@59 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 09:00:27 +00:00
ChenHengming
c89c44512f [all]: change osal file name prefix from rk_ to mpp_
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@58 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 08:50:52 +00:00
ChenHengming
f90294b7ec [misc]: add TODO comment for later work
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@52 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 06:28:41 +00:00
ChenHengming
ba806a522a [cmake]: cmake script update
1. add svn author and date to cmake
2. change unit test install directory
2. use macro to add osal unit test


git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@49 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-07 06:13:46 +00:00
ChenHengming
68c6012d09 [rk_malloc]: add mem_list feature to rk_malloc module
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@41 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-06 02:56:20 +00:00
ChenHengming
764d72e7c5 [inc]: change LOG_TAG to MODULE_TAG for more general usage
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@38 6e48237b-75ef-9749-8fc9-41990f28c85a
2015-08-05 10:04:45 +00:00