Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e7045e3 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] cx88: remove dependency on btcx-risc



btcx-risc is for the bt8xx driver and other drivers shouldn't depend
on it. There is no benefit to use that module just to do a
pci_zalloc_consistent.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 999b3ceb
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -2,7 +2,6 @@ config VIDEO_CX88
	tristate "Conexant 2388x (bt878 successor) support"
	tristate "Conexant 2388x (bt878 successor) support"
	depends on VIDEO_DEV && PCI && I2C && RC_CORE
	depends on VIDEO_DEV && PCI && I2C && RC_CORE
	select I2C_ALGOBIT
	select I2C_ALGOBIT
	select VIDEO_BTCX
	select VIDEOBUF2_DMA_SG
	select VIDEOBUF2_DMA_SG
	select VIDEO_TUNER
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_TVEEPROM
+0 −1
Original line number Original line Diff line number Diff line
@@ -11,7 +11,6 @@ obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o
obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o
obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o


ccflags-y += -Idrivers/media/i2c
ccflags-y += -Idrivers/media/i2c
ccflags-y += -Idrivers/media/common
ccflags-y += -Idrivers/media/tuners
ccflags-y += -Idrivers/media/tuners
ccflags-y += -Idrivers/media/dvb-core
ccflags-y += -Idrivers/media/dvb-core
ccflags-y += -Idrivers/media/dvb-frontends
ccflags-y += -Idrivers/media/dvb-frontends
+5 −2
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@


