Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-18 Thread Philip Downer
Hi Antti,

On Tue, Feb 17, 2015 at 7:14 PM, Antti Palosaari cr...@iki.fi wrote:
 On 02/17/2015 08:22 PM, Philip Downer wrote:

 Hi Mauro,

 On Mon, Feb 16, 2015 at 11:47 PM, Mauro Carvalho Chehab
 mche...@osg.samsung.com wrote:

 Em Mon, 16 Feb 2015 22:01:07 +0200
 Antti Palosaari cr...@iki.fi escreveu:

 Moikka!

 On 02/16/2015 09:48 PM, Philip Downer wrote:

 The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
 with a hardware demux, the card can support up to 8 modules which are
 fixed to the board at assembly time. Currently we only offer one
 configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be
 releasing
 other configurations. There is also a connector for an infra-red
 receiver
 dongle on the board which supports RAW IR.

 The driver has been in testing on our systems (ARM Cortex-A9, Marvell
 Sheva,
 x86, x86-64) for longer than 6 months, so I'm confident that it works.
 However as this is the first Linux driver I've written, I'm sure there
 are
 some things that I've got wrong. One thing in particular which has been
 raised by one of our early testers is that we currently register all of
 our frontends as being attached to one adapter. This means the device
 is
 enumerated in /dev like this:

 /dev/dvb/adapter0/frontend0
 /dev/dvb/adapter0/dvr0
 /dev/dvb/adapter0/demux0

 /dev/dvb/adapter0/frontend1
 /dev/dvb/adapter0/dvr1
 /dev/dvb/adapter0/demux1

 /dev/dvb/adapter0/frontend2
 /dev/dvb/adapter0/dvr2
 /dev/dvb/adapter0/demux2

 etc.

 Whilst I think this is ok according to the spec, our tester has
 complained
 that it's incompatible with their software which expects to find just
 one
 frontend per adapter. So I'm wondering if someone could confirm if what
 I've done with regards to this is correct.


 As I understand all those tuners are independent (could be used same
 time) you should register those as a 8 adapters, each having single
 frontend, dvr and demux.


 Yeah, creating one adapter per device is the best solution, if you
 can't do things like:

  frontend0 - demux2 - dvr5


 Thanks for confirming what Antti said, I'll change the driver and resubmit
 it.


 Also, take care to fix issues to meet Kernel coding style and checkpatch.pl
 requirements where possible.

Sure, I had pushed this patch through checkpatch and fixed most
things, the only things I'm aware of that aren't fixed are line
lengths and one section with too many nested statements. However I've
read that line lengths are less of an issue these days in kernel code
and the section with too many nested statements came from dibcom
therefore I didn't want to refactor this, at least not without a lot
of testing. Please let me know if I'm wrong in my assumptions or if
I've missed something in generating this patch.

-- 
Philip Downer
pdow...@prospero-tech.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-17 Thread Antti Palosaari

On 02/17/2015 08:22 PM, Philip Downer wrote:

Hi Mauro,

On Mon, Feb 16, 2015 at 11:47 PM, Mauro Carvalho Chehab
mche...@osg.samsung.com wrote:

Em Mon, 16 Feb 2015 22:01:07 +0200
Antti Palosaari cr...@iki.fi escreveu:


Moikka!

On 02/16/2015 09:48 PM, Philip Downer wrote:

The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
with a hardware demux, the card can support up to 8 modules which are
fixed to the board at assembly time. Currently we only offer one
configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be releasing
other configurations. There is also a connector for an infra-red receiver
dongle on the board which supports RAW IR.

The driver has been in testing on our systems (ARM Cortex-A9, Marvell Sheva,
x86, x86-64) for longer than 6 months, so I'm confident that it works.
However as this is the first Linux driver I've written, I'm sure there are
some things that I've got wrong. One thing in particular which has been
raised by one of our early testers is that we currently register all of
our frontends as being attached to one adapter. This means the device is
enumerated in /dev like this:

/dev/dvb/adapter0/frontend0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0

/dev/dvb/adapter0/frontend1
/dev/dvb/adapter0/dvr1
/dev/dvb/adapter0/demux1

/dev/dvb/adapter0/frontend2
/dev/dvb/adapter0/dvr2
/dev/dvb/adapter0/demux2

etc.

Whilst I think this is ok according to the spec, our tester has complained
that it's incompatible with their software which expects to find just one
frontend per adapter. So I'm wondering if someone could confirm if what
I've done with regards to this is correct.


As I understand all those tuners are independent (could be used same
time) you should register those as a 8 adapters, each having single
frontend, dvr and demux.


Yeah, creating one adapter per device is the best solution, if you
can't do things like:

 frontend0 - demux2 - dvr5


Thanks for confirming what Antti said, I'll change the driver and resubmit it.


Also, take care to fix issues to meet Kernel coding style and 
checkpatch.pl requirements where possible.


Read file Documentation/CodingStyle from kernel tree.

There is script to check some common style issues and more, also in 
kernel tree

./scripts/checkpatch.pl --file drivers/media/pci/your_driver_file.c

regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-17 Thread Philip Downer
Hi Mauro,

On Mon, Feb 16, 2015 at 11:47 PM, Mauro Carvalho Chehab
mche...@osg.samsung.com wrote:
 Em Mon, 16 Feb 2015 22:01:07 +0200
 Antti Palosaari cr...@iki.fi escreveu:

 Moikka!

 On 02/16/2015 09:48 PM, Philip Downer wrote:
  The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
  with a hardware demux, the card can support up to 8 modules which are
  fixed to the board at assembly time. Currently we only offer one
  configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be releasing
  other configurations. There is also a connector for an infra-red receiver
  dongle on the board which supports RAW IR.
 
  The driver has been in testing on our systems (ARM Cortex-A9, Marvell 
  Sheva,
  x86, x86-64) for longer than 6 months, so I'm confident that it works.
  However as this is the first Linux driver I've written, I'm sure there are
  some things that I've got wrong. One thing in particular which has been
  raised by one of our early testers is that we currently register all of
  our frontends as being attached to one adapter. This means the device is
  enumerated in /dev like this:
 
  /dev/dvb/adapter0/frontend0
  /dev/dvb/adapter0/dvr0
  /dev/dvb/adapter0/demux0
 
  /dev/dvb/adapter0/frontend1
  /dev/dvb/adapter0/dvr1
  /dev/dvb/adapter0/demux1
 
  /dev/dvb/adapter0/frontend2
  /dev/dvb/adapter0/dvr2
  /dev/dvb/adapter0/demux2
 
  etc.
 
  Whilst I think this is ok according to the spec, our tester has complained
  that it's incompatible with their software which expects to find just one
  frontend per adapter. So I'm wondering if someone could confirm if what
  I've done with regards to this is correct.

 As I understand all those tuners are independent (could be used same
 time) you should register those as a 8 adapters, each having single
 frontend, dvr and demux.

 Yeah, creating one adapter per device is the best solution, if you
 can't do things like:

 frontend0 - demux2 - dvr5

Thanks for confirming what Antti said, I'll change the driver and resubmit it.

 If such configuration is allowed, then the best is to use the media
 controller API. The patches for it were just added. Yet, userspace
 programs are not aware, as this will be merged upstream only for
 Kernel 3.21. For now, the media controller API is still experimental.

Yes, I saw your patches at the weekend, we're obviously quite
interested in the media controller API for dvb so I'll be looking to
add support for this to the driver when I can.

Thanks.

-- 
Philip Downer
+44 (0)7879 470 969
pdow...@prospero-tech.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-16 Thread Antti Palosaari

Moikka!

On 02/16/2015 09:48 PM, Philip Downer wrote:

The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
with a hardware demux, the card can support up to 8 modules which are
fixed to the board at assembly time. Currently we only offer one
configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be releasing
other configurations. There is also a connector for an infra-red receiver
dongle on the board which supports RAW IR.

The driver has been in testing on our systems (ARM Cortex-A9, Marvell Sheva,
x86, x86-64) for longer than 6 months, so I'm confident that it works.
However as this is the first Linux driver I've written, I'm sure there are
some things that I've got wrong. One thing in particular which has been
raised by one of our early testers is that we currently register all of
our frontends as being attached to one adapter. This means the device is
enumerated in /dev like this:

/dev/dvb/adapter0/frontend0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0

/dev/dvb/adapter0/frontend1
/dev/dvb/adapter0/dvr1
/dev/dvb/adapter0/demux1

/dev/dvb/adapter0/frontend2
/dev/dvb/adapter0/dvr2
/dev/dvb/adapter0/demux2

etc.

Whilst I think this is ok according to the spec, our tester has complained
that it's incompatible with their software which expects to find just one
frontend per adapter. So I'm wondering if someone could confirm if what
I've done with regards to this is correct.


As I understand all those tuners are independent (could be used same 
time) you should register those as a 8 adapters, each having single 
frontend, dvr and demux.


regards
Antti


I've tested this patch by applying it to current media-master and it applies
cleanly and builds without issue for me.

More information on the card can be found at:
http://prospero-tech.com/vortex-1-dvb-t-pcie-card/

Regards,

Philip Downer

Philip Downer (1):
   [media] pci: Add support for DVB PCIe cards from Prospero Technologies
 Ltd.

  drivers/media/pci/Kconfig |1 +
  drivers/media/pci/Makefile|2 +
  drivers/media/pci/prospero/Kconfig|7 +
  drivers/media/pci/prospero/Makefile   |7 +
  drivers/media/pci/prospero/prospero_common.h  |  264 
  drivers/media/pci/prospero/prospero_fe.h  |5 +
  drivers/media/pci/prospero/prospero_fe_main.c |  466 ++
  drivers/media/pci/prospero/prospero_i2c.c |  449 ++
  drivers/media/pci/prospero/prospero_i2c.h |3 +
  drivers/media/pci/prospero/prospero_ir.c  |  150 ++
  drivers/media/pci/prospero/prospero_ir.h  |4 +
  drivers/media/pci/prospero/prospero_main.c| 2086 +
  12 files changed, 3444 insertions(+)
  create mode 100644 drivers/media/pci/prospero/Kconfig
  create mode 100644 drivers/media/pci/prospero/Makefile
  create mode 100644 drivers/media/pci/prospero/prospero_common.h
  create mode 100644 drivers/media/pci/prospero/prospero_fe.h
  create mode 100644 drivers/media/pci/prospero/prospero_fe_main.c
  create mode 100644 drivers/media/pci/prospero/prospero_i2c.c
  create mode 100644 drivers/media/pci/prospero/prospero_i2c.h
  create mode 100644 drivers/media/pci/prospero/prospero_ir.c
  create mode 100644 drivers/media/pci/prospero/prospero_ir.h
  create mode 100644 drivers/media/pci/prospero/prospero_main.c



--
http://palosaari.fi/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-16 Thread Philip Downer
Hi Antti,

On Mon, Feb 16, 2015 at 8:01 PM, Antti Palosaari cr...@iki.fi wrote:
 Moikka!


 On 02/16/2015 09:48 PM, Philip Downer wrote:

 The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
 with a hardware demux, the card can support up to 8 modules which are
 fixed to the board at assembly time. Currently we only offer one
 configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be
 releasing
 other configurations. There is also a connector for an infra-red receiver
 dongle on the board which supports RAW IR.

 The driver has been in testing on our systems (ARM Cortex-A9, Marvell
 Sheva,
 x86, x86-64) for longer than 6 months, so I'm confident that it works.
 However as this is the first Linux driver I've written, I'm sure there are
 some things that I've got wrong. One thing in particular which has been
 raised by one of our early testers is that we currently register all of
 our frontends as being attached to one adapter. This means the device is
 enumerated in /dev like this:

 /dev/dvb/adapter0/frontend0
 /dev/dvb/adapter0/dvr0
 /dev/dvb/adapter0/demux0

 /dev/dvb/adapter0/frontend1
 /dev/dvb/adapter0/dvr1
 /dev/dvb/adapter0/demux1

 /dev/dvb/adapter0/frontend2
 /dev/dvb/adapter0/dvr2
 /dev/dvb/adapter0/demux2

 etc.

 Whilst I think this is ok according to the spec, our tester has complained
 that it's incompatible with their software which expects to find just one
 frontend per adapter. So I'm wondering if someone could confirm if what
 I've done with regards to this is correct.


 As I understand all those tuners are independent (could be used same time)
 you should register those as a 8 adapters, each having single frontend, dvr
 and demux.

Yes, all those tuners can be operated independently. So would I be
correct in saying that in Linux an adapter is an independent tuner?

In that case the only time you would have frontend0, frontend1 etc is
when there is a single dvb source that is switched between tuners?

