[0/3] media: mediatek: vcodec: Add driver to support 10bit

Message ID 20230711125749.15555-1-yunfei.dong@mediatek.com
Headers
Series media: mediatek: vcodec: Add driver to support 10bit |

Message

Yunfei Dong (董云飞) July 11, 2023, 12:57 p.m. UTC
  Define two capture formats V4L2_PIX_FMT_MT2110R and
V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
Getting the size of each plane again when userspace set 10bit
syntax to driver.

V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
is used for AV1/VP9/HEVC.

patch 1 Add driver to support 10bit
patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
---
- send the first version v1:
- Run 10bit VP9/AV1 fluster test pass.
- Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.
---

Reference series:
[1]: this series depends on v6 which is send by Yunfei Dong.
     message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com

Mingjia Zhang (3):
  media: mediatek: vcodec: Add capture format to support 10bit tile mode
  media: mediatek: vcodec: Add capture format to support 10bit raster
    mode
  media: mediatek: vcodec: Add driver to support 10bit

 .../media/v4l/pixfmt-reserved.rst             |  15 ++
 .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
 .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
 .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
 drivers/media/v4l2-core/v4l2-common.c         |   4 +
 drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
 include/uapi/linux/videodev2.h                |   2 +
 7 files changed, 186 insertions(+), 4 deletions(-)
  

Comments

Nicolas Dufresne July 11, 2023, 7:15 p.m. UTC | #1
Hi,

phew things missing in this cover letter,

Le mardi 11 juillet 2023 à 20:57 +0800, Yunfei Dong a écrit :
> Define two capture formats V4L2_PIX_FMT_MT2110R and
> V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> Getting the size of each plane again when userspace set 10bit
> syntax to driver.
> 
> V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> is used for AV1/VP9/HEVC.
> 
> patch 1 Add driver to support 10bit
> patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
> patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
> ---
> - send the first version v1:
> - Run 10bit VP9/AV1 fluster test pass.

Please at least provide the score before and after these changes. Full report is
also nice. You didn't explain why H.264 is not tested.

> - Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.
> ---

This cover letter is missing v4l2-compliance report. This is needed whenever
format mechanism is modified in a driver (not just for new drivers). Please add
and make sure there is not regression too.

> 
> Reference series:
> [1]: this series depends on v6 which is send by Yunfei Dong.
>      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com

Its seems like 6.5.0-rc1 with the depedency and this patchset does not boot on
MT8195 Chromebooks. Which paltform has this been validated on ?


For the record:


[   13.286252] platform 1c015000.dp-intf: deferred probe pending
[   13.292007] platform 1c113000.dp-intf: deferred probe pending
[   28.523484] rcu: INFO: rcu_preempt self-detected stall on CPU
[   28.529231] rcu: 	5-....: (5250 ticks this GP)
idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=2471
[   28.538706] rcu: 	(t=5254 jiffies g=-119 q=13320 ncpus=8)
[   28.544095] Task dump for CPU 0:
[   28.547313] task:cpuhp/0         state:R  running task     stack:0     pid:17
ppid:2      flags:0x0000000a
[   28.557221] Call trace:
[   28.559658]  __switch_to+0xe4/0x15c
[   28.563147]  0xffff776000196740
[   28.566282] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
[   28.572453] Hardware name: Acer Tomato (rev3 - 4) board (DT)
[   28.578101] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   28.585053] pc : smp_call_function_single+0x1a4/0x1bc
[   28.590098] lr : smp_call_function_single+0x178/0x1bc
[   28.595140] sp : ffff80008008b9c0
[   28.598444] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
[   28.605572] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
[   28.612699] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
[   28.619825] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
[   28.626952] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
[   28.634078] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
[   28.641204] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
[   28.648331] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
[   28.655458] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
[   28.662585] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
[   28.669711] Call trace:
[   28.672148]  smp_call_function_single+0x1a4/0x1bc
[   28.676843]  perf_cgroup_attach+0x74/0xd8
[   28.680847]  cgroup_migrate_execute+0x374/0x444
[   28.685368]  cgroup_migrate+0x74/0x8c
[   28.689021]  cgroup_attach_task+0x114/0x120
[   28.693195]  __cgroup_procs_write+0x108/0x230
[   28.697543]  cgroup_procs_write+0x1c/0x34
[   28.701543]  cgroup_file_write+0xa0/0x1a4
[   28.705545]  kernfs_fop_write_iter+0x118/0x1a8
[   28.709983]  vfs_write+0x2d0/0x39c
[   28.713376]  ksys_write+0x68/0xf4
[   28.716682]  __arm64_sys_write+0x1c/0x28
[   28.720594]  invoke_syscall+0x48/0x114
[   28.724337]  el0_svc_common.constprop.0+0x44/0xe4
[   28.729034]  do_el0_svc+0x38/0xa4
[   28.732341]  el0_svc+0x2c/0x84
[   28.735386]  el0t_64_sync_handler+0xc0/0xc4
[   28.739561]  el0t_64_sync+0x190/0x194
[   33.759553] vproc2: disabling
[   33.762551] vproc1: disabling
[   33.765548] vaud18: disabling
[   33.768760] va09: disabling
[   33.771599] vsram_md: disabling
[   91.755483] rcu: INFO: rcu_preempt self-detected stall on CPU
[   91.761220] rcu: 	5-....: (21005 ticks this GP)
idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=8569
[   91.770778] rcu: 	(t=21062 jiffies g=-119 q=13628 ncpus=8)
[   91.776253] Task dump for CPU 0:
[   91.779471] task:cpuhp/0         state:R  running task     stack:0     pid:17
ppid:2      flags:0x0000000a
[   91.789376] Call trace:
[   91.791812]  __switch_to+0xe4/0x15c
[   91.795294]  0xffff776000196740
[   91.798426] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
[   91.804597] Hardware name: Acer Tomato (rev3 - 4) board (DT)
[   91.810244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   91.817195] pc : smp_call_function_single+0x1a4/0x1bc
[   91.822237] lr : smp_call_function_single+0x178/0x1bc
[   91.827278] sp : ffff80008008b9c0
[   91.830582] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
[   91.837709] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
[   91.844835] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
[   91.851962] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
[   91.859089] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
[   91.866215] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
[   91.873342] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
[   91.880468] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
[   91.887595] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
[   91.894721] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
[   91.901848] Call trace:
[   91.904284]  smp_call_function_single+0x1a4/0x1bc
[   91.908979]  perf_cgroup_attach+0x74/0xd8
[   91.912981]  cgroup_migrate_execute+0x374/0x444
[   91.917502]  cgroup_migrate+0x74/0x8c
[   91.921155]  cgroup_attach_task+0x114/0x120
[   91.925329]  __cgroup_procs_write+0x108/0x230
[   91.929677]  cgroup_procs_write+0x1c/0x34
[   91.933677]  cgroup_file_write+0xa0/0x1a4
[   91.937679]  kernfs_fop_write_iter+0x118/0x1a8
[   91.942117]  vfs_write+0x2d0/0x39c
[   91.945509]  ksys_write+0x68/0xf4
[   91.948814]  __arm64_sys_write+0x1c/0x28
[   91.952726]  invoke_syscall+0x48/0x114
[   91.956467]  el0_svc_common.constprop.0+0x44/0xe4
[   91.961164]  do_el0_svc+0x38/0xa4
[   91.964472]  el0_svc+0x2c/0x84
[   91.967517]  el0t_64_sync_handler+0xc0/0xc4
[   91.971691]  el0t_64_sync+0x190/0x194
[  154.987483] rcu: INFO: rcu_preempt self-detected stall on CPU
[  154.993218] rcu: 	5-....: (36760 ticks this GP)
idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=14547
[  155.002862] rcu: 	(t=36870 jiffies g=-119 q=13628 ncpus=8)
[  155.008337] Task dump for CPU 0:
[  155.011554] task:cpuhp/0         state:R  running task     stack:0     pid:17
ppid:2      flags:0x0000000a
[  155.021458] Call trace:
[  155.023894]  __switch_to+0xe4/0x15c
[  155.027376]  0xffff776000196740
[  155.030507] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
[  155.036676] Hardware name: Acer Tomato (rev3 - 4) board (DT)
[  155.042323] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  155.049274] pc : smp_call_function_single+0x1a4/0x1bc
[  155.054316] lr : smp_call_function_single+0x178/0x1bc
[  155.059358] sp : ffff80008008b9c0
[  155.062662] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
[  155.069788] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
[  155.076914] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
[  155.084041] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
[  155.091168] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
[  155.098294] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
[  155.105421] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
[  155.112548] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
[  155.119675] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
[  155.126801] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
[  155.133928] Call trace:
[  155.136363]  smp_call_function_single+0x1a4/0x1bc
[  155.141059]  perf_cgroup_attach+0x74/0xd8
[  155.145060]  cgroup_migrate_execute+0x374/0x444
[  155.149581]  cgroup_migrate+0x74/0x8c
[  155.153234]  cgroup_attach_task+0x114/0x120
[  155.157408]  __cgroup_procs_write+0x108/0x230
[  155.161755]  cgroup_procs_write+0x1c/0x34
[  155.165756]  cgroup_file_write+0xa0/0x1a4
[  155.169757]  kernfs_fop_write_iter+0x118/0x1a8
[  155.174195]  vfs_write+0x2d0/0x39c
[  155.177587]  ksys_write+0x68/0xf4
[  155.180893]  __arm64_sys_write+0x1c/0x28
[  155.184805]  invoke_syscall+0x48/0x114
[  155.188547]  el0_svc_common.constprop.0+0x44/0xe4
[  155.193243]  do_el0_svc+0x38/0xa4
[  155.196551]  el0_svc+0x2c/0x84
[  155.199595]  el0t_64_sync_handler+0xc0/0xc4
[  155.203769]  el0t_64_sync+0x190/0x194


