Re: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-13 Thread Mauro Carvalho Chehab
Em 12-05-2011 09:12, HoP escreveu:
 2011/5/12 Bjørn Mork bj...@mork.no:
 Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

 Ah, great! Thanks.  Nothing better than a problem already solved.
 
 Not solved. Andreas did an attempt to solve it (at least as far as I know
 patches not get accepted yet), so please report your result of testing.

The better is reply to the patches with a Tested-by: 

This helps me to better handle the patches when analyzing them. 

PS.: I shouldn't be touching on it until next week, as it is harder for
me to work remotely, and I can't test it from here.

Mauro.
--
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: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread Bjørn Mork
Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

Ah, great! Thanks.  Nothing better than a problem already solved.


Bjørn

--
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: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread HoP
2011/5/12 Bjørn Mork bj...@mork.no:
 Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

 Ah, great! Thanks.  Nothing better than a problem already solved.

Not solved. Andreas did an attempt to solve it (at least as far as I know
patches not get accepted yet), so please report your result of testing.

Honza
--
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: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread Bjørn Mork
HoP jpetr...@gmail.com writes:
 2011/5/12 Bjørn Mork bj...@mork.no:
 Andreas Oberritter o...@linuxtv.org writes:

 Please try the patches submitted for testing:

 http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

 Ah, great! Thanks.  Nothing better than a problem already solved.

 Not solved. Andreas did an attempt to solve it (at least as far as I know
 patches not get accepted yet), so please report your result of testing.

Sure. 

Now, the only machine I've got with DVB cards is running a stock Debian
2.6.32 kernel and I prefer not to mess with that.  But I did a
quick-n-dirty backport of the API changes to 2.6.32, built a new
dvb_core module and loaded that.  And the results are good, as
expected.  All parameters are now in sync.  

Both these adapters have been tuned by VDR (which uses the new API):


bjorn@canardo:/usr/local/src/git/linux-2.6$ /tmp/dvb_fe_test 
/dev/dvb/adapter0/frontend0 
== /dev/dvb/adapter0/frontend0 ==
name: Philips TDA10023 DVB-C
type: FE_QAM

== FE_GET_FRONTEND ==
frequency : 264006739
inversion : off (0)
symbol_rate   : 690
fec_inner : FEC_NONE (0)
modulation: QAM_256 (5)

== FE_GET_PROPERTY ==
[17] DTV_DELIVERY_SYSTEM : SYS_DVBC_ANNEX_AC (1)
[03] DTV_FREQUENCY   : 264006739
[06] DTV_INVERSION   : off (0)
[08] DTV_SYMBOL_RATE : 690
[09] DTV_INNER_FEC   : FEC_NONE (0)
[04] DTV_MODULATION  : QAM_256 (5)
[35] DTV_API_VERSION : 5.1
[05] DTV_BANDWIDTH_HZ: BANDWIDTH_AUTO (3)

bjorn@canardo:/usr/local/src/git/linux-2.6$ /tmp/dvb_fe_test 
/dev/dvb/adapter1/frontend0 
== /dev/dvb/adapter1/frontend0 ==
name: Philips TDA10023 DVB-C
type: FE_QAM

== FE_GET_FRONTEND ==
frequency : 272006739
inversion : off (0)
symbol_rate   : 690
fec_inner : FEC_NONE (0)
modulation: QAM_256 (5)

== FE_GET_PROPERTY ==
[17] DTV_DELIVERY_SYSTEM : SYS_DVBC_ANNEX_AC (1)
[03] DTV_FREQUENCY   : 272006739
[06] DTV_INVERSION   : off (0)
[08] DTV_SYMBOL_RATE : 690
[09] DTV_INNER_FEC   : FEC_NONE (0)
[04] DTV_MODULATION  : QAM_256 (5)
[35] DTV_API_VERSION : 5.1
[05] DTV_BANDWIDTH_HZ: BANDWIDTH_AUTO (3)




I've obviously messed up the API_VERSION, so this is probably more
dirty than quick  But all the important values, like frequency,
inversion and inner_fec, are now in sync.

Thanks a lot.  Feel free to add 

   Tested-by: Bjørn Mork bj...@mork.no

to the whole patch series if that matters to anyone.  I'd really like
this to go into 2.6.40 if that is possible. It would have been nice to
see it in 2.6.32-longerm was well, but I guess that's out of the
question since it builds on top of other API changes (DVBT2).



Bjørn

--
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


dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-11 Thread Bjørn Mork
I see in drivers/media/dvb/dvb-core/dvb_frontend.c that there is some
synchronization between the old and the new API.

But it is incomplete: The new FE_GET_PROPERTY will report only cached
values, which is whatever the application has written and not the
actual tuned values like FE_GET_FRONTEND will.  The problem is that 
FE_GET_PROPERTY only will call fe-ops.get_property even for legacy
drivers.  It could have fallen back to calling fe-ops.get_frontend
followed by a cache synchronization.

Is this difference intentional (because it costs too much, doesn't
matter, or whatever)?  Or should I prepare a patch for dvb_frontend.c?


I made a small util comparing the two APIs, basically just doing

   fd = open(/dev/dvb/adapter0/frontend0,  O_RDONLY);
   ioctl(fd, FE_GET_INFO, fe_info);
   ioctl(fd, FE_GET_FRONTEND, fe_param);
   ioctl(fd, FE_GET_PROPERTY, dtv_props);
   close(fd);

and pretty-printing some of the results from the three ioctl()s.  It
reports typically something like this:

bjorn@canardo:~$ /tmp/dvb_fe_test /dev/dvb/adapter1/frontend0
== /dev/dvb/adapter1/frontend0 ==
name: Philips TDA10023 DVB-C
type: FE_QAM

== FE_GET_FRONTEND ==
frequency : 394013477
inversion : off (0)
symbol_rate   : 690
fec_inner : FEC_NONE (0)
modulation: QAM_256 (5)

== FE_GET_PROPERTY ==
[17] DTV_DELIVERY_SYSTEM : SYS_DVBC_ANNEX_AC (1)
[03] DTV_FREQUENCY   : 39400
[06] DTV_INVERSION   : auto (2)
[08] DTV_SYMBOL_RATE : 690
[09] DTV_INNER_FEC   : FEC_AUTO (9)
[04] DTV_MODULATION  : QAM_256 (5)
[35] DTV_API_VERSION : 5.1
[05] DTV_BANDWIDTH_HZ: BANDWIDTH_AUTO (3)



Notice how FE_GET_PROPERTY returns auto settings for inversion and
inner_fec, while FE_GET_FRONTEND reports the actual values currently set
in the tuner.  Also notice how the frequency differs.

It's not a big issue I believe, but I do find this a bit confusing as
two different apps using different APIs will report different settings.



Bjørn

--
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: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-11 Thread Andreas Oberritter
On 05/11/2011 08:34 PM, Bjørn Mork wrote:
 I see in drivers/media/dvb/dvb-core/dvb_frontend.c that there is some
 synchronization between the old and the new API.
 
 But it is incomplete: The new FE_GET_PROPERTY will report only cached
 values, which is whatever the application has written and not the
 actual tuned values like FE_GET_FRONTEND will.  The problem is that 
 FE_GET_PROPERTY only will call fe-ops.get_property even for legacy
 drivers.  It could have fallen back to calling fe-ops.get_frontend
 followed by a cache synchronization.
 
 Is this difference intentional (because it costs too much, doesn't
 matter, or whatever)?  Or should I prepare a patch for dvb_frontend.c?

Please try the patches submitted for testing:

http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html

Regards,
Andreas
--
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