Skip to content

Commit

Permalink
upgrade IPU6 driver to 25ww04_release
Browse files Browse the repository at this point in the history
Tracked-On: OAM-130078
Signed-off-by: Zhao, Shirley <[email protected]>
  • Loading branch information
xyzhao2018 authored and sysopenci committed Feb 18, 2025
1 parent 3822c40 commit 79b0d4b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 30 deletions.
6 changes: 6 additions & 0 deletions drivers/media/i2c/ti960-des.c
Original file line number Diff line number Diff line change
Expand Up @@ -1610,6 +1610,12 @@ static int ti960_register_subdev(struct ti960 *va)
}

va->link_freq = v4l2_ctrl_find(&va->ctrl_handler, V4L2_CID_LINK_FREQ);
if (va->link_freq == NULL) {
dev_err(va->sd.dev,
"Failed to find ctrl V4L2_CID_LINK_FREQ!\n");
ret = -EINVAL;
goto failed_out;
}
switch (va->pdata->link_freq_mbps) {
case 1600:
__v4l2_ctrl_s_ctrl(va->link_freq, TI960_MIPI_1600MBPS);
Expand Down
13 changes: 5 additions & 8 deletions drivers/media/pci/intel/ipu-isys-queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,6 @@ static void return_buffers(struct ipu_isys_queue *aq,
enum vb2_buffer_state state)
{
struct ipu_isys_video *av = ipu_isys_queue_to_video(aq);
int reset_needed = 0;
unsigned long flags;

spin_lock_irqsave(&aq->lock, flags);
Expand Down Expand Up @@ -683,6 +682,11 @@ static void return_buffers(struct ipu_isys_queue *aq,
* returned from isys) if there are still buffers queued in active
* queue. We have to clean up places a bit.
*/
if (!list_empty(&aq->active)) {
mutex_lock(&av->isys->mutex);
av->isys->reset_needed = true;
mutex_unlock(&av->isys->mutex);
}
while (!list_empty(&aq->active)) {
struct ipu_isys_buffer *ib = list_first_entry(&aq->active,
struct
Expand All @@ -701,16 +705,9 @@ static void return_buffers(struct ipu_isys_queue *aq,
vb->index);

spin_lock_irqsave(&aq->lock, flags);
reset_needed = 1;
}

spin_unlock_irqrestore(&aq->lock, flags);

if (reset_needed) {
mutex_lock(&av->isys->mutex);
av->isys->reset_needed = true;
mutex_unlock(&av->isys->mutex);
}
}

static int __start_streaming(struct vb2_queue *q, unsigned int count)
Expand Down
22 changes: 0 additions & 22 deletions drivers/media/pci/intel/ipu-isys-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -1355,28 +1355,6 @@ ipu_isys_prepare_fw_cfg_default(struct ipu_isys_video *av,
pin_info->error_handling_enable = false;
break;
case IPU_FW_ISYS_PIN_TYPE_RAW_SOC:
if (av->compression) {
type_index = IPU_FW_ISYS_VC1_SENSOR_DATA;
pin_info->sensor_type
= isys->sensor_types[type_index]++;
pin_info->snoopable = false;
pin_info->error_handling_enable = false;
type = isys->sensor_types[type_index];
if (type > isys->sensor_info.vc1_data_end)
isys->sensor_types[type_index] =
isys->sensor_info.vc1_data_start;
} else {
type_index = IPU_FW_ISYS_VC1_SENSOR_DATA;
pin_info->sensor_type
= isys->sensor_types[type_index]++;
pin_info->snoopable = false;
pin_info->error_handling_enable = false;
type = isys->sensor_types[type_index];
if (type > isys->sensor_info.vc1_data_end)
isys->sensor_types[type_index] =
isys->sensor_info.vc1_data_start;
}
break;
case IPU_FW_ISYS_PIN_TYPE_MIPI:
type_index = IPU_FW_ISYS_VC1_SENSOR_DATA;
pin_info->sensor_type = isys->sensor_types[type_index]++;
Expand Down

0 comments on commit 79b0d4b

Please sign in to comment.