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

From: Yunfei Dong (董云飞)
Date: Tue Jul 11 2023 - 23:11:26 EST


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@xxxxxxxxxxxx
>
> 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(-)
> >
>
>