2003-06-02 06:46:23

by Margit Schubert-While

[permalink] [raw]
Subject: PCI cache line messages 2.4/2.5

Getting this with 2.5.70(-bk) :
PCI: cache line size of 128 is not supported by device 00:1d.7

and this with 2.4.2(0,1,pre,rc) :
PCI: 00:1d.7 PCI cache line size set incorrectly (0 bytes) by BIOS/FW.
PCI: 00:1d.7 PCI cache line size corrected to 128.

This is the onboard USB EHCI (Intel D845 PESV).
lspci below.

What's going on ?

Margit


Attachments:
lspci (9.82 kB)

2003-06-04 22:26:18

by Jeff Garzik

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

Margit Schubert-While wrote:
> Getting this with 2.5.70(-bk) :
> PCI: cache line size of 128 is not supported by device 00:1d.7
>
> and this with 2.4.2(0,1,pre,rc) :
> PCI: 00:1d.7 PCI cache line size set incorrectly (0 bytes) by BIOS/FW.
> PCI: 00:1d.7 PCI cache line size corrected to 128.
>
> This is the onboard USB EHCI (Intel D845 PESV).
> lspci below.
>
> What's going on ?


Pretty much exactly what the message says :)

Your BIOS did not set the PCI cache line size correctly. The kernel
caught that mistake, and fixed it.

Jeff



2003-06-05 05:58:43

by Margit Schubert-While

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

> Jeff Garzik wrote :
> Your BIOS did not set the PCI cache line size correctly.

Well, 2 questions :
2.4 gets 0 and sets 128. 2.5 gets 128 and reports it wrong.
This seems a contradiction. Which is right ?
Why only this port on the (onboard) USB hub ?

Margit

2003-06-05 10:28:23

by Alan

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Mer, 2003-06-04 at 23:39, Jeff Garzik wrote:
> > PCI: 00:1d.7 PCI cache line size set incorrectly (0 bytes) by BIOS/FW.
> > PCI: 00:1d.7 PCI cache line size corrected to 128.
> >
> > This is the onboard USB EHCI (Intel D845 PESV).
> > lspci below.
> >
> > What's going on ?
>
>
> Pretty much exactly what the message says :)
>
> Your BIOS did not set the PCI cache line size correctly. The kernel
> caught that mistake, and fixed it.

I can't find anywhere the BIOS is obliged to set it for you if a PnP OS
is installed, ditto in the presence of any form of hotplug the test is
wrong.

As far as I can see you can only warn if MWI is already set in the
control word, and (I'd have to check the spec) possibly if the
cache line size is non zero.

(simple hotplug thought experiment to prove the point

Soft boot a thinkpad 600
As the bios transfers to grub insert in docking station

explain how the bios sets the cache line size..)

2003-06-05 10:52:35

by David Miller

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Thu, 2003-06-05 at 03:39, Alan Cox wrote:
> > Your BIOS did not set the PCI cache line size correctly. The kernel
> > caught that mistake, and fixed it.
>
> I can't find anywhere the BIOS is obliged to set it for you if a PnP OS
> is installed, ditto in the presence of any form of hotplug the test is
> wrong.
>
> As far as I can see you can only warn if MWI is already set in the
> control word, and (I'd have to check the spec) possibly if the
> cache line size is non zero.

I don't know how PnP OS plays into it, but the last time I dug into this
deep dark area, the BIOS was expected to setup the cache line size for
all PCI devices in the system.

I do specifically remember situations, involving Acenic cards, where
one Acenic card would have things setup correctly but for whatever
reason the BIOS decided not to init the other Acenic cards.

--
David S. Miller <[email protected]>

2003-06-05 11:10:16

by Alan

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Iau, 2003-06-05 at 12:05, David S. Miller wrote:
> I don't know how PnP OS plays into it, but the last time I dug into this
> deep dark area, the BIOS was expected to setup the cache line size for
> all PCI devices in the system.

With a non PnP OS the BIOS is supposed to have done a lot of the setup
for things like IRQ routing. With a PnP OS (and nowdays thats often not
even a selectable but a wired in property) the OS has to do a lot of
the work.

And then there is hotplug

2003-06-05 11:14:29

by David Miller

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

From: Alan Cox <[email protected]>
Date: 05 Jun 2003 12:20:12 +0100

And then there is hotplug

My understanding is that the bioses do the cacheline, irq,
etc. assignment via BIOS callbacks done by the PCI controller hotplug
driver.

2003-06-05 11:45:26

by Ivan Kokshaysky

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Thu, Jun 05, 2003 at 08:12:05AM +0200, Margit Schubert-While wrote:
> 2.4 gets 0 and sets 128. 2.5 gets 128 and reports it wrong.

2.4 writes 128 without reading it back; 2.5 writes 128, read it back
and gets 0. Thus "not supported" message, which means that you
cannot use MWI on this device.

2.5 and BIOS are correct, 2.4 is not.

Ivan.

2003-06-05 15:10:30

by Margit Schubert-While

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

> Ivan wrote :
> 2.5 and BIOS are correct, 2.4 is not.

With what (if any) consequences under 2.4 ?
Shouldn't it be fixed for 2.4.21 ?

Margit

2003-06-05 19:37:45

by Alan

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Iau, 2003-06-05 at 12:25, David S. Miller wrote:
> From: Alan Cox <[email protected]>
> Date: 05 Jun 2003 12:20:12 +0100
>
> And then there is hotplug
>
> My understanding is that the bioses do the cacheline, irq,
> etc. assignment via BIOS callbacks done by the PCI controller hotplug
> driver.

Ah cloud cuckoo land 8)

Come on down Dave ;)

2003-06-06 05:00:11

by David Miller

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

From: Alan Cox <[email protected]>
Date: 05 Jun 2003 20:48:42 +0100

On Iau, 2003-06-05 at 12:25, David S. Miller wrote:
> My understanding is that the bioses do the cacheline, irq,
> etc. assignment via BIOS callbacks done by the PCI controller hotplug
> driver.

Ah cloud cuckoo land 8)

First, can I get some english without the welsh grammar? :-)
Second, BIOS callbacks are exactly what I see the compaq hotplug
PCI driver doing.

Come on down Dave ;)

:)

2003-06-06 11:53:33

by Ivan Kokshaysky

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Thu, Jun 05, 2003 at 05:23:54PM +0200, Margit Schubert-While wrote:
> With what (if any) consequences under 2.4 ?
> Shouldn't it be fixed for 2.4.21 ?

More likely for early 2.4.22-pre. In the worst case you'd
end up enabling MWI with cacheline size = 0, which
should be a no-op on any sane hardware.

Ivan.

2003-06-06 15:19:37

by David Miller

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

From: Alan Cox <[email protected]>
Date: 06 Jun 2003 16:27:48 +0100

The compaq driver isnt loaded at this point. There is a window of
opportunity

Point. But %99 of the time it's the dang BIOS doing something wrong.
We SHOULD take care of that case, and whether it's nice to log a
message about it or not is a seperate matter.

2003-06-06 15:16:47

by Alan

[permalink] [raw]
Subject: Re: PCI cache line messages 2.4/2.5

On Gwe, 2003-06-06 at 06:11, David S. Miller wrote:
> First, can I get some english without the welsh grammar? :-)
> Second, BIOS callbacks are exactly what I see the compaq hotplug
> PCI driver doing.

The compaq driver isnt loaded at this point. There is a window of
opportunity