This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: bttv: move vbi_skip/vbi_count out of buffer
Author:  Deborah Brouwer <deborah.brou...@collabora.com>
Date:    Fri Jul 14 19:16:06 2023 -0700

Instead of storing vbi_skip and vbi_count in each bttv buffer separately,
move them to the main bttv struct as they won't change per buffer.

Signed-off-by: Deborah Brouwer <deborah.brou...@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/pci/bt8xx/bttv-driver.c |  2 ++
 drivers/media/pci/bt8xx/bttv-risc.c   |  4 ++--
 drivers/media/pci/bt8xx/bttv-vbi.c    | 16 ++++++++--------
 drivers/media/pci/bt8xx/bttvp.h       |  7 +++++--
 4 files changed, 17 insertions(+), 12 deletions(-)

---

diff --git a/drivers/media/pci/bt8xx/bttv-driver.c 
b/drivers/media/pci/bt8xx/bttv-driver.c
index 15825fedb4e0..4d1e0743f193 100644
--- a/drivers/media/pci/bt8xx/bttv-driver.c
+++ b/drivers/media/pci/bt8xx/bttv-driver.c
@@ -3631,6 +3631,8 @@ static int bttv_probe(struct pci_dev *dev, const struct 
pci_device_id *pci_id)
        btv->input = 0;
        btv->tvnorm = 0; /* Index into bttv_tvnorms[] i.e. PAL. */
        bttv_vbi_fmt_reset(&btv->vbi_fmt, btv->tvnorm);
+       btv->vbi_count[0] = VBI_DEFLINES;
+       btv->vbi_count[1] = VBI_DEFLINES;
        btv->do_crop = 0;
 
        v4l2_ctrl_new_std(hdl, &bttv_ctrl_ops,
diff --git a/drivers/media/pci/bt8xx/bttv-risc.c 
b/drivers/media/pci/bt8xx/bttv-risc.c
index e9bc6bcc7333..97248e340a28 100644
--- a/drivers/media/pci/bt8xx/bttv-risc.c
+++ b/drivers/media/pci/bt8xx/bttv-risc.c
@@ -525,12 +525,12 @@ bttv_buffer_activate_vbi(struct bttv *btv,
                        btwrite(crop,   BT848_O_CROP);
                }
 
-               if (vbi->vbi_count[0] > 0) {
+               if (btv->vbi_count[0] > 0) {
                        top = &vbi->top;
                        top_irq_flags = 4;
                }
 
-               if (vbi->vbi_count[1] > 0) {
+               if (btv->vbi_count[1] > 0) {
                        top_irq_flags = 0;
                        bottom = &vbi->bottom;
                        bottom_irq_flags = 4;
diff --git a/drivers/media/pci/bt8xx/bttv-vbi.c 
b/drivers/media/pci/bt8xx/bttv-vbi.c
index 4e7fd9a78ace..2fd990039adf 100644
--- a/drivers/media/pci/bt8xx/bttv-vbi.c
+++ b/drivers/media/pci/bt8xx/bttv-vbi.c
@@ -125,14 +125,14 @@ static int vbi_buffer_prepare(struct videobuf_queue *q,
 
        redo_dma_risc = 0;
 
-       if (buf->vbi_skip[0] != skip_lines0 ||
-           buf->vbi_skip[1] != skip_lines1 ||
-           buf->vbi_count[0] != fh->vbi_fmt.fmt.count[0] ||
-           buf->vbi_count[1] != fh->vbi_fmt.fmt.count[1]) {
-               buf->vbi_skip[0] = skip_lines0;
-               buf->vbi_skip[1] = skip_lines1;
-               buf->vbi_count[0] = fh->vbi_fmt.fmt.count[0];
-               buf->vbi_count[1] = fh->vbi_fmt.fmt.count[1];
+       if (btv->vbi_skip[0] != skip_lines0 ||
+           btv->vbi_skip[1] != skip_lines1 ||
+           btv->vbi_count[0] != fh->vbi_fmt.fmt.count[0] ||
+           btv->vbi_count[1] != fh->vbi_fmt.fmt.count[1]) {
+               btv->vbi_skip[0] = skip_lines0;
+               btv->vbi_skip[1] = skip_lines1;
+               btv->vbi_count[0] = fh->vbi_fmt.fmt.count[0];
+               btv->vbi_count[1] = fh->vbi_fmt.fmt.count[1];
                redo_dma_risc = 1;
        }
 
diff --git a/drivers/media/pci/bt8xx/bttvp.h b/drivers/media/pci/bt8xx/bttvp.h
index b5bb69ab8ab0..bce2401de9bd 100644
--- a/drivers/media/pci/bt8xx/bttvp.h
+++ b/drivers/media/pci/bt8xx/bttvp.h
@@ -150,8 +150,6 @@ struct bttv_buffer {
        struct bttv_geometry       geo;
        struct btcx_riscmem        top;
        struct btcx_riscmem        bottom;
-       unsigned int               vbi_skip[2];
-       unsigned int               vbi_count[2];
 };
 
 struct bttv_buffer_set {
@@ -239,6 +237,8 @@ void bttv_dma_free(struct videobuf_queue *q, struct bttv 
*btv,
 /* ---------------------------------------------------------- */
 /* bttv-vbi.c                                                 */
 
+#define VBI_DEFLINES 16
+
 int bttv_try_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *f);
 int bttv_g_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *f);
 int bttv_s_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *f);
@@ -447,6 +447,9 @@ struct bttv {
        int width;
        int height;
        struct bttv_vbi_fmt vbi_fmt;
+       unsigned int vbi_skip[2];
+       unsigned int vbi_count[2];
+
        /* Application called VIDIOC_S_SELECTION. */
        int do_crop;
 

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to