> 
> Mingjia Zhang (3):
>   media: mediatek: vcodec: Add capture format to support 10bit tile mode
>   media: mediatek: vcodec: Add capture format to support 10bit raster
>     mode
>   media: mediatek: vcodec: Add driver to support 10bit
> 
>  .../media/v4l/pixfmt-reserved.rst             |  15 ++
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
>  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
>  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
>  drivers/media/v4l2-core/v4l2-common.c         |   4 +
>  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
>  include/uapi/linux/videodev2.h                |   2 +
>  7 files changed, 186 insertions(+), 4 deletions(-)
>
  
Nicolas Dufresne July 11, 2023, 7:39 p.m. UTC | #2
Le mardi 11 juillet 2023 à 15:15 -0400, Nicolas Dufresne a écrit :
> Hi,
> 
> phew things missing in this cover letter,
> 
> Le mardi 11 juillet 2023 à 20:57 +0800, Yunfei Dong a écrit :
> > Define two capture formats V4L2_PIX_FMT_MT2110R and
> > V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> > Getting the size of each plane again when userspace set 10bit
> > syntax to driver.
> > 
> > V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> > is used for AV1/VP9/HEVC.
> > 
> > patch 1 Add driver to support 10bit
> > patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
> > patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
> > ---
> > - send the first version v1:
> > - Run 10bit VP9/AV1 fluster test pass.
> 
> Please at least provide the score before and after these changes. Full report is
> also nice. You didn't explain why H.264 is not tested.
> 
> > - Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.
> > ---
> 
> This cover letter is missing v4l2-compliance report. This is needed whenever
> format mechanism is modified in a driver (not just for new drivers). Please add
> and make sure there is not regression too.
> 
> > 
> > Reference series:
> > [1]: this series depends on v6 which is send by Yunfei Dong.
> >      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> 
> Its seems like 6.5.0-rc1 with the depedency and this patchset does not boot on
> MT8195 Chromebooks. Which paltform has this been validated on ?

I've manged to boot it using Collabora for-kernel-ci next kernel, which is based
on media-state/master 6.5.0-rc1. I suspect there is more depedencies then
described which might be pending in other trees. As all the patches are from
other trees submission, I suppose this is fine for now. Notice that the boot log
does not look very promising though, I will do some more testing, but from clean
boot, after udev have filled the HW database:

[   10.399826] mt7921e 0000:01:00.0: WM Firmware Version: ____010000, Build Time: 20230117170942
[   11.882202] mtk-vcodec-dec 18000000.video-codec: [MTK_V4L2][ERROR] Not supported ctrl id: 0xa40903
[   11.882202] 
[   11.910945] mtk-vcodec-dec 18000000.video-codec: [MTK_V4L2][ERROR] Not supported ctrl id: 0xa40903

This is produced when udev calls /usr/lib/udev/v4l_id, I don't think its doing
anything that would explain error logs.

regards,
Nicolas

