All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: "Mirek Slugeň" <thunder.m@email.cz>
Cc: linux-dvb@linuxtv.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jirislaby@gmail.com>
Subject: Re: PATCH: Leadtek DTVb1800H require longer delay for tuner reset
Date: Mon, 21 Mar 2011 09:44:31 +0100	[thread overview]
Message-ID: <4D870FEF.6040009@suse.cz> (raw)
In-Reply-To: <4D867A0C.7050809@email.cz>

On 03/20/2011 11:05 PM, Mirek Slugeň wrote:
> Hi,
> 
>     I am using alot of tuners Leadtek DTV1800H under Linux, minimum 5
> devices per one PC with kernel 2.6.37.4. I discovered bug which I can se
> very often but not always. When device tuner is reseted there is not
> enough time to do all needed stuff and sometimes (randomly) kernel show
> this message:
> 
> [  821.369647] cx88[0]/1: IRQ loop detected, disabling interrupts
> 
> Patch is again very simple, we need to adjust time in reset function
> after cx_clear and cx_set calls from 50 to 75 us. I tested this patch on
> 4 PC with similar problems and all are without this issue.
> 
> M. Slugen
> 
> 
> kernel_cx88_reset.diff
> 
> 
> diff -Naur linux-2.6.37.4.old//drivers/media/video/cx88/cx88-cards.c linux-2.6.37.4/drivers/media/video/cx88/cx88-cards.c
> --- linux-2.6.37.4.old//drivers/media/video/cx88/cx88-cards.c	2011-03-20 21:30:52.000000000 +0100
> +++ linux-2.6.37.4/drivers/media/video/cx88/cx88-cards.c	2011-03-20 22:25:54.710228001 +0100
> @@ -3019,9 +3019,9 @@
>  		cx_set(MO_GP1_IO, 0x1010);
>  		mdelay(50);
>  		cx_clear(MO_GP1_IO, 0x10);
> -		mdelay(50);
> +		mdelay(75);
>  		cx_set(MO_GP1_IO, 0x10);
> -		mdelay(50);
> +		mdelay(75);

Wow, 75 ms of busy-waiting. Since others use msleep, all these should be
converted to msleep too. Or is this an atomic context, so that the
others are broken (e.g. cx88_dvico_xc2028_callback)?

Also for instance I don't understand this code:
                cx_write(MO_GP2_IO, 0xcf7);
                mdelay(50);
                cx_write(MO_GP2_IO, 0xef5);
                mdelay(50);
                cx_write(MO_GP2_IO, 0xcf7);
                msleep(10);

Delays of 50 ms and sleep of 10 ms? Given [um]delay spin _at least_ the
time specified, what was the intention of this?

regards,
-- 
js
suse labs

      reply	other threads:[~2011-03-21  8:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-20 22:05 PATCH: Leadtek DTVb1800H require longer delay for tuner reset Mirek Slugeň
2011-03-20 22:05 ` [linux-dvb] " Mirek Slugeň
2011-03-21  8:44 ` Jiri Slaby [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D870FEF.6040009@suse.cz \
    --to=jslaby@suse.cz \
    --cc=jirislaby@gmail.com \
    --cc=linux-dvb@linuxtv.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=thunder.m@email.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.