Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-09 Thread Oliver Endriss
Michael Krufky wrote:
 Oliver Endriss wrote:
 
 Manu Abraham wrote:
   
 
 On 8/6/07, Michael Krufky [EMAIL PROTECTED] wrote:
 
 
 Now I'm beginning to have doubts about Oliver's original patch:
 
 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???
   
 
 Ideally, what's provided by the demod and not the tuner max/min. The
 tuners max/min should be checked by the demod on setting params.
 
 The upper/lower limits in the demodulator drivers, came from the
 concept of a frontend as a whole. Independant bounds do not make sense
 (except internally -- It is the demod driver that which sets
 parameters for the tuner. The external world doesn't need to know
 what's the limit of the tuner, but only of the frontend as a whole).
 
 Ideally, the demodulator should just demodulate only. There are some
 cases, there are some cases which are not.
 
 
 
 Ok, I'm trying to put all pieces together:
 There might be cases where demod and tuner have different limits.
 
 So FE_GET_INFO and dvb_frontend_check_parameters() should use the
 'smallest common bandwidth':
 
 freq_min = max(fe-ops.info.frequency_min, 
 fe-ops.tuner_ops.info.frequency_min);
 
 if (fe-ops.info.frequency_max == 0)
  freq_max = fe-ops.tuner_ops.info.frequency_max;
 else if (fe-ops.tuner_ops.info.frequency_max == 0)
  freq_max = fe-ops.info.frequency_max;
 else
  freq_max = min(fe-ops.info.frequency_max, 
  fe-ops.tuner_ops.info.frequency_max);
 
 if (freq_min == 0 || freq_max == 0)
  printk(KERN_WARNING frequency limits undefined - please fix the 
  driver\n);
 
 Conclusions:
 - A tuner-only driver must set fe-ops.tuner_ops.info.
 - Monolithic drivers must set fe-ops.tuner_ops.info or fe-ops.info
   (or both).
   
 
 I apologize for my delayed response -- I had to leave town unexpectedly.

No problem.

 The above is OK with me.  As I understand it, we cannot remove 
 fe-ops.info.frequency_max|min because it is part of the userspace API.  
 I wasn't thinking about that fact when I wrote my last email in this 
 thread.  We should keep this in mind, for whenever the time comes that 
 we do have to break API compat.

Basically, the internal data structures don't have to be the same as the
external API data structures. The GET_INFO ioctl might collect its data
from anywhere...

I think we should postpone cleaning-up the frontend data until
multiproto has been merged. It will add more compatibility stuff,
so it might be worth cleaning up these things afterwards.

For now I have committed Hartmut's patch and the fix above.

CU
Oliver

-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-08 Thread Manu Abraham
On 8/8/07, Oliver Endriss [EMAIL PROTECTED] wrote:
 Manu Abraham wrote:
  On 8/6/07, Michael Krufky [EMAIL PROTECTED] wrote:
  
   Now I'm beginning to have doubts about Oliver's original patch:
  
   dvb_frontend: Range check of frequency and symbol rate
   http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
  
   Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead 
   of
   fe-ops.info.frequency_min|max ???
 
 
  Ideally, what's provided by the demod and not the tuner max/min. The
  tuners max/min should be checked by the demod on setting params.
 
  The upper/lower limits in the demodulator drivers, came from the
  concept of a frontend as a whole. Independant bounds do not make sense
  (except internally -- It is the demod driver that which sets
  parameters for the tuner. The external world doesn't need to know
  what's the limit of the tuner, but only of the frontend as a whole).
 
  Ideally, the demodulator should just demodulate only. There are some
  cases, there are some cases which are not.

 Ok, I'm trying to put all pieces together:
 There might be cases where demod and tuner have different limits.

 So FE_GET_INFO and dvb_frontend_check_parameters() should use the
 'smallest common bandwidth':

 freq_min = max(fe-ops.info.frequency_min, 
 fe-ops.tuner_ops.info.frequency_min);

 if (fe-ops.info.frequency_max == 0)
 freq_max = fe-ops.tuner_ops.info.frequency_max;
 else if (fe-ops.tuner_ops.info.frequency_max == 0)
 freq_max = fe-ops.info.frequency_max;
 else
 freq_max = min(fe-ops.info.frequency_max, 
 fe-ops.tuner_ops.info.frequency_max);

 if (freq_min == 0 || freq_max == 0)
 printk(KERN_WARNING frequency limits undefined - please fix the 
 driver\n);

 Conclusions:
 - A tuner-only driver must set fe-ops.tuner_ops.info.
 - Monolithic drivers must set fe-ops.tuner_ops.info or fe-ops.info
   (or both).

 Ok?

Currently, with our status that's the best we can do. Probably, we can
hope to have better drivers in the future.

Regards,
manu

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-08 Thread Michael Krufky
Oliver Endriss wrote:

Manu Abraham wrote:
  

On 8/6/07, Michael Krufky [EMAIL PROTECTED] wrote:


Now I'm beginning to have doubts about Oliver's original patch:

dvb_frontend: Range check of frequency and symbol rate
http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
fe-ops.info.frequency_min|max ???
  

Ideally, what's provided by the demod and not the tuner max/min. The
tuners max/min should be checked by the demod on setting params.

The upper/lower limits in the demodulator drivers, came from the
concept of a frontend as a whole. Independant bounds do not make sense
(except internally -- It is the demod driver that which sets
parameters for the tuner. The external world doesn't need to know
what's the limit of the tuner, but only of the frontend as a whole).

Ideally, the demodulator should just demodulate only. There are some
cases, there are some cases which are not.



Ok, I'm trying to put all pieces together:
There might be cases where demod and tuner have different limits.

So FE_GET_INFO and dvb_frontend_check_parameters() should use the
'smallest common bandwidth':

freq_min = max(fe-ops.info.frequency_min, 
fe-ops.tuner_ops.info.frequency_min);

if (fe-ops.info.frequency_max == 0)
   freq_max = fe-ops.tuner_ops.info.frequency_max;
else if (fe-ops.tuner_ops.info.frequency_max == 0)
   freq_max = fe-ops.info.frequency_max;
else
   freq_max = min(fe-ops.info.frequency_max, 
 fe-ops.tuner_ops.info.frequency_max);

if (freq_min == 0 || freq_max == 0)
   printk(KERN_WARNING frequency limits undefined - please fix the 
 driver\n);

Conclusions:
- A tuner-only driver must set fe-ops.tuner_ops.info.
- Monolithic drivers must set fe-ops.tuner_ops.info or fe-ops.info
  (or both).
  

I apologize for my delayed response -- I had to leave town unexpectedly.

The above is OK with me.  As I understand it, we cannot remove 
fe-ops.info.frequency_max|min because it is part of the userspace API.  
I wasn't thinking about that fact when I wrote my last email in this 
thread.  We should keep this in mind, for whenever the time comes that 
we do have to break API compat.

Regards,

Mike


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-08 Thread Manu Abraham
On 8/9/07, Michael Krufky [EMAIL PROTECTED] wrote:
 I apologize for my delayed response -- I had to leave town unexpectedly.

 The above is OK with me.  As I understand it, we cannot remove
 fe-ops.info.frequency_max|min because it is part of the userspace API.
 I wasn't thinking about that fact when I wrote my last email in this
 thread.  We should keep this in mind, for whenever the time comes that
 we do have to break API compat.


That one (the frontend definition) is still needed. The max/min in the
tuner is the one that which is redundant for the moment (It would be
needed internally though, for better drivers).

Manu

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-08 Thread Michael Krufky
Manu Abraham wrote:

On 8/9/07, Michael Krufky [EMAIL PROTECTED] wrote:
  

I apologize for my delayed response -- I had to leave town unexpectedly.

The above is OK with me.  As I understand it, we cannot remove
fe-ops.info.frequency_max|min because it is part of the userspace API.
I wasn't thinking about that fact when I wrote my last email in this
thread.  We should keep this in mind, for whenever the time comes that
we do have to break API compat.




That one (the frontend definition) is still needed. The max/min in the
tuner is the one that which is redundant for the moment (It would be
needed internally though, for better drivers).

OK.  In that case, what Oliver has proposed seems completely appropriate.

Cheers,

Mike


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-08 Thread Manu Abraham
On 8/9/07, Michael Krufky [EMAIL PROTECTED] wrote:
 Manu Abraham wrote:

 On 8/9/07, Michael Krufky [EMAIL PROTECTED] wrote:
 
 
 I apologize for my delayed response -- I had to leave town unexpectedly.
 
 The above is OK with me.  As I understand it, we cannot remove
 fe-ops.info.frequency_max|min because it is part of the userspace API.
 I wasn't thinking about that fact when I wrote my last email in this
 thread.  We should keep this in mind, for whenever the time comes that
 we do have to break API compat.
 
 
 
 
 That one (the frontend definition) is still needed. The max/min in the
 tuner is the one that which is redundant for the moment (It would be
 needed internally though, for better drivers).
 
 OK.  In that case, what Oliver has proposed seems completely appropriate.

See the other mail what i wrote, in reply to Oliver:

Currently, with our status that's the best we can do. Probably, we can
hope to have better drivers in the future.

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-07 Thread MikeW
Michael Krufky mkrufky at linuxtv.org writes:

 
...snip...
 That's fine with me... except I just don't see why we shouldn't just have the
 demod drivers that have the integrated tuning functionality just fill
 tuner_ops.info.frequency_max|min anyway.  The point is, the structures will be
 present regardless of whether any tuner_ops are actually filled.  This is an
 opportunity to remove the frequency_min|max from the demod ops.info structure,
 as we all agree that it is inappropriate there anyhow.  If we do this, then we
 will have a standard across the board.
 
 Regards,
 Mike
 

Having looked around for such information myself, it would possibly
help consistency of tuner/demod/demux drivers if there was a
standard/'best practice' for implementing such software, giving
the decision points based on the actual device(s) features, reflecting
into implemented code.

e.g. if the device is a tuner:
- create this file (from a template ?)
- fill in these structure fields based on xxx values
- write these functions
- add these Kconfig settings
...

This would ensure in the current case that there is no misunderstanding
about the roles of different, possibly duplicated, fields, and which has
precedence.

Also when to specifically use a tuner or frontend structure.

Regards,
MikeW




___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-07 Thread e9hack
Oliver Endriss schrieb:
 e9hack wrote:
 Currently, I'm missing something in the tuner modules (and I didn't ask for 
 it). It isn't possible
 to wait for getting the pll lock. The tuning function of the TT-C2300 does 
 wait. It isn't possible
 to switch the time constant of the loop filter after getting the lock. 
 Usually, it is recommended
 for any pll chips.
 
 Have a look how I implemented that in the tda10086 driver (search for
 'has_lock').
 

The lock of the tuner pll has nothing to do with the lock of the demodulator.

The TT-C2300 uses a very simple pll chip (TDA6405). Usually, it can use the 
simple pll (dvb-pll.c),
but it must wait for the lock, because the tuning is very slow (50..150ms). I 
don't see any benefit,
if the tuning code is moved from one file to another new one.

- Hartmut



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-07 Thread Oliver Endriss
Manu Abraham wrote:
 On 8/6/07, Michael Krufky [EMAIL PROTECTED] wrote:
 
  Now I'm beginning to have doubts about Oliver's original patch:
 
  dvb_frontend: Range check of frequency and symbol rate
  http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
  Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
  fe-ops.info.frequency_min|max ???
 
 
 Ideally, what's provided by the demod and not the tuner max/min. The
 tuners max/min should be checked by the demod on setting params.
 
 The upper/lower limits in the demodulator drivers, came from the
 concept of a frontend as a whole. Independant bounds do not make sense
 (except internally -- It is the demod driver that which sets
 parameters for the tuner. The external world doesn't need to know
 what's the limit of the tuner, but only of the frontend as a whole).
 
 Ideally, the demodulator should just demodulate only. There are some
 cases, there are some cases which are not.

Ok, I'm trying to put all pieces together:
There might be cases where demod and tuner have different limits.

So FE_GET_INFO and dvb_frontend_check_parameters() should use the
'smallest common bandwidth':

freq_min = max(fe-ops.info.frequency_min, 
fe-ops.tuner_ops.info.frequency_min);

if (fe-ops.info.frequency_max == 0)
freq_max = fe-ops.tuner_ops.info.frequency_max;
else if (fe-ops.tuner_ops.info.frequency_max == 0)
freq_max = fe-ops.info.frequency_max;
else
freq_max = min(fe-ops.info.frequency_max, 
fe-ops.tuner_ops.info.frequency_max);

if (freq_min == 0 || freq_max == 0)
printk(KERN_WARNING frequency limits undefined - please fix the 
driver\n);

Conclusions:
- A tuner-only driver must set fe-ops.tuner_ops.info.
- Monolithic drivers must set fe-ops.tuner_ops.info or fe-ops.info
  (or both).

Ok?

CU
Oliver


-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


[linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread e9hack
Hi,

the min frequencies of the DVB-C frontends are wrong. In Europe, the center 
frequency of the lowest
channel is 50.5MHz and not 51MHz. All known cards with the 
stv0297/tda0002x/ves1820 frontend are
able to tune to this frequency. I've changed the range to the lowest channel - 
1/2 bandwidth and the
highest channel + 1/2 bandwidth. For the design of the dvb driver, the 
frequency ranges must be part
of the tuner and not of the frontend itself. The same frontend may be used for 
different tuners. The
attached patch does only fix the ranges and not the design.

- Hartmut

Signed-off-by: Hartmut Birr [EMAIL PROTECTED]
diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/stv0297.c
--- a/linux/drivers/media/dvb/frontends/stv0297.c	Fri Aug 03 18:42:33 2007 -0300
+++ b/linux/drivers/media/dvb/frontends/stv0297.c	Mon Aug 06 19:14:31 2007 +0200
@@ -680,8 +680,8 @@ static struct dvb_frontend_ops stv0297_o
 	.info = {
 		 .name = ST STV0297 DVB-C,
 		 .type = FE_QAM,
-		 .frequency_min = 6400,
-		 .frequency_max = 13,
+		 .frequency_min = 4700,
+		 .frequency_max = 86200,
 		 .frequency_stepsize = 62500,
 		 .symbol_rate_min = 87,
 		 .symbol_rate_max = 1170,
diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10021.c
--- a/linux/drivers/media/dvb/frontends/tda10021.c	Fri Aug 03 18:42:33 2007 -0300
+++ b/linux/drivers/media/dvb/frontends/tda10021.c	Mon Aug 06 19:14:31 2007 +0200
@@ -439,8 +439,8 @@ static struct dvb_frontend_ops tda10021_
 		.name = Philips TDA10021 DVB-C,
 		.type = FE_QAM,
 		.frequency_stepsize = 62500,
-		.frequency_min = 5100,
-		.frequency_max = 85800,
+		.frequency_min = 4700,
+		.frequency_max = 86200,
 		.symbol_rate_min = (XIN/2)/64, /* SACLK/64 == (XIN/2)/64 */
 		.symbol_rate_max = (XIN/2)/4,  /* SACLK/4 */
 	#if 0 /* keep */
diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10023.c
--- a/linux/drivers/media/dvb/frontends/tda10023.c	Fri Aug 03 18:42:33 2007 -0300
+++ b/linux/drivers/media/dvb/frontends/tda10023.c	Mon Aug 06 19:14:31 2007 +0200
@@ -504,8 +504,8 @@ static struct dvb_frontend_ops tda10023_
 		.name = Philips TDA10023 DVB-C,
 		.type = FE_QAM,
 		.frequency_stepsize = 62500,
-		.frequency_min = 5100,
-		.frequency_max = 85800,
+		.frequency_min = 4700,
+		.frequency_max = 86200,
 		.symbol_rate_min = (SYSCLK/2)/64, /* SACLK/64 == (SYSCLK/2)/64 */
 		.symbol_rate_max = (SYSCLK/2)/4,  /* SACLK/4 */
 	#if 0
diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/ves1820.c
--- a/linux/drivers/media/dvb/frontends/ves1820.c	Fri Aug 03 18:42:33 2007 -0300
+++ b/linux/drivers/media/dvb/frontends/ves1820.c	Mon Aug 06 19:14:31 2007 +0200
@@ -410,8 +410,8 @@ static struct dvb_frontend_ops ves1820_o
 		.name = VLSI VES1820 DVB-C,
 		.type = FE_QAM,
 		.frequency_stepsize = 62500,
-		.frequency_min = 5100,
-		.frequency_max = 85800,
+		.frequency_min = 4700,
+		.frequency_max = 86200,
 		.caps = FE_CAN_QAM_16 |
 			FE_CAN_QAM_32 |
 			FE_CAN_QAM_64 |
___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
e9hack wrote:
 Hi,
 
 the min frequencies of the DVB-C frontends are wrong. In Europe, the center 
 frequency of the lowest
 channel is 50.5MHz and not 51MHz. All known cards with the 
 stv0297/tda0002x/ves1820 frontend are
 able to tune to this frequency. I've changed the range to the lowest channel 
 - 1/2 bandwidth and the
 highest channel + 1/2 bandwidth. For the design of the dvb driver, the 
 frequency ranges must be part
 of the tuner and not of the frontend itself. The same frontend may be used 
 for different tuners. The
 attached patch does only fix the ranges and not the design.
 



Now I'm beginning to have doubts about Oliver's original patch:

dvb_frontend: Range check of frequency and symbol rate
http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
fe-ops.info.frequency_min|max ???


-Mike




 Signed-off-by: Hartmut Birr [EMAIL PROTECTED]
 diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/stv0297.c
 --- a/linux/drivers/media/dvb/frontends/stv0297.c Fri Aug 03 18:42:33 
 2007 -0300
 +++ b/linux/drivers/media/dvb/frontends/stv0297.c Mon Aug 06 19:14:31 
 2007 +0200
 @@ -680,8 +680,8 @@ static struct dvb_frontend_ops stv0297_o
   .info = {
.name = ST STV0297 DVB-C,
.type = FE_QAM,
 -  .frequency_min = 6400,
 -  .frequency_max = 13,
 +  .frequency_min = 4700,
 +  .frequency_max = 86200,
.frequency_stepsize = 62500,
.symbol_rate_min = 87,
.symbol_rate_max = 1170,
 diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10021.c
 --- a/linux/drivers/media/dvb/frontends/tda10021.cFri Aug 03 18:42:33 
 2007 -0300
 +++ b/linux/drivers/media/dvb/frontends/tda10021.cMon Aug 06 19:14:31 
 2007 +0200
 @@ -439,8 +439,8 @@ static struct dvb_frontend_ops tda10021_
   .name = Philips TDA10021 DVB-C,
   .type = FE_QAM,
   .frequency_stepsize = 62500,
 - .frequency_min = 5100,
 - .frequency_max = 85800,
 + .frequency_min = 4700,
 + .frequency_max = 86200,
   .symbol_rate_min = (XIN/2)/64, /* SACLK/64 == (XIN/2)/64 */
   .symbol_rate_max = (XIN/2)/4,  /* SACLK/4 */
   #if 0 /* keep */
 diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10023.c
 --- a/linux/drivers/media/dvb/frontends/tda10023.cFri Aug 03 18:42:33 
 2007 -0300
 +++ b/linux/drivers/media/dvb/frontends/tda10023.cMon Aug 06 19:14:31 
 2007 +0200
 @@ -504,8 +504,8 @@ static struct dvb_frontend_ops tda10023_
   .name = Philips TDA10023 DVB-C,
   .type = FE_QAM,
   .frequency_stepsize = 62500,
 - .frequency_min = 5100,
 - .frequency_max = 85800,
 + .frequency_min = 4700,
 + .frequency_max = 86200,
   .symbol_rate_min = (SYSCLK/2)/64, /* SACLK/64 == 
 (SYSCLK/2)/64 */
   .symbol_rate_max = (SYSCLK/2)/4,  /* SACLK/4 */
   #if 0
 diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/ves1820.c
 --- a/linux/drivers/media/dvb/frontends/ves1820.c Fri Aug 03 18:42:33 
 2007 -0300
 +++ b/linux/drivers/media/dvb/frontends/ves1820.c Mon Aug 06 19:14:31 
 2007 +0200
 @@ -410,8 +410,8 @@ static struct dvb_frontend_ops ves1820_o
   .name = VLSI VES1820 DVB-C,
   .type = FE_QAM,
   .frequency_stepsize = 62500,
 - .frequency_min = 5100,
 - .frequency_max = 85800,
 + .frequency_min = 4700,
 + .frequency_max = 86200,
   .caps = FE_CAN_QAM_16 |
   FE_CAN_QAM_32 |
   FE_CAN_QAM_64 |


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread e9hack
Michael Krufky schrieb:
 
 Now I'm beginning to have doubts about Oliver's original patch:
 
 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???
 

I didn't see the ranges from the tuner, because the dvb-c drivers don't use the 
pll framework. They
have very simple tuning functions only. We should use both values. One part may 
be more restrictive
than the other one.

The intention to write the frequency patch was some trouble with w_scan, which 
starts on 50.5MHz.

- Hartmut

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
e9hack wrote:
 Michael Krufky schrieb:
 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???

 
 I didn't see the ranges from the tuner, because the dvb-c drivers don't use 
 the pll framework. They
 have very simple tuning functions only. We should use both values. One part 
 may be more restrictive
 than the other one.
 
 The intention to write the frequency patch was some trouble with w_scan, 
 which starts on 50.5MHz.


FYI, I never mentioned pll framework

The DVB subsystem uses dvb_frontend tuner modules, in many, but not all cases.
This is used by silicon and pll tuners alike.

IMHO, if there is a separate tuner used in conjunction to the demod, it is
better to factor out the tuner to a separate dvb_frontend style module, rather
than leaving it hardcoded within the demod driver.  This may result in a benefit
of removal of duplicated code, in cases where multiple demods are using the same
tuner.  I don't know if this is the case in your situation, but it is the case
with many others.

Cheers,

Michael Krufky


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
Oliver Endriss wrote:
 Michael Krufky wrote:
   
 e9hack wrote:
 
 Hi,

 the min frequencies of the DVB-C frontends are wrong. In Europe, the center 
 frequency of the lowest
 channel is 50.5MHz and not 51MHz. All known cards with the 
 stv0297/tda0002x/ves1820 frontend are
 able to tune to this frequency. I've changed the range to the lowest 
 channel - 1/2 bandwidth and the
 highest channel + 1/2 bandwidth. For the design of the dvb driver, the 
 frequency ranges must be part
 of the tuner and not of the frontend itself. The same frontend may be used 
 for different tuners. The
 attached patch does only fix the ranges and not the design.
   
 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???
 

 Hm, I was not aware that there is another info.frequency_min|max
 in tuner_ops. :-(

 Do we need both of them?
I think it's most appropriate to keep tuner_ops.info.frequency_min|max ,
since it is the tuner that we're talking about.  If the demodulator
itself does not have such limitations, then we should not have such a
field in the demod ops.info section.

I believe that this is leftover from before Andrew's original dvb tuner
refactoring.

Cheers,

Mike


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Oliver Endriss
Michael Krufky wrote:
 Oliver Endriss wrote:
  Michael Krufky wrote:

  e9hack wrote:
  
  Hi,
 
  the min frequencies of the DVB-C frontends are wrong. In Europe, the 
  center frequency of the lowest
  channel is 50.5MHz and not 51MHz. All known cards with the 
  stv0297/tda0002x/ves1820 frontend are
  able to tune to this frequency. I've changed the range to the lowest 
  channel - 1/2 bandwidth and the
  highest channel + 1/2 bandwidth. For the design of the dvb driver, the 
  frequency ranges must be part
  of the tuner and not of the frontend itself. The same frontend may be 
  used for different tuners. The
  attached patch does only fix the ranges and not the design.

  Now I'm beginning to have doubts about Oliver's original patch:
 
  dvb_frontend: Range check of frequency and symbol rate
  http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
  Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
  fe-ops.info.frequency_min|max ???
  
 
  Hm, I was not aware that there is another info.frequency_min|max
  in tuner_ops. :-(
 
  Do we need both of them?
 I think it's most appropriate to keep tuner_ops.info.frequency_min|max ,
 since it is the tuner that we're talking about.  If the demodulator
 itself does not have such limitations, then we should not have such a
 field in the demod ops.info section.
 
 I believe that this is leftover from before Andrew's original dvb tuner
 refactoring.

It is an API issue: FE_GET_INFO returns fe-ops.info, so we cannot
easily drop this field.

What about modifying dvb_pll_attach to override fe-ops.info.frequency?

CU
Oliver

-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
Oliver Endriss wrote:
 Michael Krufky wrote:
   
 Oliver Endriss wrote:
 
 Michael Krufky wrote:
   
   
 e9hack wrote:
 
 
 Hi,

 the min frequencies of the DVB-C frontends are wrong. In Europe, the 
 center frequency of the lowest
 channel is 50.5MHz and not 51MHz. All known cards with the 
 stv0297/tda0002x/ves1820 frontend are
 able to tune to this frequency. I've changed the range to the lowest 
 channel - 1/2 bandwidth and the
 highest channel + 1/2 bandwidth. For the design of the dvb driver, the 
 frequency ranges must be part
 of the tuner and not of the frontend itself. The same frontend may be 
 used for different tuners. The
 attached patch does only fix the ranges and not the design.
   
   
 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???
 
 
 Hm, I was not aware that there is another info.frequency_min|max
 in tuner_ops. :-(

 Do we need both of them?
   
 I think it's most appropriate to keep tuner_ops.info.frequency_min|max ,
 since it is the tuner that we're talking about.  If the demodulator
 itself does not have such limitations, then we should not have such a
 field in the demod ops.info section.

 I believe that this is leftover from before Andrew's original dvb tuner
 refactoring.
 

 It is an API issue: FE_GET_INFO returns fe-ops.info, so we cannot
 easily drop this field.

 What about modifying dvb_pll_attach to override fe-ops.info.frequency?
   
No, because dvb-pll is only one of many dvb_frontend tuner drivers.  We
would have to modify all dvb_frontend tuner drivers to set this field --
but they are already setting this field, inside tuner_ops.info. 
Instead, we can modify FE_GET_INFO to return
fe-ops.tuner_ops.info.frequency_min|max instead.  The current
demodulator drivers that have the tuning code hardcoded inside should
also set the tuner_ops.info fields as well.


Regards,

Mike


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
Trent Piepho wrote:
 On Mon, 6 Aug 2007, e9hack wrote:
 Michael Krufky schrieb:
 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???

 I didn't see the ranges from the tuner, because the dvb-c drivers don't use 
 the pll framework. They
 have very simple tuning functions only. We should use both values. One part 
 may be more restrictive
 than the other one.
 
 Most demodulators don't have frequency ranges.  They just take whatever the
 tuner gives them at a fixed intermediate frequency.  It's really the tuner
 that has the frequency range.
 
 I think it would make more sense for the demodulator drivers to fill
 fe-ops.info.frequency_min|max using fe-ops.tuner_ops.info.frequency_min|max.
 A frontend driver that doesn't use a separate tuner driver (like DST) would
 set the fe-ops.info.frequency_min|max directly.

The way I see it, the demod driver that doesn't have a separate tuner driver
should just go ahead and fill ops.tuner_ops.info.frequency_min|max , because
otherwise those fields will be there anyway, just remaining empty.  Those
structures are not pointers, and we should always be able to rely on their 
presence.

There is no need for BOTH ops.info.frequency_min|max AND
ops.tuner_ops.info.frequency_min|max

-- 
Michael Krufky


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Oliver Endriss
Michael Krufky wrote:
 Trent Piepho wrote:
  On Mon, 6 Aug 2007, e9hack wrote:
  Michael Krufky schrieb:
  Now I'm beginning to have doubts about Oliver's original patch:
 
  dvb_frontend: Range check of frequency and symbol rate
  http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
  Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead 
  of
  fe-ops.info.frequency_min|max ???
 
  I didn't see the ranges from the tuner, because the dvb-c drivers don't 
  use the pll framework. They
  have very simple tuning functions only. We should use both values. One 
  part may be more restrictive
  than the other one.
  
  Most demodulators don't have frequency ranges.  They just take whatever the
  tuner gives them at a fixed intermediate frequency.  It's really the tuner
  that has the frequency range.

Agreed.

  I think it would make more sense for the demodulator drivers to fill
  fe-ops.info.frequency_min|max using 
  fe-ops.tuner_ops.info.frequency_min|max.
  A frontend driver that doesn't use a separate tuner driver (like DST) would
  set the fe-ops.info.frequency_min|max directly.

Afaics the demod driver cannot fill fe-ops.info.frequency_min|max using
fe-ops.tuner_ops.info.frequency_min|max, because the tuner driver will
be attached _after_ the demod driver (see budget-av.c for example).

 The way I see it, the demod driver that doesn't have a separate tuner driver
 should just go ahead and fill ops.tuner_ops.info.frequency_min|max , because
 otherwise those fields will be there anyway, just remaining empty.  Those
 structures are not pointers, and we should always be able to rely on their 
 presence.

 There is no need for BOTH ops.info.frequency_min|max AND
 ops.tuner_ops.info.frequency_min|max

The following drivers set ops.tuner_ops.info.frequency_min|max:
dvb-pll, mt2060, qt1010, tda826x, tda827x, tua6100.

All other drivers use ops.info.frequency_min|max.

What about this:
dvb_frontend.c shall use ops.tuner_ops.info.frequency_min|max if
non-zero. Otherwise it would continue to use ops.info.frequency_min|max.

CU
Oliver

-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Michael Krufky
Oliver Endriss wrote:
 Michael Krufky wrote:
 Trent Piepho wrote:
 On Mon, 6 Aug 2007, e9hack wrote:
 Michael Krufky schrieb:
 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead 
 of
 fe-ops.info.frequency_min|max ???

 I didn't see the ranges from the tuner, because the dvb-c drivers don't 
 use the pll framework. They
 have very simple tuning functions only. We should use both values. One 
 part may be more restrictive
 than the other one.
 Most demodulators don't have frequency ranges.  They just take whatever the
 tuner gives them at a fixed intermediate frequency.  It's really the tuner
 that has the frequency range.
 
 Agreed.
 
 I think it would make more sense for the demodulator drivers to fill
 fe-ops.info.frequency_min|max using 
 fe-ops.tuner_ops.info.frequency_min|max.
 A frontend driver that doesn't use a separate tuner driver (like DST) would
 set the fe-ops.info.frequency_min|max directly.
 
 Afaics the demod driver cannot fill fe-ops.info.frequency_min|max using
 fe-ops.tuner_ops.info.frequency_min|max, because the tuner driver will
 be attached _after_ the demod driver (see budget-av.c for example).
 
 The way I see it, the demod driver that doesn't have a separate tuner driver
 should just go ahead and fill ops.tuner_ops.info.frequency_min|max , because
 otherwise those fields will be there anyway, just remaining empty.  Those
 structures are not pointers, and we should always be able to rely on their 
 presence.

 There is no need for BOTH ops.info.frequency_min|max AND
 ops.tuner_ops.info.frequency_min|max
 
 The following drivers set ops.tuner_ops.info.frequency_min|max:
 dvb-pll, mt2060, qt1010, tda826x, tda827x, tua6100.
 
 All other drivers use ops.info.frequency_min|max.
 
 What about this:
 dvb_frontend.c shall use ops.tuner_ops.info.frequency_min|max if
 non-zero. Otherwise it would continue to use ops.info.frequency_min|max.

That's fine with me... except I just don't see why we shouldn't just have the
demod drivers that have the integrated tuning functionality just fill
tuner_ops.info.frequency_max|min anyway.  The point is, the structures will be
present regardless of whether any tuner_ops are actually filled.  This is an
opportunity to remove the frequency_min|max from the demod ops.info structure,
as we all agree that it is inappropriate there anyhow.  If we do this, then we
will have a standard across the board.

Regards,
Mike


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Oliver Endriss
Michael Krufky wrote:
 Oliver Endriss wrote:
  Michael Krufky wrote:
  Trent Piepho wrote:
  On Mon, 6 Aug 2007, e9hack wrote:
  Michael Krufky schrieb:
  Now I'm beginning to have doubts about Oliver's original patch:
 
  dvb_frontend: Range check of frequency and symbol rate
  http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
 
  Should we be checking fe-ops.tuner_ops.info.frequency_min|max , 
  instead of
  fe-ops.info.frequency_min|max ???
 
  I didn't see the ranges from the tuner, because the dvb-c drivers don't 
  use the pll framework. They
  have very simple tuning functions only. We should use both values. One 
  part may be more restrictive
  than the other one.
  Most demodulators don't have frequency ranges.  They just take whatever 
  the
  tuner gives them at a fixed intermediate frequency.  It's really the tuner
  that has the frequency range.
  
  Agreed.
  
  I think it would make more sense for the demodulator drivers to fill
  fe-ops.info.frequency_min|max using 
  fe-ops.tuner_ops.info.frequency_min|max.
  A frontend driver that doesn't use a separate tuner driver (like DST) 
  would
  set the fe-ops.info.frequency_min|max directly.
  
  Afaics the demod driver cannot fill fe-ops.info.frequency_min|max using
  fe-ops.tuner_ops.info.frequency_min|max, because the tuner driver will
  be attached _after_ the demod driver (see budget-av.c for example).
  
  The way I see it, the demod driver that doesn't have a separate tuner 
  driver
  should just go ahead and fill ops.tuner_ops.info.frequency_min|max , 
  because
  otherwise those fields will be there anyway, just remaining empty.  Those
  structures are not pointers, and we should always be able to rely on their 
  presence.
 
  There is no need for BOTH ops.info.frequency_min|max AND
  ops.tuner_ops.info.frequency_min|max
  
  The following drivers set ops.tuner_ops.info.frequency_min|max:
  dvb-pll, mt2060, qt1010, tda826x, tda827x, tua6100.
  
  All other drivers use ops.info.frequency_min|max.
  
  What about this:
  dvb_frontend.c shall use ops.tuner_ops.info.frequency_min|max if
  non-zero. Otherwise it would continue to use ops.info.frequency_min|max.
 
 That's fine with me... except I just don't see why we shouldn't just have the
 demod drivers that have the integrated tuning functionality just fill
 tuner_ops.info.frequency_max|min anyway.  The point is, the structures will be
 present regardless of whether any tuner_ops are actually filled.  This is an
 opportunity to remove the frequency_min|max from the demod ops.info structure,
 as we all agree that it is inappropriate there anyhow.  If we do this, then we
 will have a standard across the board.

That's fine if we agree that we have to touch most frontend drivers.

If we choose to do that, we should remove ops.info.frequency_min|max,
i.e. remove 'struct dvb_frontend_info' from 'struct frontend_ops' and
add something like 'struct dvb_demod_info' instead.

We must not modify 'struct dvb_frontend_info' because it is an API data
structure.

Afaics 'frequency_stepsize' can be substituted by 'frequency_step',
but what should we do with 'frequency_tolerance'?

CU
Oliver

-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Manu Abraham
On 8/7/07, Oliver Endriss [EMAIL PROTECTED] wrote:

   I didn't see the ranges from the tuner, because the dvb-c drivers don't 
   use the pll framework. They
   have very simple tuning functions only. We should use both values. One 
   part may be more restrictive
   than the other one.
  
   Most demodulators don't have frequency ranges.  They just take whatever 
   the
   tuner gives them at a fixed intermediate frequency.  It's really the tuner
   that has the frequency range.

 Agreed.



Though demodulators don't have frequency ranges, they do have
bandwidth's (not DVB-T bandwidth, i mean bandwidth for the loop, ie
loop bandwidth)

Currently none of our in tree drivers do calculate _any_ loop
bandwidth etc, but just blindly set up values based on predefined
values.

But not the same case anymore. We will have divers using these parameters.



   I think it would make more sense for the demodulator drivers to fill
   fe-ops.info.frequency_min|max using 
   fe-ops.tuner_ops.info.frequency_min|max.
   A frontend driver that doesn't use a separate tuner driver (like DST) 
   would
   set the fe-ops.info.frequency_min|max directly.

 Afaics the demod driver cannot fill fe-ops.info.frequency_min|max using
 fe-ops.tuner_ops.info.frequency_min|max, because the tuner driver will
 be attached _after_ the demod driver (see budget-av.c for example).



With new devices i have been doing calculations based on these, In
fact you can see it here:
with a silicon tuner:

  267 static int stb6100_set_bandwidth(struct dvb_frontend *fe,
u32 bandwidth)
  250 static int stb6100_get_bandwidth(struct dvb_frontend *fe,
u32 *bandwidth)
  327 static int stb6100_set_frequency(struct dvb_frontend *fe,
u32 frequency)
  296 static int stb6100_get_frequency(struct dvb_frontend *fe,
u32 *frequency)


with a PLL (as of current), i have to use
 1237 static int knc1_dvbs2_sd1878_pll_get_bandwidth(struct
dvb_frontend *fe, u32 *bandwidth)

 1238 {
 1239   /* FIXME ! need to calculate the bandwidth  */
 1240   *bandwidth = 6000;
 1241   
 1242   return 0;
 1243 }


Now it can be that the tuner and the demodulator have fixed spectral
limits, but also that they can differ.

In the case that which it differs, we will need separate max/min for
both. In such a case it would be better to have them for internal
bound checks at run time.


  The way I see it, the demod driver that doesn't have a separate tuner driver
  should just go ahead and fill ops.tuner_ops.info.frequency_min|max , because
  otherwise those fields will be there anyway, just remaining empty.  Those
  structures are not pointers, and we should always be able to rely on their 
  presence.
 
  There is no need for BOTH ops.info.frequency_min|max AND
  ops.tuner_ops.info.frequency_min|max

 The following drivers set ops.tuner_ops.info.frequency_min|max:
 dvb-pll, mt2060, qt1010, tda826x, tda827x, tua6100.

 All other drivers use ops.info.frequency_min|max.

 What about this:
 dvb_frontend.c shall use ops.tuner_ops.info.frequency_min|max if
 non-zero. Otherwise it would continue to use ops.info.frequency_min|max.


The idea what i was having was that individual demodulators can do
their own CUSTOM tuning algorithm.

  111 /*
  112  ** ALGO_HW: (Hardware Algorithm)
  113  *
  114  *Devices that support this algorithm, do everything in hardware
  115  *and no software support is needed to handle them.
  116  *Requesting these devices to LOCK is the only thing required,
  117  *device is supposed to do everything in the hardware
  118  *
  119  ** ALGO_SW: (Software Algorithm)
  120  *
  121  *These are dumb devices, that require software to do everything
  122  *
  123  ** ALGO_CUSTOM: (Customizable Agorithm)
  124  *
  125  *Devices having this algorithm can be customized to have specific
  126  *algorithms in the frontend driver, rather than simply doing a
  127  *software zig-zag. In this case the zigzag maybe hardware 
assisted
  128  *or it maybe completely done in hardware. In all cases, usage of
  129  *this algorithm, in conjunction with the search and track
  130  *callbacks utilizes the driver specific algorithm to be used.
  131  *
  132  ** ALGO_RECOVERY: (Recovery Algorithm)
  133  *
  134  *These devices has AUTO recovery capabilities from LOCK failure
  135  */
  136 enum dvbfe_algo {
  137   DVBFE_ALGO_HW   = (1   0),
  138   DVBFE_ALGO_SW   = (1   1),
  139   DVBFE_ALGO_CUSTOM   = (1   2),
  140  

Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Oliver Endriss
e9hack wrote:
 Currently, I'm missing something in the tuner modules (and I didn't ask for 
 it). It isn't possible
 to wait for getting the pll lock. The tuning function of the TT-C2300 does 
 wait. It isn't possible
 to switch the time constant of the loop filter after getting the lock. 
 Usually, it is recommended
 for any pll chips.

Have a look how I implemented that in the tda10086 driver (search for
'has_lock').

CU
Oliver

-- 

VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/



___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Manu Abraham
On 8/7/07, Trent Piepho [EMAIL PROTECTED] wrote:

 Most demodulators don't have frequency ranges.  They just take whatever the
 tuner gives them at a fixed intermediate frequency.  It's really the tuner
 that has the frequency range.


Not true: look at the MB86A16. It is a DC (Direct Conversion)
receiver. There is no tuner used alongwith (a similar case goes for
the MB86A15, but that is far from being similar) and hence no IF. But
in either case, absolutely _no_ tuner.

There are other DC receivers as well, mentioned the MB86A16 as an
example, since being more familiar with it.


 I think it would make more sense for the demodulator drivers to fill
 fe-ops.info.frequency_min|max using fe-ops.tuner_ops.info.frequency_min|max.
 A frontend driver that doesn't use a separate tuner driver (like DST) would
 set the fe-ops.info.frequency_min|max directly.


DST, inside the host CPU, does calculations based on the upper and
lower bounds, but that generally results in almost the same defined
spectral definition according to the standards.


Manu

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Manu Abraham
On 8/6/07, Michael Krufky [EMAIL PROTECTED] wrote:

 Now I'm beginning to have doubts about Oliver's original patch:

 dvb_frontend: Range check of frequency and symbol rate
 http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6

 Should we be checking fe-ops.tuner_ops.info.frequency_min|max , instead of
 fe-ops.info.frequency_min|max ???


Ideally, what's provided by the demod and not the tuner max/min. The
tuners max/min should be checked by the demod on setting params.

The upper/lower limits in the demodulator drivers, came from the
concept of a frontend as a whole. Independant bounds do not make sense
(except internally -- It is the demod driver that which sets
parameters for the tuner. The external world doesn't need to know
what's the limit of the tuner, but only of the frontend as a whole).

Ideally, the demodulator should just demodulate only. There are some
cases, there are some cases which are not.

Manu

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends

2007-08-06 Thread Trent Piepho
On Tue, 7 Aug 2007, Manu Abraham wrote:
 On 8/7/07, Trent Piepho [EMAIL PROTECTED] wrote:
 
  Most demodulators don't have frequency ranges.  They just take whatever the
  tuner gives them at a fixed intermediate frequency.  It's really the tuner
  that has the frequency range.


 Not true: look at the MB86A16. It is a DC (Direct Conversion)
 receiver. There is no tuner used alongwith (a similar case goes for
 the MB86A15, but that is far from being similar) and hence no IF. But
 in either case, absolutely _no_ tuner.

Look at what I wrote.  Most demodulators

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb