From: Martin Tůma Date: Wed, 20 Nov 2024 14:48:44 +0000 (+0100) Subject: media: mgb4: Unify the outputs padding logic with the inputs X-Git-Tag: v6.14-rc1~91^2~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f242f84669b992004bd561aff566740e900cf38;p=thirdparty%2Fkernel%2Flinux.git media: mgb4: Unify the outputs padding logic with the inputs Write the padding to the HW registers at the same place as the input logic does. Signed-off-by: Martin Tůma Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/pci/mgb4/mgb4_vout.c b/drivers/media/pci/mgb4/mgb4_vout.c index 6b2791e29de15..600f858918e76 100644 --- a/drivers/media/pci/mgb4/mgb4_vout.c +++ b/drivers/media/pci/mgb4/mgb4_vout.c @@ -180,7 +180,10 @@ static void stop_streaming(struct vb2_queue *vq) xdma_disable_user_irq(mgbdev->xdev, irq); cancel_work_sync(&voutdev->dma_work); + mgb4_mask_reg(&mgbdev->video, voutdev->config->regs.config, 0x2, 0x0); + mgb4_write_reg(&mgbdev->video, voutdev->config->regs.padding, 0); + return_all_buffers(voutdev, VB2_BUF_STATE_ERROR); } @@ -196,6 +199,7 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count) int rv; u32 addr; + mgb4_write_reg(video, config->regs.padding, voutdev->padding); mgb4_mask_reg(video, config->regs.config, 0x2, 0x2); addr = mgb4_read_reg(video, config->regs.address); @@ -359,7 +363,6 @@ static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format *f) voutdev->padding = (f->fmt.pix.bytesperline - (f->fmt.pix.width * pixelsize)) / pixelsize; - mgb4_write_reg(video, voutdev->config->regs.padding, voutdev->padding); return 0; }