2008-08-19 22:28:28

by Stefan Richter

[permalink] [raw]
Subject: new driver staged in linux1394-2.6.git

Hi all,

just to keep people informed what's in the works: There are now two new
branches in the linux1394 git repo,

git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv-2.6.27

This is for preparation of the firesat driver (to be renamed to firedtv
to better match the corresponding device names) for mainline submission.
I have harvested the respective patches from Greg KH's staging tree and
added two further updates; more to be added soon.

The firesat driver is for FireWire-attached external and internal DVB-C,
DVB-S, DVB-S2, and DVB-T devices from Digital Everywhere, called FireDTV
and FloppyDTV. AFAIU some of these devices are also sold under the
EyeTV brand by Elgato. Links to more information about firesat and the
devices can be found at
http://ieee1394.wiki.kernel.org/index.php/Out-of-tree_Kernel_Drivers

Right now, firesat/firedtv still needs a number of cleanups. (Luckily,
the only task to be done before mainline merge which impacts userland is
the renaming of the driver to firedtv.) The preparations will probably
continue to go via the Linux Driver Project's mailinglist for now. When
the essentials are done, I will post a snapshot of firedtv at LKML for
broader review.

So this is not a request to look at the current driver sources, this is
only a notice about what's going on.
--
Stefan Richter
-=====-==--- =--- =-=--
http://arcgraph.de/sr/


2008-08-20 20:15:39

by Greg KH

[permalink] [raw]
Subject: Re: new driver staged in linux1394-2.6.git

On Wed, Aug 20, 2008 at 12:27:40AM +0200, Stefan Richter wrote:
> Hi all,
>
> just to keep people informed what's in the works: There are now two new
> branches in the linux1394 git repo,
>
> git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv
> git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv-2.6.27
>
> This is for preparation of the firesat driver (to be renamed to firedtv
> to better match the corresponding device names) for mainline submission.
> I have harvested the respective patches from Greg KH's staging tree and
> added two further updates; more to be added soon.

Very nice, thanks for picking this up.

Should I drop it from my -staging tree now so that people know to work
off of your version? This assumes that it will not be dropped by you :)

thanks,

greg k-h

2008-08-20 20:41:50

by Stefan Richter

[permalink] [raw]
Subject: Re: new driver staged in linux1394-2.6.git

Greg KH wrote:
> On Wed, Aug 20, 2008 at 12:27:40AM +0200, Stefan Richter wrote:
>> I have harvested the respective patches from Greg KH's staging tree and
>> added two further updates; more to be added soon.
>
> Very nice, thanks for picking this up.
>
> Should I drop it from my -staging tree now so that people know to work
> off of your version?

Yes, since I hope we will get it -next-worthy in linux1394-2.6.git soon.

> This assumes that it will not be dropped by you :)

I'll carry it until mainline merge, unless bigger subsystem changes
happen on the v4l-dbv front that make it necessary to move it to their repo.
--
Stefan Richter
-=====-==--- =--- =-=--
http://arcgraph.de/sr/

2008-08-20 21:05:41

by Greg KH

[permalink] [raw]
Subject: Re: new driver staged in linux1394-2.6.git

On Wed, Aug 20, 2008 at 10:41:11PM +0200, Stefan Richter wrote:
> Greg KH wrote:
>> On Wed, Aug 20, 2008 at 12:27:40AM +0200, Stefan Richter wrote:
>>> I have harvested the respective patches from Greg KH's staging tree and
>>> added two further updates; more to be added soon.
>> Very nice, thanks for picking this up.
>> Should I drop it from my -staging tree now so that people know to work
>> off of your version?
>
> Yes, since I hope we will get it -next-worthy in linux1394-2.6.git soon.
>
>> This assumes that it will not be dropped by you :)
>
> I'll carry it until mainline merge, unless bigger subsystem changes happen
> on the v4l-dbv front that make it necessary to move it to their repo.

Great, thanks a lot for doing this, I really appreciate it.

greg k-h

2008-08-20 21:18:23

by David Moore

[permalink] [raw]
Subject: Re: new driver staged in linux1394-2.6.git

On Wed, 2008-08-20 at 22:41 +0200, Stefan Richter wrote:
> Greg KH wrote:
> > This assumes that it will not be dropped by you :)
>
> I'll carry it until mainline merge, unless bigger subsystem changes
> happen on the v4l-dbv front that make it necessary to move it to their repo.

If I understand correctly, this driver is based on the legacy ieee1394
subsystem. I'm curious, is there a plan to migrate it to juju, where
presumably it could be a lot cleaner and might not even have to live in
the kernel at all (except for the need for some sort of dvb loopback
device which might not yet exist)?

-David

2008-08-20 22:29:08

by Stefan Richter

[permalink] [raw]
Subject: Re: new driver staged in linux1394-2.6.git

David Moore wrote:
> On Wed, 2008-08-20 at 22:41 +0200, Stefan Richter wrote:
>> Greg KH wrote:
>>> This assumes that it will not be dropped by you :)
>> I'll carry it until mainline merge, unless bigger subsystem changes
>> happen on the v4l-dbv front that make it necessary to move it to their repo.
>
> If I understand correctly, this driver is based on the legacy ieee1394
> subsystem. I'm curious, is there a plan to migrate it to juju, where
> presumably it could be a lot cleaner and might not even have to live in
> the kernel at all (except for the need for some sort of dvb loopback
> device which might not yet exist)?

Yes; these are good points. I planned on commenting on exactly these
points when we (the two or so people who currently work on the driver
and I) have it cleaned up so that we can post code for pre-merge review.
Anyway, this is what I think:

Indeed, this driver interfaces with the ieee1394 stack. That's because
it lived out of tree for actually a few years already. And of course it
needs to be ported over to the firewire stack. But in my opinion, this
port is easier to do _after_ the driver came into mainline. The
firewire stack is still evolving, hence driver development on top of it
outside of mainline would involve avoidable churn.

As to whether this should or could be a userland driver: This is an
AV/C driver, hence taking this into the kernel means that we partially
duplicate the already existing userland library code in this area, which
saw a lot of development and usage with a considerable range of AV/C
devices. It also means that we go against what has been the trend so
far, i.e. that AV/C related code is removed from the kernel (amdtp and
cmp long gone, dv1394 bitrotting). So from the FireWire side,
everything speaks against a kernel implementation of this driver. But
from the DVB side, there is one good reason to do it in-kernel: That
way it can interface with all existing DVB related userland just like
PCI DVB cards and USB DVB cards.

A DVB loopback driver does not exist to my knowledge, nor am I aware of
solid plans in this direction. v4l-dvb people, please correct me if I
missed something.

Is there interest to come up with a loopback driver for other DVB device
types? I presume it wouldn't make a lot of sense for PCI devices, and I
understood that it is not feasible for USB devices for the time being.

In the past, there were also latency issues speaking against a userland
implementation of firesat/firedtv. These issues may be only partly
relevant today, or maybe not at all. An -rt kernel would surely allow
for a low latency userspace driver; I don't know how well stock kernels
currently do.
--
Stefan Richter
-=====-==--- =--- =-=--
http://arcgraph.de/sr/