All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hartmut Hackmann <hartmut.hackmann@t-online.de>
To: Francesco <ml@punkrockworld.it>
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] unstable tda1004x firmware loading
Date: Fri, 20 Jun 2008 00:49:42 +0200	[thread overview]
Message-ID: <485AE286.8070201@t-online.de> (raw)
In-Reply-To: <48593F57.7090809@punkrockworld.it>

HI, Francesco

Francesco schrieb:
> Hartmut Hackmann ha scritto:
>  > Hi, Francesco
>  >
>  > Francesco schrieb:
>  >>> Looks like there currently are many people having problems. Allow
>  >>>  me to give some background info:
>  >>>
>  >>> Something that is not in the datasheet: The tda10046
>  >>> automatically tries to load the firmware from an eeprom at the
>  >>> second I2C port. This does *not* need to be triggered by the
>  >>> driver. The timeout seems to be very long. In the past, this
>  >>> happened: If the driver tries to access the tuner while the
>  >>> download is not finished, there is a collision on the I2C bus.
>  >>> This can corrupt both, the firmware and the tuner initialization.
>  >>>  In the case of the tda8275a, the result can be that it turns off
>  >>>  its 16MHz reference output which is used for the tda10046 as
>  >>> well. This blocks the i2c bus and the only way to recover is a
>  >>> complete power cycle. This is why i made the driver try to get
>  >>> the firmware as soon as possible. Otherwise it is not possible to
>  >>>  access the tuner - at least on some boards.
>  >>>
>  >>> Few days ago, a user reported that the firmware download seems to
>  >>>  be retriggered in some cases. This might occur if something
>  >>> opens the dvb device while the download is not finished. If it is
>  >>>  the case, we need to lock the download. Another dangerous thing
>  >>> is the address mapping of the firmware eeprom: it is controlled
>  >>> by a GPIO pin. If this pin changes while the download is running,
>  >>>  we are lost.
>  >>>
>  >>> Best regards Hartmut
>  >>
>  >> I've found a little workaround (not a solution, but...) for this
>  >> problem for my Asus7131H...
>  >>
>  >> Simply adding "saa7134-dvb" to /etc/modules, make a successful
>  >> firmware loading on boot. (My system is an Ubuntu 7.10)
>  >>
>  >>
>  > Could you post the relevant sections of the kernel log for both
>  > cases, successful and unsuccessful firmware load? Please extract the
>  >  entire board initialization. Also: do you run a client / server
>  > based application (with early start of the server)?
>  >
>  > Hartmut
>  >
>  >
> 
> 
> These are extract of boot log for "saa" and "tda" text... later I'll send
> all system logs in both cases.
> 
> 
> Relevant row for "tda" part seems is:
> "[   54.297295] tda1004x: setting up plls for 48MHz sampling clock"
> the second one, wich prevent on my opinion, to load firmware correctly.
> 
> 
Yes, this is what i meant!  Looks like we need to "lock" the initialization
procedure. I haven't done such things before so i need to do a little research
first.

> 
> tda / before:
> [   35.412245] tda829x 0-004b: setting tuner address to 61
> [   35.492199] tda829x 0-004b: type set to tda8290+75a
> [   39.621806] tda1004x: setting up plls for 48MHz sampling clock
> [   41.912490] tda1004x: found firmware revision 0 -- invalid
> [   41.912495] tda1004x: trying to boot from eeprom
> [   44.283116] tda1004x: found firmware revision 0 -- invalid
> [   44.283122] tda1004x: waiting for firmware upload...
> [   54.297295] tda1004x: setting up plls for 48MHz sampling clock
> [   56.583964] tda1004x: found firmware revision 0 -- invalid
> [   56.583968] tda1004x: trying to boot from eeprom
> [   58.950592] tda1004x: found firmware revision 0 -- invalid
> [   58.950597] tda1004x: waiting for firmware upload...
> [   71.443661] tda1004x: found firmware revision 0 -- invalid
> [   71.443665] tda1004x: firmware upload failed
> [   73.543492] tda1004x: found firmware revision 80 -- invalid
> [   73.543496] tda1004x: firmware upload failed
> 
> tda / after:
> [   35.101428] tda829x 0-004b: setting tuner address to 61
> [   35.185381] tda829x 0-004b: type set to tda8290+75a
> [   39.295055] tda1004x: setting up plls for 48MHz sampling clock
> [   41.581753] tda1004x: found firmware revision 0 -- invalid
> [   41.581756] tda1004x: trying to boot from eeprom
> [   43.948412] tda1004x: found firmware revision 0 -- invalid
> [   43.948415] tda1004x: waiting for firmware upload...
> [   56.405359] tda1004x: found firmware revision 20 -- ok
> [   71.360886] tda1004x: setting up plls for 48MHz sampling clock
> [   71.664713] tda1004x: found firmware revision 20 -- ok
> 
> 

<snip>
Thanks for the info!

Best regards
   Hartmut

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

  reply	other threads:[~2008-06-19 22:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-16 11:37 unstable tda1004x firmware loading timf
     [not found] ` <200806161343.16372.eggert@hugsaser.is>
2008-06-16 23:58   ` [linux-dvb] " Hartmut Hackmann
2008-06-17 14:51     ` Francesco
2008-06-17 20:44       ` Hartmut Hackmann
2008-06-18 17:01         ` Francesco
2008-06-19 22:49           ` Hartmut Hackmann [this message]
2008-06-19 21:05         ` Francesco
2008-06-19  9:03 ` timf
2008-06-19 23:21   ` [linux-dvb] " Hartmut Hackmann

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=485AE286.8070201@t-online.de \
    --to=hartmut.hackmann@t-online.de \
    --cc=linux-dvb@linuxtv.org \
    --cc=ml@punkrockworld.it \
    /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.