Commit Graph

12036 Commits

Author SHA1 Message Date
Simon Xue
2797eedc4f video: rockchip: mpp: enable pd/clk by av1dec_bus
Change-Id: Id7cb8b33cba90ac49b0b503aff3d0eef92174641
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2022-03-21 11:30:30 +08:00
Yandong Lin
457c8b8ba2 video: rockchip: mpp: fix av1d cannot suspend issue
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ifc38cf6f05b8abfe4867dfedbe708f2ecb61b7ed
2022-03-21 11:30:14 +08:00
Herman Chen
6cee981d5a video: rockchip: mpp: rkvenc2: Fix slice mode issue
1. Use MPP_CMD_POLL_HW_IRQ to handle the hw slice irq.
   Old MPP_CMD_POLL_HW_FINISH will wait hardware finish and skip hw irq.
2. Clear poll request msgs when it is handled.

NOTE: When MPP_CMD_POLL_HW_IRQ return slice with zero length the
current task is completed. This way can reduce an extra
MPP_CMD_POLL_HW_FINISH ioctl.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I2c81d85c236d4290a497c1747ae2f3e5ac1ce55c
2022-03-19 15:52:42 +08:00
Herman Chen
298511efd0 video: rockchip: mpp: rkvenc2: Add task id
Use task_id in taskqueue to identify each task while task_index in
mpp_dev will have conflict in multi-core case.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia0c5acc9139cfba177fb828daed6c87750a47ef1
2022-03-19 15:52:42 +08:00
Yu Qiaowei
08dd467bdf video: rockchip: rga3: Fix wrong size calculation when YUV import buffer
Update driver version to 1.2.6

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I21d32c09a976c01a8eb4a603e5d316c9ad87eddf
2022-03-17 19:25:16 +08:00
Yu Qiaowei
549f921cdf video: rockchip: rga3: Change pr_debug to pr_info
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I90ce679ff4b43bc4c3252ab44d14be16826ad16c
2022-03-17 19:24:35 +08:00
Yu Qiaowei
b63852bfde video: rockchip: rga3: adapt to kernel 5.4
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I848573243aaa5a2779575df2ee9dcf7845f2c57b
2022-03-17 19:23:55 +08:00
Yu Qiaowei
5ca9ca9055 video: rockchip: rga3: Remove wake_lock
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I00b1b4970f767a206d269d18bb7fed8bf8d17ea4
2022-03-17 19:20:51 +08:00
Herman Chen
77b73c0f4a video: rockchip: mpp: rkvenc2: Improve dchs process
1. Add rkvenc2 pagefault handler to dump memory region used in task.
2. Move rkvenc2_patch_dchs before write hardware register.
3. Add more dchs status log with DEBUG_CORE flag.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I3fd5e14a3a5dd347373e3bc4e21d41db8c05fd21
2022-03-17 16:50:03 +08:00
Yu Qiaowei
008f4b8c9b video: rockchip: rga3: Add CONFIG_ROCKCHIP_RGA_ASYNC
Asynchronous mode is disabled when CONFIG_SYNC_FILE is disabled.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I91da6cdb0221d6c99f61e41e34d0770f049d1d57
2022-03-16 18:11:31 +08:00
Johnson Ding
5481a1fc33 video: rockchip: mpp: Add AVS2 decoder config
Change-Id: Ia0cb76a934fe5163b39cd5d9700378da9a545a2a
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
2022-03-16 11:07:05 +08:00
Yandong Lin
5d269355f0 video: rockchip: dvbm: support dvbm module
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I165a7b0eebb56da76ddc3ab82cb455aee28c0ffe
2022-03-15 17:52:48 +08:00
Yu Qiaowei
3289e323f8 video: rockchip: rga3: Fixup pr_err for debug info to pr_info
Update driver version to 1.2.5

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ic34b2dd0f351906cd05f08db3e43052c0ab6f07f
2022-03-12 16:02:31 +08:00
Yu Qiaowei
76c47e9eea video: rockchip: rga3: fixup scale error on win1
even multiples of 128 (act w/h) require a scaling factor -1

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I5e7d68088fb1eceb7a57729ce9f87886a3b9fbaf
2022-03-12 16:02:31 +08:00
Yu Qiaowei
9a9d2d4903 video: rockchip: rga3: update register print
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ic707e77ac4eb3757e7299c9fe27ab2bd4bfef55e
2022-03-12 16:02:31 +08:00
Yu Qiaowei
c7123b7112 video: rockchip: rga3: Fix 1106 RGA2 CSC output exception
Default configuration Y_clip[0,255] UV_clip[0,255].

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I2134fa5fc179a6e86d73b11a632236b6859cc056
2022-03-12 16:02:31 +08:00
Yu Qiaowei
e3e16782ac video: rockchip: rga3: support early interruption
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I4cbd31d9088b789dffc215ce891cfcaa08a8b0bf
2022-03-12 16:02:31 +08:00
Yu Qiaowei
43375c377b video: rockchip: rga3: RGA2 support OSD
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ib649bbdf4b7b41b9bb93323b9004ca5e17577ec5
2022-03-12 16:02:31 +08:00
Yu Qiaowei
4bb8b324f2 video: rockchip: rga3: RGA2 support YUV HDS/VDS
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I03f909f4d52bb8c5bd6c0607064f9075a4865cd7
2022-03-12 16:02:31 +08:00
Yu Qiaowei
06622a5859 video: rockchip: rga3: support Yin_Yout mode
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ia94e4e58575eabcc122390ad126a1c5d9e6f468e
2022-03-12 16:02:31 +08:00
Yu Qiaowei
943b11ebfa video: rockchip: rga3: RGA2 Support mosaic
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ib79b211c76bc0f547e597a9dbeb94726b3766983
2022-03-12 16:02:31 +08:00
Yu Qiaowei
e95866de6e video: rockchip: rga3: Support to judge the hardware information of 1106
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I42f77a95d18e9e16e08194c1011114fe69a2ede4
2022-03-12 16:02:31 +08:00
Herman Chen
b5267d2417 video: rockchip: mpp: rkvenc2: Fix async msg issue
H.264 encoder will send the task request and wait result in async way.
The task process will be like:
send task 1
send task 2
wait task 1
send task 3
wait task 2
Then the msgs struct will carry the latest task rather than the task in
the pending queue. And free the wrong task structure.

