Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Aug 2001 01:49:28 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Jonathan Chen <jon@FreeBSD.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/cardbus cardbus.c cardbus_cis.c cardbus_cis.h cardbusvar.h src/sys/dev/pccard card_if.m pccard.c pccardvar.h src/sys/dev/pccbb pccbb.c pccbbvar.h src/sys/sys rman.h 
Message-ID:  <20010827084928.A1E743807@overcee.netplex.com.au>
In-Reply-To: <200108270009.f7R09gZ76333@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Jonathan Chen wrote:
>   Modified files:
>     sys/dev/cardbus      cardbus.c cardbus_cis.c cardbus_cis.h 
>                          cardbusvar.h 
>     sys/dev/pccard       card_if.m pccard.c pccardvar.h 
>     sys/dev/pccbb        pccbb.c pccbbvar.h 
>     sys/sys              rman.h 
>   Log:
>   Part two of this NEWCARD update:
>   
>   Briefly, the significant changes include:
>    * Way better resource management in pccbb, pccard and cardbus.
>    * pccard hot-removal now appears to work.
>    * support pre-fetchable memory in cardbus.
>    * update cardbus to support new pci bus interface functions.
>    * Fix CIS reading to no longer use rman_get_virtual().
>   
>   What's not there, but in the works:
>    * pccard needs to do interrupt properly and not read the ISR on single
>      function cards.
>    * real resource management for pccard
>    * a complete implementation of CIS parsing
>    * need to look into how to correctly use mutex in pccbb

Also:
     * fix it so that it works again :-(

For starters:
- Undefined function: pccard_lookup_product().  pccardvar.h prototypes
this as extern, but it has been made static inside pccard.c and gcc complains
about the conflicting declarations.  All our pccard drivers currently use
this function.
- It fails to find any cards on my machine:
...
pccbb0: <RF5C478 PCI-CardBus Bridge> at device 12.0 on pci0
pccbb0: PCI Memory allocated: 00000000
acpi_pcib0: matched entry for 0.12.INTA (source \\_SB_.LNKA)
acpi_pcib0: device is routed to IRQ 9
cardbus0: <Cardbus bus (newcard)> on pccbb0
pccard0: <16-bit PCCard bus> on pccbb0
pccbb1: <RF5C478 PCI-CardBus Bridge> at device 12.1 on pci0
pccbb1: PCI Memory allocated: 00001000
acpi_pcib0: matched entry for 0.12.INTB (source \\_SB_.LNKB)
acpi_pcib0: device is routed to IRQ 9 
cardbus1: <Cardbus bus (newcard)> on pccbb1
pccard1: <16-bit PCCard bus> on pccbb1
...
cardbus0: detach_card: no card to detach!
pccbb0: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
pccbb0: bad Vcc request. ctrl=0xf000ff00, status=0xf000e2c3
pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
cardbus1: detach_card: no card to detach!
pccbb1: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
...
and that's it.  No insert/remove events, no power light, nothing.

Note: 'bad Vcc request.'.  Also note: pccbb0: PCI Memory allocated: 00000000
and pccbb1: PCI Memory allocated: 00001000.  This is worrying.

It used to work:

pccbb0: <RF5C478 PCI-CardBus Bridge> at device 12.0 on pci0  
pccbb0: PCI Memory allocated: 44000000
acpi_pcib0: matched entry for 0.12.INTA (source \\_SB_.LNKA)
acpi_pcib0: device is routed to IRQ 9
cardbus0: <Cardbus bus (newcard)> on pccbb0
pccard0: <16-bit PCCard bus> on pccbb0
pccbb1: <RF5C478 PCI-CardBus Bridge> at device 12.1 on pci0
pccbb1: PCI Memory allocated: 44001000
acpi_pcib0: matched entry for 0.12.INTB (source \\_SB_.LNKB)
acpi_pcib0: device is routed to IRQ 9
cardbus1: <Cardbus bus (newcard)> on pccbb1
pccard1: <16-bit PCCard bus> on pccbb1
...
pccbb0: card inserted: event=0x00000000, state=30000410
pccard0: chip_socket_enable
pccbb_pcic_socket_enable:
pccbb0: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
pccbb0: pccbb_power: CARD_VCC_5V and CARD_VPP_VCC [15]
pccbb0: pccbb_pcic_wait_ready: status 0x6f
pccbb0: card type is mem
pccard0: read_cis
pccbb_pcic_mem_map window 0 bus 44002000+400+bbffe000 card addr 0
pccbb_pcic_do_mem_map window 0: 8002 8002 3ffe 44 (44002000+00000400.00001000*bbffe000)
pccbb_pcic_do_mem_map window 0: 8002 8002 7ffe 44 (44002000+00000400.00001000*bbffe000)
cis mem map c95c9000
pccard0: CIS tuple chain:
CISTPL_DEVICE type=null speed=null
 01 03 00 00 ff
CISTPL_DEVICE_A type=sram speed=ext
 17 04 67 5a 08 ff
unhandled CISTPL 1d
 1d 05 01 67 5a 08 ff
CISTPL_VERS_1
 15 50 05 00 4c 75 63 65 6e 74 20 54 65 63 68 6e
 6f 6c 6f 67 69 65 73 00 57 61 76 65 4c 41 4e 2f
 49 45 45 45 00 56 65 72 73 69 6f 6e 20 30 31 2e
 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 ff
CISTPL_MANFID
 20 04 56 01 02 00
CISTPL_FUNCID
 21 02 06 00
unhandled CISTPL 22
 22 02 01 07
unhandled CISTPL 22
 22 05 02 40 42 0f 00
unhandled CISTPL 22
 22 05 02 80 84 1e 00
unhandled CISTPL 22
 22 05 02 60 ec 53 00
unhandled CISTPL 22
 22 05 02 c0 d8 a7 00
unhandled CISTPL 22
 22 02 03 07
unhandled CISTPL 22
 22 08 04 06 00 60 1d f0 d5 86
unhandled CISTPL 22
 22 02 05 01
CISTPL_CONFIG
 1a 07 03 01 e0 03 00 00 01
CISTPL_CFTABLE_ENTRY
 1b 0f c1 01 19 76 c5 4b d5 19 36 36 05 46 7f ff
 ff
CISTPL_END
 ff
pccard0: check_cis_quirks
pccard0: CIS version PC Card Standard 5.0
pccard0: CIS info: Lucent Technologies, WaveLAN/IEEE, Version 01.01,
pccard0: Manufacturer code 0x156, product 0x2
pccard0: function 0: network adapter, ccr addr 3e0 mask 1
pccard0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 6, iospace 0-3f; rdybsy_active wp_active bvd_active io16
 irqpulse irqlevel
pccard0: functions scanning
pccbb_pcic_socket_enable:
pccbb0: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
pccbb0: pccbb_power: CARD_VCC_5V and CARD_VPP_VCC [15]
pccbb0: pccbb_pcic_wait_ready: status 0x6f
pccbb0: card type is io
pccard0: ++enabled_count = 1
pccbb_pcic_mem_map window 0 bus 44002000+400+bbffe000 card addr 0
pccbb_pcic_do_mem_map window 0: 8002 8002 3ffe 44 (44002000+00000400.00001000*bbffe000)
pccard0: ccr_res == 44002000-440023ff, base=3e0
pccbb_pcic_do_mem_map window 0: 8002 8002 7ffe 44 (44002000+00000400.00001000*bbffe000)
pccbb_pcic_do_mem_map window 0: 8002 8002 7ffe 44 (44002000+00000400.00001000*bbffe000)
pccard0: function 0 CCR at 0 offset 3e0: 41 80 22 ff, ff ff ff ff, ff
wi0: <WaveLAN/IEEE> at port 0x100-0x13f irq 9 function 0 config 1 on pccard0
pccbb_pcic_io_map window 0 auto port 100+40
pccbb_pcic_do_io_map window 0: 0100 013f (00000100+00000040)
wi0: found Lucent chip
pccbb_pcic_io_map window 0 auto port 100+40
pccbb_pcic_do_io_map window 0: 0100 013f (00000100+00000040)
wi0: Ethernet address: 00:60:1d:f0:d5:86
wi0: wi_generic_attach:wi_has_wep = 1
bpf: wi0 attached
pccard0: function 0 CCR at 0 offset 3e0: 45 80 22 ff, ff ff ff ff, ff
cardbus1: Detaching card: no cards to detach!
pccbb1: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]


Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010827084928.A1E743807>