struct cx88_audio_buffer {
struct cx88_audio_buffer {
	unsigned int               bpl;
	unsigned int               bpl;
	struct btcx_riscmem        risc;
	struct cx88_riscmem        risc;
	void			*vaddr;
	void			*vaddr;
	struct scatterlist	*sglist;
	struct scatterlist	*sglist;
	int                     sglen;
	int                     sglen;
@@ -370,12 +370,15 @@ static int cx88_alsa_dma_free(struct cx88_audio_buffer *buf)


static int dsp_buffer_free(snd_cx88_card_t *chip)
static int dsp_buffer_free(snd_cx88_card_t *chip)
{
{
	struct cx88_riscmem *risc = &chip->buf->risc;

	BUG_ON(!chip->dma_size);
	BUG_ON(!chip->dma_size);


	dprintk(2,"Freeing buffer\n");
	dprintk(2,"Freeing buffer\n");
	cx88_alsa_dma_unmap(chip);
	cx88_alsa_dma_unmap(chip);
	cx88_alsa_dma_free(chip->buf);
	cx88_alsa_dma_free(chip->buf);
	btcx_riscmem_free(chip->pci, &chip->buf->risc);
	if (risc->cpu)
		pci_free_consistent(chip->pci, risc->size, risc->cpu, risc->dma);
	kfree(chip->buf);
	kfree(chip->buf);


	chip->buf = NULL;
	chip->buf = NULL;
+4 −1
Original line number Original line Diff line number Diff line
@@ -666,8 +666,11 @@ static void buffer_finish(struct vb2_buffer *vb)
	struct cx8802_dev *dev = vb->vb2_queue->drv_priv;
	struct cx8802_dev *dev = vb->vb2_queue->drv_priv;
	struct cx88_buffer *buf = container_of(vb, struct cx88_buffer, vb);
	struct cx88_buffer *buf = container_of(vb, struct cx88_buffer, vb);
	struct sg_table *sgt = vb2_dma_sg_plane_desc(vb, 0);
	struct sg_table *sgt = vb2_dma_sg_plane_desc(vb, 0);
	struct cx88_riscmem *risc = &buf->risc;


	btcx_riscmem_free(dev->pci, &buf->risc);
	if (risc->cpu)
		pci_free_consistent(dev->pci, risc->size, risc->cpu, risc->dma);
	memset(risc, 0, sizeof(*risc));


	dma_unmap_sg(&dev->pci->dev, sgt->sgl, sgt->nents, DMA_FROM_DEVICE);
	dma_unmap_sg(&dev->pci->dev, sgt->sgl, sgt->nents, DMA_FROM_DEVICE);
}
}
+12 −8
Original line number Original line Diff line number Diff line
@@ -132,14 +132,13 @@ static __le32* cx88_risc_field(__le32 *rp, struct scatterlist *sglist,
	return rp;
	return rp;
}
}


int cx88_risc_buffer(struct pci_dev *pci, struct btcx_riscmem *risc,
int cx88_risc_buffer(struct pci_dev *pci, struct cx88_riscmem *risc,
		     struct scatterlist *sglist,
		     struct scatterlist *sglist,
		     unsigned int top_offset, unsigned int bottom_offset,
		     unsigned int top_offset, unsigned int bottom_offset,
		     unsigned int bpl, unsigned int padding, unsigned int lines)
		     unsigned int bpl, unsigned int padding, unsigned int lines)
{
{
	u32 instructions,fields;
	u32 instructions,fields;
	__le32 *rp;
	__le32 *rp;
	int rc;


	fields = 0;
	fields = 0;
	if (UNSET != top_offset)
	if (UNSET != top_offset)
@@ -153,8 +152,11 @@ int cx88_risc_buffer(struct pci_dev *pci, struct btcx_riscmem *risc,
	   region may be smaller than PAGE_SIZE */
	   region may be smaller than PAGE_SIZE */
	instructions  = fields * (1 + ((bpl + padding) * lines) / PAGE_SIZE + lines);
	instructions  = fields * (1 + ((bpl + padding) * lines) / PAGE_SIZE + lines);
	instructions += 4;
	instructions += 4;
	if ((rc = btcx_riscmem_alloc(pci,risc,instructions*8)) < 0)
	risc->size = instructions * 8;
		return rc;
	risc->dma = 0;
	risc->cpu = pci_zalloc_consistent(pci, risc->size, &risc->dma);
	if (NULL == risc->cpu)
		return -ENOMEM;


	/* write risc instructions */
	/* write risc instructions */
	rp = risc->cpu;
	rp = risc->cpu;
@@ -171,13 +173,12 @@ int cx88_risc_buffer(struct pci_dev *pci, struct btcx_riscmem *risc,
	return 0;
	return 0;
}
}


int cx88_risc_databuffer(struct pci_dev *pci, struct btcx_riscmem *risc,
int cx88_risc_databuffer(struct pci_dev *pci, struct cx88_riscmem *risc,
			 struct scatterlist *sglist, unsigned int bpl,
			 struct scatterlist *sglist, unsigned int bpl,
			 unsigned int lines, unsigned int lpi)
			 unsigned int lines, unsigned int lpi)
{
{
	u32 instructions;
	u32 instructions;
	__le32 *rp;
	__le32 *rp;
	int rc;


	/* estimate risc mem: worst case is one write per page border +
	/* estimate risc mem: worst case is one write per page border +
	   one write per scan line + syncs + jump (all 2 dwords).  Here
	   one write per scan line + syncs + jump (all 2 dwords).  Here
@@ -185,8 +186,11 @@ int cx88_risc_databuffer(struct pci_dev *pci, struct btcx_riscmem *risc,
	   than PAGE_SIZE */
	   than PAGE_SIZE */
	instructions  = 1 + (bpl * lines) / PAGE_SIZE + lines;
	instructions  = 1 + (bpl * lines) / PAGE_SIZE + lines;
	instructions += 3;
	instructions += 3;
	if ((rc = btcx_riscmem_alloc(pci,risc,instructions*8)) < 0)
	risc->size = instructions * 8;
		return rc;
	risc->dma = 0;
	risc->cpu = pci_zalloc_consistent(pci, risc->size, &risc->dma);
	if (NULL == risc->cpu)
		return -ENOMEM;


	/* write risc instructions */
	/* write risc instructions */
	rp = risc->cpu;
	rp = risc->cpu;
Loading