Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: AMD64 and DVB



Hello again Max,

Yes, all full-featured cards have a SAA7146. Even some budget cards have 
it. This is a multi-purpose PCI bridge. Offers DEBI and I2C interface to 
the rest of the chips. The TMS3200AV7110 is the DSP/CPU/MPEGDEC (this 
chip makes the difference between a budget and full-featured card) and 
is connected to the SAA via DEBI interface. The rest of the components 
are the demodulator (sometimes refered as frontend) and tunner - these 
are connected to the SAA via I2C and connected to the TMS via a single 
bitstream line.

Having this, here is something important:
Firmware loading is totally different from the 2.4 and 2.6 kernel (one 
of those big different parts). 2.4 kernel does not support 
firmware-hotplug so, when you are compiling for it, a #define 
CONFIG_DVB_AV7110_FIRMWARE_FILE kicks in. As you can see in av7110.c, 
this overrides the new method of loading firmare and uses the 
traditional aproach: #include av7110_firm.h ... which has the formware 
file written as an array in C.


a) the code for firmware hotplug may be messy in 64bit terms.
b) maybe you are not running the firware-hotplug-deamon propperly. Take 
another look @ README-2.6. There is a "*Pitfall* section there...

... as that same README-2.6 file illustrates, even in 2.6 kernel you are 
not obligated to use firmware-hotplug! You can revert to the traditional 
include method to eliminate the eventual problem in this area.


Cheers,
PJ



Max Nickel wrote:

