[Prism54-devel] [PATCH] find out about PCI power management
Aurelien
slts@free.fr
Thu, 1 Jan 2004 12:00:18 +0100
Hi,
I don't think all this is power management related. I already did some investigation on the subject and here is what I found :
I need those 2 bytes set to 0 to get a stable card. I discovered someone in the irc channel for whom they were breaking everything. I asked him for his device pci config area (lspci -xxx -s ...) and it was exactly the same as mine (except for base addr and irq line...).
It is not card model related because we both had a WG511.
Moreover, whitout those 2 pci bytes set to 0, my card was unstable only when I was using an usb device. So I would rather think it is something related to latency or to master mode policy. But There are a lot of other possibilities and without any help from intersil, it will be hard to guess.
Best wishes for the new year !
...And justice for all
On Wed, 31 Dec 2003 20:29:14 +0100
Jens Maurer <Jens.Maurer@gmx.net> wrote:
> Hello!
>
> In the TODO file, there is this comment:
>
> * highpri: Determine when to set the 2 undocumented pci bytes. It is needed
> to achieve card stability for some people, but it fucks everything
> up for others.
>
> Also, there's a commented-out pci_set_power_state() in prism54_remove(),
> and there are two funny PCI writes in prism54_probe() with this comment:
>
> /* I didn't find in linux/pci.h what those 2 bytes are but setting them
> * makes the card more stable. Does it solve the ACPI bug ?
> */
>
> Is it possible that we're somehow not properly addressing power
> management of the device?
>
> Most of the Ethernet drivers in the 2.4.23 kernel (already) use
> pci_set_power_state(), but tulip uses its own method, as the only
> one I've been able to find doing so.
>
> It appears that prism54 is using a home-grown power control method.
>
> There is a standard PCI capability telling us whether PCI-based
> power management is available. If so, the theory is that you can
> just use pci_set_power_state() and be done, except for potential
> additional device-specific shutdown.
>
> The attached patch shows whether PCI-based power control is available.
> For me (Netgear WG511), this shows
>
> Dec 31 20:08:12 localhost kernel: prism54: PCI PowerManagement capability at 0xdc
>
> Is it possible that on other cards, the power management is at 0x40
> and we interfere with it when we PCI-write to 0x40?
>
> Best wishes for the New Year!
>
> Jens Maurer
>