2003-08-17 14:34:41

by Russell King

[permalink] [raw]
Subject: [CFT] 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.

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html


2003-08-17 16:07:10

by Daniel Ritz

[permalink] [raw]
Subject: Re: [CFT] Clean up yenta_socket

applied the patches...seems to work fine. no problems on boot,
eject/insert, suspend/resume with APM also works fine.
some system info:
- toshiba tecra 8000 laptop, 440BX chipset
- toshiba ToPIC97 CardBus controller
- Xircom CE3B 16-bit PCMCIA network card.

rgds
-daniel

2003-08-19 01:32:17

by Thomas Molina

[permalink] [raw]
Subject: Re: [CFT] Clean up yenta_socket

On Sun, 17 Aug 2003, Russell King wrote:

> 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.

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.

2003-08-19 11:44:04

by Russell King

[permalink] [raw]
Subject: Re: [CFT] Clean up yenta_socket

On Mon, Aug 18, 2003 at 09:31:20PM -0500, Thomas Molina wrote:
> 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.

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

2003-08-19 20:54:32

by Thomas Molina

[permalink] [raw]
Subject: Re: [CFT] Clean up yenta_socket

On Tue, 19 Aug 2003, Russell King wrote:

> On Mon, Aug 18, 2003 at 09:31:20PM -0500, Thomas Molina wrote:
> > 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