public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] e4000: fix PLL calc error in 32-bit arch
       [not found] <1378138669-22302-1-git-send-email-crope@iki.fi>
@ 2013-09-02 16:26 ` Antti Palosaari
  2013-09-02 19:08   ` Jan Taegert
  2013-09-02 19:14   ` Jacek Konieczny
  0 siblings, 2 replies; 3+ messages in thread
From: Antti Palosaari @ 2013-09-02 16:26 UTC (permalink / raw)
  Cc: linux-media, Jacek Konieczny, Torsten Seyffarth, Jan Taegert,
	Damien CABROL

Testers?

Here is tree:
http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/e4000_fix_3.11

I assume all of you have been running 32-bit arch as that bug is related 
to 32-bit overflow.

regards
Antti


On 09/02/2013 07:17 PM, Antti Palosaari wrote:
> Fix long-lasting error that causes tuning failure to some frequencies
> on 32-bit arch.
>
> Special thanks goes to Damien CABROL who finally find root of the bug.
> Also big thanks to Jacek Konieczny for donating non-working device.
>
> Reported-by: Jacek Konieczny <jajcus@jajcus.net>
> Reported-by: Torsten Seyffarth <t.seyffarth@gmx.de>
> Reported-by: Jan Taegert <jantaegert@gmx.net>
> Reported-by: Damien CABROL <cabrol.damien@free.fr>
> Tested-by: Damien CABROL <cabrol.damien@free.fr>
> Signed-off-by: Antti Palosaari <crope@iki.fi>
> ---
>   drivers/media/tuners/e4000.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/tuners/e4000.c b/drivers/media/tuners/e4000.c
> index 1b33ed3..a88f757 100644
> --- a/drivers/media/tuners/e4000.c
> +++ b/drivers/media/tuners/e4000.c
> @@ -232,7 +232,7 @@ static int e4000_set_params(struct dvb_frontend *fe)
>   	 * or more.
>   	 */
>   	f_VCO = c->frequency * e4000_pll_lut[i].mul;
> -	sigma_delta = 0x10000UL * (f_VCO % priv->cfg->clock) / priv->cfg->clock;
> +	sigma_delta = div_u64(0x10000ULL * (f_VCO % priv->cfg->clock), priv->cfg->clock);
>   	buf[0] = f_VCO / priv->cfg->clock;
>   	buf[1] = (sigma_delta >> 0) & 0xff;
>   	buf[2] = (sigma_delta >> 8) & 0xff;
>


-- 
http://palosaari.fi/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] e4000: fix PLL calc error in 32-bit arch
  2013-09-02 16:26 ` [PATCH] e4000: fix PLL calc error in 32-bit arch Antti Palosaari
@ 2013-09-02 19:08   ` Jan Taegert
  2013-09-02 19:14   ` Jacek Konieczny
  1 sibling, 0 replies; 3+ messages in thread
From: Jan Taegert @ 2013-09-02 19:08 UTC (permalink / raw)
  To: Antti Palosaari
  Cc: linux-media, Jacek Konieczny, Torsten Seyffarth, Damien CABROL

Thanks! Works like a charm here with TerraTec Cinergy T Stick RC (Rev. 
3). And you're right, I'm running 32-bit.

Regards,
jan.


Am 02.09.2013 18:26, schrieb Antti Palosaari:
> Testers?
>
> Here is tree:
> http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/e4000_fix_3.11
>
>
> I assume all of you have been running 32-bit arch as that bug is related
> to 32-bit overflow.
>
> regards
> Antti
>
>
> On 09/02/2013 07:17 PM, Antti Palosaari wrote:
>> Fix long-lasting error that causes tuning failure to some frequencies
>> on 32-bit arch.
>>
>> Special thanks goes to Damien CABROL who finally find root of the bug.
>> Also big thanks to Jacek Konieczny for donating non-working device.
>>
>> Reported-by: Jacek Konieczny <jajcus@jajcus.net>
>> Reported-by: Torsten Seyffarth <t.seyffarth@gmx.de>
>> Reported-by: Jan Taegert <jantaegert@gmx.net>
>> Reported-by: Damien CABROL <cabrol.damien@free.fr>
>> Tested-by: Damien CABROL <cabrol.damien@free.fr>
>> Signed-off-by: Antti Palosaari <crope@iki.fi>
>> ---
>>   drivers/media/tuners/e4000.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/tuners/e4000.c b/drivers/media/tuners/e4000.c
>> index 1b33ed3..a88f757 100644
>> --- a/drivers/media/tuners/e4000.c
>> +++ b/drivers/media/tuners/e4000.c
>> @@ -232,7 +232,7 @@ static int e4000_set_params(struct dvb_frontend *fe)
>>        * or more.
>>        */
>>       f_VCO = c->frequency * e4000_pll_lut[i].mul;
>> -    sigma_delta = 0x10000UL * (f_VCO % priv->cfg->clock) /
>> priv->cfg->clock;
>> +    sigma_delta = div_u64(0x10000ULL * (f_VCO % priv->cfg->clock),
>> priv->cfg->clock);
>>       buf[0] = f_VCO / priv->cfg->clock;
>>       buf[1] = (sigma_delta >> 0) & 0xff;
>>       buf[2] = (sigma_delta >> 8) & 0xff;
>>
>
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] e4000: fix PLL calc error in 32-bit arch
  2013-09-02 16:26 ` [PATCH] e4000: fix PLL calc error in 32-bit arch Antti Palosaari
  2013-09-02 19:08   ` Jan Taegert
@ 2013-09-02 19:14   ` Jacek Konieczny
  1 sibling, 0 replies; 3+ messages in thread
From: Jacek Konieczny @ 2013-09-02 19:14 UTC (permalink / raw)
  To: Antti Palosaari
  Cc: linux-media, Torsten Seyffarth, Jan Taegert, Damien CABROL

On Mon, 02 Sep 2013 19:26:21 +0300
Antti Palosaari <crope@iki.fi> wrote:

> Testers?
> 
> Here is tree:
> http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/e4000_fix_3.11
> 
> I assume all of you have been running 32-bit arch as that bug is
> related to 32-bit overflow.

I have no device to test now. But, yes, I was using 32-bit arch.

Thanks to you and Damien for finding and fixing this.

Greets,
	Jacek

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-02 19:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1378138669-22302-1-git-send-email-crope@iki.fi>
2013-09-02 16:26 ` [PATCH] e4000: fix PLL calc error in 32-bit arch Antti Palosaari
2013-09-02 19:08   ` Jan Taegert
2013-09-02 19:14   ` Jacek Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox