28.11.2022 18:23, Luca Ceresoli пишет:
> +static int tegra20_channel_capture_frame(struct tegra_vi_channel *chan,
> +                                      struct tegra_channel_buffer *buf)
> +{
> +     u32 value;
> +     int err;
> +
> +     chan->next_out_sp_idx++;
> +
> +     tegra20_channel_vi_buffer_setup(chan, buf);
> +
> +     tegra20_vi_write(chan, TEGRA_VI_CAMERA_CONTROL, 
> VI_CAMERA_CONTROL_VIP_ENABLE);
> +
> +     /* Wait for syncpt counter to reach frame start event threshold */
> +     err = host1x_syncpt_wait(chan->out_sp, chan->next_out_sp_idx,
> +                              TEGRA_VI_SYNCPT_WAIT_TIMEOUT, &value);

You're not using the "value" variable, it should be NULL.

The "chan->out_sp" looks redundant, it duplicates the chan->mw_ack_sp.
AFAICS from the doc, T20 has two VI channels, and thus, two mw_ack_sp,
like T210.

Reply via email to