diff options
| author | Martin Tůma <martin.tuma@digiteqautomotive.com> | 2024-11-20 15:48:44 +0100 |
|---|---|---|
| committer | Hans Verkuil <hverkuil@xs4all.nl> | 2024-12-02 14:05:26 +0100 |
| commit | 8f242f84669b992004bd561aff566740e900cf38 (patch) | |
| tree | 0123e693e338e81d6c288354fb9c89ab9ed22d0e | |
| parent | fddffe84b1af672da933ab236f8e7f25c8619dd1 (diff) | |
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 <martin.tuma@digiteqautomotive.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
| -rw-r--r-- | drivers/media/pci/mgb4/mgb4_vout.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/pci/mgb4/mgb4_vout.c b/drivers/media/pci/mgb4/mgb4_vout.c index 6b2791e29de1..600f858918e7 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; } |
