Re: firewire-ohci fails to initialize Texas Instruments XIO2213A/B/XIO2221 based controller on realtime kernels [5.4.91-rt50, 5.10.8-rt24]

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

 



On 12.09.21 20:53, David Runge wrote:

Thanks at any rate to look into this! It is much appreciated!

Is there anything further I can try to debug this using threadirqs? It
would be really amazing to be able to use this device on PREEMPT_RT
again (especially given that now the ALSA driver has improved so
drastically). :)

Best,
David



Hi,
since a processor and BIOS update I ran into the same problems as David.

* former processor alt: AMD Ryzen 2 0600X 6-Core
* new processor neu: AMD Ryzen 7 3700X 8-Core Processor
* kernel (Ubuntu): 5.4.0-91-lowlatency #102-Ubuntu SMP PREEMPT Fri Nov 5 18:18:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
* chipset: AMD B450
* firewire card:
05:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01) (prog-if 10 [OHCI])
        Subsystem: Device 3412:7856
        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 36
        Memory at fc204000 (32-bit, non-prefetchable) [size=2K]
        Memory at fc200000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 3
        Kernel modules: firewire_ohci

I did not change the kernel version - it worked before upgrading the processor and BIOS with the same kernel!

Now jack or alternatively "ffado-test Discover" immediately get zombified when I try to start them.
In addition to Davids findings a can add the following:
Under some weird circumstances I got the card to work (once immediately after loading BIOS to defaults and three times after an unsuccessful try to downgrade the BIOS). Appended are two dmesg outputs one in which the card is initialized correctly [1], one in which the card did not work [2]. Another finding was, that after the driver was trying some time to read the config ROM, it gave up and, did a bus reset and everything was fine [3].

I just have build the kernel modules with some mor debugging output. So if there's something I should try, just give me intructions ;-)

Holger

[1]
https://cloud.dehnhardt.org/s/Z7jwqT9y3x6JgbE

[2]
https://cloud.dehnhardt.org/s/GAm2MjSqdbYDcod

[3]
[Mo Jan 3 18:41:53 2022] firewire_ohci 0000:05:00.0: added OHCI v1.10 device as card 0, 8 IR + 8 IT contexts, quirks 0x2 [Mo Jan 3 18:41:53 2022] firewire_core 0000:05:00.0: created device fw0: GUID 7856341278563412, S800 [Mo Jan 3 18:41:53 2022] firewire_core 0000:05:00.0: phy config: new root=ffc1, gap_count=5 [Mo Jan 3 18:45:59 2022] Workqueue: firewire fw_device_workfn [firewire_core]
[Mo Jan 3 18:45:59 2022] fw_run_transaction+0xdc/0x110 [firewire_core]
[Mo Jan 3 18:45:59 2022] ? fw_core_handle_bus_reset+0x440/0x440 [firewire_core]
[Mo Jan 3 18:45:59 2022] ? close_transaction+0x110/0x110 [firewire_core]
[Mo Jan 3 18:45:59 2022] ? transmit_phy_packet_callback+0x20/0x20 [firewire_core]
[Mo Jan 3 18:45:59 2022] read_rom+0x5e/0xa0 [firewire_core]
[Mo Jan 3 18:45:59 2022] read_config_rom+0x8b/0x3d0 [firewire_core]
[Mo Jan 3 18:45:59 2022] fw_device_init+0x35/0x320 [firewire_core]
[Mo Jan 3 18:45:59 2022] fw_device_workfn+0x12/0x20 [firewire_core]
[snip...]
[Mo Jan 3 19:04:25 2022] Workqueue: firewire fw_device_workfn [firewire_core]
[Mo Jan 3 19:04:25 2022] fw_run_transaction+0xdc/0x110 [firewire_core]
[Mo Jan 3 19:04:25 2022] ? fw_core_handle_bus_reset+0x440/0x440 [firewire_core]
[Mo Jan 3 19:04:25 2022] ? close_transaction+0x110/0x110 [firewire_core]
[Mo Jan 3 19:04:25 2022] ? transmit_phy_packet_callback+0x20/0x20 [firewire_core]
[Mo Jan 3 19:04:25 2022] read_rom+0x5e/0xa0 [firewire_core]
[Mo Jan 3 19:04:25 2022] read_config_rom+0x8b/0x3d0 [firewire_core]
[Mo Jan 3 19:04:25 2022] fw_device_init+0x35/0x320 [firewire_core]
[Mo Jan 3 19:04:25 2022] fw_device_workfn+0x12/0x20 [firewire_core]
[Mo Jan 3 21:03:50 2022] firewire_core 0000:05:00.0: giving up on node ffc0: reading config rom failed: bus reset
[Mo Jan 3 21:03:51 2022] firewire_core 0000:05:00.0: rediscovered device fw0
[Mo Jan 3 21:03:56 2022] firewire_core 0000:05:00.0: rediscovered device fw0
[Mo Jan 3 21:03:56 2022] firewire_core 0000:05:00.0: phy config: new root=ffc1, gap_count=5 [Mo Jan 3 21:04:01 2022] firewire_core 0000:05:00.0: created device fw1: GUID 000ff20400001d98, S400



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux