UPSTREAM: usb: gadget: uvc: rework uvcg_queue_next_buffer to uvcg_complete_buffer
The function uvcg_queue_next_buffer is used different than its name suggests. The return value nextbuf is never used by any caller. This patch reworks the function to its actual purpose, by removing the unused code and renaming it. The function name uvcg_complete_buffer makes it more clear that it is actually marking the current video buffer as complete. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Link: https://lore.kernel.org/r/20220402232744.3622565-2-m.grzeschik@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 249635012 (cherry picked from commit 61aa709ca58a0dbeeb817bfa9230c1a92979f2c6) Change-Id: I3f3beec5ae6225497f1c88de847961a485492272 Signed-off-by: Dan Vacura <w36195@motorola.com>
This commit is contained in:
committed by
Treehugger Robot
parent
a50df26246
commit
23616a2948
@@ -324,24 +324,17 @@ int uvcg_queue_enable(struct uvc_video_queue *queue, int enable)
|
||||
}
|
||||
|
||||
/* called with &queue_irqlock held.. */
|
||||
struct uvc_buffer *uvcg_queue_next_buffer(struct uvc_video_queue *queue,
|
||||
void uvcg_complete_buffer(struct uvc_video_queue *queue,
|
||||
struct uvc_buffer *buf)
|
||||
{
|
||||
struct uvc_buffer *nextbuf;
|
||||
|
||||
if ((queue->flags & UVC_QUEUE_DROP_INCOMPLETE) &&
|
||||
buf->length != buf->bytesused) {
|
||||
buf->state = UVC_BUF_STATE_QUEUED;
|
||||
vb2_set_plane_payload(&buf->buf.vb2_buf, 0, 0);
|
||||
return buf;
|
||||
return;
|
||||
}
|
||||
|
||||
list_del(&buf->queue);
|
||||
if (!list_empty(&queue->irqqueue))
|
||||
nextbuf = list_first_entry(&queue->irqqueue, struct uvc_buffer,
|
||||
queue);
|
||||
else
|
||||
nextbuf = NULL;
|
||||
|
||||
buf->buf.field = V4L2_FIELD_NONE;
|
||||
buf->buf.sequence = queue->sequence++;
|
||||
@@ -349,8 +342,6 @@ struct uvc_buffer *uvcg_queue_next_buffer(struct uvc_video_queue *queue,
|
||||
|
||||
vb2_set_plane_payload(&buf->buf.vb2_buf, 0, buf->bytesused);
|
||||
vb2_buffer_done(&buf->buf.vb2_buf, VB2_BUF_STATE_DONE);
|
||||
|
||||
return nextbuf;
|
||||
}
|
||||
|
||||
struct uvc_buffer *uvcg_queue_head(struct uvc_video_queue *queue)
|
||||
|
||||
@@ -92,7 +92,7 @@ void uvcg_queue_cancel(struct uvc_video_queue *queue, int disconnect);
|
||||
|
||||
int uvcg_queue_enable(struct uvc_video_queue *queue, int enable);
|
||||
|
||||
struct uvc_buffer *uvcg_queue_next_buffer(struct uvc_video_queue *queue,
|
||||
void uvcg_complete_buffer(struct uvc_video_queue *queue,
|
||||
struct uvc_buffer *buf);
|
||||
|
||||
struct uvc_buffer *uvcg_queue_head(struct uvc_video_queue *queue);
|
||||
|
||||
@@ -83,7 +83,7 @@ uvc_video_encode_bulk(struct usb_request *req, struct uvc_video *video,
|
||||
if (buf->bytesused == video->queue.buf_used) {
|
||||
video->queue.buf_used = 0;
|
||||
buf->state = UVC_BUF_STATE_DONE;
|
||||
uvcg_queue_next_buffer(&video->queue, buf);
|
||||
uvcg_complete_buffer(&video->queue, buf);
|
||||
video->fid ^= UVC_STREAM_FID;
|
||||
|
||||
video->payload_size = 0;
|
||||
@@ -154,7 +154,7 @@ uvc_video_encode_isoc_sg(struct usb_request *req, struct uvc_video *video,
|
||||
video->queue.buf_used = 0;
|
||||
buf->state = UVC_BUF_STATE_DONE;
|
||||
buf->offset = 0;
|
||||
uvcg_queue_next_buffer(&video->queue, buf);
|
||||
uvcg_complete_buffer(&video->queue, buf);
|
||||
video->fid ^= UVC_STREAM_FID;
|
||||
}
|
||||
}
|
||||
@@ -181,7 +181,7 @@ uvc_video_encode_isoc(struct usb_request *req, struct uvc_video *video,
|
||||
if (buf->bytesused == video->queue.buf_used) {
|
||||
video->queue.buf_used = 0;
|
||||
buf->state = UVC_BUF_STATE_DONE;
|
||||
uvcg_queue_next_buffer(&video->queue, buf);
|
||||
uvcg_complete_buffer(&video->queue, buf);
|
||||
video->fid ^= UVC_STREAM_FID;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user