Hi Jerry,
I’m part of the team working on the project Carlos mentioned. I tested the patches you provided but no positive results, still have more or less the same log (basically some error related to the syncpoint timeout issue). Additionally, while displaying the streaming I noticed that the fps are know being affected (specifically when the sensor gain is adjusted the fps drop abruptly).
We require that the pipelines set up in a specific order, we’ve managed to solve this but the problem we have is that if the set up of the pipeline for the last camera (configured to give a broadcast initialization signal) takes too long, the daemon ends crashing due to this timeout. We’ve noticed that the timeout is more likely to happen the more pipelines we set up, currently we’re using 6 cameras with a resolution of 2028x1520@60fps. I’ll append some log. Any suggestions are well appreciated.
Log from successful run
[ 54.605864] imx477 43-001a: imx477_power_on: power on
[ 54.612447] imx477 43-001a: imx477_set_frame_length: val: 2145
[ 54.619774] imx477 43-001a: imx477_set_frame_length: vmax: 2145
[ 54.634647] imx477 43-001a: imx477_set_coarse_time: val: 2135
[ 54.685459] misc tegra_camera_ctrl: ISO BW req 2147483647 > 3925327 (max) capping to max
[ 54.693574] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 54.704628] imx477 42-001a: imx477_power_on: power on
[ 54.713103] imx477 43-001a: imx477_s_stream: enable 1 mode 3
[ 54.718852] imx477 42-001a: imx477_set_frame_length: val: 2145
[ 54.727047] imx477 42-001a: imx477_set_frame_length: vmax: 2145
[ 54.733357] imx477 42-001a: imx477_set_coarse_time: val: 2135
[ 54.803640] misc tegra_camera_ctrl: ISO BW req 4294967294 > 3925327 (max) capping to max
[ 54.811943] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 54.823506] imx477 41-001a: imx477_power_on: power on
[ 54.829196] imx477 41-001a: imx477_set_frame_length: val: 2145
[ 54.831539] imx477 42-001a: imx477_s_stream: enable 1 mode 3
[ 54.844038] imx477 41-001a: imx477_set_frame_length: vmax: 2145
[ 54.850501] imx477 41-001a: imx477_set_coarse_time: val: 2135
[ 54.891125] imx477 43-001a: imx477_s_stream: slave xvs setting
[ 54.903422] imx477 43-001a: imx477_s_stream:i2c table write success
[ 54.909771] imx477 43-001a: imx477_s_stream: s_data->mode 3
[ 54.926822] misc tegra_camera_ctrl: ISO BW req 6442450941 > 3925327 (max) capping to max
[ 54.935027] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 54.954197] imx477 41-001a: imx477_s_stream: enable 1 mode 3
[ 54.966591] imx477 40-0010: imx477_power_on: power on
[ 54.972275] imx477 40-0010: imx477_set_frame_length: val: 2145
[ 54.982457] imx477 40-0010: imx477_set_frame_length: vmax: 2145
[ 54.988555] imx477 40-0010: imx477_set_coarse_time: val: 2135
[ 55.042584] imx477 43-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 55.053954] misc tegra_camera_ctrl: ISO BW req 8589934588 > 3925327 (max) capping to max
[ 55.054313] imx477 43-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 55.054315] imx477 43-001a: imx477_s_stream: 2nd slave address enabled
[ 55.054320] imx477 43-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 55.058295] imx477 43-001a: imx477_set_frame_length: val: 2145
[ 55.060169] imx477 43-001a: imx477_set_frame_length: vmax: 2145
[ 55.060175] imx477 43-001a: imx477_set_coarse_time: val: 2135
[ 55.062103] imx477 43-001a: imx477_s_stream: s_stream finished
[ 55.111688] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 55.130467] imx477 40-0010: imx477_s_stream: enable 1 mode 3
[ 55.142592] imx477 42-001a: imx477_s_stream: slave xvs setting
[ 55.159314] imx477 42-001a: imx477_s_stream:i2c table write success
[ 55.165626] imx477 42-001a: imx477_s_stream: s_data->mode 3
[ 55.262803] imx477 41-001a: imx477_s_stream: slave xvs setting
[ 55.281157] imx477 41-001a: imx477_s_stream:i2c table write success
[ 55.287501] imx477 41-001a: imx477_s_stream: s_data->mode 3
[ 55.295147] imx477 42-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 55.307440] imx477 42-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 55.318684] imx477 42-001a: imx477_s_stream: 2nd slave address enabled
[ 55.325294] imx477 42-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 55.339211] imx477 42-001a: imx477_set_frame_length: val: 2145
[ 55.347891] imx477 42-001a: imx477_set_frame_length: vmax: 2145
[ 55.353992] imx477 42-001a: imx477_set_coarse_time: val: 2135
[ 55.362309] imx477 42-001a: imx477_s_stream: s_stream finished
[ 55.433293] imx477 41-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 55.444831] imx477 41-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 55.456005] imx477 41-001a: imx477_s_stream: 2nd slave address enabled
[ 55.458492] imx477 40-0010: imx477_s_stream: xvs master setting
[ 55.461916] imx477 40-0010: imx477_s_stream:i2c table write success
[ 55.461922] imx477 40-0010: imx477_s_stream: s_data->mode 3
[ 55.480593] imx477 41-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 55.492300] imx477 41-001a: imx477_set_frame_length: val: 2145
[ 55.499732] imx477 41-001a: imx477_set_frame_length: vmax: 2145
[ 55.505716] imx477 41-001a: imx477_set_coarse_time: val: 2135
[ 55.512654] imx477 41-001a: imx477_s_stream: s_stream finished
[ 55.514878] imx477 40-0010: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 55.515220] imx477 40-0010: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(1), NewValue:(1)
[ 55.515225] imx477 40-0010: imx477_s_stream: 2nd slave address enabled
[ 55.515278] imx477 40-0010: imx477_s_stream: Getting I2C broadcast client
[ 55.515282] imx477 40-0010: imx477_s_stream: Initial setting for common (broadcast)
[ 55.515293] pca954x 2-0077: Broadcast
[ 55.515638] imx477 40-0010: imx477_s_stream: Standby -> Streaming (broadcast)
[ 55.515646] imx477 40-0010: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 55.516980] imx477 40-0010: imx477_set_frame_length: val: 2145
[ 55.517648] imx477 40-0010: imx477_set_frame_length: vmax: 2145
[ 55.517652] imx477 40-0010: imx477_set_coarse_time: val: 2135
[ 55.518321] imx477 40-0010: imx477_s_stream: s_stream finished
[ 55.611484] misc tegra_camera_ctrl: ISO BW req 4298248544 > 3925327 (max) capping to max
[ 55.619671] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 55.706872] misc tegra_camera_ctrl: ISO BW req 2152405522 > 3925327 (max) capping to max
[ 55.715043] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 55.740989] imx477 43-001a: imx477_set_gain :val = 315, digital gain = 256, analog gain = 315
[ 55.750976] imx477 42-001a: imx477_set_gain :val = 315, digital gain = 256, analog gain = 315
[ 55.761762] imx477 43-001a: imx477_set_gain :val = 388, digital gain = 256, analog gain = 388
[ 55.771835] imx477 42-001a: imx477_set_gain :val = 388, digital gain
Log from unsuccesful run
[ 701.383792] imx477 45-001a: imx477_power_on: power on
[ 701.389826] imx477 45-001a: imx477_set_frame_length: val: 2145
[ 701.396765] imx477 45-001a: imx477_set_frame_length: vmax: 2145
[ 701.402815] imx477 45-001a: imx477_set_coarse_time: val: 2135
[ 701.453953] misc tegra_camera_ctrl: ISO BW req 2147483647 > 3925327 (max) capping to max
[ 701.462104] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.481343] imx477 45-001a: imx477_s_stream: enable 1 mode 3
[ 701.509893] imx477 44-001a: imx477_power_on: power on
[ 701.522179] imx477 44-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 701.583853] imx477 43-001a: imx477_power_on: power on
[ 701.591684] imx477 43-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 701.607192] misc tegra_camera_ctrl: ISO BW req 4294967294 > 3925327 (max) capping to max
[ 701.615440] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.634242] imx477 44-001a: imx477_s_stream: enable 1 mode 3
[ 701.658996] misc tegra_camera_ctrl: ISO BW req 6442450941 > 3925327 (max) capping to max
[ 701.667215] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.685959] imx477 43-001a: imx477_s_stream: enable 1 mode 3
[ 701.698416] imx477 42-001a: imx477_power_on: power on
[ 701.718617] imx477 42-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 701.770167] imx477 45-001a: imx477_s_stream: slave xvs setting
[ 701.779415] imx477 41-001a: imx477_power_on: power on
[ 701.785305] imx477 41-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 701.794470] misc tegra_camera_ctrl: ISO BW req 8589934588 > 3925327 (max) capping to max
[ 701.803049] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.820034] imx477 45-001a: imx477_s_stream:i2c table write success
[ 701.821787] imx477 42-001a: imx477_s_stream: enable 1 mode 3
[ 701.832087] imx477 45-001a: imx477_s_stream: s_data->mode 3
[ 701.865630] misc tegra_camera_ctrl: ISO BW req 10737418235 > 3925327 (max) capping to max
[ 701.873934] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.882762] imx477 40-0010: imx477_power_on: power on
[ 701.888400] imx477 40-0010: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 701.897053] imx477 41-001a: imx477_s_stream: enable 1 mode 3
[ 701.947909] misc tegra_camera_ctrl: ISO BW req 12884901882 > 3925327 (max) capping to max
[ 701.956114] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 701.975009] imx477 40-0010: imx477_s_stream: enable 1 mode 3
[ 702.077720] imx477 45-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 702.090816] imx477 45-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 702.102036] imx477 45-001a: imx477_s_stream: 2nd slave address enabled
[ 702.108654] imx477 45-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 702.126458] imx477 45-001a: imx477_set_frame_length: val: 2145
[ 702.137026] imx477 45-001a: imx477_set_frame_length: vmax: 2145
[ 702.143007] imx477 45-001a: imx477_set_coarse_time: val: 2135
[ 702.153446] imx477 45-001a: imx477_s_stream: s_stream finished
[ 702.366129] imx477 44-001a: imx477_s_stream: slave xvs setting
[ 702.397905] imx477 44-001a: imx477_s_stream:i2c table write success
[ 702.404381] imx477 44-001a: imx477_s_stream: s_data->mode 3
[ 702.528954] imx477 43-001a: imx477_s_stream: slave xvs setting
[ 702.560312] imx477 43-001a: imx477_s_stream:i2c table write success
[ 702.566654] imx477 43-001a: imx477_s_stream: s_data->mode 3
[ 702.652473] imx477 42-001a: imx477_s_stream: slave xvs setting
[ 702.684243] imx477 42-001a: imx477_s_stream:i2c table write success
[ 702.690614] imx477 42-001a: imx477_s_stream: s_data->mode 3
[ 702.705574] imx477 44-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 702.711271] imx477 41-001a: imx477_s_stream: slave xvs setting
[ 702.726425] imx477 44-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 702.734090] imx477 41-001a: imx477_s_stream:i2c table write success
[ 702.734104] imx477 41-001a: imx477_s_stream: s_data->mode 3
[ 702.749525] imx477 44-001a: imx477_s_stream: 2nd slave address enabled
[ 702.756174] imx477 44-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 702.774476] imx477 44-001a: imx477_set_frame_length: val: 2145
[ 702.785455] imx477 44-001a: imx477_set_frame_length: vmax: 2145
[ 702.791561] imx477 44-001a: imx477_set_coarse_time: val: 2135
[ 702.802182] imx477 44-001a: imx477_s_stream: s_stream finished
[ 702.836153] imx477 40-0010: imx477_s_stream: xvs master setting
[ 702.861826] imx477 40-0010: imx477_s_stream:i2c table write success
[ 702.862348] imx477 43-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 702.863917] imx477 43-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 702.863928] imx477 43-001a: imx477_s_stream: 2nd slave address enabled
[ 702.863946] imx477 43-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 702.870121] imx477 43-001a: imx477_set_frame_length: val: 2145
[ 702.873162] imx477 43-001a: imx477_set_frame_length: vmax: 2145
[ 702.873175] imx477 43-001a: imx477_set_coarse_time: val: 2135
[ 702.876245] imx477 43-001a: imx477_s_stream: s_stream finished
[ 702.928898] imx477 40-0010: imx477_s_stream: s_data->mode 3
[ 702.937169] imx477 42-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 702.949557] imx477 42-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 702.960775] imx477 42-001a: imx477_s_stream: 2nd slave address enabled
[ 702.967492] imx477 42-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 702.980525] imx477 42-001a: imx477_set_frame_length: val: 2145
[ 702.988798] imx477 42-001a: imx477_set_frame_length: vmax: 2145
[ 702.994866] imx477 42-001a: imx477_set_coarse_time: val: 2135
[ 703.002741] imx477 42-001a: imx477_s_stream: s_stream finished
[ 703.018104] imx477 41-001a: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 703.030204] imx477 41-001a: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(0), NewValue:(0)
[ 703.034971] misc tegra_camera_ctrl: ISO BW req 8593215838 > 3925327 (max) capping to max
[ 703.034985] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 703.058014] imx477 41-001a: imx477_s_stream: 2nd slave address enabled
[ 703.064634] imx477 41-001a: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 703.072387] imx477 40-0010: Write-> RegName:(IMX477_SLAVE_ADD_EN_2ND_ADDR), Addr:0x(3010), OldValue:(1), NewValue:(1)
[ 703.072752] imx477 40-0010: Write-> RegName:(IMX477_SLAVE_ADD_ACKEN_2ND_ADDR), Addr:0x(3011), OldValue:(1), NewValue:(1)
[ 703.072757] imx477 40-0010: imx477_s_stream: 2nd slave address enabled
[ 703.072761] imx477 40-0010: imx477_s_stream: Initial setting for common (broadcast)
[ 703.072769] pca954x 2-0077: Broadcast
[ 703.073131] imx477 40-0010: imx477_s_stream: Standby -> Streaming (broadcast)
[ 703.073140] imx477 40-0010: imx477_set_gain :val = 256, digital gain = 256, analog gain = 256
[ 703.074859] imx477 40-0010: imx477_set_frame_length: val: 2145
[ 703.075576] imx477 40-0010: imx477_set_frame_length: vmax: 2145
[ 703.075583] imx477 40-0010: imx477_set_coarse_time: val: 2135
[ 703.076300] imx477 40-0010: imx477_s_stream: s_stream finished
[ 703.153506] imx477 41-001a: imx477_set_frame_length: val: 2145
[ 703.160054] imx477 41-001a: imx477_set_frame_length: vmax: 2145
[ 703.166023] imx477 41-001a: imx477_set_coarse_time: val: 2135
[ 703.171992] misc tegra_camera_ctrl: ISO BW req 6447372816 > 3925327 (max) capping to max
[ 703.172746] imx477 41-001a: imx477_s_stream: s_stream finished
[ 703.190536] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 703.221159] misc tegra_camera_ctrl: ISO BW req 4301529794 > 3925327 (max) capping to max
[ 703.229655] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 703.345379] misc tegra_camera_ctrl: ISO BW req 2155686772 > 3925327 (max) capping to max
[ 703.353585] misc tegra_camera_ctrl: vi_v4l2_update_isobw: requested iso bw is larger than max
[ 703.354535] imx477 45-001a: imx477_set_gain :val = 315, digital gain = 256, analog gain = 315
[ 703.372750] imx477 42-001a: imx477_set_gain :val = 315, digital gain = 256, analog gain = 315
[ 704.830876] fence timeout on [ffffffc049bf9200] after 1500ms
[ 704.836683] name=[nvhost_sync:125], current value=20 waiting value=21
[ 704.837171] imx477 44-001a: imx477_set_gain :val = 1720, digital gain = 256, analog gain = 1720
[ 704.838852] fence timeout on [ffffffc049bf9000] after 1500ms
[ 704.838857] name=[nvhost_sync:126], current value=20 waiting value=21
[ 704.838861] ---- mlocks ----
[ 704.838887]
[ 704.838889] ---- syncpts ----
[ 704.838899] id 4 (disp_d) min 105 max 105 refs 1 (previous client : )
[ 704.838903] id 5 (disp_e) min 19376 max 19376 refs 1 (previous client : )
[ 704.838908] id 7 (vblank1) min 41949 max 0 refs 1 (previous client : )
[ 704.838923] id 18 (17000000.gp10b_507) min 8932 max 8932 refs 1 (previous client : )
[ 704.838927] id 19 (17000000.gp10b_506) min 22 max 22 refs 1 (previous client : )
[ 704.839937] ffffffc07ae0b800: JOB, syncpt_id=54, syncpt_val=1693, first_get=00000ad8, timeout=0, num_slots=6
[ 704.840007] ffffffc1e29c0400: JOB, syncpt_id=74, syncpt_val=2630, first_get=00000700, timeout=0, num_slots=6