* [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123
@ 2008-10-27 19:23 Matthias Schwarzott
2008-10-27 19:41 ` Manu Abraham
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Schwarzott @ 2008-10-27 19:23 UTC (permalink / raw)
To: linux-dvb; +Cc: Manu Abraham
[-- Attachment #1: Type: text/plain, Size: 863 bytes --]
Hi Manu, hi Steven!
It seems an update of dvb-core breaks tuning of cx24123.
After updating to latest v4l-dvb the nova-s plus card just did no longer lock
to any channel. So I bisected it, and found this commit:
changeset: 9344:aa3a67b658e8
parent: 9296:e2a8b9b9c294
user: Manu Abraham <manu@linuxtv.org>
date: Tue Oct 14 23:34:07 2008 +0400
summary: DVB-Core update
http://linuxtv.org/hg/v4l-dvb/rev/aa3a67b658e8
It basically did update the dvb-kernel-thread and enhanced the code using
get_frontend_algo.
The codepath when get_frontend_algo returns *_ALGO_HW stayed the same, only
one line got removed: params = &fepriv->parameter
Just re-adding that line made my card working again. Either this was lost, or
the last two lines using "params" should also be converted to directly
use "&fepriv->parameters".
Regards
Matthias
[-- Attachment #2: fix-tune-algo-hw.diff --]
[-- Type: text/x-diff, Size: 348 bytes --]
--- v4l-dvb.orig/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -584,6 +584,7 @@ restart:
if (fepriv->state & FESTATE_RETUNE) {
dprintk("%s: Retune requested, FESTATE_RETUNE\n", __func__);
+ params = &fepriv->parameters;
fepriv->state = FESTATE_TUNED;
}
[-- Attachment #3: Type: text/plain, Size: 150 bytes --]
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123
2008-10-27 19:23 [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123 Matthias Schwarzott
@ 2008-10-27 19:41 ` Manu Abraham
2008-10-27 19:50 ` Matthias Schwarzott
0 siblings, 1 reply; 4+ messages in thread
From: Manu Abraham @ 2008-10-27 19:41 UTC (permalink / raw)
To: Matthias Schwarzott; +Cc: linux-dvb
Hi Mathias,
Matthias Schwarzott wrote:
> Hi Manu, hi Steven!
>
> It seems an update of dvb-core breaks tuning of cx24123.
> After updating to latest v4l-dvb the nova-s plus card just did no longer lock
> to any channel. So I bisected it, and found this commit:
>
> changeset: 9344:aa3a67b658e8
> parent: 9296:e2a8b9b9c294
> user: Manu Abraham <manu@linuxtv.org>
> date: Tue Oct 14 23:34:07 2008 +0400
> summary: DVB-Core update
>
> http://linuxtv.org/hg/v4l-dvb/rev/aa3a67b658e8
>
> It basically did update the dvb-kernel-thread and enhanced the code using
> get_frontend_algo.
>
> The codepath when get_frontend_algo returns *_ALGO_HW stayed the same, only
> one line got removed: params = &fepriv->parameter
>
> Just re-adding that line made my card working again. Either this was lost, or
> the last two lines using "params" should also be converted to directly
> use "&fepriv->parameters".
True. In the port, the one line got missed out. Thanks for taking the
time to look at it.
BTW, i don't see any reason why cx24123 should be using HW_ALGO as it is
a standard demodulator. When we have a dedicated microcontroller
employed to do that check, we might like to use HW_ALGO, since it would
simply handle it. Not in the case of standard demodulators. As an
example i could say cinergyT2, dst etc would be candidates for HW_ALGO,
where tuning is offloaded to a onboard microcontroller.
But overall, the fix looks fine though, for the devices that make use of
HW_ALGO
Please do have a Signed-off-by line so that it can be applied.
Reviewed-by: Manu Abraham <manu@linuxtv.org>
Thanks,
Manu
> ------------------------------------------------------------------------
>
> --- v4l-dvb.orig/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
> +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
> @@ -584,6 +584,7 @@ restart:
>
> if (fepriv->state & FESTATE_RETUNE) {
> dprintk("%s: Retune requested, FESTATE_RETUNE\n", __func__);
> + params = &fepriv->parameters;
> fepriv->state = FESTATE_TUNED;
> }
>
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123
2008-10-27 19:41 ` Manu Abraham
@ 2008-10-27 19:50 ` Matthias Schwarzott
2008-10-27 19:59 ` Manu Abraham
0 siblings, 1 reply; 4+ messages in thread
From: Matthias Schwarzott @ 2008-10-27 19:50 UTC (permalink / raw)
To: linux-dvb; +Cc: Manu Abraham
On Montag, 27. Oktober 2008, Manu Abraham wrote:
> Hi Mathias,
>
Hi Manu!
> Matthias Schwarzott wrote:
> > Hi Manu, hi Steven!
> >
> > It seems an update of dvb-core breaks tuning of cx24123.
> > After updating to latest v4l-dvb the nova-s plus card just did no longer
> > lock to any channel. So I bisected it, and found this commit:
> >
> > changeset: 9344:aa3a67b658e8
> > parent: 9296:e2a8b9b9c294
> > user: Manu Abraham <manu@linuxtv.org>
> > date: Tue Oct 14 23:34:07 2008 +0400
> > summary: DVB-Core update
> >
> > http://linuxtv.org/hg/v4l-dvb/rev/aa3a67b658e8
> >
> > It basically did update the dvb-kernel-thread and enhanced the code using
> > get_frontend_algo.
> >
> > The codepath when get_frontend_algo returns *_ALGO_HW stayed the same,
> > only one line got removed: params = &fepriv->parameter
> >
> > Just re-adding that line made my card working again. Either this was
> > lost, or the last two lines using "params" should also be converted to
> > directly use "&fepriv->parameters".
>
> True. In the port, the one line got missed out. Thanks for taking the
> time to look at it.
>
> BTW, i don't see any reason why cx24123 should be using HW_ALGO as it is
> a standard demodulator. When we have a dedicated microcontroller
> employed to do that check, we might like to use HW_ALGO, since it would
> simply handle it. Not in the case of standard demodulators. As an
> example i could say cinergyT2, dst etc would be candidates for HW_ALGO,
> where tuning is offloaded to a onboard microcontroller.
>
I dont have much insight in what these algo settings do. Only idea I have
about this is: cx24123 may not need software zigzag.
If that gives a larger gain in lock-speed, then mt312 may also be a candidate
for ALGO_HW as it can lock to signals not exactly centered to the IF.
But I doubt, as that hw then should lock at the first try and not even trigger
zigzag steps.
> But overall, the fix looks fine though, for the devices that make use of
> HW_ALGO
>
>
> Please do have a Signed-off-by line so that it can be applied.
>
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
> Reviewed-by: Manu Abraham <manu@linuxtv.org>
>
> Thanks,
> Manu
>
> > ------------------------------------------------------------------------
> >
> > --- v4l-dvb.orig/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
> > +++ v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
> > @@ -584,6 +584,7 @@ restart:
> >
> > if (fepriv->state & FESTATE_RETUNE) {
> > dprintk("%s: Retune requested, FESTATE_RETUNE\n", __func__);
> > + params = &fepriv->parameters;
> > fepriv->state = FESTATE_TUNED;
> > }
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123
2008-10-27 19:50 ` Matthias Schwarzott
@ 2008-10-27 19:59 ` Manu Abraham
0 siblings, 0 replies; 4+ messages in thread
From: Manu Abraham @ 2008-10-27 19:59 UTC (permalink / raw)
To: Matthias Schwarzott; +Cc: linux-dvb
Matthias Schwarzott wrote:
> On Montag, 27. Oktober 2008, Manu Abraham wrote:
>> Hi Mathias,
>>
> Hi Manu!
>
>> Matthias Schwarzott wrote:
>>> Hi Manu, hi Steven!
>>>
>>> It seems an update of dvb-core breaks tuning of cx24123.
>>> After updating to latest v4l-dvb the nova-s plus card just did no longer
>>> lock to any channel. So I bisected it, and found this commit:
>>>
>>> changeset: 9344:aa3a67b658e8
>>> parent: 9296:e2a8b9b9c294
>>> user: Manu Abraham <manu@linuxtv.org>
>>> date: Tue Oct 14 23:34:07 2008 +0400
>>> summary: DVB-Core update
>>>
>>> http://linuxtv.org/hg/v4l-dvb/rev/aa3a67b658e8
>>>
>>> It basically did update the dvb-kernel-thread and enhanced the code using
>>> get_frontend_algo.
>>>
>>> The codepath when get_frontend_algo returns *_ALGO_HW stayed the same,
>>> only one line got removed: params = &fepriv->parameter
>>>
>>> Just re-adding that line made my card working again. Either this was
>>> lost, or the last two lines using "params" should also be converted to
>>> directly use "&fepriv->parameters".
>> True. In the port, the one line got missed out. Thanks for taking the
>> time to look at it.
>>
>> BTW, i don't see any reason why cx24123 should be using HW_ALGO as it is
>> a standard demodulator. When we have a dedicated microcontroller
>> employed to do that check, we might like to use HW_ALGO, since it would
>> simply handle it. Not in the case of standard demodulators. As an
>> example i could say cinergyT2, dst etc would be candidates for HW_ALGO,
>> where tuning is offloaded to a onboard microcontroller.
>>
> I dont have much insight in what these algo settings do. Only idea I have
> about this is: cx24123 may not need software zigzag.
Ok, should be fine, if that's the case. software zigzag is one thing,
another is lock monitoring, ie: if LOCK fails, it should autotune by
itself; similar to FE_CAN_RECOVER.
Though it brings the disadvantge to the cx24123 driver that it will not
try to reacquire a LOCK when LOCK fails for some unreason such as a
signal dropuot etc, when using HW_ALGO: might cause not to regain a
LOCK, would be a side effect, if it is incapable of doing a hardware
based LOCK monitor.
> If that gives a larger gain in lock-speed, then mt312 may also be a candidate
> for ALGO_HW as it can lock to signals not exactly centered to the IF.
> But I doubt, as that hw then should lock at the first try and not even trigger
> zigzag steps.
I don't think the MT312 does support either of the mentioned. Or does it
? Didn't take the time to look at the datasheet.
Regards,
Manu
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-10-27 19:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-27 19:23 [linux-dvb] commit 9344:aa3a67b658e8 (DVB-Core update) breaks tuning of cx24123 Matthias Schwarzott
2008-10-27 19:41 ` Manu Abraham
2008-10-27 19:50 ` Matthias Schwarzott
2008-10-27 19:59 ` Manu Abraham
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox