All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-media@vger.kernel.org, m.szyprowski@samsung.com,
	pawel@osciak.com, awalls@md.metrocast.net,
	Hans Verkuil <hans.verkuil@cisco.com>
Subject: Re: [RFCv2 PATCH 7/9] vb2: add thread support
Date: Wed, 04 Dec 2013 08:47:25 +0100	[thread overview]
Message-ID: <529EDE0D.2020202@xs4all.nl> (raw)
In-Reply-To: <1604380.oHcqFNncgD@avalon>

On 12/04/2013 02:17 AM, Laurent Pinchart wrote:
> Hi Hans,
> 
> On Tuesday 03 December 2013 10:56:07 Hans Verkuil wrote:
>> On 11/29/13 19:21, Laurent Pinchart wrote:
>>> On Friday 29 November 2013 10:58:42 Hans Verkuil wrote:
>>>> From: Hans Verkuil <hans.verkuil@cisco.com>
>>>>
>>>> In order to implement vb2 DVB or ALSA support you need to be able to
>>>> start a kernel thread that queues and dequeues buffers, calling a
>>>> callback function for every captured/displayed buffer. This patch adds
>>>> support for that.
>>>>
>>>> It's based on drivers/media/v4l2-core/videobuf-dvb.c, but with all the
>>>> DVB specific stuff stripped out, thus making it much more generic.
>>>
>>> Do you see any use for this outside of videobuf2-dvb ? If not I wonder
>>> whether the code shouldn't be moved there. The sync objects framework
>>> being developed for KMS will in my opinion cover the other use cases, and
>>> I'd like to discourage non-DVB drivers to use vb2 threads in the
>>> meantime.
>>
>> I'm using it for ALSA drivers which, at least in my case, require almost
>> identical functionality as that needed by DVB.
> 
> You're using videobuf2 for audio ?

For this particular board the audio DMA is just another DMA channel. Handling
audio DMA is identical to video DMA. Why reinvent the wheel?

The board I developed this for has somewhat peculiar audio handling (sorry,
it's an internal product and I can't go into details), but I'll do the same
exercise for another board that I can open source and there audio handling is
standard. I want to see if I can use that to develop a videobuf2-alsa.c
module that takes care of most of the alsa complexity. I don't know yet how
that will work out, I'll have to experiment a bit.

> 
>> But regardless of that, I really don't like the way it was done in the old
>> videobuf framework, mixing low-level videobuf calls/data structure accesses
>> with DVB code. That should be separate.
>>
>> The vb2 core framework should provide the low-level functionality that is
>> needed by the videobuf2-dvb to build on.
> 
> Right, but I want to make sure that drivers will not start using this 
> directly.

What sort of use-cases were you thinking of, other than DVB and ALSA? I don't
off-hand see one.

> It should be an internal videobuf2 API.

I happily add comments to the source and header mentioning that it is for
core use only and that for any other uses the mailinglist should be contacted,
but I really don't want to mix core vb2 code with DVB code. That should remain
separate.

Regards,

	Hans

  reply	other threads:[~2013-12-04  7:47 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-29  9:58 [RFCv2 PATCH 0/9] vb2: various cleanups and improvements Hans Verkuil
2013-11-29  9:58 ` [RFCv2 PATCH 1/9] vb2: push the mmap semaphore down to __buf_prepare() Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 2/9] vb2: simplify qbuf/prepare_buf by removing callback Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 3/9] vb2: remove the 'fileio = NULL' hack Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 4/9] vb2: retry start_streaming in case of insufficient buffers Hans Verkuil
2013-12-04 13:42     ` Marek Szyprowski
2013-11-29  9:58   ` [RFCv2 PATCH 5/9] vb2: don't set index, don't start streaming for write() Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 6/9] vb2: return ENODATA in start_streaming in case of too few buffers Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 7/9] vb2: add thread support Hans Verkuil
2013-11-29 18:21     ` Laurent Pinchart
2013-12-03  9:56       ` Hans Verkuil
2013-12-04  1:17         ` Laurent Pinchart
2013-12-04  7:47           ` Hans Verkuil [this message]
2013-12-04 16:33             ` Laurent Pinchart
2013-12-04 17:03               ` Hans Verkuil
2013-12-04 20:57                 ` Laurent Pinchart
2013-11-29  9:58   ` [RFCv2 PATCH 8/9] vb2: Add videobuf2-dvb support Hans Verkuil
2013-11-29  9:58   ` [RFCv2 PATCH 9/9] vb2: Improve file I/O emulation to handle buffers in any order Hans Verkuil
2013-11-29 18:16   ` [RFCv2 PATCH 1/9] vb2: push the mmap semaphore down to __buf_prepare() Laurent Pinchart
2013-12-03  9:41     ` Hans Verkuil
2013-12-04  1:15       ` Laurent Pinchart
2013-11-29 10:17 ` [RFCv2 PATCH 0/9] vb2: various cleanups and improvements 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=529EDE0D.2020202@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=awalls@md.metrocast.net \
    --cc=hans.verkuil@cisco.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=pawel@osciak.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.