>Hi, it's me again :)
>
>im wondering if you have also a card with saa7146 chip on it. Because it
>looks like that the bug i'm experiencing is caused by saa7146_core.c's 
>saa7146_wait_for_debi_done function.
>I didn't like to install 2.4 series yet ;) so i digged around in the
>source code on my own (wanted to get familiar with kernel programming
>anyway :)). Maybe i'm completly wrong, but i think i tracked the bug to
>that paticular function.
>It looks like the firmware is never written into the cards DRAM, as the
>av7110_debiwrite (in av7110_hw.c) function fails everytime on
>wait_debi_bla.
>So the firmware is actually never written into the dram, or am i
>completly wrong here ?
>
>here's the dmesg output with some debug-statements added by me:
>dvb_ttpci: load_dram(): Writing DRAM block 72
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>dvb_ttpci: waitdebi(): av7110: 000001001f5f0000
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>dvb_ttpci: waitdebi(): av7110: 000001001f5f0000
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>dvb_ttpci: waitdebi(): av7110: 000001001f5f0000
>saa7146: saa7146_wait_for_debi_done(): timed out while waiting for
>transfer completion
>dvb_ttpci: waitdebi(): av7110 irdebi state: 0
>dvb_ttpci: load_dram(): av7110: waitdebi on BOOT_COMPLETE FAILED
>dvb_ttpci: av7110_bootarm(): av7110: load_dram FAILED
>dvb_ttpci: av7110_firmversion(): av7110: 000001001f5f0000
>dvb_ttpci: av7110_fw_request(): av7110: 000001001f5f0000
>dvb_ttpci: av7110_fw_request(): arm not ready.
>av7110_fw_query error
>
>right now, i'm not quite sure how to go on, so i thought i might contact
>you 
>
>cheers and thanks for your help
>/max
>
>Am Do, den 19.02.2004 schrieb Pedro Miguel Sequeira de Justo Teixeira um
>18:20:
>
>>Hi there,
>>
>>"DVB works fine with 2.6" is a complicated affirmation... is like saying that "IP works on 2.6". Sure it does! However that doesn't say much about individual net card support. As far as I understood, Gerd tried a budget card and as it looks by your trace, your problem is not on the "dvb code" but on your specific card driver (nexus premium card).
>>
>>I cannot ask you again to do kernel debug to find out where the memory pointers got bezerk. You already told me you were not keen on that. So, the only thing I can ask you is to help me in reducing your problem to the smallest expression! The av7110 module differs considerably in compilation from a 2.4 and 2.6 kernel. Knowing that I have a 64bit (although not amd) system with a card like yours running 100% in 2.4, what looks like being the option to get it running with less risk? It is my experience that one finds better problem origin by going from a "works" situation to a "not working anymore" situation. The reverse, while possible, without the debugging option in hand, will very easily become "shooting ducks".
>>
>>This does not mean I (we) will not try to help you if you keep with 2.6! It would make my life easier... but I think we already exchanged more mails about the validity of the test in 2.4 than about the problem itself ;-) ...
>>
>>Cheers,
>>PJ
>>
>>PS: I will soon try 2.6 kernel again... but last time I checked, it did not even compiled straight on alpha :-(
>>
>>
>>-----Original Message-----
>>From: linux-dvb-bounce@linuxtv.org [mailto:linux-dvb-bounce@linuxtv.org] On Behalf Of Max Nickel
>>Sent: quinta-feira, 19 de Fevereiro de 2004 13:13
>>To: Pedro Miguel Sequeira de Justo Teixeira
>>Cc: linux-dvb@linuxtv.org
>>Subject: [linux-dvb] Re: AMD64 and DVB
>>
>>Sorry that i'm answering that late, but i was bit busy with university
>>the last days.
>>
>>Well i can try to check it out with 2.4 Series and dvb-1.1.0 but i don't
>>know if all my hardware works so well with 2.4. Second, as Gerd said,
>>DVB works fine with 2.6 and isnt dvb-1.1.0 in kernel 2.6.3 ? 
>>
>>Anyway as i compiled 2.6.3 today i noticed a warning that i missed so
>>far in saa7146_hlp.c:
>>
>>drivers/media/common/saa7146_hlp.c: In Funktion »saa7146_set_position«:
>>drivers/media/common/saa7146_hlp.c:569: Warnung: cast from pointer to
>>integer of different size
>>
>>Might this cause my problems perhaps ? (Comment above the function says
>>it calculates some memory offsets)
>>
>>so long
>>/max
>>
>>Am Mo, den 16.02.2004 schrieb Pedro Miguel Sequeira de Justo Teixeira um
>>11:10:
>>
>>>	It was already made clear that all the problems this college is facing are
>>>located on av7110 module. The fact a budget card works on amd64 in 2.6 becomes
>>>a bit irrelevant.
>>>
>>>	I have an av7110 a card in a 64bit system with 2.4 kernel working. Although
>>>the problem may not be related to kernel version, the best way I can help it
>>>to have the most common ground (both kernel version and build tree).
>>>
>>>	Cheers,
>>>PJ
>>>
>>>
>>>-----Original Message-----
>>>From: linux-dvb-bounce@linuxtv.org [mailto:linux-dvb-bounce@linuxtv.org] On
>>>Behalf Of Gerd Knorr
>>>Sent: segunda-feira, 16 de Fevereiro de 2004 08:38
>>>To: linux-dvb@linuxtv.org
>>>Subject: [linux-dvb] Re: AMD64 and DVB
>>>
>>>"Pedro Miguel Sequeira de Justo Teixeira" <pmsjt@warner.homeip.net> writes:
>>>
>>>>	Hello Max,
>>>>
>>>>	In order to reduce the number of variables in hand, I would like to ask you
>>>>please to proceed with testing in the following way (this will take you as
>>>>close as my config as possible, and being my machine also 64bit, things may
>>>>become easier to analyze):
>>>>
>>>Just FYI, to reduce the number of variables: the DVB subsystem in 2.6
>>>works just fine with my amd64 machine (TT-Budget card with TDA10045H
>>>frontend), so this very likely is a driver specific issue.
>>>
>>>  Gerd
>>>
>>>
>>


Attachment: smime.p7s
Description: application/pkcs7-signature


Home | Main Index | Thread Index