mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 07:04:24 +00:00
media: bttv: move vbi_skip/vbi_count out of buffer
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.brouwer@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
0f5f12e408
commit
c9c0df318a
4 changed files with 17 additions and 12 deletions
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue