Message ID | 1438198744-6150-4-git-send-email-robert.jarzmik@free.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 29 Jul 2015, Robert Jarzmik wrote: > From: Robert Jarzmik <robert.jarzmik@intel.com> > > This moves the dma irq handling functions up in the source file, so that > they are available before DMA preparation functions. It prepares the > conversion to DMA engine, where the descriptors are populated with these > functions as callbacks. > > Signed-off-by: Robert Jarzmik <robert.jarzmik@intel.com> > --- > Since v1: fixed prototypes change > --- > drivers/media/platform/soc_camera/pxa_camera.c | 42 +++++++++++++++----------- > 1 file changed, 24 insertions(+), 18 deletions(-) > > diff --git a/drivers/media/platform/soc_camera/pxa_camera.c b/drivers/media/platform/soc_camera/pxa_camera.c > index 39c7e7519b3c..cdfb93aaee43 100644 > --- a/drivers/media/platform/soc_camera/pxa_camera.c > +++ b/drivers/media/platform/soc_camera/pxa_camera.c > @@ -313,6 +313,30 @@ static int calculate_dma_sglen(struct scatterlist *sglist, int sglen, [snip] > + pxa_camera_dma_irq(pcdev, DMA_Y); [snip] > - pxa_camera_dma_irq(channel, pcdev, DMA_Y); This still seems to break compilation to me. Could you compile-test after each your patch, please? Thanks Guennadi -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Guennadi Liakhovetski <g.liakhovetski@gmx.de> writes: > This still seems to break compilation to me. Could you compile-test after > each your patch, please? Ah yes. Ill timing, I had sent the v4 before having these comments, so I'll have to fix it in v5. Cheers.
diff --git a/drivers/media/platform/soc_camera/pxa_camera.c b/drivers/media/platform/soc_camera/pxa_camera.c index 39c7e7519b3c..cdfb93aaee43 100644 --- a/drivers/media/platform/soc_camera/pxa_camera.c +++ b/drivers/media/platform/soc_camera/pxa_camera.c @@ -313,6 +313,30 @@ static int calculate_dma_sglen(struct scatterlist *sglist, int sglen, return i + 1; } +static void pxa_camera_dma_irq(struct pxa_camera_dev *pcdev, + enum pxa_camera_active_dma act_dma); + +static void pxa_camera_dma_irq_y(int channel, void *data) +{ + struct pxa_camera_dev *pcdev = data; + + pxa_camera_dma_irq(pcdev, DMA_Y); +} + +static void pxa_camera_dma_irq_u(int channel, void *data) +{ + struct pxa_camera_dev *pcdev = data; + + pxa_camera_dma_irq(pcdev, DMA_U); +} + +static void pxa_camera_dma_irq_v(int channel, void *data) +{ + struct pxa_camera_dev *pcdev = data; + + pxa_camera_dma_irq(pcdev, DMA_V); +} + /** * pxa_init_dma_channel - init dma descriptors * @pcdev: pxa camera device @@ -810,24 +834,6 @@ out: spin_unlock_irqrestore(&pcdev->lock, flags); } -static void pxa_camera_dma_irq_y(int channel, void *data) -{ - struct pxa_camera_dev *pcdev = data; - pxa_camera_dma_irq(channel, pcdev, DMA_Y); -} - -static void pxa_camera_dma_irq_u(int channel, void *data) -{ - struct pxa_camera_dev *pcdev = data; - pxa_camera_dma_irq(channel, pcdev, DMA_U); -} - -static void pxa_camera_dma_irq_v(int channel, void *data) -{ - struct pxa_camera_dev *pcdev = data; - pxa_camera_dma_irq(channel, pcdev, DMA_V); -} - static struct videobuf_queue_ops pxa_videobuf_ops = { .buf_setup = pxa_videobuf_setup, .buf_prepare = pxa_videobuf_prepare,