File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
drivers/media/platform/rockchip/cif Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -7726,21 +7726,27 @@ unsigned int rkcif_irq_global(struct rkcif_device *cif_dev)
7726
7726
return intstat_glb ;
7727
7727
}
7728
7728
7729
- static bool rkcif_check_buffer_prepare (struct rkcif_device * cif_dev )
7729
+ static bool rkcif_check_buffer_prepare (struct rkcif_stream * stream )
7730
7730
{
7731
+ struct rkcif_device * cif_dev = stream -> cifdev ;
7731
7732
unsigned long flags ;
7732
7733
bool is_update = false;
7733
7734
7734
7735
spin_lock_irqsave (& cif_dev -> hw_dev -> group_lock , flags );
7735
- if (cif_dev -> hw_dev -> sync_config .update_code & BIT (cif_dev -> csi_host_idx )) {
7736
+ if (stream -> id == 0 &&
7737
+ cif_dev -> hw_dev -> sync_config .update_code & BIT (cif_dev -> csi_host_idx )) {
7736
7738
is_update = true;
7737
7739
cif_dev -> hw_dev -> sync_config .update_code &= ~(BIT (cif_dev -> csi_host_idx ));
7738
7740
if (!cif_dev -> hw_dev -> sync_config .update_code &&
7739
7741
cif_dev -> hw_dev -> sync_config .update_cache ) {
7740
7742
cif_dev -> hw_dev -> sync_config .update_code = cif_dev -> hw_dev -> sync_config .update_cache ;
7741
7743
cif_dev -> hw_dev -> sync_config .update_cache = 0 ;
7742
7744
}
7745
+ } else {
7746
+ if (cif_dev -> rdbk_buf [RDBK_L ])
7747
+ is_update = true;
7743
7748
}
7749
+
7744
7750
spin_unlock_irqrestore (& cif_dev -> hw_dev -> group_lock , flags );
7745
7751
return is_update ;
7746
7752
}
@@ -7885,7 +7891,7 @@ void rkcif_irq_pingpong_v1(struct rkcif_device *cif_dev)
7885
7891
if (cif_dev -> sync_type == RKCIF_NOSYNC_MODE )
7886
7892
is_update = true;
7887
7893
else
7888
- is_update = rkcif_check_buffer_prepare (cif_dev );
7894
+ is_update = rkcif_check_buffer_prepare (stream );
7889
7895
if (is_update )
7890
7896
rkcif_update_stream (cif_dev , stream , mipi_id );
7891
7897
if (cif_dev -> chip_id == CHIP_RV1106_CIF )
You can’t perform that action at this time.
0 commit comments