mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
media: intel/ipu6: Remove pin_ready function pointer
We can call ipu6_isys_queue_buf_ready() directly. The only current usage is pin_ready pointer is to check if pin was prepared before IPU6_FW_ISYS_RESP_TYPE_PIN_DATA_READY interrupt, we can use queue pointer for that purpose. Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
parent
b240df2913
commit
c139c1ac06
|
|
@ -738,7 +738,7 @@ static void
|
|||
ipu6_stream_buf_ready(struct ipu6_isys_stream *stream, u8 pin_id, u32 pin_addr,
|
||||
u64 time, bool error_check)
|
||||
{
|
||||
struct ipu6_isys_queue *aq = stream->output_pins[pin_id].aq;
|
||||
struct ipu6_isys_queue *aq = stream->output_pins_queue[pin_id];
|
||||
struct ipu6_isys *isys = stream->isys;
|
||||
struct device *dev = &isys->adev->auxdev.dev;
|
||||
struct ipu6_isys_buffer *ib;
|
||||
|
|
|
|||
|
|
@ -486,8 +486,7 @@ static int ipu6_isys_fw_pin_cfg(struct ipu6_isys_video *av,
|
|||
|
||||
output_pins = cfg->nof_output_pins++;
|
||||
aq->fw_output = output_pins;
|
||||
stream->output_pins[output_pins].pin_ready = ipu6_isys_queue_buf_ready;
|
||||
stream->output_pins[output_pins].aq = aq;
|
||||
stream->output_pins_queue[output_pins] = aq;
|
||||
|
||||
output_pin = &cfg->output_pins[output_pins];
|
||||
output_pin->input_pin_id = input_pins;
|
||||
|
|
|
|||
|
|
@ -37,12 +37,6 @@ struct sequence_info {
|
|||
u64 timestamp;
|
||||
};
|
||||
|
||||
struct output_pin_data {
|
||||
void (*pin_ready)(struct ipu6_isys_stream *stream,
|
||||
struct ipu6_fw_isys_resp_info_abi *info);
|
||||
struct ipu6_isys_queue *aq;
|
||||
};
|
||||
|
||||
/*
|
||||
* Align with firmware stream. Each stream represents a CSI virtual channel.
|
||||
* May map to multiple video devices
|
||||
|
|
@ -68,7 +62,7 @@ struct ipu6_isys_stream {
|
|||
struct completion stream_stop_completion;
|
||||
struct ipu6_isys *isys;
|
||||
|
||||
struct output_pin_data output_pins[IPU6_ISYS_OUTPUT_PINS];
|
||||
struct ipu6_isys_queue *output_pins_queue[IPU6_ISYS_OUTPUT_PINS];
|
||||
int error;
|
||||
u8 vc;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1294,12 +1294,11 @@ static int isys_isr_one(struct ipu6_bus_device *adev)
|
|||
*/
|
||||
ipu6_put_fw_msg_buf(ipu6_bus_get_drvdata(adev), resp->buf_id);
|
||||
if (resp->pin_id < IPU6_ISYS_OUTPUT_PINS &&
|
||||
stream->output_pins[resp->pin_id].pin_ready)
|
||||
stream->output_pins[resp->pin_id].pin_ready(stream,
|
||||
resp);
|
||||
stream->output_pins_queue[resp->pin_id])
|
||||
ipu6_isys_queue_buf_ready(stream, resp);
|
||||
else
|
||||
dev_warn(&adev->auxdev.dev,
|
||||
"%d:No data pin ready handler for pin id %d\n",
|
||||
"%d:No queue for pin id %d\n",
|
||||
resp->stream_handle, resp->pin_id);
|
||||
if (csi2)
|
||||
ipu6_isys_csi2_error(csi2);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user