Error log:
[  387.742800][ T1983] list_add corruption. prev->next should be next (ffffff8114ced948), but was ffffff8152228028. (prev=ffffff8152228028).
[  387.742819][ T1983] ------------[ cut here ]------------
[  387.742822][ T1983] kernel BUG at lib/list_debug.c:28!
[  387.742827][ T1983] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[  387.762394][ T1983] Modules linked in: rk_vcodec
[  387.762403][ T1983] CPU: 5 PID: 1983 Comm: mpp_h264e_1982 Not tainted 5.10.66 #103
[  387.762404][ T1983] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[  387.762408][ T1983] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--)
[  387.762415][ T1983] pc : __list_add_valid+0x94/0x98
[  387.762417][ T1983] lr : __list_add_valid+0x94/0x98
[  387.762419][ T1983] sp : ffffffc018f2bce0
[  387.762421][ T1983] x29: ffffffc018f2bce0 x28: ffffff8114ced948
[  387.762424][ T1983] x27: ffffff8152228028 x26: ffffff8152228028
[  387.762427][ T1983] x25: ffffff8114ced880 x24: ffffff817888a080
[  387.762429][ T1983] x23: ffffff8152228000 x22: ffffff817888a080
[  387.762432][ T1983] x21: ffffffc018f2bd58 x20: ffffff8114ced880
[  387.762435][ T1983] x19: ffffffc018f2bd58 x18: ffffffc018ecd040
[  387.762437][ T1983] x17: 0000000000000000 x16: 00000000000000d8
[  387.762440][ T1983] x15: 0000000000000004 x14: 0000000000003fff
[  387.762443][ T1983] x13: ffffffc011f0cf78 x12: 0000000000000003
[  387.762445][ T1983] x11: 00000000ffffbfff x10: 00000000ffffffff
[  387.762448][ T1983] x9 : 07e69d051dac6800 x8 : 07e69d051dac6800
[  387.762451][ T1983] x7 : 727028202e383230 x6 : ffffffc0120ee318
[  387.762454][ T1983] x5 : ffffffffffffffff x4 : 0000000000000000
[  387.762457][ T1983] x3 : ffffffc011bc4854 x2 : 0000000000000000
[  387.762459][ T1983] x1 : 0000000000000001 x0 : 0000000000000075
[  387.762462][ T1983] Call trace:
[  387.762465][ T1983]  __list_add_valid+0x94/0x98
[  387.762507][ T1983]  mpp_msgs_trigger+0x15c/0x1f0 [rk_vcodec]
[  387.762542][ T1983]  mpp_dev_ioctl+0x4b8/0x5d8 [rk_vcodec]
[  387.762563][ T1983]  __arm64_sys_ioctl+0x94/0xd0
[  387.764333][ T1983]  el0_svc_common+0xc0/0x23c
[  387.764335][ T1983]  do_el0_svc+0x28/0x88
[  387.764339][ T1983]  el0_svc+0x14/0x24
[  387.764342][ T1983]  el0_sync_handler+0x88/0xec
[  387.764344][ T1983]  el0_sync+0x1a8/0x1c0
[  387.764349][ T1983]
[  387.764349][ T1983] PC: 0xffffffc01059b608:

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Id55b3b66726a526bca68594ab9a86cc58c265945
2022-03-12 14:38:30 +08:00
Yu Qiaowei
549c087dbd video: rockchip: rga3: Update RGA2 register
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I587db82cbf8148c274024a203f7646f7f218111c
2022-03-11 10:08:18 +08:00
Yu Qiaowei
afbf0cd0e4 video: rockchip: rga3: Code style of rga2_reg_info.c
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I17819439fe0d65c475b56b063be300e86e5ae048
2022-03-11 10:08:18 +08:00
Li Huang
dbb3dbcdd2 video: rockchip: rga3: rga3_reg: fixup yuv/rgb convert to rgba missing alpha channel
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I1ca62b1481b1b2968567c3a9714d757a690bfb8d
2022-03-10 14:36:07 +08:00
Herman Chen
a1cfa3f557 video: rockchip: mpp: rkvenc2: Add split output
Add rkvenc2 slice split mode with slice irq enabled path.
1. Add split task detection for rkvenc2.
2. Add slice irq handling and read slice length fifo in irq.
3. Add poll request with parameter to return slice length in fifo.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I170c1be38deeb28d55057f9e19d50efe790a0989
2022-03-09 16:13:09 +08:00
Herman Chen
b158513048 video: rockchip: mpp: Add partition timing function
On encoder slice output mode the timing of each slice can be recorded.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Iceac5b8488dbfa85068e1460709f278cc2d3ebe4
2022-03-09 16:08:28 +08:00
Li Huang
8ba4c48772 video: rockchip: rga3: fixup scale error
even multiples of 128 (act w/h) require a scaling factor -1

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I8dc3faeb3863fbf4f285ca8423ac8633fdc36de4
2022-03-09 14:13:22 +08:00
Li Huang
ccef10af4a video: rockchip: rve: init ver 1.0.0
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I21d912272a7a0789c86fee033fa74cb01980f477
2022-03-08 16:20:40 +08:00
Yu Qiaowei
fdf8b0fb96 video: rockchip: rga3: Remove iommu_api that does not support GKI
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ie90b87aa84758644a4696e59a63c48d2fbb8e7b2
2022-03-03 21:03:23 +08:00
Yu Qiaowei
431ced4368 video: rockchip: rga3: Fix hardware support format
1. RGA3 support ARGB/ABGR8888 input.
2. RGA3 support YUV420 packed output.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I7680ed7b0218998f67e0d1ed40cc2ad3690b8572
2022-03-03 21:03:23 +08:00
Yu Qiaowei
5c988d7aa1 video: rockchip: rga3: update rga_debugger
1. Add 'debug' mode in debug node.
2. Fix compilation error when procfs is enabled.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I88bdcad127a726a6b2618d54c2c3958a663bc6d7
2022-03-03 21:03:23 +08:00
Yandong Lin
c125c678f6 video: rockchip: mpp: support av1 decode
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Signed-off-by: Simon Xue <xxm@rock-chips.com>
Change-Id: I76b54488c9078688ebc9c4df902e6940c95f3594
2022-03-03 19:57:17 +08:00
Herman Chen
e6f26e1367 video: rockchip: mpp: rkenc2: Add core parallel
Enable two core parallel working support.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I102d2ff2882041594f089be44e7782c84e103f99
2022-03-03 19:50:56 +08:00
Ding Wei
12f76c8580 video: rockchip: mpp: rkvdec2: Trigger reset when iommu pagefault
1. When iommu pagefault, hardware will stop and wait to deal with it.
in order to respond quickly, such as NVR, reset the hardware directly.
2. The iommu handle should be for the current device, not the queue.
and, the mpp_task_dump_hw_reg function is used to dump hardware register
info, it no relation for task.
3. In the mode of link-mode and multi-core, it cannot accurately get task
via queue->running_task, thereforce, it is not suitable to dump task
register here.

