public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Jiri Kosina <trivial@kernel.org>,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v3 05/14] media: platform: pxa_camera: convert to vb2
Date: Sat, 13 Aug 2016 11:25:37 +0200	[thread overview]
Message-ID: <87zioht3zi.fsf@belgarion.home> (raw)
In-Reply-To: <1470684652-16295-6-git-send-email-robert.jarzmik@free.fr> (Robert Jarzmik's message of "Mon, 8 Aug 2016 21:30:43 +0200")

Hi Hans,

Robert Jarzmik <robert.jarzmik@free.fr> writes:
> Convert pxa_camera from videobuf to videobuf2.
...zip...

> +static int pxac_vb2_queue_setup(struct vb2_queue *vq,
> +				unsigned int *nbufs,
> +				unsigned int *num_planes, unsigned int sizes[],
> +				void *alloc_ctxs[])

There is an API change here that happened since I wrote this code, ie. void
*alloc_ctxs became struct device *alloc_devs.

I made the incremental patch in [1] accrodingly to prepare the v4 iteration, but
it triggers new errors in v4l2-compliance -s :
Streaming ioctls:
	test read/write: OK (Not Supported)
		fail: v4l2-test-buffers.cpp(293): !(g_flags() & V4L2_BUF_FLAG_DONE)
		fail: v4l2-test-buffers.cpp(703): buf.check(q, last_seq)
		fail: v4l2-test-buffers.cpp(976): captureBufs(node, q, m2m_q, frame_count, false)
	test MMAP: FAIL
		fail: v4l2-test-buffers.cpp(1075): can_stream && ret != EINVAL
	test USERPTR: FAIL
	test DMABUF: Cannot test, specify --expbuf-device
Total: 45, Succeeded: 43, Failed: 2, Warnings: 6

I'm a bit puzzled how this change brought this in, so in case you've already
encountered this, it could save me investigating more. If nothing obvious
appears to you, I'll dig in.

Cheers.

-- 
Robert

[1]
diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c
index a161b64d420d..41359a183e83 100644
--- a/drivers/media/platform/pxa_camera.c
+++ b/drivers/media/platform/pxa_camera.c
@@ -269,8 +269,6 @@ struct pxa_camera_dev {
 	struct tasklet_struct	task_eof;
 
 	u32			save_cicr[5];
-
-	void			*alloc_ctx;
 };
 
 struct pxa_cam {
@@ -1043,7 +1041,7 @@ static int pxac_vb2_init(struct vb2_buffer *vb)
 static int pxac_vb2_queue_setup(struct vb2_queue *vq,
 				unsigned int *nbufs,
 				unsigned int *num_planes, unsigned int sizes[],
-				void *alloc_ctxs[])
+				struct device *alloc_devs[])
 {
 	struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vq);
 	int size = pcdev->current_pix.sizeimage;
@@ -1069,7 +1067,6 @@ static int pxac_vb2_queue_setup(struct vb2_queue *vq,
 		return -EINVAL;
 	}
 
-	alloc_ctxs[0] = pcdev->alloc_ctx;
 	if (!*nbufs)
 		*nbufs = 1;
 
@@ -1125,6 +1122,7 @@ static int pxa_camera_init_videobuf2(struct pxa_camera_dev *pcdev)
 	vq->drv_priv = pcdev;
 	vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
 	vq->buf_struct_size = sizeof(struct pxa_buffer);
+	vq->dev = pcdev->v4l2_dev.dev;
 
 	vq->ops = &pxac_vb2_ops;
 	vq->mem_ops = &vb2_dma_sg_memops;
@@ -1918,10 +1916,6 @@ static int pxa_camera_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
-	pcdev->alloc_ctx = vb2_dma_sg_init_ctx(&pdev->dev);
-	if (IS_ERR(pcdev->alloc_ctx))
-		return PTR_ERR(pcdev->alloc_ctx);
-
 	pcdev->clk = devm_clk_get(&pdev->dev, NULL);
 	if (IS_ERR(pcdev->clk))
 		return PTR_ERR(pcdev->clk);
@@ -2091,9 +2085,8 @@ static int pxa_camera_remove(struct platform_device *pdev)
 	dma_release_channel(pcdev->dma_chans[0]);
 	dma_release_channel(pcdev->dma_chans[1]);
 	dma_release_channel(pcdev->dma_chans[2]);
-	vb2_dma_sg_cleanup_ctx(pcdev->alloc_ctx);
-	v4l2_clk_unregister(pcdev->mclk_clk);
 
+	v4l2_clk_unregister(pcdev->mclk_clk);
 	v4l2_device_unregister(&pcdev->v4l2_dev);
 
 	dev_info(&pdev->dev, "PXA Camera driver unloaded\n");

  reply	other threads:[~2016-08-13  9:25 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-08 19:30 [PATCH v3 00/14] pxa_camera transition to v4l2 standalone device Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 01/14] media: mt9m111: make a standalone v4l2 subdevice Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 02/14] media: mt9m111: prevent module removal while in use Robert Jarzmik
2016-08-13 18:40   ` Hans Verkuil
2016-08-14 19:31     ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 03/14] media: mt9m111: use only the SRGB colorspace Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 04/14] media: mt9m111: move mt9m111 out of soc_camera Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 05/14] media: platform: pxa_camera: convert to vb2 Robert Jarzmik
2016-08-13  9:25   ` Robert Jarzmik [this message]
2016-08-13  9:29     ` Hans Verkuil
2016-08-13 11:15       ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 06/14] media: platform: pxa_camera: trivial move of functions Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 07/14] media: platform: pxa_camera: introduce sensor_call Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 08/14] media: platform: pxa_camera: make printk consistent Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 09/14] media: platform: pxa_camera: add buffer sequencing Robert Jarzmik
2016-08-15 13:26   ` Robert Jarzmik
2016-08-15 13:31     ` Hans Verkuil
2016-08-15 14:42       ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 10/14] media: platform: pxa_camera: remove set_crop Robert Jarzmik
2016-08-13 18:50   ` Hans Verkuil
2016-08-14 19:29     ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 11/14] media: platform: pxa_camera: make a standalone v4l2 device Robert Jarzmik
2016-08-13 18:58   ` Hans Verkuil
2016-08-14 19:30     ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 12/14] media: platform: pxa_camera: add debug register access Robert Jarzmik
2016-08-13 18:46   ` Hans Verkuil
2016-08-14 19:30     ` Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 13/14] media: platform: pxa_camera: change stop_streaming semantics Robert Jarzmik
2016-08-08 19:30 ` [PATCH v3 14/14] media: platform: pxa_camera: move pxa_camera out of soc_camera Robert Jarzmik
2016-08-15 10:04   ` Robert Jarzmik
2016-08-08 20:16 ` [PATCH v3 00/14] pxa_camera transition to v4l2 standalone device Hans Verkuil
2016-08-13 19:02 ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zioht3zi.fsf@belgarion.home \
    --to=robert.jarzmik@free.fr \
    --cc=g.liakhovetski@gmx.de \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=trivial@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox