[haiku-bugs] Re: [Haiku] #16778: Problem with SDHC

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 02 May 2021 08:52:16 -0000

#16778: Problem with SDHC
-------------------------------+------------------------
  Reporter:  AlienSoldier      |      Owner:  pulkomandy
      Type:  bug               |     Status:  new
  Priority:  high              |  Milestone:  R1/beta3
 Component:  Drivers/Disk/MMC  |    Version:  R1/beta2
Resolution:                    |   Keywords:
Blocked By:                    |   Blocking:
  Platform:  All               |
-------------------------------+------------------------
Comment (by pulkomandy):

 Replying to [comment:22 korli]:

ACPICA tries to update io-apic routing for this device but fails (I
 don't know what to do with this):

KERN: failed to update interrupt_line for PCI 6:4 mask 1

 This has a function mask of 1 (function 0, mask = 1 << 0), but I'm
 interested in function 4 (mask 10 = 1 << 4).

 Here is a larger extract of the log with all the functions provided by
 this device:

 {{{
 KERN: PCI: [dom 0, bus  6] bus   6, device  4, function  0: vendor 104c,
 device 8031, revision 00
 KERN: PCI:   class_base 06, class_function 07, class_api 00
 KERN: PCI:   vendor 104c: Texas Instruments
 KERN: PCI:   device 8031: PCIxx21/PCIxx11/PCIx515 PC Card Controller
 KERN: PCI:   info: Bridge (CardBus bridge)
 KERN: PCI:   line_size 08, latency 40, header_type 82, BIST 00
 KERN: PCI:   subsystem_id ff00, subsystem_vendor_id 1179
 KERN: PCI:   primary_bus 06, secondary_bus 07, subordinate_bus 07,
 secondary_latency 24
 KERN: PCI:   bridge_control 0344, secondary_status 0200
 KERN: PCI:   memory_base_upper32  00000000, memory_base  00000000
 KERN: PCI:   memory_limit_upper32 00000000, memory_limit 00000000
 KERN: PCI:   io_base_upper32  00000000, io_base  00000000
 KERN: PCI:   io_limit_upper32 00000000, io_limit 00000000
 KERN: PCI:   Capabilities: PM
 KERN: PCI: [dom 0, bus  6] bus   6, device  4, function  2: vendor 104c,
 device 8032, revision 00
 KERN: PCI:   class_base 0c, class_function 00, class_api 10
 KERN: PCI:   vendor 104c: Texas Instruments
 KERN: PCI:   device 8032: OHCI Compliant IEEE 1394 Host Controller
 KERN: PCI:   info: Serial bus controller (FireWire (IEEE 1394), OHCI)
 KERN: PCI:   line_size 08, latency 20, header_type 80, BIST 00
 KERN: PCI:   ROM base host 00000000, pci 00000000, size 00000000
 KERN: PCI:   cardbus_CIS 00000000, subsystem_id ff00, subsystem_vendor_id
 1179
 KERN: PCI:   interrupt_line 0b, interrupt_pin 03, min_grant 02,
 max_latency 04
 KERN: PCI:   base reg 0: host bc006800, pci bc006800, size 00000800, flags
 00
 KERN: PCI:   base reg 1: host bc000000, pci bc000000, size 00004000, flags
 00
 KERN: PCI:   base reg 2: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 3: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 4: host 00000000, pci 00000000, size 00000000,
 fKERN: lags 00
 KERN: PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   Capabilities: PM
 KERN: PCI: [dom 0, bus  6] bus   6, device  4, function  3: vendor 104c,
 device 8033, revision 00
 KERN: PCI:   class_base 01, class_function 80, class_api 00
 KERN: PCI:   vendor 104c: Texas Instruments
 KERN: PCI:   device 8033: PCIxx21/PCIxx11 Flash Media Controller
 KERN: PCI:   info: Mass storage controller
 KERN: PCI:   line_size 08, latency 39, header_type 80, BIST 00
 KERN: PCI:   ROM base host 00000000, pci 00000000, size 00000000
 KERN: PCI:   cardbus_CIS 00000000, subsystem_id ff05, subsystem_vendor_id
 1179
 KERN: PCI:   interrupt_line 0a, interrupt_pin 02, min_grant 07,
 max_latency 04
 KERN: PCI:   base reg 0: host bc004000, pci bc004000, size 00002000, flags
 00
 KERN: PCI:   base reg 1: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 2: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 3: host 00000000, pci 00000000, size 00000000,
  flags 00
 KERN: PCI:   base reg 4: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   Capabilities: PM
 KERN: PCI: [dom 0, bus  6] bus   6, device  4, function  4: vendor 104c,
 device 8034, revision 00
 KERN: PCI:   class_base 08, class_function 05, class_api 00
 KERN: PCI:   vendor 104c: Texas Instruments
 KERN: PCI:   device 8034: PCIxx21/PCIxx11 SD Host Controller
 KERN: PCI:   info: Generic system peripheral (SD Host controller)
 KERN: PCI:   line_size 08, latency 39, header_type 80, BIST 00
 KERN: PCI:   ROM base host 00000000, pci 00000000, size 00000000
 KERN: PCI:   cardbus_CIS 00000000, subsystem_id ff05, subsystem_vendor_id
 1179
 KERN: PCI:   interrupt_line 0a, interrupt_pin 04, min_grant 07,
 max_latency 04
 KERN: PCI:   base reg 0: host bc009400, pci bc009400, size 00000100, flags
 00
 KERN: PCI:   base reg 1: host bc009000, pci bc009000, size 00000100, flags
 00
 KERN: PCI:   base reg 2: host bc006400, pci bc006400, size 00000100, flags
 00
 KERN: PCI:   base reg 3: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 4: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags
 00
 KERN: PCI:   Capabilities: PM
 }}}

 Function 0 (which corresponds to mask = 1) does not seem to have an
 interrupt attached to it at this point. Functions 3 and 4 have one
 interrupt each (not the same one).

 And the interrupt table is this:

 {{{
 KERN: address 0x4ffff; pin 0; GSI 16; pci 6:4 pin 1 func mask 1; bios irq:
 10; gsi 16; config 0x06
 KERN: address 0x4ffff; pin 1; GSI 17; pci 6:4 pin 2 func mask 8; bios irq:
 10; gsi 17; config 0x06
 KERN: address 0x4ffff; pin 2; GSI 18; pci 6:4 pin 3 func mask 4; bios irq:
 11; gsi 18; config 0x06
 KERN: address 0x4ffff; pin 3; GSI 19; pci 6:4 pin 4 func mask 10; bios
 irq: 10; gsi 19; config 0x06
 }}}

 Now I don't understand why function 0 (mask 1) has an interrupt listed
 here, while in the previous part of the log, it didn't. But I'm not very
 familiar with PCI, is that expected?
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/16778#comment:25>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: