Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Johannes Stezenbach
On Thu, Sep 13, 2007, Markus Rechberger wrote:
> Let's add the LKML to this.
> 
> On 9/13/07, Markus Rechberger <[EMAIL PROTECTED]> wrote:
> > On 9/12/07, Mauro Carvalho Chehab <[EMAIL PROTECTED]> wrote:
> > > I don't see any technical reason why tuner drivers should be moved to
> > > userspace. Looking at xc3028 device, the driver is very simple and
> > > doesn't require any special treatment that it isn't possible to be done
> > > at kernel. There are already some implementations on kernelspace that
> > > works fine.
> >
> > As from my side to support the xceive driver properly it needs a
> > rewrite and a proper API description. Since it's not possible to
> > discuss any API changes

Not possible? We're doing it all the time...

However, your ideas were rejected in this discussion,
and you can't seem to get over it.

> > don't get me wrong but the existing community is rather small and
> > kicking off people who are interested in changing things.

IMHO there is a lack of openness caused by people being burned
in past flamewars. This makes it a bit difficult to see through
what happens and why, and to participate.  However, I think it
is completely wrong to say that the community is "kicking off people".

> > I'm against how the project works out at the moment and how it worked
> > out in history. Exactly this way will kick off companies to be
> > interested in future like Avermedia. A driver can easily be written
> > within a few weeks and I've been struggling with it for 2 years(!!!)
> > now just for nothing finally telling me that some guys want to steal
> > my code and move it to kernelspace although it would raise more
> > complications with upcoming and current devices which have even more
> > requirements.

Oh dear, there we go again... more flame bait...

I reality, 95% of your driver code could have been merged
without problems, but you refused to take the small, objectionable
part out of the picture.

(For those interested:
http://mcentral.de/~mrec/patches/v4l-dvb/hg_v4l-dvb-experimental_01.patch
The patch changed the internal tuner API and required changes
to all tuner drivers.)

Your all-or-nothing approach didn't work out.

Out of curiosity: How does your userspace approach solve
the hybrid (analog/digital TV) tuner problem which was the
only objectionable part of your work? And why are the kernel
parts of your new interface now less objectionable? What changed?


Johannes
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Johannes Stezenbach
On Thu, Sep 13, 2007, Markus Rechberger wrote:
 Let's add the LKML to this.
 
 On 9/13/07, Markus Rechberger [EMAIL PROTECTED] wrote:
  On 9/12/07, Mauro Carvalho Chehab [EMAIL PROTECTED] wrote:
   I don't see any technical reason why tuner drivers should be moved to
   userspace. Looking at xc3028 device, the driver is very simple and
   doesn't require any special treatment that it isn't possible to be done
   at kernel. There are already some implementations on kernelspace that
   works fine.
 
  As from my side to support the xceive driver properly it needs a
  rewrite and a proper API description. Since it's not possible to
  discuss any API changes

Not possible? We're doing it all the time...

However, your ideas were rejected in this discussion,
and you can't seem to get over it.

  don't get me wrong but the existing community is rather small and
  kicking off people who are interested in changing things.

IMHO there is a lack of openness caused by people being burned
in past flamewars. This makes it a bit difficult to see through
what happens and why, and to participate.  However, I think it
is completely wrong to say that the community is kicking off people.

  I'm against how the project works out at the moment and how it worked
  out in history. Exactly this way will kick off companies to be
  interested in future like Avermedia. A driver can easily be written
  within a few weeks and I've been struggling with it for 2 years(!!!)
  now just for nothing finally telling me that some guys want to steal
  my code and move it to kernelspace although it would raise more
  complications with upcoming and current devices which have even more
  requirements.

Oh dear, there we go again... more flame bait...

I reality, 95% of your driver code could have been merged
without problems, but you refused to take the small, objectionable
part out of the picture.

(For those interested:
http://mcentral.de/~mrec/patches/v4l-dvb/hg_v4l-dvb-experimental_01.patch
The patch changed the internal tuner API and required changes
to all tuner drivers.)

Your all-or-nothing approach didn't work out.

Out of curiosity: How does your userspace approach solve
the hybrid (analog/digital TV) tuner problem which was the
only objectionable part of your work? And why are the kernel
parts of your new interface now less objectionable? What changed?


Johannes
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Markus Rechberger
Hi,

On 9/13/07, Johannes Stezenbach [EMAIL PROTECTED] wrote:
 On Thu, Sep 13, 2007, Markus Rechberger wrote:
 
  We currently have an implementation that works, although
  it works by downloading several firmwares for several devices
  or even several countries. This is not what I want to have in
  future since it's not needed and it's also hard to manage for
  distributors. All those differences could be adjusted by
  software even without module parameter hacks.

 This argument doesn't hold water. The unpleasant point
 for users and distributors isn't the binary-only
 thing, it's the no right to distribute problem.
 And that's the same for firmware blobs or binary-only
 userspace blobs.

 IOW, if you can get the right to redistribute a binary-only
 userspace blob which incudes the firmware inside, why
 shouldn't you be able to get the right to redistribute
 just the firmware?


In particular xceive based drivers provide a numerous set
of features which cannot be implemented into the kernel
because the API (both V4L and DVB) are limited.
Since to me it seriously has the impression that the project
especially the core of the project is closed to the outside
world (just how someone stated it out recently
he licked the butts of others to get his stuff accepted)

 Or the other way round: Do you think your binary-only software
 will be important enough so distributors will go through
 all the trouble of trying to get a license to include it in
 their distribution? If so, why wouldn't they do the same
 for the plain firmware blobs for in-kernel drivers?

I don't have any binary only software just as all the time before.
I am also allowed to publish firmware for several drivers
(not only the em28xx driver). Although as mentioned earlier
already the current existing driver is not really manageable
due the firmware mess and that driver will change completly
and include templates for several other bridge drivers.

Markus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Johannes Stezenbach
On Thu, Sep 13, 2007, Markus Rechberger wrote:
 
 We currently have an implementation that works, although
 it works by downloading several firmwares for several devices 
 or even several countries. This is not what I want to have in 
 future since it's not needed and it's also hard to manage for
 distributors. All those differences could be adjusted by 
 software even without module parameter hacks.

This argument doesn't hold water. The unpleasant point
for users and distributors isn't the binary-only
thing, it's the no right to distribute problem.
And that's the same for firmware blobs or binary-only
userspace blobs.

IOW, if you can get the right to redistribute a binary-only
userspace blob which incudes the firmware inside, why
shouldn't you be able to get the right to redistribute
just the firmware?

Or the other way round: Do you think your binary-only software
will be important enough so distributors will go through
all the trouble of trying to get a license to include it in
their distribution? If so, why wouldn't they do the same
for the plain firmware blobs for in-kernel drivers?


Johannes
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Markus Rechberger


On 9/13/07, Johannes Stezenbach [EMAIL PROTECTED] wrote:
 On Thu, Sep 13, 2007, Markus Rechberger wrote:
  Let's add the LKML to this.
  
  On 9/13/07, Markus Rechberger [EMAIL PROTECTED] wrote:
   On 9/12/07, Mauro Carvalho Chehab [EMAIL PROTECTED] wrote:
I don't see any technical reason why tuner drivers should be moved to
userspace. Looking at xc3028 device, the driver is very simple and
doesn't require any special treatment that it isn't possible to be
 done
at kernel. There are already some implementations on kernelspace that
works fine.
  
   As from my side to support the xceive driver properly it needs a
   rewrite and a proper API description. Since it's not possible to
   discuss any API changes
 
 Not possible? We're doing it all the time...
 

Then ask Mauro about the audio standard discussion which I had with him.

 However, your ideas were rejected in this discussion,
 and you can't seem to get over it.
 

As for future projects I see other people having the same problems if
they want to join the project. If deeper requirements and/or ideas will
come up some particular people will try to run their own game.
If I'm doing something wrong technically then state it out show me
the bugs that I can understand what I did wrong or what I am doing
wrong. As for design changes if someone thinks he has to deny 
something he has to state out _why_ and not only some overall
nontechnical statements which do not help anyone.

   don't get me wrong but the existing community is rather small and
   kicking off people who are interested in changing things.
 
 IMHO there is a lack of openness caused by people being burned
 in past flamewars. This makes it a bit difficult to see through
 what happens and why, and to participate.  However, I think it
 is completely wrong to say that the community is kicking off people.
 

You identified it already the right way in one mail much earlier. It's a
messup caused by many people and not only by one single person.
And that's also how I see it.

   I'm against how the project works out at the moment and how it worked
   out in history. Exactly this way will kick off companies to be
   interested in future like Avermedia. A driver can easily be written
   within a few weeks and I've been struggling with it for 2 years(!!!)
   now just for nothing finally telling me that some guys want to steal
   my code and move it to kernelspace although it would raise more
   complications with upcoming and current devices which have even more
   requirements.
 
 Oh dear, there we go again... more flame bait...
 
 I reality, 95% of your driver code could have been merged
 without problems, but you refused to take the small, objectionable
 part out of the picture.
 

the driver itself still evolves, so the main point is in getting those 
incomplete
APIs to support further requirements. Instead of acknowlidging and seriously
discussing the solutions of others all that's beeing done now is to redo things
hundred times and splitting development one side beeing more open (which
is the userspace work) and the other part beeing more closed to a few people 
only (the inkernel work).
It's not my task to convince myself to rewrite the base of something which
I don't think that it would be valueable. The one who wants me that I 
spend days in changing my code should try to convince me to change
my mind on that, unless he can provide patches which demonstrate
that his changes are definitelly an advantage over what has been done 
from my side. 
I will for sure acknowlidge everything that will seriously improve the work 
which has been done.

 (For those interested:
 http://mcentral.de/~mrec/patches/v4l-dvb/hg_v4l-dvb-experimental_01.patch
 The patch changed the internal tuner API and required changes
 to all tuner drivers.)
 

The main problem is moreover that the RFC didn't get discussed properly, 
afterwards people wondered what happened, even though the sources
were also available all the time in a public repository.

 Your all-or-nothing approach didn't work out.
 

well we got far enough that I end up to step away and preparing the sources
to be able to get submitted beside linuxtv since I don't/didn't get any useful
technical feedback there.
Convince me that my work is welcome then I might start to submit smaller
patches, I already spent days for exporting patches in history and it all
end up nowhere but in unfriendly discussions - which also turned me to be
unfriendly to some people (which I've been told that I should ignore them 
recently and also not continue to to argue on a nontechnical level .. althought 
as mentioned I'm not the only one who made mistakes :-)

 Out of curiosity: How does your userspace approach solve
 the hybrid (analog/digital TV) tuner problem which was the
 only objectionable part of your work? And why are the kernel
 parts of your new interface now less objectionable? What changed?
 

It's only a step in development, I do not intend to keep 

Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Manu Abraham

 It's only a step in development, I do not intend to keep the kernel
 stub in the end, but I do intend to keep and use the userspace drivers
 with i2c-dev in the long run, this requires a v4l/dvb library at the front
 of everything.

Well, this was what adq and myself did with libdvbapi and mti, (much
before UIO was announced at LK.) It is not tied to I2C either.

But, according to your statements (with regards to i2c-dev) you can
handle only some I2C based devices, which is in fact a subset of a
subset. Also not to forget that hardly a few I2C devices are in fact
truly I2C compatible. In fact many variables to be considered.

Also there is to consider a non technical aspect, whether vendors will
misuse this interface for binary only, undermining the efforts put in
for OSS drivers.

Manu
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Markus Rechberger
On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:

  It's only a step in development, I do not intend to keep the kernel
  stub in the end, but I do intend to keep and use the userspace drivers
  with i2c-dev in the long run, this requires a v4l/dvb library at the front
  of everything.

 Well, this was what adq and myself did with libdvbapi and mti, (much
 before UIO was announced at LK.) It is not tied to I2C either.


I2C is the main communication path for it, although there are callback
mechanisms available which add the possibility for different configuration
paths.

 But, according to your statements (with regards to i2c-dev) you can
 handle only some I2C based devices, which is in fact a subset of a
 subset. Also not to forget that hardly a few I2C devices are in fact
 truly I2C compatible. In fact many variables to be considered.


The analogue tuner core is also only for i2c only devices which most
devices rely on.

 Also there is to consider a non technical aspect, whether vendors will
 misuse this interface for binary only, undermining the efforts put in
 for OSS drivers.


What holds companies for using the current available code putting it
into an rpm or deb package and releasing such code now?

The Avermedia example I pointed out to is a good example already.
As from my side I won't release binary drivers.
Although on the other side:
* are drivers from vendors which work through several kernel versions
that bad?
* Why did someone duallicense videodev2 with BSD/GPL?

I would appreciate if someone else on the list could also comment
the reason that drivers should all be included in the linuxkernel just
because forcing the companies to release binary drivers because
of that. My opinion about that is if a company wants to go opensource
they will do so, if not they will either not release a driver or release
nothing.

Markus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Manu Abraham
Markus Rechberger wrote:
 On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:
 It's only a step in development, I do not intend to keep the kernel
 stub in the end, but I do intend to keep and use the userspace drivers
 with i2c-dev in the long run, this requires a v4l/dvb library at the front
 of everything.
 Well, this was what adq and myself did with libdvbapi and mti, (much
 before UIO was announced at LK.) It is not tied to I2C either.

 
 I2C is the main communication path for it, although there are callback
 mechanisms available which add the possibility for different configuration
 paths.

Sorry, i must say that what you said is wrong.

The example implementation in libdvbapi/mti is I2C only with a STV0299
on the TTPCI, if that was what you meant.
But if you need examples for every possible interface, then probably you
are out of luck.

Manu

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Markus Rechberger
On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:
 Markus Rechberger wrote:
  On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:
  It's only a step in development, I do not intend to keep the kernel
  stub in the end, but I do intend to keep and use the userspace drivers
  with i2c-dev in the long run, this requires a v4l/dvb library at the
 front
  of everything.
  Well, this was what adq and myself did with libdvbapi and mti, (much
  before UIO was announced at LK.) It is not tied to I2C either.
 
 
  I2C is the main communication path for it, although there are callback
  mechanisms available which add the possibility for different configuration
  paths.

 Sorry, i must say that what you said is wrong.

 The example implementation in libdvbapi/mti is I2C only with a STV0299
 on the TTPCI, if that was what you meant.
 But if you need examples for every possible interface, then probably you
 are out of luck.


I didn't comment the libdvbapi/mti driver.
I'm quite confident that non I2C protocols can be handled by a callback
function. In the end it's either a usb control command or pci mmio writes
in the current usual cases and such calls could be handled behind a
callback function which is implemented in the driver.

Markus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Manu Abraham
Markus Rechberger wrote:
 On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:
 Markus Rechberger wrote:
 On 9/13/07, Manu Abraham [EMAIL PROTECTED] wrote:
 It's only a step in development, I do not intend to keep the kernel
 stub in the end, but I do intend to keep and use the userspace drivers
 with i2c-dev in the long run, this requires a v4l/dvb library at the
 front
 of everything.
 Well, this was what adq and myself did with libdvbapi and mti, (much
 before UIO was announced at LK.) It is not tied to I2C either.

 I2C is the main communication path for it, although there are callback
 mechanisms available which add the possibility for different configuration
 paths.
 Sorry, i must say that what you said is wrong.

 The example implementation in libdvbapi/mti is I2C only with a STV0299
 on the TTPCI, if that was what you meant.
 But if you need examples for every possible interface, then probably you
 are out of luck.

 
 I didn't comment the libdvbapi/mti driver.
 I'm quite confident that non I2C protocols can be handled by a callback
 function. In the end it's either a usb control command or pci mmio writes

There's also DTL in some cases. It's not USB msgs and or PCI MMIO alone.
The actual DTL spec is unfortunately not open.

Manu

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Steven Toth


  

Also there is to consider a non technical aspect, whether vendors will
misuse this interface for binary only, undermining the efforts put in
for OSS drivers.




What holds companies for using the current available code putting it
into an rpm or deb package and releasing such code now?

The Avermedia example I pointed out to is a good example already.
As from my side I won't release binary drivers.
Although on the other side:
* are drivers from vendors which work through several kernel versions
that bad?
* Why did someone duallicense videodev2 with BSD/GPL?

I would appreciate if someone else on the list could also comment
the reason that drivers should all be included in the linuxkernel just
because forcing the companies to release binary drivers because
of that. My opinion about that is if a company wants to go opensource
they will do so, if not they will either not release a driver or release
nothing.

  



I know for certain that adding a userland API tuner/demod interface to 
the kernel, allowing non-caring opportunistic silicon or board vendors 
to developer closed source proprietary drivers, will have a negative 
effect on the community and we'd set back linuxtv 3-5 years.


I know for certain that it would happen. Trust me.

I've told you this countless times and you're not hearing me.

Hauppauge have some leverage with Conexant and NXP to release public 
datasheets. If they just have to release a demod.so (or similar) 
loadable, they'll defer to the board vendors and we'll see the certain 
board vendors 'locking other board vendors' out of their drivers. We'll 
see embedded firmware, not shared between drivers.


Except, it won't stop at demod.so. It will extend into unfixable bugs 
for VendorB's board, because VendorA doesn't want to release a new 
demod.so, and VendorB has no linux resources. What happens next? For 
financial reasons - demod.so will begin to include checks to see if 
specific PCI or USB devices are present in the system, and will fail to 
work properly (if at all) when they're not being used with the preferred 
products.


Read my lips: For commercial reasons, this enables driver components 
that only work if specific boards are present.


- Steve








-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Markus Rechberger
On 9/13/07, Steven Toth [EMAIL PROTECTED] wrote:

 
  Also there is to consider a non technical aspect, whether vendors will
  misuse this interface for binary only, undermining the efforts put in
  for OSS drivers.
 
 
 
  What holds companies for using the current available code putting it
  into an rpm or deb package and releasing such code now?
 
  The Avermedia example I pointed out to is a good example already.
  As from my side I won't release binary drivers.
  Although on the other side:
  * are drivers from vendors which work through several kernel versions
  that bad?
  * Why did someone duallicense videodev2 with BSD/GPL?
 
  I would appreciate if someone else on the list could also comment
  the reason that drivers should all be included in the linuxkernel just
  because forcing the companies to release binary drivers because
  of that. My opinion about that is if a company wants to go opensource
  they will do so, if not they will either not release a driver or release
  nothing.
 
 


 I know for certain that adding a userland API tuner/demod interface to
 the kernel, allowing non-caring opportunistic silicon or board vendors
 to developer closed source proprietary drivers, will have a negative
 effect on the community and we'd set back linuxtv 3-5 years.

 I know for certain that it would happen. Trust me.

 I've told you this countless times and you're not hearing me.

 Hauppauge have some leverage with Conexant and NXP to release public
 datasheets. If they just have to release a demod.so (or similar)
 loadable, they'll defer to the board vendors and we'll see the certain
 board vendors 'locking other board vendors' out of their drivers. We'll
 see embedded firmware, not shared between drivers.

 Except, it won't stop at demod.so. It will extend into unfixable bugs
 for VendorB's board, because VendorA doesn't want to release a new
 demod.so, and VendorB has no linux resources. What happens next? For
 financial reasons - demod.so will begin to include checks to see if
 specific PCI or USB devices are present in the system, and will fail to
 work properly (if at all) when they're not being used with the preferred
 products.

Steven,

what stops vendors of using the current existing code to achieve that
goal. They could provide binary drivers with the existing API.

What stops companies to intercept the ioctl calls and overriding some
I2C commands?

Since you know about windows drivers (at least I think that you know
about it) you might know about the limitations of the v4l/dvb API
in general the reason just put as much code as possible into the
kernel just for forcing companies to release code under GPL doesn't
seem to be valid.
How about proprietary video formats, would you also place the decoding
algorithms in kernel  just to force companies to release their code
for it?
What do you think about the existing usbfs implementation, which
allows to implement usb drivers completly in userspace?
What do you think about IOMMU?

please answer those questions.

thanks,
Markus
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread hermann pitton
Am Donnerstag, den 13.09.2007, 16:36 -0400 schrieb Steven Toth:

  Also there is to consider a non technical aspect, whether vendors will
  misuse this interface for binary only, undermining the efforts put in
  for OSS drivers.
 
  
 
  What holds companies for using the current available code putting it
  into an rpm or deb package and releasing such code now?
 
  The Avermedia example I pointed out to is a good example already.
  As from my side I won't release binary drivers.
  Although on the other side:
  * are drivers from vendors which work through several kernel versions
  that bad?
  * Why did someone duallicense videodev2 with BSD/GPL?
 
  I would appreciate if someone else on the list could also comment
  the reason that drivers should all be included in the linuxkernel just
  because forcing the companies to release binary drivers because
  of that. My opinion about that is if a company wants to go opensource
  they will do so, if not they will either not release a driver or release
  nothing.
 

 
 
 I know for certain that adding a userland API tuner/demod interface to 
 the kernel, allowing non-caring opportunistic silicon or board vendors 
 to developer closed source proprietary drivers, will have a negative 
 effect on the community and we'd set back linuxtv 3-5 years.
 
 I know for certain that it would happen. Trust me.
 
 I've told you this countless times and you're not hearing me.
 
 Hauppauge have some leverage with Conexant and NXP to release public 
 datasheets. If they just have to release a demod.so (or similar) 
 loadable, they'll defer to the board vendors and we'll see the certain 
 board vendors 'locking other board vendors' out of their drivers. We'll 
 see embedded firmware, not shared between drivers.
 
 Except, it won't stop at demod.so. It will extend into unfixable bugs 
 for VendorB's board, because VendorA doesn't want to release a new 
 demod.so, and VendorB has no linux resources. What happens next? For 
 financial reasons - demod.so will begin to include checks to see if 
 specific PCI or USB devices are present in the system, and will fail to 
 work properly (if at all) when they're not being used with the preferred 
 products.
 
 Read my lips: For commercial reasons, this enables driver components 
 that only work if specific boards are present.
 
 - Steve
 

I do confirn that I have all this, Steve mentions, really have seen
already!

Markus, sorry, they did abuse it and will do it again.

Hermann


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-13 Thread Steven Toth

Markus Rechberger wrote:

On 9/13/07, Steven Toth [EMAIL PROTECTED] wrote:
  

Also there is to consider a non technical aspect, whether vendors will
misuse this interface for binary only, undermining the efforts put in
for OSS drivers.




What holds companies for using the current available code putting it
into an rpm or deb package and releasing such code now?

The Avermedia example I pointed out to is a good example already.
As from my side I won't release binary drivers.
Although on the other side:
* are drivers from vendors which work through several kernel versions
that bad?
* Why did someone duallicense videodev2 with BSD/GPL?

I would appreciate if someone else on the list could also comment
the reason that drivers should all be included in the linuxkernel just
because forcing the companies to release binary drivers because
of that. My opinion about that is if a company wants to go opensource
they will do so, if not they will either not release a driver or release
nothing.


  

I know for certain that adding a userland API tuner/demod interface to
the kernel, allowing non-caring opportunistic silicon or board vendors
to developer closed source proprietary drivers, will have a negative
effect on the community and we'd set back linuxtv 3-5 years.

I know for certain that it would happen. Trust me.

I've told you this countless times and you're not hearing me.

Hauppauge have some leverage with Conexant and NXP to release public
datasheets. If they just have to release a demod.so (or similar)
loadable, they'll defer to the board vendors and we'll see the certain
board vendors 'locking other board vendors' out of their drivers. We'll
see embedded firmware, not shared between drivers.

Except, it won't stop at demod.so. It will extend into unfixable bugs
for VendorB's board, because VendorA doesn't want to release a new
demod.so, and VendorB has no linux resources. What happens next? For
financial reasons - demod.so will begin to include checks to see if
specific PCI or USB devices are present in the system, and will fail to
work properly (if at all) when they're not being used with the preferred
products.



Steven,

what stops vendors of using the current existing code to achieve that
goal. They could provide binary drivers with the existing API.

  


Because the good people in this mailing list are keeping them honest. 
Give any board or silicon company the ability to protect their IP, even 
in the smallest way and they'll do it, and for no good technical reason. 
It's a cut throat market and it's not clear that everyone understands 
just how thin sales margins really are.


That means Hauppauge potentially releasing a binary driver, because it's 
much easier than seeking silicon vendor permission for a public diver. 
The net result of that would mean I'd have to leave the company and find 
another company that practices the one thing I truly care about  
open source and open development groups.


I'm keeping Hauppauge honest with their Linux involvement and I'm not 
alone. Other devs in other linux subsystems in other companies are doing 
the same thing.


Binary drivers (or binary components) leads Linux back in time.

I can't believe your so passionate about protecting secrets.


What stops companies to intercept the ioctl calls and overriding some
I2C commands?

  


Why would a company want to do that? Companies don't do that, hackers do 
that.



Since you know about windows drivers (at least I think that you know
about it) you might know about the limitations of the v4l/dvb API
in general the reason just put as much code as possible into the
kernel just for forcing companies to release code under GPL doesn't
seem to be valid.
  


It seems perfectly valid to me.


How about proprietary video formats, would you also place the decoding
algorithms in kernel  just to force companies to release their code
for it?
  


The kernel has no good API for those, each new type of video device and 
suggested API is judged on it's own merits and discussed on the mailing 
lists.



What do you think about the existing usbfs implementation, which
allows to implement usb drivers completly in userspace?
  


Those are not my problem and I don't use them, you should raise that 
with the relevant usb-dev mailing lists. I'm here because I care about 
linuxtv. Please stay on topic.



What do you think about IOMMU?

  
Just because AMD or INTEL want to invent some whizzy new technology it 
doesn't say anything about the TV card development and retail business. 
Intel and AMD have teams of Linux engineers helping operating system 
developers bring their ideas and technologies to new platforms. That's a 
million miles away from any of the TV board vendors I know of, who have 
little or NO fulltime linux developers and consider the  5% market 
fringe at best.


Markus, senior devs in the LinuxTV group are telling you, based on their 
commercial experience, that userspace access is technically 

Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-12 Thread Dâniel Fraga
Well, I'd like to see Linus' opinion about this, because while
programmers keep discussing this, users are waiting forever... so if
Markus has a concrete and better solution, why don't use it?

And as far as I know, Markus is the programmer who is most
interested in this code. I didn't see anybody else in the world doing
his work...

And I always had a impression that if most of things could be
done in user space, than it will be better (for example, devfs -> udev).
Why do everything in kernel space? Lets put *less* code in the kernel,
not more code. And besides that, code in user space can be changed
easily. Code in kernel has to wait a long time for Linus to accept (*if*
he accepts).

Linus could put an end to this discussion, since he will say
the final word.

On Thu, 13 Sep 2007 01:10:55 +0200
"Markus Rechberger" <[EMAIL PROTECTED]> wrote:

> Let's add the LKML to this.
> 
> On 9/13/07, Markus Rechberger <[EMAIL PROTECTED]> wrote:
> > On 9/12/07, Mauro Carvalho Chehab <[EMAIL PROTECTED]> wrote:
> > > Markus,
> > >
> > > Em Ter, 2007-08-14 às 16:31 +0200, Markus Rechberger escreveu:
> > > > Following patch adds the possibility to implement tuner drivers in
> > > > userspace.
> > >
> > > As you asked me about userspace driver, at Linux Conf Europe, let me
> > > give you my feedback about it.
> > >
> > > On Linux, userspace-to-kernelspace APIs are meant to be forever. This
> > > means that, once a newer API is created, this should remain supported
> > > for all future versions. So, such APIs should be carefully analyzed and
> > > accepted by the community, before going to mainstream.
> > >
> >
> > The V4L and DVB API is stable at the moment because it's at a stage
> > which is sufficient for older devices but not sufficient for newer
> > devices anymore.
> > To support newer device it needs a change.
> >
> > > I don't see any technical reason why tuner drivers should be moved to
> > > userspace. Looking at xc3028 device, the driver is very simple and
> > > doesn't require any special treatment that it isn't possible to be done
> > > at kernel. There are already some implementations on kernelspace that
> > > works fine.
> > >
> >
> > As from my side to support the xceive driver properly it needs a
> > rewrite and a proper API description. Since it's not possible to
> > discuss any API changes I will work around at least for those devices
> > which I can support for.
> >
> > > On the other hand, a TV driver without a tuner is a broken driver. With
> > > parts of the driver being at userspace, this means to add undesired
> > > complexity at the drivers architecture, while not bringing any benefit.
> > >
> > > If you look at V4L history, the first drivers started at userspace,
> > > being migrated to kernelspace, where we have the proper scenario for
> > > managing those devices.
> > >
> > > Another aspect that should be analyzed is what is desired by the
> > > community:
> >
> > don't get me wrong but the existing community is rather small and
> > kicking off people who are interested in changing things.
> > I recently had a talk with someone and I've been told that I'm kicking
> > off people.
> > Guess why I kick off people? -> because they do not contribute in a
> > productive way which also means submitting patches. Optical useless
> > changes don't make any difference at the functionality in the end. And
> > my requirements are ignored constantly here.
> >
> > > kernelspace tuners or userspace tuners. Keeping support for
> > > both at long term doesn't seem reasonable. The Linux community should
> > > decide what is the better way. Currently, only you are pushing for
> > > userspace tuners, mainly due to non-technical reasons.
> >
> > read the project site and you will see the reasons.
> > http://mcentral.de/wiki/index.php/Userspace_tuner#Advantages
> > Another advantage is that I have cygwin based code here which I can
> > easily reuse with all that work I'm not going to reinvent the wheel
> > even for newer devices which I work on.
> >
> > > Almost all the
> > > other developers are comfortable with kernelspace tuners. So, creating
> > > an userspace interface just to make you happy is not the way we should
> > > go.
> > >
> >
> > I'm afraid of giving the people which are against what I submitted the
> > responsibility over the project. Initially there was an RFC which
> > didn't get commented either (well there was one useless comment, I
> > tried to discuss it on IRC before with the same guy) after I
> > implemented exactly what I proposed there I got the first non
> > technical comments - also keep in mind that working on something costs
> > alot of time and talking about something unknown is rather cheap.
> >
> > > A final aspect is that having an userspace driver for tuner will mean
> > > that the kernel driver will depend on an userspace counterpart in order
> > > to work. This will allow a vendor with bad intentions to release a
> > > partially broken userspace 

Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-12 Thread Markus Rechberger
Let's add the LKML to this.

On 9/13/07, Markus Rechberger <[EMAIL PROTECTED]> wrote:
> On 9/12/07, Mauro Carvalho Chehab <[EMAIL PROTECTED]> wrote:
> > Markus,
> >
> > Em Ter, 2007-08-14 às 16:31 +0200, Markus Rechberger escreveu:
> > > Following patch adds the possibility to implement tuner drivers in
> > > userspace.
> >
> > As you asked me about userspace driver, at Linux Conf Europe, let me
> > give you my feedback about it.
> >
> > On Linux, userspace-to-kernelspace APIs are meant to be forever. This
> > means that, once a newer API is created, this should remain supported
> > for all future versions. So, such APIs should be carefully analyzed and
> > accepted by the community, before going to mainstream.
> >
>
> The V4L and DVB API is stable at the moment because it's at a stage
> which is sufficient for older devices but not sufficient for newer
> devices anymore.
> To support newer device it needs a change.
>
> > I don't see any technical reason why tuner drivers should be moved to
> > userspace. Looking at xc3028 device, the driver is very simple and
> > doesn't require any special treatment that it isn't possible to be done
> > at kernel. There are already some implementations on kernelspace that
> > works fine.
> >
>
> As from my side to support the xceive driver properly it needs a
> rewrite and a proper API description. Since it's not possible to
> discuss any API changes I will work around at least for those devices
> which I can support for.
>
> > On the other hand, a TV driver without a tuner is a broken driver. With
> > parts of the driver being at userspace, this means to add undesired
> > complexity at the drivers architecture, while not bringing any benefit.
> >
> > If you look at V4L history, the first drivers started at userspace,
> > being migrated to kernelspace, where we have the proper scenario for
> > managing those devices.
> >
> > Another aspect that should be analyzed is what is desired by the
> > community:
>
> don't get me wrong but the existing community is rather small and
> kicking off people who are interested in changing things.
> I recently had a talk with someone and I've been told that I'm kicking
> off people.
> Guess why I kick off people? -> because they do not contribute in a
> productive way which also means submitting patches. Optical useless
> changes don't make any difference at the functionality in the end. And
> my requirements are ignored constantly here.
>
> > kernelspace tuners or userspace tuners. Keeping support for
> > both at long term doesn't seem reasonable. The Linux community should
> > decide what is the better way. Currently, only you are pushing for
> > userspace tuners, mainly due to non-technical reasons.
>
> read the project site and you will see the reasons.
> http://mcentral.de/wiki/index.php/Userspace_tuner#Advantages
> Another advantage is that I have cygwin based code here which I can
> easily reuse with all that work I'm not going to reinvent the wheel
> even for newer devices which I work on.
>
> > Almost all the
> > other developers are comfortable with kernelspace tuners. So, creating
> > an userspace interface just to make you happy is not the way we should
> > go.
> >
>
> I'm afraid of giving the people which are against what I submitted the
> responsibility over the project. Initially there was an RFC which
> didn't get commented either (well there was one useless comment, I
> tried to discuss it on IRC before with the same guy) after I
> implemented exactly what I proposed there I got the first non
> technical comments - also keep in mind that working on something costs
> alot of time and talking about something unknown is rather cheap.
>
> > A final aspect is that having an userspace driver for tuner will mean
> > that the kernel driver will depend on an userspace counterpart in order
> > to work. This will allow a vendor with bad intentions to release a
> > partially broken userspace driver, with limited capabilities, and a
> > closed source driver for full support. This model is likely to occur, if
> > you take a look at the past. For example: ATI and Nvidia closed source
> > drivers, several soft modem drivers, some network drivers, ...
> >
>
> Please go forward and discuss the UIO driver with Greg Kroah Hartmann
> and the fuse driver with the other people. If companies want to
> release binary drivers they can easily use the existing code put it
> into an RPM or DEB package and Ubuntu will pick it up.
>
> > With all those issues, I'm against to add an userspace interface for
> > tuners.
> >
>
> I'm against how the project works out at the moment and how it worked
> out in history. Exactly this way will kick off companies to be
> interested in future like Avermedia. A driver can easily be written
> within a few weeks and I've been struggling with it for 2 years(!!!)
> now just for nothing finally telling me that some guys want to steal
> my code and move it to kernelspace although it would raise more
> complications with 

Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-12 Thread Markus Rechberger
Let's add the LKML to this.

On 9/13/07, Markus Rechberger [EMAIL PROTECTED] wrote:
 On 9/12/07, Mauro Carvalho Chehab [EMAIL PROTECTED] wrote:
  Markus,
 
  Em Ter, 2007-08-14 às 16:31 +0200, Markus Rechberger escreveu:
   Following patch adds the possibility to implement tuner drivers in
   userspace.
 
  As you asked me about userspace driver, at Linux Conf Europe, let me
  give you my feedback about it.
 
  On Linux, userspace-to-kernelspace APIs are meant to be forever. This
  means that, once a newer API is created, this should remain supported
  for all future versions. So, such APIs should be carefully analyzed and
  accepted by the community, before going to mainstream.
 

 The V4L and DVB API is stable at the moment because it's at a stage
 which is sufficient for older devices but not sufficient for newer
 devices anymore.
 To support newer device it needs a change.

  I don't see any technical reason why tuner drivers should be moved to
  userspace. Looking at xc3028 device, the driver is very simple and
  doesn't require any special treatment that it isn't possible to be done
  at kernel. There are already some implementations on kernelspace that
  works fine.
 

 As from my side to support the xceive driver properly it needs a
 rewrite and a proper API description. Since it's not possible to
 discuss any API changes I will work around at least for those devices
 which I can support for.

  On the other hand, a TV driver without a tuner is a broken driver. With
  parts of the driver being at userspace, this means to add undesired
  complexity at the drivers architecture, while not bringing any benefit.
 
  If you look at V4L history, the first drivers started at userspace,
  being migrated to kernelspace, where we have the proper scenario for
  managing those devices.
 
  Another aspect that should be analyzed is what is desired by the
  community:

 don't get me wrong but the existing community is rather small and
 kicking off people who are interested in changing things.
 I recently had a talk with someone and I've been told that I'm kicking
 off people.
 Guess why I kick off people? - because they do not contribute in a
 productive way which also means submitting patches. Optical useless
 changes don't make any difference at the functionality in the end. And
 my requirements are ignored constantly here.

  kernelspace tuners or userspace tuners. Keeping support for
  both at long term doesn't seem reasonable. The Linux community should
  decide what is the better way. Currently, only you are pushing for
  userspace tuners, mainly due to non-technical reasons.

 read the project site and you will see the reasons.
 http://mcentral.de/wiki/index.php/Userspace_tuner#Advantages
 Another advantage is that I have cygwin based code here which I can
 easily reuse with all that work I'm not going to reinvent the wheel
 even for newer devices which I work on.

  Almost all the
  other developers are comfortable with kernelspace tuners. So, creating
  an userspace interface just to make you happy is not the way we should
  go.
 

 I'm afraid of giving the people which are against what I submitted the
 responsibility over the project. Initially there was an RFC which
 didn't get commented either (well there was one useless comment, I
 tried to discuss it on IRC before with the same guy) after I
 implemented exactly what I proposed there I got the first non
 technical comments - also keep in mind that working on something costs
 alot of time and talking about something unknown is rather cheap.

  A final aspect is that having an userspace driver for tuner will mean
  that the kernel driver will depend on an userspace counterpart in order
  to work. This will allow a vendor with bad intentions to release a
  partially broken userspace driver, with limited capabilities, and a
  closed source driver for full support. This model is likely to occur, if
  you take a look at the past. For example: ATI and Nvidia closed source
  drivers, several soft modem drivers, some network drivers, ...
 

 Please go forward and discuss the UIO driver with Greg Kroah Hartmann
 and the fuse driver with the other people. If companies want to
 release binary drivers they can easily use the existing code put it
 into an RPM or DEB package and Ubuntu will pick it up.

  With all those issues, I'm against to add an userspace interface for
  tuners.
 

 I'm against how the project works out at the moment and how it worked
 out in history. Exactly this way will kick off companies to be
 interested in future like Avermedia. A driver can easily be written
 within a few weeks and I've been struggling with it for 2 years(!!!)
 now just for nothing finally telling me that some guys want to steal
 my code and move it to kernelspace although it would raise more
 complications with upcoming and current devices which have even more
 requirements.
 I spent more time in rewriting and discussing everything than to get
 any of those 

Re: [linux-dvb] [PATCH] Userspace tuner

2007-09-12 Thread Dâniel Fraga
Well, I'd like to see Linus' opinion about this, because while
programmers keep discussing this, users are waiting forever... so if
Markus has a concrete and better solution, why don't use it?

And as far as I know, Markus is the programmer who is most
interested in this code. I didn't see anybody else in the world doing
his work...

And I always had a impression that if most of things could be
done in user space, than it will be better (for example, devfs - udev).
Why do everything in kernel space? Lets put *less* code in the kernel,
not more code. And besides that, code in user space can be changed
easily. Code in kernel has to wait a long time for Linus to accept (*if*
he accepts).

Linus could put an end to this discussion, since he will say
the final word.

On Thu, 13 Sep 2007 01:10:55 +0200
Markus Rechberger [EMAIL PROTECTED] wrote:

 Let's add the LKML to this.
 
 On 9/13/07, Markus Rechberger [EMAIL PROTECTED] wrote:
  On 9/12/07, Mauro Carvalho Chehab [EMAIL PROTECTED] wrote:
   Markus,
  
   Em Ter, 2007-08-14 às 16:31 +0200, Markus Rechberger escreveu:
Following patch adds the possibility to implement tuner drivers in
userspace.
  
   As you asked me about userspace driver, at Linux Conf Europe, let me
   give you my feedback about it.
  
   On Linux, userspace-to-kernelspace APIs are meant to be forever. This
   means that, once a newer API is created, this should remain supported
   for all future versions. So, such APIs should be carefully analyzed and
   accepted by the community, before going to mainstream.
  
 
  The V4L and DVB API is stable at the moment because it's at a stage
  which is sufficient for older devices but not sufficient for newer
  devices anymore.
  To support newer device it needs a change.
 
   I don't see any technical reason why tuner drivers should be moved to
   userspace. Looking at xc3028 device, the driver is very simple and
   doesn't require any special treatment that it isn't possible to be done
   at kernel. There are already some implementations on kernelspace that
   works fine.
  
 
  As from my side to support the xceive driver properly it needs a
  rewrite and a proper API description. Since it's not possible to
  discuss any API changes I will work around at least for those devices
  which I can support for.
 
   On the other hand, a TV driver without a tuner is a broken driver. With
   parts of the driver being at userspace, this means to add undesired
   complexity at the drivers architecture, while not bringing any benefit.
  
   If you look at V4L history, the first drivers started at userspace,
   being migrated to kernelspace, where we have the proper scenario for
   managing those devices.
  
   Another aspect that should be analyzed is what is desired by the
   community:
 
  don't get me wrong but the existing community is rather small and
  kicking off people who are interested in changing things.
  I recently had a talk with someone and I've been told that I'm kicking
  off people.
  Guess why I kick off people? - because they do not contribute in a
  productive way which also means submitting patches. Optical useless
  changes don't make any difference at the functionality in the end. And
  my requirements are ignored constantly here.
 
   kernelspace tuners or userspace tuners. Keeping support for
   both at long term doesn't seem reasonable. The Linux community should
   decide what is the better way. Currently, only you are pushing for
   userspace tuners, mainly due to non-technical reasons.
 
  read the project site and you will see the reasons.
  http://mcentral.de/wiki/index.php/Userspace_tuner#Advantages
  Another advantage is that I have cygwin based code here which I can
  easily reuse with all that work I'm not going to reinvent the wheel
  even for newer devices which I work on.
 
   Almost all the
   other developers are comfortable with kernelspace tuners. So, creating
   an userspace interface just to make you happy is not the way we should
   go.
  
 
  I'm afraid of giving the people which are against what I submitted the
  responsibility over the project. Initially there was an RFC which
  didn't get commented either (well there was one useless comment, I
  tried to discuss it on IRC before with the same guy) after I
  implemented exactly what I proposed there I got the first non
  technical comments - also keep in mind that working on something costs
  alot of time and talking about something unknown is rather cheap.
 
   A final aspect is that having an userspace driver for tuner will mean
   that the kernel driver will depend on an userspace counterpart in order
   to work. This will allow a vendor with bad intentions to release a
   partially broken userspace driver, with limited capabilities, and a
   closed source driver for full support. This model is likely to occur, if
   you take a look at the past. For example: ATI and Nvidia closed source
   drivers, several soft modem 

<    1   2