Clean up yenta_socket
Patch set:
http://patches.arm.linux.org.uk/pcmcia/yenta-20030817* The tar file contains all patches.
This is a patch set aimed to cleaning up the yenta controller quirks, working around some of the warts which have appeared (eg, overwriting of yenta_operations init pointer.) and adding better power management support.
Unfortunately, since my laptop continues to have an argument with the 2.6 kernel APM, I am unable to properly test the suspend/hibernate/resume functionality.
yenta-20030817-1-zv.diff
Use #defined constants for TI ZV initialisation
yenta-20030817-2-override.diff
Clean up yenta overrides - move the quirks to the main PCI ID table, and list the quirks by type.
yenta-20030817-3-sockinit.diff
Move socket initialisation to the quirk table.
yenta-20030817-4-pm.diff
Add per-quirk power management (to aid saving/restoring controller specific state.) Also, add proper pci state saving/restoring. Note that Cardbus bridges have to save and restore at least 0x48 bytes of configuration space, not 0x40. WIBNI pci_save_state/pci_restore_state took "start, length" parameters...
yenta-20030817-5-pm2.diff
Remove PM restore from socket initialisation; less reason for socket initialisation to vary between controller types now. In fact, we could very well get rid of much of the TI-specific socket initialisation quirk handling, since TI realised that they should be more compatible with other implementations in later versions of their bridges.
yenta-20030817-6-init.diff
Move re-initialisation from the socket init/resume paths to where it belongs - the main initialisation path.
yenta-20030817-7-quirks.diff
Move more controllers to the more advanced quirks.
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 6 lines · Russell King
Patch set:
http://patches.arm.linux.org.uk/pcmcia/yenta-20030817* The tar file contains all patches.
Quoted 8 lines
This is a patch set aimed to cleaning up the yenta controller quirks, working around some of the warts which have appeared (eg, overwriting of
yenta_operationsinit pointer.) and adding better power management support.Unfortunately, since my laptop continues to have an argument with the 2.6 kernel APM, I am unable to properly test the suspend/hibernate/resume functionality.
I applied the patchset to 2.6.0-test3-mm2 and compiled. Other than some extra lines in dmesg output no user observable change in behaviour was noted. In other words I couldn't see any differences between using this patchset and using stock yenta code.
Never having used the suspend/hibernate/resume on my laptop I could neither test nor comment on that aspect. Sorry about that.
My laptop is a Presario 12XL325 and I use an SMC 2632W wireless ethernet adapter in the PCMCIA slot.
Quoted 2 lines · Thomas Molina
My laptop is a Presario 12XL325 and I use an SMC 2632W wireless ethernet adapter in the PCMCIA slot.
Thanks. However, it'd help to know the type of your cardbus controller.
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 5 lines · Russell King
Quoted 2 lines · Thomas Molina
My laptop is a Presario 12XL325 and I use an SMC 2632W wireless ethernet adapter in the PCMCIA slot.
Thanks. However, it'd help to know the type of your cardbus controller.
here is the lspci output for the cardbus controller on my laptop:
00:0a.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01)
Subsystem: Compaq Computer Corporation: Unknown device b103
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 04
Interrupt: pin A routed to IRQ 9
Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
Following is the relevant dmesg output during bootup for 2.6.0-test3-mm2 with your patchset applied
PCI: Assigned IRQ 9 for device 0000:00:0a.0
Yenta: CardBus bridge found at 0000:00:0a.0 [0e11:b103]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta: ISA IRQ list 0018, PCI irq9
Socket status: 30000010
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x200-0x207 0x220-0x22f 0x378-0x37f 0x388-0x38f 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.orinoco.c 0.13e (David Gibson <[email protected]> and others) orinoco_cs.c 0.13e (David Gibson <[email protected]> and others)
eth0: Station identity 001f:0003:0000:0008
eth0: Looks like an Intersil firmware version 0.8.3
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key
eth0: MAC address 00:04:E2:2A:29:58
eth0: Station name "Prism I"
eth0: ready
eth0: index 0x01: Vcc 5.0, irq 3, io 0x0100-0x013f