Patch "media: rcar-vin: Use user provided buffers when starting" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media: rcar-vin: Use user provided buffers when starting

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-rcar-vin-use-user-provided-buffers-when-starti.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 14c2a63b64875a8f4f5095a4efd29c5ab583942e
Author: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
Date:   Sat Sep 11 21:19:58 2021 +0200

    media: rcar-vin: Use user provided buffers when starting
    
    [ Upstream commit a5991c4e947153418f71f4689614b87ca0551b81 ]
    
    When adding an internal scratch buffer to improve buffer handling when
    stopping it was also erroneously used when syncing at capture start.
    This led to that the first three buffers captured were always dropped
    as they were captured in the scratch buffer instead of in a buffer
    provided by the user.
    
    Allow the hardware to be given user provided buffers when preparing for
    capture in the stopped state. This still allows the driver to sync with
    the hardware and always completes the buffers to user-space in the
    correct order as no buffers are completed before the sync is complete.
    This change improves the driver as buffers are completed and given to
    the user three frames earlier than before.
    
    The change also fixes a warning produced by v4l2-compliance,
    
        warn: v4l2-test-buffers.cpp(448): got sequence number 3, expected 0
    
    [hverkuil: fixed some typos in the Subject and the log message]
    
    Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c
index f5f722ab1d4e8..520d044bfb8d5 100644
--- a/drivers/media/platform/rcar-vin/rcar-dma.c
+++ b/drivers/media/platform/rcar-vin/rcar-dma.c
@@ -904,7 +904,8 @@ static void rvin_fill_hw_slot(struct rvin_dev *vin, int slot)
 				vin->format.sizeimage / 2;
 			break;
 		}
-	} else if (vin->state != RUNNING || list_empty(&vin->buf_list)) {
+	} else if ((vin->state != STOPPED && vin->state != RUNNING) ||
+		   list_empty(&vin->buf_list)) {
 		vin->buf_hw[slot].buffer = NULL;
 		vin->buf_hw[slot].type = FULL;
 		phys_addr = vin->scratch_phys;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux