IMX565 driver - can not figure out the correct DT height!

Hello, I am working on a IMX565 driver, under a R32.1 release of L4T. The sensor resolution shall be 4128x3008 px, with 4 EBD lines according to the datasheet (with 64 hidden OB lines).

The 3008 lines configuration ended with a tag:CHANSEL_SHORT_FRAME, so I started bisecting the DTS height setting. And I got to a WTF situation, where 3005 lines produces a tag:CHANSEL_FAULT_FE, and 3006 lines produces a tag:CHANSEL_SHORT_FRAME error.

This is really hopeless for me, since the NVIDIA platform requires a strict resolution setting - and there is not one that would work :(

Error at 4128x3005+4

     kworker/3:1-119   [003] ....   300.616952: rtos_queue_send_from_isr_failed: tstamp:9785724698 queue:0x0b4b1c18
     kworker/3:1-119   [003] ....   300.616953: rtos_queue_send_failed: tstamp:9785725576 queue:0x0b4a7258
     kworker/3:1-119   [003] ....   300.667921: rtcpu_vinotify_event: tstamp:9786737291 tag:ATOMP_FS channel:0x00 frame:16 vi_tstamp:9786736907 data:0x00000000
     kworker/3:1-119   [003] ....   300.667925: rtcpu_vinotify_event: tstamp:9786760518 tag:CHANSEL_PXL_SOF channel:0x00 frame:16 vi_tstamp:9786760141 data:0x00000001
     kworker/3:1-119   [003] ....   300.667926: rtcpu_vinotify_event: tstamp:9786764294 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:16 vi_tstamp:9786763934 data:0x08000000
     kworker/3:1-119   [003] ....   300.718918: rtcpu_vinotify_event: tstamp:9787790360 tag:CHANSEL_PXL_EOF channel:0x00 frame:16 vi_tstamp:9787789815 data:0x0bbc0002
     kworker/3:1-119   [003] ....   300.718919: rtcpu_vinotify_event: tstamp:9787790480 tag:CHANSEL_FAULT channel:0x00 frame:16 vi_tstamp:9787789831 data:0x0bbd0040
     kworker/3:1-119   [003] ....   300.718920: rtcpu_vinotify_event: tstamp:9787791467 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:16 vi_tstamp:9787790614 data:0x08000000
     kworker/3:1-119   [003] ....   300.718920: rtcpu_vinotify_event: tstamp:9787791573 tag:CHANSEL_FAULT_FE channel:0x10 frame:16 vi_tstamp:9787790614 data:0x00000001
     kworker/3:1-119   [003] ....   300.718921: rtcpu_vinotify_event: tstamp:9787791713 tag:ATOMP_FE channel:0x00 frame:16 vi_tstamp:9787790617 data:0x00000000
     kworker/3:1-119   [003] ....   300.718921: rtcpu_vinotify_event: tstamp:9787791963 tag:CSIMUX_FRAME channel:0x00 frame:16 vi_tstamp:9787790852 data:0x00400064
     kworker/3:1-119   [003] ....   300.718923: rtos_queue_peek_from_isr_failed: tstamp:9787843388 queue:0x0b4b4500

Error at 4128x3006+4

     kworker/2:3-122   [002] ....   273.387083: rtos_queue_peek_from_isr_failed: tstamp:8935450911 queue:0x0b4b4500
     kworker/2:3-122   [002] ....   273.489125: rtcpu_vinotify_event: tstamp:8938332531 tag:CSIMUX_STREAM channel:0xff frame:0 vi_tstamp:8938332147 data:0x00010000
 vi-output, imx5-3511  [001] ....   273.496147: tegra_channel_capture_frame: sof:273.516936038
     kworker/2:3-122   [002] ....   273.540137: rtcpu_vinotify_event: tstamp:8939423524 tag:CHANSEL_PXL_SOF channel:0x00 frame:2 vi_tstamp:8939423011 data:0x00000001
     kworker/2:3-122   [002] ....   273.540142: rtcpu_vinotify_event: tstamp:8939423697 tag:ATOMP_FS channel:0x00 frame:2 vi_tstamp:8939423016 data:0x00000000
     kworker/2:3-122   [002] ....   273.540144: rtcpu_vinotify_event: tstamp:8939427989 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:2 vi_tstamp:8939427622 data:0x08000000
     kworker/2:3-122   [002] ....   273.540147: rtos_queue_peek_from_isr_failed: tstamp:8940450918 queue:0x0b4b4500
     kworker/2:3-122   [002] ....   273.540149: rtcpu_vinotify_event: tstamp:8940467371 tag:CSIMUX_FRAME channel:0x00 frame:2 vi_tstamp:8940466662 data:0x000000a4
     kworker/2:3-122   [002] ....   273.540150: rtcpu_vinotify_event: tstamp:8940467573 tag:CHANSEL_SHORT_FRAME channel:0x10 frame:2 vi_tstamp:8940466663 data:0x00000001
     kworker/2:3-122   [002] ....   273.540151: rtcpu_vinotify_event: tstamp:8940467714 tag:ATOMP_FE channel:0x00 frame:2 vi_tstamp:8940466666 data:0x00000000
     kworker/2:3-122   [002] ....   273.693193: rtos_queue_peek_from_isr_failed: tstamp:8945450927 queue:0x0b4b4500

hello danieel,

CHANSEL_SHORT_FRAME it means the coming signaling less than VI’s expectation.
and… odd resolution is not supported by the VI engine.
so, may I know what’s the scenario after modify the settings to 3004?
thanks

Here is the 3004 height - seems same as 3005 with tag:CHANSEL_FAULT_FE:

Error at 4128x3004+4

     kworker/3:1-105   [003] ....    51.789722: rtos_queue_send_from_isr_failed: tstamp:2010071550 queue:0x0b4b0e58
     kworker/3:1-105   [003] ....    51.789723: rtos_queue_send_from_isr_failed: tstamp:2010071651 queue:0x0b4b1c18
     kworker/3:1-105   [003] ....    51.789724: rtos_queue_send_failed: tstamp:2010072530 queue:0x0b4a7258
     kworker/3:1-105   [003] ....    51.789726: rtos_queue_peek_from_isr_failed: tstamp:2010106176 queue:0x0b4b4500
     kworker/3:1-105   [003] ....    51.789727: rtcpu_vinotify_event: tstamp:2010871177 tag:ATOMP_FS channel:0x00 frame:18 vi_tstamp:2010870792 data:0x00000000
     kworker/3:1-105   [003] ....    51.789729: rtcpu_vinotify_event: tstamp:2010894402 tag:CHANSEL_PXL_SOF channel:0x00 frame:18 vi_tstamp:2010894027 data:0x00000001
     kworker/3:1-105   [003] ....    51.789730: rtcpu_vinotify_event: tstamp:2010897166 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:18 vi_tstamp:2010896803 data:0x08000000
     kworker/3:1-105   [003] ....    51.840705: rtcpu_vinotify_event: tstamp:2011923920 tag:CHANSEL_PXL_EOF channel:0x00 frame:18 vi_tstamp:2011923366 data:0x0bbb0002
     kworker/3:1-105   [003] ....    51.840707: rtcpu_vinotify_event: tstamp:2011924039 tag:CHANSEL_FAULT channel:0x00 frame:18 vi_tstamp:2011923383 data:0x0bbc0040
     kworker/3:1-105   [003] ....    51.840707: rtcpu_vinotify_event: tstamp:2011924868 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:18 vi_tstamp:2011924174 data:0x08000000
     kworker/3:1-105   [003] ....    51.840708: rtcpu_vinotify_event: tstamp:2011924982 tag:CHANSEL_FAULT_FE channel:0x10 frame:18 vi_tstamp:2011924174 data:0x00000001
     kworker/3:1-105   [003] ....    51.840709: rtcpu_vinotify_event: tstamp:2011925128 tag:ATOMP_FE channel:0x00 frame:18 vi_tstamp:2011924178 data:0x00000000
     kworker/3:1-105   [003] ....    51.943702: rtos_queue_peek_from_isr_failed: tstamp:2015106185 queue:0x0b4b4500
 vi-output, imx5-2957  [001] ....    52.016931: tegra_channel_capture_setup: vnc_id 0 W 4128 H 3004 fmt 20
 vi-output, imx5-2957  [001] ....    52.016964: tegra_channel_capture_frame: sof:51.779441600
 vi-output, imx5-2957  [002] ....    52.019348: tegra_channel_capture_frame: sof:52.18591456
     kworker/3:1-105   [003] ....    52.045709: rtos_queue_send_from_isr_failed: tstamp:2017766830 queue:0x0b4a7258
     kworker/3:1-105   [003] ....    52.045713: rtos_queue_send_from_isr_failed: tstamp:2017766944 queue:0x0b4aad68

Also including the original 3008 attempt:

Error at 4128x3008+4

     kworker/5:1-149   [005] ....    67.817021: rtos_queue_peek_from_isr_failed: tstamp:2512006344 queue:0x0b4b4500
 vi-output, imx5-3030  [001] ....    67.913262: tegra_channel_capture_setup: vnc_id 0 W 4128 H 3008 fmt 20
 vi-output, imx5-3030  [001] ....    67.913318: tegra_channel_capture_frame: sof:-268899942880.-549620791296
 vi-output, imx5-3030  [002] ....    67.932962: tegra_channel_capture_frame: sof:67.931867706
     kworker/5:1-149   [005] ....    67.970057: rtcpu_vinotify_event: tstamp:2516109568 tag:ATOMP_FS channel:0x00 frame:8 vi_tstamp:2516109188 data:0x00000000
     kworker/5:1-149   [005] ....    67.970062: rtcpu_vinotify_event: tstamp:2516132800 tag:CHANSEL_PXL_SOF channel:0x00 frame:8 vi_tstamp:2516132422 data:0x00000001
     kworker/5:1-149   [005] ....    67.970062: rtcpu_vinotify_event: tstamp:2516136257 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:8 vi_tstamp:2516135897 data:0x08000000
     kworker/5:1-149   [005] ....    67.970065: rtos_queue_peek_from_isr_failed: tstamp:2517006354 queue:0x0b4b4500
     kworker/5:1-149   [005] ....    67.970066: rtcpu_vinotify_event: tstamp:2517163920 tag:CHANSEL_PXL_EOF channel:0x00 frame:8 vi_tstamp:2517163122 data:0x0bbf0002
     kworker/5:1-149   [005] ....    67.970067: rtcpu_vinotify_event: tstamp:2517164037 tag:CHANSEL_SHORT_FRAME channel:0x10 frame:8 vi_tstamp:2517163135 data:0x00001000
     kworker/5:1-149   [005] ....    67.970068: rtcpu_vinotify_event: tstamp:2517164240 tag:ATOMP_FE channel:0x00 frame:8 vi_tstamp:2517163138 data:0x00000000
     kworker/5:1-149   [005] ....    68.123048: rtos_queue_peek_from_isr_failed: tstamp:2522006351 queue:0x0b4b4500

Correct setting is 4128x3008 +1 EBD line, not 4 as indicated in one of the diagrams in the datasheet.

I wish NVCSI would be able to receive ANY data, without saying what its resolution, size and format is, to an excessively huge buffer (not just) for debug purposes. I have seen too many posts here that deal with similar framing issues. It would also help to run with dynamic ROI/CROP.