Change-Id: Ifed2cbc484997a07ed65c38c16062abe9b9aff81
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2022-03-03 16:14:03 +08:00
Ding Wei
a8e9b2055a video: rockchip: mpp: sip reset for soft-ccu
1. for rk3588, it may hung for when bus error, then, it should
   use sip reset.
2. before reset, it make sure that the clock is on.

Change-Id: I2dd1dc5c4cd273eb8678ceaa29b0e966828f50fd
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2022-03-03 16:13:55 +08:00
Ding Wei
dd8ed58c07 video: rockchip: mpp: Iusse for insmod/rmmod rk_vcodec.ko
tips:
   1.In mpp_dev_remove, it wrong to device put mpp->pdev, and
   the true is srv->pdev.
   2. It is no used following, thus, put it directly.

backtrace:
[  119.059922 ][ T2179 ]  refcount_warn_saturate+0xe0/0x150
[  119.059930 ][ T2179 ]  klist_next+0x108/0x10c
[  119.059938 ][ T2179 ]  bus_for_each_dev+0x6c/0xd0
[  119.059945 ][ T2179 ]  driver_attach+0x28/0x38
[  119.059951 ][ T2179 ]  bus_add_driver+0x108/0x1e8
[  119.059956 ][ T2179 ]  driver_register+0x7c/0x118
[  119.059963 ][ T2179 ]  __platform_driver_register+0x48/0x58
[  119.060018 ][ T2179 ]  mpp_add_driver+0xf8/0x140 [rk_vcodec]
[  119.060068 ][ T2179 ]  mpp_service_probe+0x43c/0x550 [rk_vcodec]
[  119.060075 ][ T2179 ]  platform_drv_probe+0x9c/0xc4
[  119.060081 ][ T2179 ]  really_probe+0x204/0x510
[  119.060087 ][ T2179 ]  driver_probe_device+0x80/0xc0
[  119.060093 ][ T2179 ]  device_driver_attach+0x70/0xb4
[  119.060099 ][ T2179 ]  __driver_attach+0xc8/0x150
[  119.060104 ][ T2179 ]  bus_for_each_dev+0x80/0xd0
[  119.060109 ][ T2179 ]  driver_attach+0x28/0x38
[  119.060114 ][ T2179 ]  bus_add_driver+0x108/0x1e8
[  119.060120 ][ T2179 ]  driver_register+0x7c/0x118
[  119.060127 ][ T2179 ]  __platform_driver_register+0x48/0x58
[  119.060175 ][ T2179 ]  init_module+0x24/0xfe8 [rk_vcodec]
[  119.060184 ][ T2179 ]  do_one_initcall+0x98/0x2dc
[  119.060192 ][ T2179 ]  do_init_module+0x60/0x21c
[  119.060197 ][ T2179 ]  load_module+0x2cf0/0x34a8
[  119.060203 ][ T2179 ]  __arm64_sys_finit_module+0xbc/0xfc
[  119.060211 ][ T2179 ]  el0_svc_common+0xc0/0x23c
[  119.060217 ][ T2179 ]  do_el0_svc+0x28/0x88
[  119.060225 ][ T2179 ]  el0_svc+0x14/0x24
[  119.060232 ][ T2179 ]  el0_sync_handler+0x88/0xec
[  119.060238 ][ T2179 ]  el0_sync+0x1a8/0x1c0

Change-Id: Ib6442228d27dde2ff07336edef02fe391ebeb135
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2022-03-01 16:21:50 +08:00
Ding Wei
8ac72c875a video: rockchip: mpp: Fix issue for multi-core jpeg encoder
tips:
1. each task may work different core, thus, if use session->mpp
   then it will be change when each alloc task.
2. alloc_task and isr are in the different thread, so, the session->mpp
   will be overwrite when following task alloc.
3. based above, use task->mpp instead of session->mpp is the better.

backtrace when error:
[   36.421939 ][  T160 ] mpp_vepu2 fdba4000.jpege-core: no current task
[   36.623432 ][    C6 ] Unable to handle kernel NULL pointerdereference at virtual address 0000000000000102
[   36.624290 ][    C6 ] Mem abort info:
[   36.624615 ][    C6 ]   ESR = 0x96000005
[   36.624966 ][    C6 ]   EC = 0x25: DABT (current EL), IL = 32 bits
[   36.625509 ][    C6 ]   SET = 0, FnV = 0
[   36.625856 ][    C6 ]   EA = 0, S1PTW = 0
[   36.626212 ][    C6 ] Data abort info:
[   36.626546 ][    C6 ]   ISV = 0, ISS = 0x00000005
[   36.626953 ][    C6 ]   CM = 0, WnR = 0
[   36.627292 ][    C6 ] user pgtable: 4k pages, 39-bit VAs,pgdp=0000000107211000
[   36.627934 ][    C6 ] [0000000000000102] pgd=0000000000000000,p4d=0000000000000000, pud=0000000000000000
[   36.628797 ][    C6 ] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[   36.629365 ][    C6 ] Modules linked in: bcmdhd r8168
[   36.629843 ][    C6 ] CPU: 6 PID: 0 Comm: swapper/6 Not tainted5.10.66 #1092
[   36.630472 ][    C6 ] Hardware name: Rockchip RK3588 EVB1 LP4 V10Board (DT)
[   36.631095 ][    C6 ] pstate: 20400089 (nzCv daIf +PAN -UAO -TCOBTYPE=--)
[   36.631721 ][    C6 ] pc : __queue_work+0x24/0x538
[   36.632154 ][    C6 ] lr : delayed_work_timer_fn+0x24/0x34

Change-Id: I610f16ec33ef29217975779ba5d09c7274009c61
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2022-02-24 15:52:15 +08:00
Yu Qiaowei
b405430e1c video: rockchip: rga3: Fix parameter error of RGA3 blend mode
layer binding:
    src => win0
    src1/dst => win1
    dst => wr

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I12709d578ce65b9a52d5275e873c660a5b1774d9
2022-02-24 15:00:04 +08:00
Herman Chen
e677dbefa4 video: rockchip: mpp: Fix message batch issue
One mpp_session session can be target of multi-thread ioctl process.
So we need to make struct mpp_task_msgs be independently operated.

Fixes: baccd98fb9 ("video: rockchip: mpp: Add message batch process")
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ic7b8b6ac75f1508772707399cb7711cfb05a9e6d
2022-02-24 11:29:21 +08:00
Yu Qiaowei
9b0e3b157c video: rockchip: rga3: Fix "unknown ioctl cmd" error
Because of the difference in pointer size between 32/64 bit systems.

Update driver version to 1.2.4

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: If557cdeb69f1f811eed6cf44419cbb73679dada0
2022-02-22 20:15:36 +08:00
Li Huang
65cfe5f2c0 video: rockchip: rga3: use get_dma_buf to add ref for mpi dma_buf
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ie08cf1a296a166ed5b5bd273d485f6e56a6be022
2022-02-22 11:58:32 +08:00
Li Huang
ffcf7864ac video: rockchip: rga3: fixup rga load
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Id09a22819f4d118d1702b6eb7299279f0bd3fcc8
2022-02-22 11:58:31 +08:00
Li Huang
3392d01212 video: rockchip: rga3: support batch mode
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ib2f9a7815024d468ce1babb0e19789c458653329
2022-02-22 11:58:20 +08:00
Yu Qiaowei
8cea529be7 video: rockchip: rga3: Synchronization of user-space image formats
Update driver version to 1.2.3

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I73ff1105bf52f67809be42fb1b45ca08451e17cf
2022-02-21 16:04:48 +08:00
Yu Qiaowei
75b148bcbe video: rockchip: rga3: Integration of format-related processing
1. Wrapped some format-related functions, avoid using formatted
index values.
2. Fix incorrect format alignment requirements.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I3f1493dc59f9b303f6e8f289f63b515ad56d3651
2022-02-18 20:15:20 +08:00
Herman Chen
baccd98fb9 video: rockchip: mpp: Add message batch process
1. Add SET_SESSION_FD cmd for message session switch.
2. Use session to temporally store the ioctl message. Default message
   capacity is 2. For multi-core hardware the message capacity can be
   larger.
3. Split message handling into several stages. All the batch messages
   are attached to the temporary list and process stage by stage.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9d96bb96c24001dc5d27893fb09d1b8073d1a4a5
2022-02-18 16:31:11 +08:00
Yu Qiaowei
d6ce2a864f video: rockchip: rga3: rga_mm supports physically continuous dma_buf
When calling RGA2 with a physically contiguous dma_buf it will be called
with the physical address.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Iadb2d638b426c9be64a403b42513f8c7b58fb866
2022-02-18 11:28:48 +08:00
Herman Chen
7eb71ee55c video: rockchip: mpp: Fix combo hardware issue
With multi core patch it will be lack of core id at old combo
hardware probe process.

The error log is shown below on device probe:
mpp_vepu2 ff650000.vepu: can not attach device with same id 0

And also kernel crach on mpp library init.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I92ea5fc3575dad9236878235a396d02da7a3fba5
2022-02-15 17:21:00 +08:00