-- 
Philip Downer
+44 (0)7879 470 969
pdow...@prospero-tech.com
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC PATCH 0/1] [media] pci: Add support for DVB PCIe cards from Prospero Technologies Ltd.

2015-02-16 Thread Mauro Carvalho Chehab
Em Mon, 16 Feb 2015 22:01:07 +0200
Antti Palosaari cr...@iki.fi escreveu:

 Moikka!
 
 On 02/16/2015 09:48 PM, Philip Downer wrote:
  The Vortex PCIe card by Prospero Technologies Ltd is a modular DVB card
  with a hardware demux, the card can support up to 8 modules which are
  fixed to the board at assembly time. Currently we only offer one
  configuration, 8 x Dibcom 7090p DVB-t tuners, but we will soon be releasing
  other configurations. There is also a connector for an infra-red receiver
  dongle on the board which supports RAW IR.
 
  The driver has been in testing on our systems (ARM Cortex-A9, Marvell Sheva,
  x86, x86-64) for longer than 6 months, so I'm confident that it works.
  However as this is the first Linux driver I've written, I'm sure there are
  some things that I've got wrong. One thing in particular which has been
  raised by one of our early testers is that we currently register all of
  our frontends as being attached to one adapter. This means the device is
  enumerated in /dev like this:
 
  /dev/dvb/adapter0/frontend0
  /dev/dvb/adapter0/dvr0
  /dev/dvb/adapter0/demux0
 
  /dev/dvb/adapter0/frontend1
  /dev/dvb/adapter0/dvr1
  /dev/dvb/adapter0/demux1
 
  /dev/dvb/adapter0/frontend2
  /dev/dvb/adapter0/dvr2
  /dev/dvb/adapter0/demux2
 
  etc.
 
  Whilst I think this is ok according to the spec, our tester has complained
  that it's incompatible with their software which expects to find just one
  frontend per adapter. So I'm wondering if someone could confirm if what
  I've done with regards to this is correct.
 
 As I understand all those tuners are independent (could be used same 
 time) you should register those as a 8 adapters, each having single 
 frontend, dvr and demux.

Yeah, creating one adapter per device is the best solution, if you
can't do things like:

frontend0 - demux2 - dvr5

If such configuration is allowed, then the best is to use the media
controller API. The patches for it were just added. Yet, userspace
programs are not aware, as this will be merged upstream only for
Kernel 3.21. For now, the media controller API is still experimental.

Regards,
Mauro

 
 regards
 Antti
 
  I've tested this patch by applying it to current media-master and it applies
  cleanly and builds without issue for me.
 
  More information on the card can be found at:
  http://prospero-tech.com/vortex-1-dvb-t-pcie-card/
 
  Regards,
 
  Philip Downer
 
  Philip Downer (1):
 [media] pci: Add support for DVB PCIe cards from Prospero Technologies
   Ltd.
 
drivers/media/pci/Kconfig |1 +
drivers/media/pci/Makefile|2 +
drivers/media/pci/prospero/Kconfig|7 +
drivers/media/pci/prospero/Makefile   |7 +
drivers/media/pci/prospero/prospero_common.h  |  264 
drivers/media/pci/prospero/prospero_fe.h  |5 +
drivers/media/pci/prospero/prospero_fe_main.c |  466 ++
drivers/media/pci/prospero/prospero_i2c.c |  449 ++
drivers/media/pci/prospero/prospero_i2c.h |3 +
drivers/media/pci/prospero/prospero_ir.c  |  150 ++
drivers/media/pci/prospero/prospero_ir.h  |4 +
drivers/media/pci/prospero/prospero_main.c| 2086 
  +
12 files changed, 3444 insertions(+)
create mode 100644 drivers/media/pci/prospero/Kconfig
create mode 100644 drivers/media/pci/prospero/Makefile
create mode 100644 drivers/media/pci/prospero/prospero_common.h
create mode 100644 drivers/media/pci/prospero/prospero_fe.h
create mode 100644 drivers/media/pci/prospero/prospero_fe_main.c
create mode 100644 drivers/media/pci/prospero/prospero_i2c.c
create mode 100644 drivers/media/pci/prospero/prospero_i2c.h
create mode 100644 drivers/media/pci/prospero/prospero_ir.c
create mode 100644 drivers/media/pci/prospero/prospero_ir.h
create mode 100644 drivers/media/pci/prospero/prospero_main.c
 
 
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html