> 
> 
> For the record:
> 
> 
> [   13.286252] platform 1c015000.dp-intf: deferred probe pending
> [   13.292007] platform 1c113000.dp-intf: deferred probe pending
> [   28.523484] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   28.529231] rcu: 	5-....: (5250 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=2471
> [   28.538706] rcu: 	(t=5254 jiffies g=-119 q=13320 ncpus=8)
> [   28.544095] Task dump for CPU 0:
> [   28.547313] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   28.557221] Call trace:
> [   28.559658]  __switch_to+0xe4/0x15c
> [   28.563147]  0xffff776000196740
> [   28.566282] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   28.572453] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   28.578101] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   28.585053] pc : smp_call_function_single+0x1a4/0x1bc
> [   28.590098] lr : smp_call_function_single+0x178/0x1bc
> [   28.595140] sp : ffff80008008b9c0
> [   28.598444] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [   28.605572] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [   28.612699] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [   28.619825] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [   28.626952] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [   28.634078] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [   28.641204] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [   28.648331] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [   28.655458] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [   28.662585] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [   28.669711] Call trace:
> [   28.672148]  smp_call_function_single+0x1a4/0x1bc
> [   28.676843]  perf_cgroup_attach+0x74/0xd8
> [   28.680847]  cgroup_migrate_execute+0x374/0x444
> [   28.685368]  cgroup_migrate+0x74/0x8c
> [   28.689021]  cgroup_attach_task+0x114/0x120
> [   28.693195]  __cgroup_procs_write+0x108/0x230
> [   28.697543]  cgroup_procs_write+0x1c/0x34
> [   28.701543]  cgroup_file_write+0xa0/0x1a4
> [   28.705545]  kernfs_fop_write_iter+0x118/0x1a8
> [   28.709983]  vfs_write+0x2d0/0x39c
> [   28.713376]  ksys_write+0x68/0xf4
> [   28.716682]  __arm64_sys_write+0x1c/0x28
> [   28.720594]  invoke_syscall+0x48/0x114
> [   28.724337]  el0_svc_common.constprop.0+0x44/0xe4
> [   28.729034]  do_el0_svc+0x38/0xa4
> [   28.732341]  el0_svc+0x2c/0x84
> [   28.735386]  el0t_64_sync_handler+0xc0/0xc4
> [   28.739561]  el0t_64_sync+0x190/0x194
> [   33.759553] vproc2: disabling
> [   33.762551] vproc1: disabling
> [   33.765548] vaud18: disabling
> [   33.768760] va09: disabling
> [   33.771599] vsram_md: disabling
> [   91.755483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   91.761220] rcu: 	5-....: (21005 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=8569
> [   91.770778] rcu: 	(t=21062 jiffies g=-119 q=13628 ncpus=8)
> [   91.776253] Task dump for CPU 0:
> [   91.779471] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   91.789376] Call trace:
> [   91.791812]  __switch_to+0xe4/0x15c
> [   91.795294]  0xffff776000196740
> [   91.798426] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   91.804597] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   91.810244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   91.817195] pc : smp_call_function_single+0x1a4/0x1bc
> [   91.822237] lr : smp_call_function_single+0x178/0x1bc
> [   91.827278] sp : ffff80008008b9c0
> [   91.830582] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [   91.837709] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [   91.844835] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [   91.851962] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [   91.859089] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [   91.866215] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [   91.873342] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [   91.880468] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [   91.887595] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [   91.894721] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [   91.901848] Call trace:
> [   91.904284]  smp_call_function_single+0x1a4/0x1bc
> [   91.908979]  perf_cgroup_attach+0x74/0xd8
> [   91.912981]  cgroup_migrate_execute+0x374/0x444
> [   91.917502]  cgroup_migrate+0x74/0x8c
> [   91.921155]  cgroup_attach_task+0x114/0x120
> [   91.925329]  __cgroup_procs_write+0x108/0x230
> [   91.929677]  cgroup_procs_write+0x1c/0x34
> [   91.933677]  cgroup_file_write+0xa0/0x1a4
> [   91.937679]  kernfs_fop_write_iter+0x118/0x1a8
> [   91.942117]  vfs_write+0x2d0/0x39c
> [   91.945509]  ksys_write+0x68/0xf4
> [   91.948814]  __arm64_sys_write+0x1c/0x28
> [   91.952726]  invoke_syscall+0x48/0x114
> [   91.956467]  el0_svc_common.constprop.0+0x44/0xe4
> [   91.961164]  do_el0_svc+0x38/0xa4
> [   91.964472]  el0_svc+0x2c/0x84
> [   91.967517]  el0t_64_sync_handler+0xc0/0xc4
> [   91.971691]  el0t_64_sync+0x190/0x194
> [  154.987483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [  154.993218] rcu: 	5-....: (36760 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=14547
> [  155.002862] rcu: 	(t=36870 jiffies g=-119 q=13628 ncpus=8)
> [  155.008337] Task dump for CPU 0:
> [  155.011554] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [  155.021458] Call trace:
> [  155.023894]  __switch_to+0xe4/0x15c
> [  155.027376]  0xffff776000196740
> [  155.030507] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [  155.036676] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [  155.042323] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [  155.049274] pc : smp_call_function_single+0x1a4/0x1bc
> [  155.054316] lr : smp_call_function_single+0x178/0x1bc
> [  155.059358] sp : ffff80008008b9c0
> [  155.062662] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [  155.069788] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [  155.076914] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [  155.084041] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [  155.091168] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [  155.098294] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [  155.105421] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [  155.112548] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [  155.119675] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [  155.126801] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [  155.133928] Call trace:
> [  155.136363]  smp_call_function_single+0x1a4/0x1bc
> [  155.141059]  perf_cgroup_attach+0x74/0xd8
> [  155.145060]  cgroup_migrate_execute+0x374/0x444
> [  155.149581]  cgroup_migrate+0x74/0x8c
> [  155.153234]  cgroup_attach_task+0x114/0x120
> [  155.157408]  __cgroup_procs_write+0x108/0x230
> [  155.161755]  cgroup_procs_write+0x1c/0x34
> [  155.165756]  cgroup_file_write+0xa0/0x1a4
> [  155.169757]  kernfs_fop_write_iter+0x118/0x1a8
> [  155.174195]  vfs_write+0x2d0/0x39c
> [  155.177587]  ksys_write+0x68/0xf4
> [  155.180893]  __arm64_sys_write+0x1c/0x28
> [  155.184805]  invoke_syscall+0x48/0x114
> [  155.188547]  el0_svc_common.constprop.0+0x44/0xe4
> [  155.193243]  do_el0_svc+0x38/0xa4
> [  155.196551]  el0_svc+0x2c/0x84
> [  155.199595]  el0t_64_sync_handler+0xc0/0xc4
> [  155.203769]  el0t_64_sync+0x190/0x194
> 
> 
> > 
> > Mingjia Zhang (3):
> >   media: mediatek: vcodec: Add capture format to support 10bit tile mode
> >   media: mediatek: vcodec: Add capture format to support 10bit raster
> >     mode
> >   media: mediatek: vcodec: Add driver to support 10bit
> > 
> >  .../media/v4l/pixfmt-reserved.rst             |  15 ++
> >  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
> >  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
> >  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
> >  drivers/media/v4l2-core/v4l2-common.c         |   4 +
> >  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
> >  include/uapi/linux/videodev2.h                |   2 +
> >  7 files changed, 186 insertions(+), 4 deletions(-)
> > 
>
  
Nícolas F. R. A. Prado July 11, 2023, 7:40 p.m. UTC | #3
On Tue, Jul 11, 2023 at 03:15:33PM -0400, Nicolas Dufresne wrote:
[..]
> > Reference series:
> > [1]: this series depends on v6 which is send by Yunfei Dong.
> >      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> 
> Its seems like 6.5.0-rc1 with the depedency and this patchset does not boot on
> MT8195 Chromebooks. Which paltform has this been validated on ?

Are you sure this was caused by these patches?

I've recently noticed two issues that cause MT8195 Tomato to softlock the CPU
similar to your trace below.

One of them is caused by having CONFIG_ARM_DSU_PMU=m. Note that it is present in
the arm64 defconfig. To workaround, the config needs to be disabled.

The other is caused by commit 46600ab142f8 ("regulator: Set
PROBE_PREFER_ASYNCHRONOUS for drivers between 5.10 and 5.15"). The whole machine
gets really slow, including the serial. This issue only happens sometimes. To
workaround that commit can be reverted.

I intend to look into those issues and provide proper fixes in the following
days.

Thanks,
Nícolas

> 
> 
> For the record:
> 
> 
> [   13.286252] platform 1c015000.dp-intf: deferred probe pending
> [   13.292007] platform 1c113000.dp-intf: deferred probe pending
> [   28.523484] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   28.529231] rcu: 	5-....: (5250 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=2471
> [   28.538706] rcu: 	(t=5254 jiffies g=-119 q=13320 ncpus=8)
> [   28.544095] Task dump for CPU 0:
> [   28.547313] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   28.557221] Call trace:
> [   28.559658]  __switch_to+0xe4/0x15c
> [   28.563147]  0xffff776000196740
> [   28.566282] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   28.572453] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   28.578101] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   28.585053] pc : smp_call_function_single+0x1a4/0x1bc
> [   28.590098] lr : smp_call_function_single+0x178/0x1bc
> [   28.595140] sp : ffff80008008b9c0
> [   28.598444] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [   28.605572] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [   28.612699] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [   28.619825] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [   28.626952] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [   28.634078] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [   28.641204] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [   28.648331] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [   28.655458] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [   28.662585] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [   28.669711] Call trace:
> [   28.672148]  smp_call_function_single+0x1a4/0x1bc
> [   28.676843]  perf_cgroup_attach+0x74/0xd8
> [   28.680847]  cgroup_migrate_execute+0x374/0x444
> [   28.685368]  cgroup_migrate+0x74/0x8c
> [   28.689021]  cgroup_attach_task+0x114/0x120
> [   28.693195]  __cgroup_procs_write+0x108/0x230
> [   28.697543]  cgroup_procs_write+0x1c/0x34
> [   28.701543]  cgroup_file_write+0xa0/0x1a4
> [   28.705545]  kernfs_fop_write_iter+0x118/0x1a8
> [   28.709983]  vfs_write+0x2d0/0x39c
> [   28.713376]  ksys_write+0x68/0xf4
> [   28.716682]  __arm64_sys_write+0x1c/0x28
> [   28.720594]  invoke_syscall+0x48/0x114
> [   28.724337]  el0_svc_common.constprop.0+0x44/0xe4
> [   28.729034]  do_el0_svc+0x38/0xa4
> [   28.732341]  el0_svc+0x2c/0x84
> [   28.735386]  el0t_64_sync_handler+0xc0/0xc4
> [   28.739561]  el0t_64_sync+0x190/0x194
> [   33.759553] vproc2: disabling
> [   33.762551] vproc1: disabling
> [   33.765548] vaud18: disabling
> [   33.768760] va09: disabling
> [   33.771599] vsram_md: disabling
> [   91.755483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   91.761220] rcu: 	5-....: (21005 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=8569
> [   91.770778] rcu: 	(t=21062 jiffies g=-119 q=13628 ncpus=8)
> [   91.776253] Task dump for CPU 0:
> [   91.779471] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   91.789376] Call trace:
> [   91.791812]  __switch_to+0xe4/0x15c
> [   91.795294]  0xffff776000196740
> [   91.798426] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   91.804597] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   91.810244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [   91.817195] pc : smp_call_function_single+0x1a4/0x1bc
> [   91.822237] lr : smp_call_function_single+0x178/0x1bc
> [   91.827278] sp : ffff80008008b9c0
> [   91.830582] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [   91.837709] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [   91.844835] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [   91.851962] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [   91.859089] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [   91.866215] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [   91.873342] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [   91.880468] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [   91.887595] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [   91.894721] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [   91.901848] Call trace:
> [   91.904284]  smp_call_function_single+0x1a4/0x1bc
> [   91.908979]  perf_cgroup_attach+0x74/0xd8
> [   91.912981]  cgroup_migrate_execute+0x374/0x444
> [   91.917502]  cgroup_migrate+0x74/0x8c
> [   91.921155]  cgroup_attach_task+0x114/0x120
> [   91.925329]  __cgroup_procs_write+0x108/0x230
> [   91.929677]  cgroup_procs_write+0x1c/0x34
> [   91.933677]  cgroup_file_write+0xa0/0x1a4
> [   91.937679]  kernfs_fop_write_iter+0x118/0x1a8
> [   91.942117]  vfs_write+0x2d0/0x39c
> [   91.945509]  ksys_write+0x68/0xf4
> [   91.948814]  __arm64_sys_write+0x1c/0x28
> [   91.952726]  invoke_syscall+0x48/0x114
> [   91.956467]  el0_svc_common.constprop.0+0x44/0xe4
> [   91.961164]  do_el0_svc+0x38/0xa4
> [   91.964472]  el0_svc+0x2c/0x84
> [   91.967517]  el0t_64_sync_handler+0xc0/0xc4
> [   91.971691]  el0t_64_sync+0x190/0x194
> [  154.987483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [  154.993218] rcu: 	5-....: (36760 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=14547
> [  155.002862] rcu: 	(t=36870 jiffies g=-119 q=13628 ncpus=8)
> [  155.008337] Task dump for CPU 0:
> [  155.011554] task:cpuhp/0         state:R  running task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [  155.021458] Call trace:
> [  155.023894]  __switch_to+0xe4/0x15c
> [  155.027376]  0xffff776000196740
> [  155.030507] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [  155.036676] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [  155.042323] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [  155.049274] pc : smp_call_function_single+0x1a4/0x1bc
> [  155.054316] lr : smp_call_function_single+0x178/0x1bc
> [  155.059358] sp : ffff80008008b9c0
> [  155.062662] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> [  155.069788] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> [  155.076914] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> [  155.084041] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> [  155.091168] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> [  155.098294] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> [  155.105421] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> [  155.112548] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> [  155.119675] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> [  155.126801] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> [  155.133928] Call trace:
> [  155.136363]  smp_call_function_single+0x1a4/0x1bc
> [  155.141059]  perf_cgroup_attach+0x74/0xd8
> [  155.145060]  cgroup_migrate_execute+0x374/0x444
> [  155.149581]  cgroup_migrate+0x74/0x8c
> [  155.153234]  cgroup_attach_task+0x114/0x120
> [  155.157408]  __cgroup_procs_write+0x108/0x230
> [  155.161755]  cgroup_procs_write+0x1c/0x34
> [  155.165756]  cgroup_file_write+0xa0/0x1a4
> [  155.169757]  kernfs_fop_write_iter+0x118/0x1a8
> [  155.174195]  vfs_write+0x2d0/0x39c
> [  155.177587]  ksys_write+0x68/0xf4
> [  155.180893]  __arm64_sys_write+0x1c/0x28
> [  155.184805]  invoke_syscall+0x48/0x114
> [  155.188547]  el0_svc_common.constprop.0+0x44/0xe4
> [  155.193243]  do_el0_svc+0x38/0xa4
> [  155.196551]  el0_svc+0x2c/0x84
> [  155.199595]  el0t_64_sync_handler+0xc0/0xc4
> [  155.203769]  el0t_64_sync+0x190/0x194
> 
> 
> > 
> > Mingjia Zhang (3):
> >   media: mediatek: vcodec: Add capture format to support 10bit tile mode
> >   media: mediatek: vcodec: Add capture format to support 10bit raster
> >     mode
> >   media: mediatek: vcodec: Add driver to support 10bit
> > 
> >  .../media/v4l/pixfmt-reserved.rst             |  15 ++
> >  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
> >  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
> >  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
> >  drivers/media/v4l2-core/v4l2-common.c         |   4 +
> >  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
> >  include/uapi/linux/videodev2.h                |   2 +
> >  7 files changed, 186 insertions(+), 4 deletions(-)
> > 
>
  
Nicolas Dufresne July 11, 2023, 8:05 p.m. UTC | #4
Le mardi 11 juillet 2023 à 20:57 +0800, Yunfei Dong a écrit :
> Define two capture formats V4L2_PIX_FMT_MT2110R and
> V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> Getting the size of each plane again when userspace set 10bit
> syntax to driver.
> 
> V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> is used for AV1/VP9/HEVC.
> 
> patch 1 Add driver to support 10bit
> patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
> patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
> ---
> - send the first version v1:
> - Run 10bit VP9/AV1 fluster test pass.
> - Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.

Just ran AV1 and VP8 tests locally. VP8 completely fails (0/61) as the update
rejects the VP8 controls in mtk_vdec_s_ctrl. As for AV1, it completely regressed
(0 success, there is "invalid tge_size" kind of errors). I've been testing with
the upstream firmware since you didn't mention any firmware update (md5 is
52d11ed015d4e2f6d4e9ce9a8fcf20e3).

You can retrace my step using this kernel and normal Debian OS:

https://gitlab.collabora.com/nicolas/linux/-/commits/mt8195-10bit-2

regards,
Nicolas

> ---
> 
> Reference series:
> [1]: this series depends on v6 which is send by Yunfei Dong.
>      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> 
> Mingjia Zhang (3):
>   media: mediatek: vcodec: Add capture format to support 10bit tile mode
>   media: mediatek: vcodec: Add capture format to support 10bit raster
>     mode
>   media: mediatek: vcodec: Add driver to support 10bit
> 
>  .../media/v4l/pixfmt-reserved.rst             |  15 ++
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
>  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
>  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
>  drivers/media/v4l2-core/v4l2-common.c         |   4 +
>  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
>  include/uapi/linux/videodev2.h                |   2 +
>  7 files changed, 186 insertions(+), 4 deletions(-)
>
  
Nicolas Dufresne July 11, 2023, 8:10 p.m. UTC | #5
Le mardi 11 juillet 2023 à 15:40 -0400, Nícolas F. R. A. Prado a écrit :
> On Tue, Jul 11, 2023 at 03:15:33PM -0400, Nicolas Dufresne wrote:
> [..]
> > > Reference series:
> > > [1]: this series depends on v6 which is send by Yunfei Dong.
> > >      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> > 
> > Its seems like 6.5.0-rc1 with the depedency and this patchset does not boot on
> > MT8195 Chromebooks. Which paltform has this been validated on ?
> 
> Are you sure this was caused by these patches?
> 
> I've recently noticed two issues that cause MT8195 Tomato to softlock the CPU
> similar to your trace below.
> 
> One of them is caused by having CONFIG_ARM_DSU_PMU=m. Note that it is present in
> the arm64 defconfig. To workaround, the config needs to be disabled.

This isn't set in my config.

  # CONFIG_ARM_DSU_PMU is not set

> 
> The other is caused by commit 46600ab142f8 ("regulator: Set
> PROBE_PREFER_ASYNCHRONOUS for drivers between 5.10 and 5.15"). The whole machine
> gets really slow, including the serial. This issue only happens sometimes. To
> workaround that commit can be reverted.
> 
> I intend to look into those issues and provide proper fixes in the following
> days.

If by slow you mean the self stall detection triggers, maybe, I haven't spent
time studying the current delta from 6.5.0-rc1 and Collabora forci branch, but
its non-null. Also, applying the same patches on top did not break the boot, so
quite unlikely. Here's a snapshot of my branch I made, I simply revert some
conflicting  changes related to VP9 racing, then it applied cleanly.

https://gitlab.collabora.com/nicolas/linux/-/commits/mt8195-10bit-2

Nicolas

> 
> Thanks,
> Nícolas
> 
> > 
> > 
> > For the record:
> > 
> > 
> > [   13.286252] platform 1c015000.dp-intf: deferred probe pending
> > [   13.292007] platform 1c113000.dp-intf: deferred probe pending
> > [   28.523484] rcu: INFO: rcu_preempt self-detected stall on CPU
> > [   28.529231] rcu: 	5-....: (5250 ticks this GP)
> > idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=2471
> > [   28.538706] rcu: 	(t=5254 jiffies g=-119 q=13320 ncpus=8)
> > [   28.544095] Task dump for CPU 0:
> > [   28.547313] task:cpuhp/0         state:R  running task     stack:0     pid:17
> > ppid:2      flags:0x0000000a
> > [   28.557221] Call trace:
> > [   28.559658]  __switch_to+0xe4/0x15c
> > [   28.563147]  0xffff776000196740
> > [   28.566282] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> > [   28.572453] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> > [   28.578101] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [   28.585053] pc : smp_call_function_single+0x1a4/0x1bc
> > [   28.590098] lr : smp_call_function_single+0x178/0x1bc
> > [   28.595140] sp : ffff80008008b9c0
> > [   28.598444] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> > [   28.605572] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> > [   28.612699] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> > [   28.619825] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> > [   28.626952] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> > [   28.634078] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> > [   28.641204] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> > [   28.648331] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> > [   28.655458] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> > [   28.662585] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> > [   28.669711] Call trace:
> > [   28.672148]  smp_call_function_single+0x1a4/0x1bc
> > [   28.676843]  perf_cgroup_attach+0x74/0xd8
> > [   28.680847]  cgroup_migrate_execute+0x374/0x444
> > [   28.685368]  cgroup_migrate+0x74/0x8c
> > [   28.689021]  cgroup_attach_task+0x114/0x120
> > [   28.693195]  __cgroup_procs_write+0x108/0x230
> > [   28.697543]  cgroup_procs_write+0x1c/0x34
> > [   28.701543]  cgroup_file_write+0xa0/0x1a4
> > [   28.705545]  kernfs_fop_write_iter+0x118/0x1a8
> > [   28.709983]  vfs_write+0x2d0/0x39c
> > [   28.713376]  ksys_write+0x68/0xf4
> > [   28.716682]  __arm64_sys_write+0x1c/0x28
> > [   28.720594]  invoke_syscall+0x48/0x114
> > [   28.724337]  el0_svc_common.constprop.0+0x44/0xe4
> > [   28.729034]  do_el0_svc+0x38/0xa4
> > [   28.732341]  el0_svc+0x2c/0x84
> > [   28.735386]  el0t_64_sync_handler+0xc0/0xc4
> > [   28.739561]  el0t_64_sync+0x190/0x194
> > [   33.759553] vproc2: disabling
> > [   33.762551] vproc1: disabling
> > [   33.765548] vaud18: disabling
> > [   33.768760] va09: disabling
> > [   33.771599] vsram_md: disabling
> > [   91.755483] rcu: INFO: rcu_preempt self-detected stall on CPU
> > [   91.761220] rcu: 	5-....: (21005 ticks this GP)
> > idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=8569
> > [   91.770778] rcu: 	(t=21062 jiffies g=-119 q=13628 ncpus=8)
> > [   91.776253] Task dump for CPU 0:
> > [   91.779471] task:cpuhp/0         state:R  running task     stack:0     pid:17
> > ppid:2      flags:0x0000000a
> > [   91.789376] Call trace:
> > [   91.791812]  __switch_to+0xe4/0x15c
> > [   91.795294]  0xffff776000196740
> > [   91.798426] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> > [   91.804597] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> > [   91.810244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [   91.817195] pc : smp_call_function_single+0x1a4/0x1bc
> > [   91.822237] lr : smp_call_function_single+0x178/0x1bc
> > [   91.827278] sp : ffff80008008b9c0
> > [   91.830582] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> > [   91.837709] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> > [   91.844835] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> > [   91.851962] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> > [   91.859089] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> > [   91.866215] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> > [   91.873342] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> > [   91.880468] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> > [   91.887595] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> > [   91.894721] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> > [   91.901848] Call trace:
> > [   91.904284]  smp_call_function_single+0x1a4/0x1bc
> > [   91.908979]  perf_cgroup_attach+0x74/0xd8
> > [   91.912981]  cgroup_migrate_execute+0x374/0x444
> > [   91.917502]  cgroup_migrate+0x74/0x8c
> > [   91.921155]  cgroup_attach_task+0x114/0x120
> > [   91.925329]  __cgroup_procs_write+0x108/0x230
> > [   91.929677]  cgroup_procs_write+0x1c/0x34
> > [   91.933677]  cgroup_file_write+0xa0/0x1a4
> > [   91.937679]  kernfs_fop_write_iter+0x118/0x1a8
> > [   91.942117]  vfs_write+0x2d0/0x39c
> > [   91.945509]  ksys_write+0x68/0xf4
> > [   91.948814]  __arm64_sys_write+0x1c/0x28
> > [   91.952726]  invoke_syscall+0x48/0x114
> > [   91.956467]  el0_svc_common.constprop.0+0x44/0xe4
> > [   91.961164]  do_el0_svc+0x38/0xa4
> > [   91.964472]  el0_svc+0x2c/0x84
> > [   91.967517]  el0t_64_sync_handler+0xc0/0xc4
> > [   91.971691]  el0t_64_sync+0x190/0x194
> > [  154.987483] rcu: INFO: rcu_preempt self-detected stall on CPU
> > [  154.993218] rcu: 	5-....: (36760 ticks this GP)
> > idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=14547
> > [  155.002862] rcu: 	(t=36870 jiffies g=-119 q=13628 ncpus=8)
> > [  155.008337] Task dump for CPU 0:
> > [  155.011554] task:cpuhp/0         state:R  running task     stack:0     pid:17
> > ppid:2      flags:0x0000000a
> > [  155.021458] Call trace:
> > [  155.023894]  __switch_to+0xe4/0x15c
> > [  155.027376]  0xffff776000196740
> > [  155.030507] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> > [  155.036676] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> > [  155.042323] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > [  155.049274] pc : smp_call_function_single+0x1a4/0x1bc
> > [  155.054316] lr : smp_call_function_single+0x178/0x1bc
> > [  155.059358] sp : ffff80008008b9c0
> > [  155.062662] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27: ffff77600515c858
> > [  155.069788] x26: ffff80008008bbb0 x25: 00000000ffffffff x24: 0000000000000000
> > [  155.076914] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21: ffff80008008bbb0
> > [  155.084041] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18: 0000000000000000
> > [  155.091168] x17: ffffa66484655000 x16: ffff800080028000 x15: 000000079c8b8c8b
> > [  155.098294] x14: 00000000000001c1 x13: 00000000000001c1 x12: 0000000000000000
> > [  155.105421] x11: 0000000000000031 x10: ffff77613ef540c0 x9 : 0000000000000000
> > [  155.112548] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 : ffffd0fcb8de2af4
> > [  155.119675] x5 : 0000000000000001 x4 : 0000000000000040 x3 : ffff80008008ba08
> > [  155.126801] x2 : 0000000000000000 x1 : 0000000000000011 x0 : 0000000000000000
> > [  155.133928] Call trace:
> > [  155.136363]  smp_call_function_single+0x1a4/0x1bc
> > [  155.141059]  perf_cgroup_attach+0x74/0xd8
> > [  155.145060]  cgroup_migrate_execute+0x374/0x444
> > [  155.149581]  cgroup_migrate+0x74/0x8c
> > [  155.153234]  cgroup_attach_task+0x114/0x120
> > [  155.157408]  __cgroup_procs_write+0x108/0x230
> > [  155.161755]  cgroup_procs_write+0x1c/0x34
> > [  155.165756]  cgroup_file_write+0xa0/0x1a4
> > [  155.169757]  kernfs_fop_write_iter+0x118/0x1a8
> > [  155.174195]  vfs_write+0x2d0/0x39c
> > [  155.177587]  ksys_write+0x68/0xf4
> > [  155.180893]  __arm64_sys_write+0x1c/0x28
> > [  155.184805]  invoke_syscall+0x48/0x114
> > [  155.188547]  el0_svc_common.constprop.0+0x44/0xe4
> > [  155.193243]  do_el0_svc+0x38/0xa4
> > [  155.196551]  el0_svc+0x2c/0x84
> > [  155.199595]  el0t_64_sync_handler+0xc0/0xc4
> > [  155.203769]  el0t_64_sync+0x190/0x194
> > 
> > 
> > > 
> > > Mingjia Zhang (3):
> > >   media: mediatek: vcodec: Add capture format to support 10bit tile mode
> > >   media: mediatek: vcodec: Add capture format to support 10bit raster
> > >     mode
> > >   media: mediatek: vcodec: Add driver to support 10bit
> > > 
> > >  .../media/v4l/pixfmt-reserved.rst             |  15 ++
> > >  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
> > >  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
> > >  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140 +++++++++++++++++-
> > >  drivers/media/v4l2-core/v4l2-common.c         |   4 +
> > >  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
> > >  include/uapi/linux/videodev2.h                |   2 +
> > >  7 files changed, 186 insertions(+), 4 deletions(-)
> > > 
> >
  
Yunfei Dong (董云飞) July 12, 2023, 3:11 a.m. UTC | #6
Hi Nicolas,

Thanks for your suggestion.

On Tue, 2023-07-11 at 15:15 -0400, Nicolas Dufresne wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  Hi,
> 
> phew things missing in this cover letter,
> 
> Le mardi 11 juillet 2023 à 20:57 +0800, Yunfei Dong a écrit :
> > Define two capture formats V4L2_PIX_FMT_MT2110R and
> > V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> > Getting the size of each plane again when userspace set 10bit
> > syntax to driver.
> > 
> > V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> > is used for AV1/VP9/HEVC.
> > 
> > patch 1 Add driver to support 10bit
> > patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit
> tile mode
> > patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit
> raster mode
> > ---
> > - send the first version v1:
> > - Run 10bit VP9/AV1 fluster test pass.
> 
> Please at least provide the score before and after these changes.
> Full report is
> also nice. You didn't explain why H.264 is not tested.
> 
> > - Will return error when the 10bit parameter no correctly in
> function mtk_vdec_s_ctrl.
> > ---
> 
> This cover letter is missing v4l2-compliance report. This is needed
> whenever
> format mechanism is modified in a driver (not just for new drivers).
> Please add
> and make sure there is not regression too.
> 
Forgot to test v4l2-compliance, will add in next patch.

The flush test not include H264 for test fail, according to mingjia's
information, maybe gstreamer set wrong format. H264 fluster can test
pass when kernel driver force h264 in raster mode.
> > 
> > Reference series:
> > [1]: this series depends on v6 which is send by Yunfei Dong.
> >      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> 
> Its seems like 6.5.0-rc1 with the depedency and this patchset does
> not boot on
> MT8195 Chromebooks. Which paltform has this been validated on ?
> 
> 
Test the patch series "separate encoder and decoder" and "Add driver to
support 10bit" in mt8188 and mt8195, the driver can work well with tast
test and Youtube. Not found the crash log. Maybe the crash log isn't
related with decoder?

Best Regards,
Yunfei Dong
> For the record:
> 
> 
> [   13.286252] platform 1c015000.dp-intf: deferred probe pending
> [   13.292007] platform 1c113000.dp-intf: deferred probe pending
> [   28.523484] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   28.529231] rcu: 5-....: (5250 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=2471
> [   28.538706] rcu: (t=5254 jiffies g=-119 q=13320 ncpus=8)
> [   28.544095] Task dump for CPU 0:
> [   28.547313] task:cpuhp/0         state:R  running
> task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   28.557221] Call trace:
> [   28.559658]  __switch_to+0xe4/0x15c
> [   28.563147]  0xffff776000196740
> [   28.566282] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   28.572453] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   28.578101] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [   28.585053] pc : smp_call_function_single+0x1a4/0x1bc
> [   28.590098] lr : smp_call_function_single+0x178/0x1bc
> [   28.595140] sp : ffff80008008b9c0
> [   28.598444] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27:
> ffff77600515c858
> [   28.605572] x26: ffff80008008bbb0 x25: 00000000ffffffff x24:
> 0000000000000000
> [   28.612699] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21:
> ffff80008008bbb0
> [   28.619825] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18:
> 0000000000000000
> [   28.626952] x17: ffffa66484655000 x16: ffff800080028000 x15:
> 000000079c8b8c8b
> [   28.634078] x14: 00000000000001c1 x13: 00000000000001c1 x12:
> 0000000000000000
> [   28.641204] x11: 0000000000000031 x10: ffff77613ef540c0 x9 :
> 0000000000000000
> [   28.648331] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 :
> ffffd0fcb8de2af4
> [   28.655458] x5 : 0000000000000001 x4 : 0000000000000040 x3 :
> ffff80008008ba08
> [   28.662585] x2 : 0000000000000000 x1 : 0000000000000011 x0 :
> 0000000000000000
> [   28.669711] Call trace:
> [   28.672148]  smp_call_function_single+0x1a4/0x1bc
> [   28.676843]  perf_cgroup_attach+0x74/0xd8
> [   28.680847]  cgroup_migrate_execute+0x374/0x444
> [   28.685368]  cgroup_migrate+0x74/0x8c
> [   28.689021]  cgroup_attach_task+0x114/0x120
> [   28.693195]  __cgroup_procs_write+0x108/0x230
> [   28.697543]  cgroup_procs_write+0x1c/0x34
> [   28.701543]  cgroup_file_write+0xa0/0x1a4
> [   28.705545]  kernfs_fop_write_iter+0x118/0x1a8
> [   28.709983]  vfs_write+0x2d0/0x39c
> [   28.713376]  ksys_write+0x68/0xf4
> [   28.716682]  __arm64_sys_write+0x1c/0x28
> [   28.720594]  invoke_syscall+0x48/0x114
> [   28.724337]  el0_svc_common.constprop.0+0x44/0xe4
> [   28.729034]  do_el0_svc+0x38/0xa4
> [   28.732341]  el0_svc+0x2c/0x84
> [   28.735386]  el0t_64_sync_handler+0xc0/0xc4
> [   28.739561]  el0t_64_sync+0x190/0x194
> [   33.759553] vproc2: disabling
> [   33.762551] vproc1: disabling
> [   33.765548] vaud18: disabling
> [   33.768760] va09: disabling
> [   33.771599] vsram_md: disabling
> [   91.755483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [   91.761220] rcu: 5-....: (21005 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=8569
> [   91.770778] rcu: (t=21062 jiffies g=-119 q=13628 ncpus=8)
> [   91.776253] Task dump for CPU 0:
> [   91.779471] task:cpuhp/0         state:R  running
> task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [   91.789376] Call trace:
> [   91.791812]  __switch_to+0xe4/0x15c
> [   91.795294]  0xffff776000196740
> [   91.798426] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [   91.804597] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [   91.810244] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [   91.817195] pc : smp_call_function_single+0x1a4/0x1bc
> [   91.822237] lr : smp_call_function_single+0x178/0x1bc
> [   91.827278] sp : ffff80008008b9c0
> [   91.830582] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27:
> ffff77600515c858
> [   91.837709] x26: ffff80008008bbb0 x25: 00000000ffffffff x24:
> 0000000000000000
> [   91.844835] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21:
> ffff80008008bbb0
> [   91.851962] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18:
> 0000000000000000
> [   91.859089] x17: ffffa66484655000 x16: ffff800080028000 x15:
> 000000079c8b8c8b
> [   91.866215] x14: 00000000000001c1 x13: 00000000000001c1 x12:
> 0000000000000000
> [   91.873342] x11: 0000000000000031 x10: ffff77613ef540c0 x9 :
> 0000000000000000
> [   91.880468] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 :
> ffffd0fcb8de2af4
> [   91.887595] x5 : 0000000000000001 x4 : 0000000000000040 x3 :
> ffff80008008ba08
> [   91.894721] x2 : 0000000000000000 x1 : 0000000000000011 x0 :
> 0000000000000000
> [   91.901848] Call trace:
> [   91.904284]  smp_call_function_single+0x1a4/0x1bc
> [   91.908979]  perf_cgroup_attach+0x74/0xd8
> [   91.912981]  cgroup_migrate_execute+0x374/0x444
> [   91.917502]  cgroup_migrate+0x74/0x8c
> [   91.921155]  cgroup_attach_task+0x114/0x120
> [   91.925329]  __cgroup_procs_write+0x108/0x230
> [   91.929677]  cgroup_procs_write+0x1c/0x34
> [   91.933677]  cgroup_file_write+0xa0/0x1a4
> [   91.937679]  kernfs_fop_write_iter+0x118/0x1a8
> [   91.942117]  vfs_write+0x2d0/0x39c
> [   91.945509]  ksys_write+0x68/0xf4
> [   91.948814]  __arm64_sys_write+0x1c/0x28
> [   91.952726]  invoke_syscall+0x48/0x114
> [   91.956467]  el0_svc_common.constprop.0+0x44/0xe4
> [   91.961164]  do_el0_svc+0x38/0xa4
> [   91.964472]  el0_svc+0x2c/0x84
> [   91.967517]  el0t_64_sync_handler+0xc0/0xc4
> [   91.971691]  el0t_64_sync+0x190/0x194
> [  154.987483] rcu: INFO: rcu_preempt self-detected stall on CPU
> [  154.993218] rcu: 5-....: (36760 ticks this GP)
> idle=51c4/1/0x4000000000000000 softirq=1434/1447 fqs=14547
> [  155.002862] rcu: (t=36870 jiffies g=-119 q=13628 ncpus=8)
> [  155.008337] Task dump for CPU 0:
> [  155.011554] task:cpuhp/0         state:R  running
> task     stack:0     pid:17
> ppid:2      flags:0x0000000a
> [  155.021458] Call trace:
> [  155.023894]  __switch_to+0xe4/0x15c
> [  155.027376]  0xffff776000196740
> [  155.030507] CPU: 5 PID: 1 Comm: systemd Not tainted 6.5.0-rc1+ #36
> [  155.036676] Hardware name: Acer Tomato (rev3 - 4) board (DT)
> [  155.042323] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [  155.049274] pc : smp_call_function_single+0x1a4/0x1bc
> [  155.054316] lr : smp_call_function_single+0x178/0x1bc
> [  155.059358] sp : ffff80008008b9c0
> [  155.062662] x29: ffff80008008b9c0 x28: ffff80008008bb90 x27:
> ffff77600515c858
> [  155.069788] x26: ffff80008008bbb0 x25: 00000000ffffffff x24:
> 0000000000000000
> [  155.076914] x23: 00000000fffffff5 x22: ffffd0fcb8de9b50 x21:
> ffff80008008bbb0
> [  155.084041] x20: ffffd0fcb8de2af4 x19: ffff80008008ba00 x18:
> 0000000000000000
> [  155.091168] x17: ffffa66484655000 x16: ffff800080028000 x15:
> 000000079c8b8c8b
> [  155.098294] x14: 00000000000001c1 x13: 00000000000001c1 x12:
> 0000000000000000
> [  155.105421] x11: 0000000000000031 x10: ffff77613ef540c0 x9 :
> 0000000000000000
> [  155.112548] x8 : ffff77613ef54140 x7 : 0000000000000005 x6 :
> ffffd0fcb8de2af4
> [  155.119675] x5 : 0000000000000001 x4 : 0000000000000040 x3 :
> ffff80008008ba08
> [  155.126801] x2 : 0000000000000000 x1 : 0000000000000011 x0 :
> 0000000000000000
> [  155.133928] Call trace:
> [  155.136363]  smp_call_function_single+0x1a4/0x1bc
> [  155.141059]  perf_cgroup_attach+0x74/0xd8
> [  155.145060]  cgroup_migrate_execute+0x374/0x444
> [  155.149581]  cgroup_migrate+0x74/0x8c
> [  155.153234]  cgroup_attach_task+0x114/0x120
> [  155.157408]  __cgroup_procs_write+0x108/0x230
> [  155.161755]  cgroup_procs_write+0x1c/0x34
> [  155.165756]  cgroup_file_write+0xa0/0x1a4
> [  155.169757]  kernfs_fop_write_iter+0x118/0x1a8
> [  155.174195]  vfs_write+0x2d0/0x39c
> [  155.177587]  ksys_write+0x68/0xf4
> [  155.180893]  __arm64_sys_write+0x1c/0x28
> [  155.184805]  invoke_syscall+0x48/0x114
> [  155.188547]  el0_svc_common.constprop.0+0x44/0xe4
> [  155.193243]  do_el0_svc+0x38/0xa4
> [  155.196551]  el0_svc+0x2c/0x84
> [  155.199595]  el0t_64_sync_handler+0xc0/0xc4
> [  155.203769]  el0t_64_sync+0x190/0x194
> 
> 
> > 
> > Mingjia Zhang (3):
> >   media: mediatek: vcodec: Add capture format to support 10bit tile
> mode
> >   media: mediatek: vcodec: Add capture format to support 10bit
> raster
> >     mode
> >   media: mediatek: vcodec: Add driver to support 10bit
> > 
> >  .../media/v4l/pixfmt-reserved.rst             |  15 ++
> >  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
> >  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
> >  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 140
> +++++++++++++++++-
> >  drivers/media/v4l2-core/v4l2-common.c         |   4 +
> >  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
> >  include/uapi/linux/videodev2.h                |   2 +
> >  7 files changed, 186 insertions(+), 4 deletions(-)
> > 
> 
>
  
Nicolas Dufresne July 13, 2023, 1:31 p.m. UTC | #7
Le mercredi 12 juillet 2023 à 03:11 +0000, Yunfei Dong (董云飞) a écrit :
> > This cover letter is missing v4l2-compliance report. This is needed
> > whenever
> > format mechanism is modified in a driver (not just for new drivers).
> > Please add
> > and make sure there is not regression too.
> > 
> Forgot to test v4l2-compliance, will add in next patch.
> 
> The flush test not include H264 for test fail, according to mingjia's
> information, maybe gstreamer set wrong format. H264 fluster can test
> pass when kernel driver force h264 in raster mode.

For everyone interested, I've rebased MT2110R and MT2110T support MR in
GStreamer. With the offending "return -EINVAL" removed, the test passes for me.
Consider updating your GStreamer build, let me know if you see further issue
with GStreamer in this regard. I'm only missing a firmware with HEVC and 10bit
combined to confirm HEVC works too.

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444

cheer,
Nicolas