diff options
34 files changed, 32 insertions, 153 deletions
diff --git a/drivers/media/pci/cobalt/cobalt-driver.c b/drivers/media/pci/cobalt/cobalt-driver.c index 8d6f04fc8013..1aaa2b074f48 100644 --- a/drivers/media/pci/cobalt/cobalt-driver.c +++ b/drivers/media/pci/cobalt/cobalt-driver.c | |||
@@ -691,17 +691,10 @@ static int cobalt_probe(struct pci_dev *pci_dev, | |||
691 | cobalt->pci_dev = pci_dev; | 691 | cobalt->pci_dev = pci_dev; |
692 | cobalt->instance = i; | 692 | cobalt->instance = i; |
693 | 693 | ||
694 | cobalt->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
695 | if (IS_ERR(cobalt->alloc_ctx)) { | ||
696 | kfree(cobalt); | ||
697 | return -ENOMEM; | ||
698 | } | ||
699 | |||
700 | retval = v4l2_device_register(&pci_dev->dev, &cobalt->v4l2_dev); | 694 | retval = v4l2_device_register(&pci_dev->dev, &cobalt->v4l2_dev); |
701 | if (retval) { | 695 | if (retval) { |
702 | pr_err("cobalt: v4l2_device_register of card %d failed\n", | 696 | pr_err("cobalt: v4l2_device_register of card %d failed\n", |
703 | cobalt->instance); | 697 | cobalt->instance); |
704 | vb2_dma_sg_cleanup_ctx(cobalt->alloc_ctx); | ||
705 | kfree(cobalt); | 698 | kfree(cobalt); |
706 | return retval; | 699 | return retval; |
707 | } | 700 | } |
@@ -782,7 +775,6 @@ err: | |||
782 | cobalt_err("error %d on initialization\n", retval); | 775 | cobalt_err("error %d on initialization\n", retval); |
783 | 776 | ||
784 | v4l2_device_unregister(&cobalt->v4l2_dev); | 777 | v4l2_device_unregister(&cobalt->v4l2_dev); |
785 | vb2_dma_sg_cleanup_ctx(cobalt->alloc_ctx); | ||
786 | kfree(cobalt); | 778 | kfree(cobalt); |
787 | return retval; | 779 | return retval; |
788 | } | 780 | } |
@@ -818,7 +810,6 @@ static void cobalt_remove(struct pci_dev *pci_dev) | |||
818 | cobalt_info("removed cobalt card\n"); | 810 | cobalt_info("removed cobalt card\n"); |
819 | 811 | ||
820 | v4l2_device_unregister(v4l2_dev); | 812 | v4l2_device_unregister(v4l2_dev); |
821 | vb2_dma_sg_cleanup_ctx(cobalt->alloc_ctx); | ||
822 | kfree(cobalt); | 813 | kfree(cobalt); |
823 | } | 814 | } |
824 | 815 | ||
diff --git a/drivers/media/pci/cobalt/cobalt-driver.h b/drivers/media/pci/cobalt/cobalt-driver.h index b2f08e4a68bf..ed00dc9d9399 100644 --- a/drivers/media/pci/cobalt/cobalt-driver.h +++ b/drivers/media/pci/cobalt/cobalt-driver.h | |||
@@ -262,7 +262,6 @@ struct cobalt { | |||
262 | int instance; | 262 | int instance; |
263 | struct pci_dev *pci_dev; | 263 | struct pci_dev *pci_dev; |
264 | struct v4l2_device v4l2_dev; | 264 | struct v4l2_device v4l2_dev; |
265 | void *alloc_ctx; | ||
266 | 265 | ||
267 | void __iomem *bar0, *bar1; | 266 | void __iomem *bar0, *bar1; |
268 | 267 | ||
diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c index c0ba458f6cf3..6c19cdfcf3b1 100644 --- a/drivers/media/pci/cobalt/cobalt-v4l2.c +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c | |||
@@ -54,7 +54,6 @@ static int cobalt_queue_setup(struct vb2_queue *q, | |||
54 | *num_buffers = 3; | 54 | *num_buffers = 3; |
55 | if (*num_buffers > NR_BUFS) | 55 | if (*num_buffers > NR_BUFS) |
56 | *num_buffers = NR_BUFS; | 56 | *num_buffers = NR_BUFS; |
57 | alloc_ctxs[0] = s->cobalt->alloc_ctx; | ||
58 | if (*num_planes) | 57 | if (*num_planes) |
59 | return sizes[0] < size ? -EINVAL : 0; | 58 | return sizes[0] < size ? -EINVAL : 0; |
60 | *num_planes = 1; | 59 | *num_planes = 1; |
@@ -1224,6 +1223,7 @@ static int cobalt_node_register(struct cobalt *cobalt, int node) | |||
1224 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1223 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1225 | q->min_buffers_needed = 2; | 1224 | q->min_buffers_needed = 2; |
1226 | q->lock = &s->lock; | 1225 | q->lock = &s->lock; |
1226 | q->dev = &cobalt->pci_dev->dev; | ||
1227 | vdev->queue = q; | 1227 | vdev->queue = q; |
1228 | 1228 | ||
1229 | video_set_drvdata(vdev, s); | 1229 | video_set_drvdata(vdev, s); |
diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c index bd333875a1f7..0174d08d0c27 100644 --- a/drivers/media/pci/cx23885/cx23885-417.c +++ b/drivers/media/pci/cx23885/cx23885-417.c | |||
@@ -1148,7 +1148,6 @@ static int queue_setup(struct vb2_queue *q, | |||
1148 | dev->ts1.ts_packet_count = mpeglines; | 1148 | dev->ts1.ts_packet_count = mpeglines; |
1149 | *num_planes = 1; | 1149 | *num_planes = 1; |
1150 | sizes[0] = mpeglinesize * mpeglines; | 1150 | sizes[0] = mpeglinesize * mpeglines; |
1151 | alloc_ctxs[0] = dev->alloc_ctx; | ||
1152 | *num_buffers = mpegbufs; | 1151 | *num_buffers = mpegbufs; |
1153 | return 0; | 1152 | return 0; |
1154 | } | 1153 | } |
diff --git a/drivers/media/pci/cx23885/cx23885-core.c b/drivers/media/pci/cx23885/cx23885-core.c index 813c217b5e1a..c86b1093ab99 100644 --- a/drivers/media/pci/cx23885/cx23885-core.c +++ b/drivers/media/pci/cx23885/cx23885-core.c | |||
@@ -2005,14 +2005,9 @@ static int cx23885_initdev(struct pci_dev *pci_dev, | |||
2005 | err = pci_set_dma_mask(pci_dev, 0xffffffff); | 2005 | err = pci_set_dma_mask(pci_dev, 0xffffffff); |
2006 | if (err) { | 2006 | if (err) { |
2007 | printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name); | 2007 | printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name); |
2008 | goto fail_context; | 2008 | goto fail_ctrl; |
2009 | } | 2009 | } |
2010 | 2010 | ||
2011 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
2012 | if (IS_ERR(dev->alloc_ctx)) { | ||
2013 | err = PTR_ERR(dev->alloc_ctx); | ||
2014 | goto fail_context; | ||
2015 | } | ||
2016 | err = request_irq(pci_dev->irq, cx23885_irq, | 2011 | err = request_irq(pci_dev->irq, cx23885_irq, |
2017 | IRQF_SHARED, dev->name, dev); | 2012 | IRQF_SHARED, dev->name, dev); |
2018 | if (err < 0) { | 2013 | if (err < 0) { |
@@ -2041,8 +2036,6 @@ static int cx23885_initdev(struct pci_dev *pci_dev, | |||
2041 | return 0; | 2036 | return 0; |
2042 | 2037 | ||
2043 | fail_irq: | 2038 | fail_irq: |
2044 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
2045 | fail_context: | ||
2046 | cx23885_dev_unregister(dev); | 2039 | cx23885_dev_unregister(dev); |
2047 | fail_ctrl: | 2040 | fail_ctrl: |
2048 | v4l2_ctrl_handler_free(hdl); | 2041 | v4l2_ctrl_handler_free(hdl); |
@@ -2068,7 +2061,6 @@ static void cx23885_finidev(struct pci_dev *pci_dev) | |||
2068 | pci_disable_device(pci_dev); | 2061 | pci_disable_device(pci_dev); |
2069 | 2062 | ||
2070 | cx23885_dev_unregister(dev); | 2063 | cx23885_dev_unregister(dev); |
2071 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
2072 | v4l2_ctrl_handler_free(&dev->ctrl_handler); | 2064 | v4l2_ctrl_handler_free(&dev->ctrl_handler); |
2073 | v4l2_device_unregister(v4l2_dev); | 2065 | v4l2_device_unregister(v4l2_dev); |
2074 | kfree(dev); | 2066 | kfree(dev); |
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index f041b6931ba8..6ad07f5b5749 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c | |||
@@ -102,7 +102,6 @@ static int queue_setup(struct vb2_queue *q, | |||
102 | port->ts_packet_count = 32; | 102 | port->ts_packet_count = 32; |
103 | *num_planes = 1; | 103 | *num_planes = 1; |
104 | sizes[0] = port->ts_packet_size * port->ts_packet_count; | 104 | sizes[0] = port->ts_packet_size * port->ts_packet_count; |
105 | alloc_ctxs[0] = port->dev->alloc_ctx; | ||
106 | *num_buffers = 32; | 105 | *num_buffers = 32; |
107 | return 0; | 106 | return 0; |
108 | } | 107 | } |
@@ -2397,6 +2396,7 @@ int cx23885_dvb_register(struct cx23885_tsport *port) | |||
2397 | q->mem_ops = &vb2_dma_sg_memops; | 2396 | q->mem_ops = &vb2_dma_sg_memops; |
2398 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 2397 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
2399 | q->lock = &dev->lock; | 2398 | q->lock = &dev->lock; |
2399 | q->dev = &dev->pci->dev; | ||
2400 | 2400 | ||
2401 | err = vb2_queue_init(q); | 2401 | err = vb2_queue_init(q); |
2402 | if (err < 0) | 2402 | if (err < 0) |
diff --git a/drivers/media/pci/cx23885/cx23885-vbi.c b/drivers/media/pci/cx23885/cx23885-vbi.c index 39750ebcc04c..2de9485013e1 100644 --- a/drivers/media/pci/cx23885/cx23885-vbi.c +++ b/drivers/media/pci/cx23885/cx23885-vbi.c | |||
@@ -131,7 +131,6 @@ static int queue_setup(struct vb2_queue *q, | |||
131 | lines = VBI_NTSC_LINE_COUNT; | 131 | lines = VBI_NTSC_LINE_COUNT; |
132 | *num_planes = 1; | 132 | *num_planes = 1; |
133 | sizes[0] = lines * VBI_LINE_LENGTH * 2; | 133 | sizes[0] = lines * VBI_LINE_LENGTH * 2; |
134 | alloc_ctxs[0] = dev->alloc_ctx; | ||
135 | return 0; | 134 | return 0; |
136 | } | 135 | } |
137 | 136 | ||
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c index e1d7d0847167..3ff86d6dbc60 100644 --- a/drivers/media/pci/cx23885/cx23885-video.c +++ b/drivers/media/pci/cx23885/cx23885-video.c | |||
@@ -341,7 +341,6 @@ static int queue_setup(struct vb2_queue *q, | |||
341 | 341 | ||
342 | *num_planes = 1; | 342 | *num_planes = 1; |
343 | sizes[0] = (dev->fmt->depth * dev->width * dev->height) >> 3; | 343 | sizes[0] = (dev->fmt->depth * dev->width * dev->height) >> 3; |
344 | alloc_ctxs[0] = dev->alloc_ctx; | ||
345 | return 0; | 344 | return 0; |
346 | } | 345 | } |
347 | 346 | ||
@@ -1268,6 +1267,7 @@ int cx23885_video_register(struct cx23885_dev *dev) | |||
1268 | q->mem_ops = &vb2_dma_sg_memops; | 1267 | q->mem_ops = &vb2_dma_sg_memops; |
1269 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1268 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1270 | q->lock = &dev->lock; | 1269 | q->lock = &dev->lock; |
1270 | q->dev = &dev->pci->dev; | ||
1271 | 1271 | ||
1272 | err = vb2_queue_init(q); | 1272 | err = vb2_queue_init(q); |
1273 | if (err < 0) | 1273 | if (err < 0) |
@@ -1284,6 +1284,7 @@ int cx23885_video_register(struct cx23885_dev *dev) | |||
1284 | q->mem_ops = &vb2_dma_sg_memops; | 1284 | q->mem_ops = &vb2_dma_sg_memops; |
1285 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1285 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1286 | q->lock = &dev->lock; | 1286 | q->lock = &dev->lock; |
1287 | q->dev = &dev->pci->dev; | ||
1287 | 1288 | ||
1288 | err = vb2_queue_init(q); | 1289 | err = vb2_queue_init(q); |
1289 | if (err < 0) | 1290 | if (err < 0) |
diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx23885/cx23885.h index b1a5409408c7..a25b64166277 100644 --- a/drivers/media/pci/cx23885/cx23885.h +++ b/drivers/media/pci/cx23885/cx23885.h | |||
@@ -430,7 +430,6 @@ struct cx23885_dev { | |||
430 | struct vb2_queue vb2_vidq; | 430 | struct vb2_queue vb2_vidq; |
431 | struct cx23885_dmaqueue vbiq; | 431 | struct cx23885_dmaqueue vbiq; |
432 | struct vb2_queue vb2_vbiq; | 432 | struct vb2_queue vb2_vbiq; |
433 | void *alloc_ctx; | ||
434 | 433 | ||
435 | spinlock_t slock; | 434 | spinlock_t slock; |
436 | 435 | ||
diff --git a/drivers/media/pci/cx25821/cx25821-core.c b/drivers/media/pci/cx25821/cx25821-core.c index 0042803a9de7..9a5f912ca859 100644 --- a/drivers/media/pci/cx25821/cx25821-core.c +++ b/drivers/media/pci/cx25821/cx25821-core.c | |||
@@ -1301,15 +1301,10 @@ static int cx25821_initdev(struct pci_dev *pci_dev, | |||
1301 | 1301 | ||
1302 | goto fail_unregister_device; | 1302 | goto fail_unregister_device; |
1303 | } | 1303 | } |
1304 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
1305 | if (IS_ERR(dev->alloc_ctx)) { | ||
1306 | err = PTR_ERR(dev->alloc_ctx); | ||
1307 | goto fail_unregister_pci; | ||
1308 | } | ||
1309 | 1304 | ||
1310 | err = cx25821_dev_setup(dev); | 1305 | err = cx25821_dev_setup(dev); |
1311 | if (err) | 1306 | if (err) |
1312 | goto fail_free_ctx; | 1307 | goto fail_unregister_pci; |
1313 | 1308 | ||
1314 | /* print pci info */ | 1309 | /* print pci info */ |
1315 | pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &dev->pci_rev); | 1310 | pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &dev->pci_rev); |
@@ -1340,8 +1335,6 @@ fail_irq: | |||
1340 | pr_info("cx25821_initdev() can't get IRQ !\n"); | 1335 | pr_info("cx25821_initdev() can't get IRQ !\n"); |
1341 | cx25821_dev_unregister(dev); | 1336 | cx25821_dev_unregister(dev); |
1342 | 1337 | ||
1343 | fail_free_ctx: | ||
1344 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1345 | fail_unregister_pci: | 1338 | fail_unregister_pci: |
1346 | pci_disable_device(pci_dev); | 1339 | pci_disable_device(pci_dev); |
1347 | fail_unregister_device: | 1340 | fail_unregister_device: |
@@ -1365,7 +1358,6 @@ static void cx25821_finidev(struct pci_dev *pci_dev) | |||
1365 | free_irq(pci_dev->irq, dev); | 1358 | free_irq(pci_dev->irq, dev); |
1366 | 1359 | ||
1367 | cx25821_dev_unregister(dev); | 1360 | cx25821_dev_unregister(dev); |
1368 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1369 | v4l2_device_unregister(v4l2_dev); | 1361 | v4l2_device_unregister(v4l2_dev); |
1370 | kfree(dev); | 1362 | kfree(dev); |
1371 | } | 1363 | } |
diff --git a/drivers/media/pci/cx25821/cx25821-video.c b/drivers/media/pci/cx25821/cx25821-video.c index c48bba9daf1f..45fc23e11b0c 100644 --- a/drivers/media/pci/cx25821/cx25821-video.c +++ b/drivers/media/pci/cx25821/cx25821-video.c | |||
@@ -148,8 +148,6 @@ static int cx25821_queue_setup(struct vb2_queue *q, | |||
148 | struct cx25821_channel *chan = q->drv_priv; | 148 | struct cx25821_channel *chan = q->drv_priv; |
149 | unsigned size = (chan->fmt->depth * chan->width * chan->height) >> 3; | 149 | unsigned size = (chan->fmt->depth * chan->width * chan->height) >> 3; |
150 | 150 | ||
151 | alloc_ctxs[0] = chan->dev->alloc_ctx; | ||
152 | |||
153 | if (*num_planes) | 151 | if (*num_planes) |
154 | return sizes[0] < size ? -EINVAL : 0; | 152 | return sizes[0] < size ? -EINVAL : 0; |
155 | 153 | ||
@@ -759,6 +757,7 @@ int cx25821_video_register(struct cx25821_dev *dev) | |||
759 | q->mem_ops = &vb2_dma_sg_memops; | 757 | q->mem_ops = &vb2_dma_sg_memops; |
760 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 758 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
761 | q->lock = &dev->lock; | 759 | q->lock = &dev->lock; |
760 | q->dev = &dev->pci->dev; | ||
762 | 761 | ||
763 | if (!is_output) { | 762 | if (!is_output) { |
764 | err = vb2_queue_init(q); | 763 | err = vb2_queue_init(q); |
diff --git a/drivers/media/pci/cx25821/cx25821.h b/drivers/media/pci/cx25821/cx25821.h index a513b68be0fa..35c7375e4617 100644 --- a/drivers/media/pci/cx25821/cx25821.h +++ b/drivers/media/pci/cx25821/cx25821.h | |||
@@ -249,7 +249,6 @@ struct cx25821_dev { | |||
249 | int hwrevision; | 249 | int hwrevision; |
250 | /* used by cx25821-alsa */ | 250 | /* used by cx25821-alsa */ |
251 | struct snd_card *card; | 251 | struct snd_card *card; |
252 | void *alloc_ctx; | ||
253 | 252 | ||
254 | u32 clk_freq; | 253 | u32 clk_freq; |
255 | 254 | ||
diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx88/cx88-blackbird.c index 3233d45d1e5b..7c026c1ca1fe 100644 --- a/drivers/media/pci/cx88/cx88-blackbird.c +++ b/drivers/media/pci/cx88/cx88-blackbird.c | |||
@@ -647,7 +647,6 @@ static int queue_setup(struct vb2_queue *q, | |||
647 | dev->ts_packet_size = 188 * 4; | 647 | dev->ts_packet_size = 188 * 4; |
648 | dev->ts_packet_count = 32; | 648 | dev->ts_packet_count = 32; |
649 | sizes[0] = dev->ts_packet_size * dev->ts_packet_count; | 649 | sizes[0] = dev->ts_packet_size * dev->ts_packet_count; |
650 | alloc_ctxs[0] = dev->alloc_ctx; | ||
651 | return 0; | 650 | return 0; |
652 | } | 651 | } |
653 | 652 | ||
@@ -1183,6 +1182,7 @@ static int cx8802_blackbird_probe(struct cx8802_driver *drv) | |||
1183 | q->mem_ops = &vb2_dma_sg_memops; | 1182 | q->mem_ops = &vb2_dma_sg_memops; |
1184 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1183 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1185 | q->lock = &core->lock; | 1184 | q->lock = &core->lock; |
1185 | q->dev = &dev->pci->dev; | ||
1186 | 1186 | ||
1187 | err = vb2_queue_init(q); | 1187 | err = vb2_queue_init(q); |
1188 | if (err < 0) | 1188 | if (err < 0) |
diff --git a/drivers/media/pci/cx88/cx88-dvb.c b/drivers/media/pci/cx88/cx88-dvb.c index 851d2a9caed3..4d91d1697419 100644 --- a/drivers/media/pci/cx88/cx88-dvb.c +++ b/drivers/media/pci/cx88/cx88-dvb.c | |||
@@ -92,7 +92,6 @@ static int queue_setup(struct vb2_queue *q, | |||
92 | dev->ts_packet_size = 188 * 4; | 92 | dev->ts_packet_size = 188 * 4; |
93 | dev->ts_packet_count = dvb_buf_tscnt; | 93 | dev->ts_packet_count = dvb_buf_tscnt; |
94 | sizes[0] = dev->ts_packet_size * dev->ts_packet_count; | 94 | sizes[0] = dev->ts_packet_size * dev->ts_packet_count; |
95 | alloc_ctxs[0] = dev->alloc_ctx; | ||
96 | *num_buffers = dvb_buf_tscnt; | 95 | *num_buffers = dvb_buf_tscnt; |
97 | return 0; | 96 | return 0; |
98 | } | 97 | } |
@@ -1793,6 +1792,7 @@ static int cx8802_dvb_probe(struct cx8802_driver *drv) | |||
1793 | q->mem_ops = &vb2_dma_sg_memops; | 1792 | q->mem_ops = &vb2_dma_sg_memops; |
1794 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1793 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1795 | q->lock = &core->lock; | 1794 | q->lock = &core->lock; |
1795 | q->dev = &dev->pci->dev; | ||
1796 | 1796 | ||
1797 | err = vb2_queue_init(q); | 1797 | err = vb2_queue_init(q); |
1798 | if (err < 0) | 1798 | if (err < 0) |
diff --git a/drivers/media/pci/cx88/cx88-mpeg.c b/drivers/media/pci/cx88/cx88-mpeg.c index f34c229f9b37..245357adbc25 100644 --- a/drivers/media/pci/cx88/cx88-mpeg.c +++ b/drivers/media/pci/cx88/cx88-mpeg.c | |||
@@ -726,11 +726,6 @@ static int cx8802_probe(struct pci_dev *pci_dev, | |||
726 | if (NULL == dev) | 726 | if (NULL == dev) |
727 | goto fail_core; | 727 | goto fail_core; |
728 | dev->pci = pci_dev; | 728 | dev->pci = pci_dev; |
729 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
730 | if (IS_ERR(dev->alloc_ctx)) { | ||
731 | err = PTR_ERR(dev->alloc_ctx); | ||
732 | goto fail_dev; | ||
733 | } | ||
734 | dev->core = core; | 729 | dev->core = core; |
735 | 730 | ||
736 | /* Maintain a reference so cx88-video can query the 8802 device. */ | 731 | /* Maintain a reference so cx88-video can query the 8802 device. */ |
@@ -738,7 +733,7 @@ static int cx8802_probe(struct pci_dev *pci_dev, | |||
738 | 733 | ||
739 | err = cx8802_init_common(dev); | 734 | err = cx8802_init_common(dev); |
740 | if (err != 0) | 735 | if (err != 0) |
741 | goto fail_free; | 736 | goto fail_dev; |
742 | 737 | ||
743 | INIT_LIST_HEAD(&dev->drvlist); | 738 | INIT_LIST_HEAD(&dev->drvlist); |
744 | mutex_lock(&cx8802_mutex); | 739 | mutex_lock(&cx8802_mutex); |
@@ -749,8 +744,6 @@ static int cx8802_probe(struct pci_dev *pci_dev, | |||
749 | request_modules(dev); | 744 | request_modules(dev); |
750 | return 0; | 745 | return 0; |
751 | 746 | ||
752 | fail_free: | ||
753 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
754 | fail_dev: | 747 | fail_dev: |
755 | kfree(dev); | 748 | kfree(dev); |
756 | fail_core: | 749 | fail_core: |
@@ -798,7 +791,6 @@ static void cx8802_remove(struct pci_dev *pci_dev) | |||
798 | /* common */ | 791 | /* common */ |
799 | cx8802_fini_common(dev); | 792 | cx8802_fini_common(dev); |
800 | cx88_core_put(dev->core,dev->pci); | 793 | cx88_core_put(dev->core,dev->pci); |
801 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
802 | kfree(dev); | 794 | kfree(dev); |
803 | } | 795 | } |
804 | 796 | ||
diff --git a/drivers/media/pci/cx88/cx88-vbi.c b/drivers/media/pci/cx88/cx88-vbi.c index ccc646d819f2..2479f7deccbf 100644 --- a/drivers/media/pci/cx88/cx88-vbi.c +++ b/drivers/media/pci/cx88/cx88-vbi.c | |||
@@ -118,7 +118,6 @@ static int queue_setup(struct vb2_queue *q, | |||
118 | sizes[0] = VBI_LINE_NTSC_COUNT * VBI_LINE_LENGTH * 2; | 118 | sizes[0] = VBI_LINE_NTSC_COUNT * VBI_LINE_LENGTH * 2; |
119 | else | 119 | else |
120 | sizes[0] = VBI_LINE_PAL_COUNT * VBI_LINE_LENGTH * 2; | 120 | sizes[0] = VBI_LINE_PAL_COUNT * VBI_LINE_LENGTH * 2; |
121 | alloc_ctxs[0] = dev->alloc_ctx; | ||
122 | return 0; | 121 | return 0; |
123 | } | 122 | } |
124 | 123 | ||
diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c index 5f331df65fb9..9764d6fb382e 100644 --- a/drivers/media/pci/cx88/cx88-video.c +++ b/drivers/media/pci/cx88/cx88-video.c | |||
@@ -438,7 +438,6 @@ static int queue_setup(struct vb2_queue *q, | |||
438 | 438 | ||
439 | *num_planes = 1; | 439 | *num_planes = 1; |
440 | sizes[0] = (dev->fmt->depth * core->width * core->height) >> 3; | 440 | sizes[0] = (dev->fmt->depth * core->width * core->height) >> 3; |
441 | alloc_ctxs[0] = dev->alloc_ctx; | ||
442 | return 0; | 441 | return 0; |
443 | } | 442 | } |
444 | 443 | ||
@@ -1319,12 +1318,6 @@ static int cx8800_initdev(struct pci_dev *pci_dev, | |||
1319 | printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name); | 1318 | printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name); |
1320 | goto fail_core; | 1319 | goto fail_core; |
1321 | } | 1320 | } |
1322 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
1323 | if (IS_ERR(dev->alloc_ctx)) { | ||
1324 | err = PTR_ERR(dev->alloc_ctx); | ||
1325 | goto fail_core; | ||
1326 | } | ||
1327 | |||
1328 | 1321 | ||
1329 | /* initialize driver struct */ | 1322 | /* initialize driver struct */ |
1330 | spin_lock_init(&dev->slock); | 1323 | spin_lock_init(&dev->slock); |
@@ -1445,6 +1438,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev, | |||
1445 | q->mem_ops = &vb2_dma_sg_memops; | 1438 | q->mem_ops = &vb2_dma_sg_memops; |
1446 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1439 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1447 | q->lock = &core->lock; | 1440 | q->lock = &core->lock; |
1441 | q->dev = &dev->pci->dev; | ||
1448 | 1442 | ||
1449 | err = vb2_queue_init(q); | 1443 | err = vb2_queue_init(q); |
1450 | if (err < 0) | 1444 | if (err < 0) |
@@ -1461,6 +1455,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev, | |||
1461 | q->mem_ops = &vb2_dma_sg_memops; | 1455 | q->mem_ops = &vb2_dma_sg_memops; |
1462 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1456 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1463 | q->lock = &core->lock; | 1457 | q->lock = &core->lock; |
1458 | q->dev = &dev->pci->dev; | ||
1464 | 1459 | ||
1465 | err = vb2_queue_init(q); | 1460 | err = vb2_queue_init(q); |
1466 | if (err < 0) | 1461 | if (err < 0) |
@@ -1530,7 +1525,6 @@ fail_unreg: | |||
1530 | free_irq(pci_dev->irq, dev); | 1525 | free_irq(pci_dev->irq, dev); |
1531 | mutex_unlock(&core->lock); | 1526 | mutex_unlock(&core->lock); |
1532 | fail_core: | 1527 | fail_core: |
1533 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1534 | core->v4ldev = NULL; | 1528 | core->v4ldev = NULL; |
1535 | cx88_core_put(core,dev->pci); | 1529 | cx88_core_put(core,dev->pci); |
1536 | fail_free: | 1530 | fail_free: |
@@ -1564,7 +1558,6 @@ static void cx8800_finidev(struct pci_dev *pci_dev) | |||
1564 | 1558 | ||
1565 | /* free memory */ | 1559 | /* free memory */ |
1566 | cx88_core_put(core,dev->pci); | 1560 | cx88_core_put(core,dev->pci); |
1567 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1568 | kfree(dev); | 1561 | kfree(dev); |
1569 | } | 1562 | } |
1570 | 1563 | ||
diff --git a/drivers/media/pci/cx88/cx88.h b/drivers/media/pci/cx88/cx88.h index 78f817ee7e41..ecd4b7bece99 100644 --- a/drivers/media/pci/cx88/cx88.h +++ b/drivers/media/pci/cx88/cx88.h | |||
@@ -485,7 +485,6 @@ struct cx8800_dev { | |||
485 | /* pci i/o */ | 485 | /* pci i/o */ |
486 | struct pci_dev *pci; | 486 | struct pci_dev *pci; |
487 | unsigned char pci_rev,pci_lat; | 487 | unsigned char pci_rev,pci_lat; |
488 | void *alloc_ctx; | ||
489 | 488 | ||
490 | const struct cx8800_fmt *fmt; | 489 | const struct cx8800_fmt *fmt; |
491 | 490 | ||
@@ -549,7 +548,6 @@ struct cx8802_dev { | |||
549 | /* pci i/o */ | 548 | /* pci i/o */ |
550 | struct pci_dev *pci; | 549 | struct pci_dev *pci; |
551 | unsigned char pci_rev,pci_lat; | 550 | unsigned char pci_rev,pci_lat; |
552 | void *alloc_ctx; | ||
553 | 551 | ||
554 | /* dma queues */ | 552 | /* dma queues */ |
555 | struct cx88_dmaqueue mpegq; | 553 | struct cx88_dmaqueue mpegq; |
diff --git a/drivers/media/pci/dt3155/dt3155.c b/drivers/media/pci/dt3155/dt3155.c index 568c0c8fb2dc..ec8f58a710c7 100644 --- a/drivers/media/pci/dt3155/dt3155.c +++ b/drivers/media/pci/dt3155/dt3155.c | |||
@@ -141,7 +141,6 @@ dt3155_queue_setup(struct vb2_queue *vq, | |||
141 | 141 | ||
142 | if (vq->num_buffers + *nbuffers < 2) | 142 | if (vq->num_buffers + *nbuffers < 2) |
143 | *nbuffers = 2 - vq->num_buffers; | 143 | *nbuffers = 2 - vq->num_buffers; |
144 | alloc_ctxs[0] = pd->alloc_ctx; | ||
145 | if (*num_planes) | 144 | if (*num_planes) |
146 | return sizes[0] < size ? -EINVAL : 0; | 145 | return sizes[0] < size ? -EINVAL : 0; |
147 | *num_planes = 1; | 146 | *num_planes = 1; |
@@ -544,21 +543,16 @@ static int dt3155_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
544 | pd->vidq.min_buffers_needed = 2; | 543 | pd->vidq.min_buffers_needed = 2; |
545 | pd->vidq.gfp_flags = GFP_DMA32; | 544 | pd->vidq.gfp_flags = GFP_DMA32; |
546 | pd->vidq.lock = &pd->mux; /* for locking v4l2_file_operations */ | 545 | pd->vidq.lock = &pd->mux; /* for locking v4l2_file_operations */ |
546 | pd->vidq.dev = &pdev->dev; | ||
547 | pd->vdev.queue = &pd->vidq; | 547 | pd->vdev.queue = &pd->vidq; |
548 | err = vb2_queue_init(&pd->vidq); | 548 | err = vb2_queue_init(&pd->vidq); |
549 | if (err < 0) | 549 | if (err < 0) |
550 | goto err_v4l2_dev_unreg; | 550 | goto err_v4l2_dev_unreg; |
551 | pd->alloc_ctx = vb2_dma_contig_init_ctx(&pdev->dev); | ||
552 | if (IS_ERR(pd->alloc_ctx)) { | ||
553 | dev_err(&pdev->dev, "Can't allocate buffer context"); | ||
554 | err = PTR_ERR(pd->alloc_ctx); | ||
555 | goto err_v4l2_dev_unreg; | ||
556 | } | ||
557 | spin_lock_init(&pd->lock); | 551 | spin_lock_init(&pd->lock); |
558 | pd->config = ACQ_MODE_EVEN; | 552 | pd->config = ACQ_MODE_EVEN; |
559 | err = pci_enable_device(pdev); | 553 | err = pci_enable_device(pdev); |
560 | if (err) | 554 | if (err) |
561 | goto err_free_ctx; | 555 | goto err_v4l2_dev_unreg; |
562 | err = pci_request_region(pdev, 0, pci_name(pdev)); | 556 | err = pci_request_region(pdev, 0, pci_name(pdev)); |
563 | if (err) | 557 | if (err) |
564 | goto err_pci_disable; | 558 | goto err_pci_disable; |
@@ -588,8 +582,6 @@ err_free_reg: | |||
588 | pci_release_region(pdev, 0); | 582 | pci_release_region(pdev, 0); |
589 | err_pci_disable: | 583 | err_pci_disable: |
590 | pci_disable_device(pdev); | 584 | pci_disable_device(pdev); |
591 | err_free_ctx: | ||
592 | vb2_dma_contig_cleanup_ctx(pd->alloc_ctx); | ||
593 | err_v4l2_dev_unreg: | 585 | err_v4l2_dev_unreg: |
594 | v4l2_device_unregister(&pd->v4l2_dev); | 586 | v4l2_device_unregister(&pd->v4l2_dev); |
595 | return err; | 587 | return err; |
@@ -608,7 +600,6 @@ static void dt3155_remove(struct pci_dev *pdev) | |||
608 | pci_iounmap(pdev, pd->regs); | 600 | pci_iounmap(pdev, pd->regs); |
609 | pci_release_region(pdev, 0); | 601 | pci_release_region(pdev, 0); |
610 | pci_disable_device(pdev); | 602 | pci_disable_device(pdev); |
611 | vb2_dma_contig_cleanup_ctx(pd->alloc_ctx); | ||
612 | } | 603 | } |
613 | 604 | ||
614 | static const struct pci_device_id pci_ids[] = { | 605 | static const struct pci_device_id pci_ids[] = { |
diff --git a/drivers/media/pci/dt3155/dt3155.h b/drivers/media/pci/dt3155/dt3155.h index b3531e0bc733..39442e58919d 100644 --- a/drivers/media/pci/dt3155/dt3155.h +++ b/drivers/media/pci/dt3155/dt3155.h | |||
@@ -161,7 +161,6 @@ | |||
161 | * @vdev: video_device structure | 161 | * @vdev: video_device structure |
162 | * @pdev: pointer to pci_dev structure | 162 | * @pdev: pointer to pci_dev structure |
163 | * @vidq: vb2_queue structure | 163 | * @vidq: vb2_queue structure |
164 | * @alloc_ctx: dma_contig allocation context | ||
165 | * @curr_buf: pointer to curren buffer | 164 | * @curr_buf: pointer to curren buffer |
166 | * @mux: mutex to protect the instance | 165 | * @mux: mutex to protect the instance |
167 | * @dmaq: queue for dma buffers | 166 | * @dmaq: queue for dma buffers |
@@ -181,7 +180,6 @@ struct dt3155_priv { | |||
181 | struct video_device vdev; | 180 | struct video_device vdev; |
182 | struct pci_dev *pdev; | 181 | struct pci_dev *pdev; |
183 | struct vb2_queue vidq; | 182 | struct vb2_queue vidq; |
184 | struct vb2_alloc_ctx *alloc_ctx; | ||
185 | struct vb2_v4l2_buffer *curr_buf; | 183 | struct vb2_v4l2_buffer *curr_buf; |
186 | struct mutex mux; | 184 | struct mutex mux; |
187 | struct list_head dmaq; | 185 | struct list_head dmaq; |
diff --git a/drivers/media/pci/saa7134/saa7134-core.c b/drivers/media/pci/saa7134/saa7134-core.c index c0e1780ec831..ffb66a9ae23e 100644 --- a/drivers/media/pci/saa7134/saa7134-core.c +++ b/drivers/media/pci/saa7134/saa7134-core.c | |||
@@ -1164,18 +1164,13 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1164 | saa7134_board_init1(dev); | 1164 | saa7134_board_init1(dev); |
1165 | saa7134_hwinit1(dev); | 1165 | saa7134_hwinit1(dev); |
1166 | 1166 | ||
1167 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
1168 | if (IS_ERR(dev->alloc_ctx)) { | ||
1169 | err = PTR_ERR(dev->alloc_ctx); | ||
1170 | goto fail3; | ||
1171 | } | ||
1172 | /* get irq */ | 1167 | /* get irq */ |
1173 | err = request_irq(pci_dev->irq, saa7134_irq, | 1168 | err = request_irq(pci_dev->irq, saa7134_irq, |
1174 | IRQF_SHARED, dev->name, dev); | 1169 | IRQF_SHARED, dev->name, dev); |
1175 | if (err < 0) { | 1170 | if (err < 0) { |
1176 | pr_err("%s: can't get IRQ %d\n", | 1171 | pr_err("%s: can't get IRQ %d\n", |
1177 | dev->name,pci_dev->irq); | 1172 | dev->name,pci_dev->irq); |
1178 | goto fail4; | 1173 | goto fail3; |
1179 | } | 1174 | } |
1180 | 1175 | ||
1181 | /* wait a bit, register i2c bus */ | 1176 | /* wait a bit, register i2c bus */ |
@@ -1233,7 +1228,7 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1233 | if (err < 0) { | 1228 | if (err < 0) { |
1234 | pr_info("%s: can't register video device\n", | 1229 | pr_info("%s: can't register video device\n", |
1235 | dev->name); | 1230 | dev->name); |
1236 | goto fail5; | 1231 | goto fail4; |
1237 | } | 1232 | } |
1238 | pr_info("%s: registered device %s [v4l2]\n", | 1233 | pr_info("%s: registered device %s [v4l2]\n", |
1239 | dev->name, video_device_node_name(dev->video_dev)); | 1234 | dev->name, video_device_node_name(dev->video_dev)); |
@@ -1246,7 +1241,7 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1246 | err = video_register_device(dev->vbi_dev,VFL_TYPE_VBI, | 1241 | err = video_register_device(dev->vbi_dev,VFL_TYPE_VBI, |
1247 | vbi_nr[dev->nr]); | 1242 | vbi_nr[dev->nr]); |
1248 | if (err < 0) | 1243 | if (err < 0) |
1249 | goto fail5; | 1244 | goto fail4; |
1250 | pr_info("%s: registered device %s\n", | 1245 | pr_info("%s: registered device %s\n", |
1251 | dev->name, video_device_node_name(dev->vbi_dev)); | 1246 | dev->name, video_device_node_name(dev->vbi_dev)); |
1252 | 1247 | ||
@@ -1257,7 +1252,7 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1257 | err = video_register_device(dev->radio_dev,VFL_TYPE_RADIO, | 1252 | err = video_register_device(dev->radio_dev,VFL_TYPE_RADIO, |
1258 | radio_nr[dev->nr]); | 1253 | radio_nr[dev->nr]); |
1259 | if (err < 0) | 1254 | if (err < 0) |
1260 | goto fail5; | 1255 | goto fail4; |
1261 | pr_info("%s: registered device %s\n", | 1256 | pr_info("%s: registered device %s\n", |
1262 | dev->name, video_device_node_name(dev->radio_dev)); | 1257 | dev->name, video_device_node_name(dev->radio_dev)); |
1263 | } | 1258 | } |
@@ -1268,7 +1263,7 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1268 | err = v4l2_mc_create_media_graph(dev->media_dev); | 1263 | err = v4l2_mc_create_media_graph(dev->media_dev); |
1269 | if (err) { | 1264 | if (err) { |
1270 | pr_err("failed to create media graph\n"); | 1265 | pr_err("failed to create media graph\n"); |
1271 | goto fail5; | 1266 | goto fail4; |
1272 | } | 1267 | } |
1273 | #endif | 1268 | #endif |
1274 | /* everything worked */ | 1269 | /* everything worked */ |
@@ -1287,17 +1282,15 @@ static int saa7134_initdev(struct pci_dev *pci_dev, | |||
1287 | #ifdef CONFIG_MEDIA_CONTROLLER | 1282 | #ifdef CONFIG_MEDIA_CONTROLLER |
1288 | err = media_device_register(dev->media_dev); | 1283 | err = media_device_register(dev->media_dev); |
1289 | if (err) | 1284 | if (err) |
1290 | goto fail5; | 1285 | goto fail4; |
1291 | #endif | 1286 | #endif |
1292 | 1287 | ||
1293 | return 0; | 1288 | return 0; |
1294 | 1289 | ||
1295 | fail5: | 1290 | fail4: |
1296 | saa7134_unregister_video(dev); | 1291 | saa7134_unregister_video(dev); |
1297 | saa7134_i2c_unregister(dev); | 1292 | saa7134_i2c_unregister(dev); |
1298 | free_irq(pci_dev->irq, dev); | 1293 | free_irq(pci_dev->irq, dev); |
1299 | fail4: | ||
1300 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1301 | fail3: | 1294 | fail3: |
1302 | saa7134_hwfini(dev); | 1295 | saa7134_hwfini(dev); |
1303 | iounmap(dev->lmmio); | 1296 | iounmap(dev->lmmio); |
@@ -1367,7 +1360,6 @@ static void saa7134_finidev(struct pci_dev *pci_dev) | |||
1367 | 1360 | ||
1368 | /* release resources */ | 1361 | /* release resources */ |
1369 | free_irq(pci_dev->irq, dev); | 1362 | free_irq(pci_dev->irq, dev); |
1370 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
1371 | iounmap(dev->lmmio); | 1363 | iounmap(dev->lmmio); |
1372 | release_mem_region(pci_resource_start(pci_dev,0), | 1364 | release_mem_region(pci_resource_start(pci_dev,0), |
1373 | pci_resource_len(pci_dev,0)); | 1365 | pci_resource_len(pci_dev,0)); |
diff --git a/drivers/media/pci/saa7134/saa7134-ts.c b/drivers/media/pci/saa7134/saa7134-ts.c index 0584a2adbe99..8c68a934e22b 100644 --- a/drivers/media/pci/saa7134/saa7134-ts.c +++ b/drivers/media/pci/saa7134/saa7134-ts.c | |||
@@ -131,7 +131,6 @@ int saa7134_ts_queue_setup(struct vb2_queue *q, | |||
131 | *nbuffers = 3; | 131 | *nbuffers = 3; |
132 | *nplanes = 1; | 132 | *nplanes = 1; |
133 | sizes[0] = size; | 133 | sizes[0] = size; |
134 | alloc_ctxs[0] = dev->alloc_ctx; | ||
135 | return 0; | 134 | return 0; |
136 | } | 135 | } |
137 | EXPORT_SYMBOL_GPL(saa7134_ts_queue_setup); | 136 | EXPORT_SYMBOL_GPL(saa7134_ts_queue_setup); |
diff --git a/drivers/media/pci/saa7134/saa7134-vbi.c b/drivers/media/pci/saa7134/saa7134-vbi.c index e76da37c4a8a..e9bffb3569ba 100644 --- a/drivers/media/pci/saa7134/saa7134-vbi.c +++ b/drivers/media/pci/saa7134/saa7134-vbi.c | |||
@@ -155,7 +155,6 @@ static int queue_setup(struct vb2_queue *q, | |||
155 | *nbuffers = saa7134_buffer_count(size, *nbuffers); | 155 | *nbuffers = saa7134_buffer_count(size, *nbuffers); |
156 | *nplanes = 1; | 156 | *nplanes = 1; |
157 | sizes[0] = size; | 157 | sizes[0] = size; |
158 | alloc_ctxs[0] = dev->alloc_ctx; | ||
159 | return 0; | 158 | return 0; |
160 | } | 159 | } |
161 | 160 | ||
diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c index ffa39543eb65..965ade72f5c5 100644 --- a/drivers/media/pci/saa7134/saa7134-video.c +++ b/drivers/media/pci/saa7134/saa7134-video.c | |||
@@ -980,7 +980,6 @@ static int queue_setup(struct vb2_queue *q, | |||
980 | *nbuffers = saa7134_buffer_count(size, *nbuffers); | 980 | *nbuffers = saa7134_buffer_count(size, *nbuffers); |
981 | *nplanes = 1; | 981 | *nplanes = 1; |
982 | sizes[0] = size; | 982 | sizes[0] = size; |
983 | alloc_ctxs[0] = dev->alloc_ctx; | ||
984 | 983 | ||
985 | saa7134_enable_analog_tuner(dev); | 984 | saa7134_enable_analog_tuner(dev); |
986 | 985 | ||
@@ -2173,6 +2172,7 @@ int saa7134_video_init1(struct saa7134_dev *dev) | |||
2173 | q->buf_struct_size = sizeof(struct saa7134_buf); | 2172 | q->buf_struct_size = sizeof(struct saa7134_buf); |
2174 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 2173 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
2175 | q->lock = &dev->lock; | 2174 | q->lock = &dev->lock; |
2175 | q->dev = &dev->pci->dev; | ||
2176 | ret = vb2_queue_init(q); | 2176 | ret = vb2_queue_init(q); |
2177 | if (ret) | 2177 | if (ret) |
2178 | return ret; | 2178 | return ret; |
@@ -2191,6 +2191,7 @@ int saa7134_video_init1(struct saa7134_dev *dev) | |||
2191 | q->buf_struct_size = sizeof(struct saa7134_buf); | 2191 | q->buf_struct_size = sizeof(struct saa7134_buf); |
2192 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 2192 | q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
2193 | q->lock = &dev->lock; | 2193 | q->lock = &dev->lock; |
2194 | q->dev = &dev->pci->dev; | ||
2194 | ret = vb2_queue_init(q); | 2195 | ret = vb2_queue_init(q); |
2195 | if (ret) | 2196 | if (ret) |
2196 | return ret; | 2197 | return ret; |
diff --git a/drivers/media/pci/saa7134/saa7134.h b/drivers/media/pci/saa7134/saa7134.h index 69a9bbf22d4d..41c01588af37 100644 --- a/drivers/media/pci/saa7134/saa7134.h +++ b/drivers/media/pci/saa7134/saa7134.h | |||
@@ -610,7 +610,6 @@ struct saa7134_dev { | |||
610 | 610 | ||
611 | 611 | ||
612 | /* video+ts+vbi capture */ | 612 | /* video+ts+vbi capture */ |
613 | void *alloc_ctx; | ||
614 | struct saa7134_dmaqueue video_q; | 613 | struct saa7134_dmaqueue video_q; |
615 | struct vb2_queue video_vbq; | 614 | struct vb2_queue video_vbq; |
616 | struct saa7134_dmaqueue vbi_q; | 615 | struct saa7134_dmaqueue vbi_q; |
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c index 67a14c41c227..f48ef3392576 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c | |||
@@ -666,10 +666,7 @@ static int solo_enc_queue_setup(struct vb2_queue *q, | |||
666 | unsigned int *num_planes, unsigned int sizes[], | 666 | unsigned int *num_planes, unsigned int sizes[], |
667 | void *alloc_ctxs[]) | 667 | void *alloc_ctxs[]) |
668 | { | 668 | { |
669 | struct solo_enc_dev *solo_enc = vb2_get_drv_priv(q); | ||
670 | |||
671 | sizes[0] = FRAME_BUF_SIZE; | 669 | sizes[0] = FRAME_BUF_SIZE; |
672 | alloc_ctxs[0] = solo_enc->alloc_ctx; | ||
673 | *num_planes = 1; | 670 | *num_planes = 1; |
674 | 671 | ||
675 | if (*num_buffers < MIN_VID_BUFFERS) | 672 | if (*num_buffers < MIN_VID_BUFFERS) |
@@ -1239,11 +1236,6 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, | |||
1239 | return ERR_PTR(-ENOMEM); | 1236 | return ERR_PTR(-ENOMEM); |
1240 | 1237 | ||
1241 | hdl = &solo_enc->hdl; | 1238 | hdl = &solo_enc->hdl; |
1242 | solo_enc->alloc_ctx = vb2_dma_sg_init_ctx(&solo_dev->pdev->dev); | ||
1243 | if (IS_ERR(solo_enc->alloc_ctx)) { | ||
1244 | ret = PTR_ERR(solo_enc->alloc_ctx); | ||
1245 | goto hdl_free; | ||
1246 | } | ||
1247 | v4l2_ctrl_handler_init(hdl, 10); | 1239 | v4l2_ctrl_handler_init(hdl, 10); |
1248 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, | 1240 | v4l2_ctrl_new_std(hdl, &solo_ctrl_ops, |
1249 | V4L2_CID_BRIGHTNESS, 0, 255, 1, 128); | 1241 | V4L2_CID_BRIGHTNESS, 0, 255, 1, 128); |
@@ -1299,6 +1291,7 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, | |||
1299 | solo_enc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 1291 | solo_enc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
1300 | solo_enc->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); | 1292 | solo_enc->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); |
1301 | solo_enc->vidq.lock = &solo_enc->lock; | 1293 | solo_enc->vidq.lock = &solo_enc->lock; |
1294 | solo_enc->vidq.dev = &solo_dev->pdev->dev; | ||
1302 | ret = vb2_queue_init(&solo_enc->vidq); | 1295 | ret = vb2_queue_init(&solo_enc->vidq); |
1303 | if (ret) | 1296 | if (ret) |
1304 | goto hdl_free; | 1297 | goto hdl_free; |
@@ -1347,7 +1340,6 @@ pci_free: | |||
1347 | solo_enc->desc_items, solo_enc->desc_dma); | 1340 | solo_enc->desc_items, solo_enc->desc_dma); |
1348 | hdl_free: | 1341 | hdl_free: |
1349 | v4l2_ctrl_handler_free(hdl); | 1342 | v4l2_ctrl_handler_free(hdl); |
1350 | vb2_dma_sg_cleanup_ctx(solo_enc->alloc_ctx); | ||
1351 | kfree(solo_enc); | 1343 | kfree(solo_enc); |
1352 | return ERR_PTR(ret); | 1344 | return ERR_PTR(ret); |
1353 | } | 1345 | } |
@@ -1362,7 +1354,6 @@ static void solo_enc_free(struct solo_enc_dev *solo_enc) | |||
1362 | solo_enc->desc_items, solo_enc->desc_dma); | 1354 | solo_enc->desc_items, solo_enc->desc_dma); |
1363 | video_unregister_device(solo_enc->vfd); | 1355 | video_unregister_device(solo_enc->vfd); |
1364 | v4l2_ctrl_handler_free(&solo_enc->hdl); | 1356 | v4l2_ctrl_handler_free(&solo_enc->hdl); |
1365 | vb2_dma_sg_cleanup_ctx(solo_enc->alloc_ctx); | ||
1366 | kfree(solo_enc); | 1357 | kfree(solo_enc); |
1367 | } | 1358 | } |
1368 | 1359 | ||
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci/solo6x10/solo6x10-v4l2.c index 953d6bf22320..11cf03be106f 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c | |||
@@ -320,7 +320,6 @@ static int solo_queue_setup(struct vb2_queue *q, | |||
320 | struct solo_dev *solo_dev = vb2_get_drv_priv(q); | 320 | struct solo_dev *solo_dev = vb2_get_drv_priv(q); |
321 | 321 | ||
322 | sizes[0] = solo_image_size(solo_dev); | 322 | sizes[0] = solo_image_size(solo_dev); |
323 | alloc_ctxs[0] = solo_dev->alloc_ctx; | ||
324 | *num_planes = 1; | 323 | *num_planes = 1; |
325 | 324 | ||
326 | if (*num_buffers < MIN_VID_BUFFERS) | 325 | if (*num_buffers < MIN_VID_BUFFERS) |
@@ -679,16 +678,11 @@ int solo_v4l2_init(struct solo_dev *solo_dev, unsigned nr) | |||
679 | solo_dev->vidq.gfp_flags = __GFP_DMA32 | __GFP_KSWAPD_RECLAIM; | 678 | solo_dev->vidq.gfp_flags = __GFP_DMA32 | __GFP_KSWAPD_RECLAIM; |
680 | solo_dev->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); | 679 | solo_dev->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); |
681 | solo_dev->vidq.lock = &solo_dev->lock; | 680 | solo_dev->vidq.lock = &solo_dev->lock; |
681 | solo_dev->vidq.dev = &solo_dev->pdev->dev; | ||
682 | ret = vb2_queue_init(&solo_dev->vidq); | 682 | ret = vb2_queue_init(&solo_dev->vidq); |
683 | if (ret < 0) | 683 | if (ret < 0) |
684 | goto fail; | 684 | goto fail; |
685 | 685 | ||
686 | solo_dev->alloc_ctx = vb2_dma_contig_init_ctx(&solo_dev->pdev->dev); | ||
687 | if (IS_ERR(solo_dev->alloc_ctx)) { | ||
688 | dev_err(&solo_dev->pdev->dev, "Can't allocate buffer context"); | ||
689 | return PTR_ERR(solo_dev->alloc_ctx); | ||
690 | } | ||
691 | |||
692 | /* Cycle all the channels and clear */ | 686 | /* Cycle all the channels and clear */ |
693 | for (i = 0; i < solo_dev->nr_chans; i++) { | 687 | for (i = 0; i < solo_dev->nr_chans; i++) { |
694 | solo_v4l2_set_ch(solo_dev, i); | 688 | solo_v4l2_set_ch(solo_dev, i); |
@@ -716,7 +710,6 @@ int solo_v4l2_init(struct solo_dev *solo_dev, unsigned nr) | |||
716 | 710 | ||
717 | fail: | 711 | fail: |
718 | video_device_release(solo_dev->vfd); | 712 | video_device_release(solo_dev->vfd); |
719 | vb2_dma_contig_cleanup_ctx(solo_dev->alloc_ctx); | ||
720 | v4l2_ctrl_handler_free(&solo_dev->disp_hdl); | 713 | v4l2_ctrl_handler_free(&solo_dev->disp_hdl); |
721 | solo_dev->vfd = NULL; | 714 | solo_dev->vfd = NULL; |
722 | return ret; | 715 | return ret; |
@@ -728,7 +721,6 @@ void solo_v4l2_exit(struct solo_dev *solo_dev) | |||
728 | return; | 721 | return; |
729 | 722 | ||
730 | video_unregister_device(solo_dev->vfd); | 723 | video_unregister_device(solo_dev->vfd); |
731 | vb2_dma_contig_cleanup_ctx(solo_dev->alloc_ctx); | ||
732 | v4l2_ctrl_handler_free(&solo_dev->disp_hdl); | 724 | v4l2_ctrl_handler_free(&solo_dev->disp_hdl); |
733 | solo_dev->vfd = NULL; | 725 | solo_dev->vfd = NULL; |
734 | } | 726 | } |
diff --git a/drivers/media/pci/solo6x10/solo6x10.h b/drivers/media/pci/solo6x10/solo6x10.h index 4ab6586c0467..5bd498735a66 100644 --- a/drivers/media/pci/solo6x10/solo6x10.h +++ b/drivers/media/pci/solo6x10/solo6x10.h | |||
@@ -178,7 +178,6 @@ struct solo_enc_dev { | |||
178 | u32 sequence; | 178 | u32 sequence; |
179 | struct vb2_queue vidq; | 179 | struct vb2_queue vidq; |
180 | struct list_head vidq_active; | 180 | struct list_head vidq_active; |
181 | void *alloc_ctx; | ||
182 | int desc_count; | 181 | int desc_count; |
183 | int desc_nelts; | 182 | int desc_nelts; |
184 | struct solo_p2m_desc *desc_items; | 183 | struct solo_p2m_desc *desc_items; |
@@ -269,7 +268,6 @@ struct solo_dev { | |||
269 | 268 | ||
270 | /* Buffer handling */ | 269 | /* Buffer handling */ |
271 | struct vb2_queue vidq; | 270 | struct vb2_queue vidq; |
272 | struct vb2_alloc_ctx *alloc_ctx; | ||
273 | u32 sequence; | 271 | u32 sequence; |
274 | struct task_struct *kthread; | 272 | struct task_struct *kthread; |
275 | struct mutex lock; | 273 | struct mutex lock; |
diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c index 1fc195f89686..2844df23ada2 100644 --- a/drivers/media/pci/sta2x11/sta2x11_vip.c +++ b/drivers/media/pci/sta2x11/sta2x11_vip.c | |||
@@ -111,7 +111,6 @@ static inline struct vip_buffer *to_vip_buffer(struct vb2_v4l2_buffer *vb2) | |||
111 | * @input: input line for video signal ( 0 or 1 ) | 111 | * @input: input line for video signal ( 0 or 1 ) |
112 | * @disabled: Device is in power down state | 112 | * @disabled: Device is in power down state |
113 | * @slock: for excluse acces of registers | 113 | * @slock: for excluse acces of registers |
114 | * @alloc_ctx: context for videobuf2 | ||
115 | * @vb_vidq: queue maintained by videobuf2 layer | 114 | * @vb_vidq: queue maintained by videobuf2 layer |
116 | * @buffer_list: list of buffer in use | 115 | * @buffer_list: list of buffer in use |
117 | * @sequence: sequence number of acquired buffer | 116 | * @sequence: sequence number of acquired buffer |
@@ -141,7 +140,6 @@ struct sta2x11_vip { | |||
141 | int disabled; | 140 | int disabled; |
142 | spinlock_t slock; | 141 | spinlock_t slock; |
143 | 142 | ||
144 | struct vb2_alloc_ctx *alloc_ctx; | ||
145 | struct vb2_queue vb_vidq; | 143 | struct vb2_queue vb_vidq; |
146 | struct list_head buffer_list; | 144 | struct list_head buffer_list; |
147 | unsigned int sequence; | 145 | unsigned int sequence; |
@@ -276,7 +274,6 @@ static int queue_setup(struct vb2_queue *vq, | |||
276 | 274 | ||
277 | *nplanes = 1; | 275 | *nplanes = 1; |
278 | sizes[0] = vip->format.sizeimage; | 276 | sizes[0] = vip->format.sizeimage; |
279 | alloc_ctxs[0] = vip->alloc_ctx; | ||
280 | 277 | ||
281 | vip->sequence = 0; | 278 | vip->sequence = 0; |
282 | vip->active = NULL; | 279 | vip->active = NULL; |
@@ -861,25 +858,15 @@ static int sta2x11_vip_init_buffer(struct sta2x11_vip *vip) | |||
861 | vip->vb_vidq.ops = &vip_video_qops; | 858 | vip->vb_vidq.ops = &vip_video_qops; |
862 | vip->vb_vidq.mem_ops = &vb2_dma_contig_memops; | 859 | vip->vb_vidq.mem_ops = &vb2_dma_contig_memops; |
863 | vip->vb_vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 860 | vip->vb_vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
861 | vip->vb_vidq.dev = &vip->pdev->dev; | ||
864 | err = vb2_queue_init(&vip->vb_vidq); | 862 | err = vb2_queue_init(&vip->vb_vidq); |
865 | if (err) | 863 | if (err) |
866 | return err; | 864 | return err; |
867 | INIT_LIST_HEAD(&vip->buffer_list); | 865 | INIT_LIST_HEAD(&vip->buffer_list); |
868 | spin_lock_init(&vip->lock); | 866 | spin_lock_init(&vip->lock); |
869 | |||
870 | |||
871 | vip->alloc_ctx = vb2_dma_contig_init_ctx(&vip->pdev->dev); | ||
872 | if (IS_ERR(vip->alloc_ctx)) { | ||
873 | v4l2_err(&vip->v4l2_dev, "Can't allocate buffer context"); | ||
874 | return PTR_ERR(vip->alloc_ctx); | ||
875 | } | ||
876 | |||
877 | return 0; | 867 | return 0; |
878 | } | 868 | } |
879 | static void sta2x11_vip_release_buffer(struct sta2x11_vip *vip) | 869 | |
880 | { | ||
881 | vb2_dma_contig_cleanup_ctx(vip->alloc_ctx); | ||
882 | } | ||
883 | static int sta2x11_vip_init_controls(struct sta2x11_vip *vip) | 870 | static int sta2x11_vip_init_controls(struct sta2x11_vip *vip) |
884 | { | 871 | { |
885 | /* | 872 | /* |
@@ -1120,7 +1107,6 @@ vrelease: | |||
1120 | video_unregister_device(&vip->video_dev); | 1107 | video_unregister_device(&vip->video_dev); |
1121 | free_irq(pdev->irq, vip); | 1108 | free_irq(pdev->irq, vip); |
1122 | release_buf: | 1109 | release_buf: |
1123 | sta2x11_vip_release_buffer(vip); | ||
1124 | pci_disable_msi(pdev); | 1110 | pci_disable_msi(pdev); |
1125 | unmap: | 1111 | unmap: |
1126 | vb2_queue_release(&vip->vb_vidq); | 1112 | vb2_queue_release(&vip->vb_vidq); |
diff --git a/drivers/media/pci/tw68/tw68-core.c b/drivers/media/pci/tw68/tw68-core.c index 4e77618fbb2b..8474528be91e 100644 --- a/drivers/media/pci/tw68/tw68-core.c +++ b/drivers/media/pci/tw68/tw68-core.c | |||
@@ -305,19 +305,13 @@ static int tw68_initdev(struct pci_dev *pci_dev, | |||
305 | /* Then do any initialisation wanted before interrupts are on */ | 305 | /* Then do any initialisation wanted before interrupts are on */ |
306 | tw68_hw_init1(dev); | 306 | tw68_hw_init1(dev); |
307 | 307 | ||
308 | dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); | ||
309 | if (IS_ERR(dev->alloc_ctx)) { | ||
310 | err = PTR_ERR(dev->alloc_ctx); | ||
311 | goto fail3; | ||
312 | } | ||
313 | |||
314 | /* get irq */ | 308 | /* get irq */ |
315 | err = devm_request_irq(&pci_dev->dev, pci_dev->irq, tw68_irq, | 309 | err = devm_request_irq(&pci_dev->dev, pci_dev->irq, tw68_irq, |
316 | IRQF_SHARED, dev->name, dev); | 310 | IRQF_SHARED, dev->name, dev); |
317 | if (err < 0) { | 311 | if (err < 0) { |
318 | pr_err("%s: can't get IRQ %d\n", | 312 | pr_err("%s: can't get IRQ %d\n", |
319 | dev->name, pci_dev->irq); | 313 | dev->name, pci_dev->irq); |
320 | goto fail4; | 314 | goto fail3; |
321 | } | 315 | } |
322 | 316 | ||
323 | /* | 317 | /* |
@@ -331,7 +325,7 @@ static int tw68_initdev(struct pci_dev *pci_dev, | |||
331 | if (err < 0) { | 325 | if (err < 0) { |
332 | pr_err("%s: can't register video device\n", | 326 | pr_err("%s: can't register video device\n", |
333 | dev->name); | 327 | dev->name); |
334 | goto fail5; | 328 | goto fail4; |
335 | } | 329 | } |
336 | tw_setl(TW68_INTMASK, dev->pci_irqmask); | 330 | tw_setl(TW68_INTMASK, dev->pci_irqmask); |
337 | 331 | ||
@@ -340,10 +334,8 @@ static int tw68_initdev(struct pci_dev *pci_dev, | |||
340 | 334 | ||
341 | return 0; | 335 | return 0; |
342 | 336 | ||
343 | fail5: | ||
344 | video_unregister_device(&dev->vdev); | ||
345 | fail4: | 337 | fail4: |
346 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | 338 | video_unregister_device(&dev->vdev); |
347 | fail3: | 339 | fail3: |
348 | iounmap(dev->lmmio); | 340 | iounmap(dev->lmmio); |
349 | fail2: | 341 | fail2: |
@@ -367,7 +359,6 @@ static void tw68_finidev(struct pci_dev *pci_dev) | |||
367 | /* unregister */ | 359 | /* unregister */ |
368 | video_unregister_device(&dev->vdev); | 360 | video_unregister_device(&dev->vdev); |
369 | v4l2_ctrl_handler_free(&dev->hdl); | 361 | v4l2_ctrl_handler_free(&dev->hdl); |
370 | vb2_dma_sg_cleanup_ctx(dev->alloc_ctx); | ||
371 | 362 | ||
372 | /* release resources */ | 363 | /* release resources */ |
373 | iounmap(dev->lmmio); | 364 | iounmap(dev->lmmio); |
diff --git a/drivers/media/pci/tw68/tw68-video.c b/drivers/media/pci/tw68/tw68-video.c index 07116a87a57b..c675f9abbb24 100644 --- a/drivers/media/pci/tw68/tw68-video.c +++ b/drivers/media/pci/tw68/tw68-video.c | |||
@@ -388,7 +388,6 @@ static int tw68_queue_setup(struct vb2_queue *q, | |||
388 | tot_bufs = 2; | 388 | tot_bufs = 2; |
389 | tot_bufs = tw68_buffer_count(size, tot_bufs); | 389 | tot_bufs = tw68_buffer_count(size, tot_bufs); |
390 | *num_buffers = tot_bufs - q->num_buffers; | 390 | *num_buffers = tot_bufs - q->num_buffers; |
391 | alloc_ctxs[0] = dev->alloc_ctx; | ||
392 | /* | 391 | /* |
393 | * We allow create_bufs, but only if the sizeimage is >= as the | 392 | * We allow create_bufs, but only if the sizeimage is >= as the |
394 | * current sizeimage. The tw68_buffer_count calculation becomes quite | 393 | * current sizeimage. The tw68_buffer_count calculation becomes quite |
@@ -983,6 +982,7 @@ int tw68_video_init2(struct tw68_dev *dev, int video_nr) | |||
983 | dev->vidq.buf_struct_size = sizeof(struct tw68_buf); | 982 | dev->vidq.buf_struct_size = sizeof(struct tw68_buf); |
984 | dev->vidq.lock = &dev->lock; | 983 | dev->vidq.lock = &dev->lock; |
985 | dev->vidq.min_buffers_needed = 2; | 984 | dev->vidq.min_buffers_needed = 2; |
985 | dev->vidq.dev = &dev->pci->dev; | ||
986 | ret = vb2_queue_init(&dev->vidq); | 986 | ret = vb2_queue_init(&dev->vidq); |
987 | if (ret) | 987 | if (ret) |
988 | return ret; | 988 | return ret; |
diff --git a/drivers/media/pci/tw68/tw68.h b/drivers/media/pci/tw68/tw68.h index 6c7dcb300f34..5585c7ee23f2 100644 --- a/drivers/media/pci/tw68/tw68.h +++ b/drivers/media/pci/tw68/tw68.h | |||
@@ -165,7 +165,6 @@ struct tw68_dev { | |||
165 | unsigned field; | 165 | unsigned field; |
166 | struct vb2_queue vidq; | 166 | struct vb2_queue vidq; |
167 | struct list_head active; | 167 | struct list_head active; |
168 | void *alloc_ctx; | ||
169 | 168 | ||
170 | /* various v4l controls */ | 169 | /* various v4l controls */ |
171 | const struct tw68_tvnorm *tvnorm; /* video */ | 170 | const struct tw68_tvnorm *tvnorm; /* video */ |
diff --git a/drivers/staging/media/tw686x-kh/tw686x-kh-video.c b/drivers/staging/media/tw686x-kh/tw686x-kh-video.c index 6ecb504a79f9..4e2ef9decbe2 100644 --- a/drivers/staging/media/tw686x-kh/tw686x-kh-video.c +++ b/drivers/staging/media/tw686x-kh/tw686x-kh-video.c | |||
@@ -135,7 +135,6 @@ static int tw686x_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, | |||
135 | struct tw686x_video_channel *vc = vb2_get_drv_priv(vq); | 135 | struct tw686x_video_channel *vc = vb2_get_drv_priv(vq); |
136 | unsigned int size = vc->width * vc->height * vc->format->depth / 8; | 136 | unsigned int size = vc->width * vc->height * vc->format->depth / 8; |
137 | 137 | ||
138 | alloc_ctxs[0] = vc->alloc_ctx; | ||
139 | if (*nbuffers < 2) | 138 | if (*nbuffers < 2) |
140 | *nbuffers = 2; | 139 | *nbuffers = 2; |
141 | 140 | ||
@@ -645,7 +644,6 @@ void tw686x_kh_video_free(struct tw686x_dev *dev) | |||
645 | v4l2_ctrl_handler_free(&vc->ctrl_handler); | 644 | v4l2_ctrl_handler_free(&vc->ctrl_handler); |
646 | if (vc->device) | 645 | if (vc->device) |
647 | video_unregister_device(vc->device); | 646 | video_unregister_device(vc->device); |
648 | vb2_dma_sg_cleanup_ctx(vc->alloc_ctx); | ||
649 | for (n = 0; n < 2; n++) { | 647 | for (n = 0; n < 2; n++) { |
650 | struct dma_desc *descs = &vc->sg_tables[n]; | 648 | struct dma_desc *descs = &vc->sg_tables[n]; |
651 | 649 | ||
@@ -750,13 +748,6 @@ int tw686x_kh_video_init(struct tw686x_dev *dev) | |||
750 | goto error; | 748 | goto error; |
751 | } | 749 | } |
752 | 750 | ||
753 | vc->alloc_ctx = vb2_dma_sg_init_ctx(&dev->pci_dev->dev); | ||
754 | if (IS_ERR(vc->alloc_ctx)) { | ||
755 | pr_warn("Unable to initialize DMA scatter-gather context\n"); | ||
756 | err = PTR_ERR(vc->alloc_ctx); | ||
757 | goto error; | ||
758 | } | ||
759 | |||
760 | vc->vidq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 751 | vc->vidq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
761 | vc->vidq.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; | 752 | vc->vidq.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; |
762 | vc->vidq.drv_priv = vc; | 753 | vc->vidq.drv_priv = vc; |
@@ -766,6 +757,7 @@ int tw686x_kh_video_init(struct tw686x_dev *dev) | |||
766 | vc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 757 | vc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; |
767 | vc->vidq.min_buffers_needed = 2; | 758 | vc->vidq.min_buffers_needed = 2; |
768 | vc->vidq.lock = &vc->vb_mutex; | 759 | vc->vidq.lock = &vc->vb_mutex; |
760 | vc->vidq.dev = &dev->pci_dev->dev; | ||
769 | vc->vidq.gfp_flags = GFP_DMA32; | 761 | vc->vidq.gfp_flags = GFP_DMA32; |
770 | 762 | ||
771 | err = vb2_queue_init(&vc->vidq); | 763 | err = vb2_queue_init(&vc->vidq); |
diff --git a/drivers/staging/media/tw686x-kh/tw686x-kh.h b/drivers/staging/media/tw686x-kh/tw686x-kh.h index dc257967dbc7..6284a90d6fe3 100644 --- a/drivers/staging/media/tw686x-kh/tw686x-kh.h +++ b/drivers/staging/media/tw686x-kh/tw686x-kh.h | |||
@@ -56,7 +56,6 @@ struct tw686x_video_channel { | |||
56 | struct video_device *device; | 56 | struct video_device *device; |
57 | struct dma_desc sg_tables[2]; | 57 | struct dma_desc sg_tables[2]; |
58 | struct tw686x_vb2_buf *curr_bufs[2]; | 58 | struct tw686x_vb2_buf *curr_bufs[2]; |
59 | void *alloc_ctx; | ||
60 | struct vdma_desc *sg_descs[2]; | 59 | struct vdma_desc *sg_descs[2]; |
61 | 60 | ||
62 | struct v4l2_ctrl_handler ctrl_handler; | 61 | struct v4l2_ctrl_handler ctrl_handler; |