Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


lkml at kpfleming

Mar 25, 2007, 8:23 AM

Post #1 of 12 (2106 views)
Permalink
drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51

I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
which has an NVidia core chipset. It has the MCP51 and uses it for PATA
and SATA.

Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
like this:

0000:00:0d.0: cannot adjust BAR0 (not I/O)
0000:00:0d.0: cannot adjust BAR1 (not I/O)

Booting without ACPI, without APIC, without LAPIC makes no usable
difference (although sometimes I will also receive a message about BAR2).

This patch:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed8ccee0918ad063a4741c0656fda783e02df627;hp=9e5755bce00bb563739aeb0f09932a1907521167

is the cause... backing it out results in a working 2.6.20.4 kernel on
my laptop.

I'll be happy to provide any assistance I can debugging this problem.
Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


greg at kroah

Mar 25, 2007, 9:11 AM

Post #2 of 12 (2053 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

On Sun, Mar 25, 2007 at 08:23:23AM -0700, Kevin P. Fleming wrote:
> I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
> which has an NVidia core chipset. It has the MCP51 and uses it for PATA
> and SATA.
>
> Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
> like this:
>
> 0000:00:0d.0: cannot adjust BAR0 (not I/O)
> 0000:00:0d.0: cannot adjust BAR1 (not I/O)
>
> Booting without ACPI, without APIC, without LAPIC makes no usable
> difference (although sometimes I will also receive a message about BAR2).
>
> This patch:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed8ccee0918ad063a4741c0656fda783e02df627;hp=9e5755bce00bb563739aeb0f09932a1907521167
>
> is the cause... backing it out results in a working 2.6.20.4 kernel on
> my laptop.
>
> I'll be happy to provide any assistance I can debugging this problem.

Jan, any thoughts about this?

Should this be backed out of the -stable releases?

Kevin, does 2.6.21-rc4 work properly for you?

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


nix.or.die at googlemail

Mar 25, 2007, 9:43 AM

Post #3 of 12 (2051 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

Kevin P. Fleming wrote:
> I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
> which has an NVidia core chipset. It has the MCP51 and uses it for PATA
> and SATA.
>
> Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
> like this:
>
> 0000:00:0d.0: cannot adjust BAR0 (not I/O)
> 0000:00:0d.0: cannot adjust BAR1 (not I/O)
>

BTW I see this too on my laptop ( older PackardBell EasyNote K ) if I
use P-ATA but I can boot for some reason.


snip

...

[ 18.754623] Enabling SiS 96x SMBus.
[ 18.754812] 0000:00:02.5: cannot adjust BAR0 (not I/O)
[ 18.754816] 0000:00:02.5: cannot adjust BAR1 (not I/O)
[ 18.754819] 0000:00:02.5: cannot adjust BAR2 (not I/O)
[ 18.754822] 0000:00:02.5: cannot adjust BAR3 (not I/O)

...



> Booting without ACPI, without APIC, without LAPIC makes no usable
> difference (although sometimes I will also receive a message about BAR2).
>
> This patch:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed8ccee0918ad063a4741c0656fda783e02df627;hp=9e5755bce00bb563739aeb0f09932a1907521167
>
> is the cause... backing it out results in a working 2.6.20.4 kernel on
> my laptop.
>
> I'll be happy to provide any assistance I can debugging this problem.
> Thanks.
>

Reagrds,

Gabriel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


lkml at kpfleming

Mar 25, 2007, 10:22 AM

Post #4 of 12 (2051 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

Greg KH wrote:

> Kevin, does 2.6.21-rc4 work properly for you?

No, it seems to exhibit the same behavior. However, I should note that
this laptop is not 100% stable under any kernel release anyway... in
text console mode it frequently locks up tight (although not with the
NVidia closed-source driver running and X started <G>).

I tried booting 2.6.21-rc4 five times and only once did it get pass
these messages during PCI probing, but it hung during the forcedeth
driver initialization.

I also forgot to note in my initial problem report that the PCI device
being referred to in the messages is the MCP51 IDE interface (although
that could have been assumed from what the patch is supposed to do).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


just.for.lkml at googlemail

Mar 25, 2007, 11:13 AM

Post #5 of 12 (2046 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

On 3/25/07, Gabriel C <nix.or.die[at]googlemail.com> wrote:
> Kevin P. Fleming wrote:
> > I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
> > which has an NVidia core chipset. It has the MCP51 and uses it for PATA
> > and SATA.
> >
> > Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
> > like this:
> >
> > 0000:00:0d.0: cannot adjust BAR0 (not I/O)
> > 0000:00:0d.0: cannot adjust BAR1 (not I/O)
> >
> [ 18.754623] Enabling SiS 96x SMBus.
> [ 18.754812] 0000:00:02.5: cannot adjust BAR0 (not I/O)
> [ 18.754816] 0000:00:02.5: cannot adjust BAR1 (not I/O)
> [ 18.754819] 0000:00:02.5: cannot adjust BAR2 (not I/O)
> [ 18.754822] 0000:00:02.5: cannot adjust BAR3 (not I/O)

I am seeing this also, but on a MCP55

Mar 25 18:56:37 treogen [ 50.828369] 0000:00:04.0: cannot adjust
BAR0 (not I/O)
Mar 25 18:56:37 treogen [ 50.843736] 0000:00:04.0: cannot adjust
BAR1 (not I/O)
Mar 25 18:56:37 treogen [ 50.859120] 0000:00:04.0: cannot adjust
BAR2 (not I/O)
Mar 25 18:56:37 treogen [ 50.874504] 0000:00:04.0: cannot adjust
BAR3 (not I/O)


00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1) (prog-if
8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc. Unknown device 81f0
Flags: bus master, 66MHz, fast devsel, latency 0
[virtual] Memory at 000001f0 (32-bit, non-prefetchable)
[disabled] [size=8]
[virtual] Memory at 000003f0 (type 3, non-prefetchable)
[disabled] [size=1]
[virtual] Memory at 00000170 (32-bit, non-prefetchable)
[disabled] [size=8]
[virtual] Memory at 00000370 (type 3, non-prefetchable)
[disabled] [size=1]
I/O ports at ffa0 [size=16]
Capabilities: [44] Power Management version 2
00: de 10 6e 03 05 00 b0 00 a1 8a 01 01 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: a1 ff 00 00 00 00 00 00 00 00 00 00 43 10 f0 81
30: 00 00 00 00 44 00 00 00 00 00 00 00 00 00 03 01

I am not using the IDE interface so I can't tell if it is working or
not, but the boot does not hang.

Torsten
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


grzegorz.chwesewicz at chilan

Mar 25, 2007, 12:09 PM

Post #6 of 12 (2050 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

On Sun, 25 Mar 2007 19:13:50 +0100, Torsten Kaiser wrote
> On 3/25/07, Gabriel C <nix.or.die[at]googlemail.com> wrote:
> > Kevin P. Fleming wrote:
> > > I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
> > > which has an NVidia core chipset. It has the MCP51 and uses it for PATA
> > > and SATA.
> > >
> > > Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
> > > like this:
> > >
> > > 0000:00:0d.0: cannot adjust BAR0 (not I/O)
> > > 0000:00:0d.0: cannot adjust BAR1 (not I/O)
> > >
> > [ 18.754623] Enabling SiS 96x SMBus.
> > [ 18.754812] 0000:00:02.5: cannot adjust BAR0 (not I/O)
> > [ 18.754816] 0000:00:02.5: cannot adjust BAR1 (not I/O)
> > [ 18.754819] 0000:00:02.5: cannot adjust BAR2 (not I/O)
> > [ 18.754822] 0000:00:02.5: cannot adjust BAR3 (not I/O)
>

I am seeing this also on

00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) (prog-if 8a
[Master SecP PriP])
Subsystem: EPoX Computer Co., Ltd. Unknown device 1000
Flags: bus master, 66MHz, fast devsel, latency 0
[virtual] Memory at 000001f0 (32-bit, non-prefetchable) [disabled]
[size=8]
[virtual] Memory at 000003f0 (type 3, non-prefetchable) [disabled]
[size=1]
[virtual] Memory at 00000170 (32-bit, non-prefetchable) [disabled]
[size=8]
[virtual] Memory at 00000370 (type 3, non-prefetchable) [disabled]
[size=1]
I/O ports at f000 [size=16]
Capabilities: [44] Power Management version 2

I have epox 8rda3+ motherboard.

0000:00:09.0: cannot adjust BAR0 (not I/O)
0000:00:09.0: cannot adjust BAR1 (not I/O)
0000:00:09.0: cannot adjust BAR2 (not I/O)
0000:00:09.0: cannot adjust BAR3 (not I/O)

Kernel boots, IDE cdrom, and hdd works ok.

###############################

I also have some BAR staff in dmesg on second computer (HP nx6325):

00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI IDE
Controller (rev 80) (prog-if 82 [Master PriP])
Subsystem: Hewlett-Packard Company Unknown device 30b0
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17
I/O ports at 01f0 [size=8]
I/O ports at 03f4 [size=1]
I/O ports at 0170 [size=8]
I/O ports at 0374 [size=1]
I/O ports at 7040 [size=16]
Capabilities: [70] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-

0000:00:14.1: trying to change BAR0 from 0000 to 01F0
0000:00:14.1: trying to change BAR1 from 0000 to 03F4
0000:00:14.1: trying to change BAR2 from 0000 to 0170
0000:00:14.1: trying to change BAR3 from 0000 to 0374

Kernel boots, everything works ok.

--
Greetings - Grzegorz Chwesewicz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


bunk at stusta

Mar 25, 2007, 12:21 PM

Post #7 of 12 (2053 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

On Sun, Mar 25, 2007 at 09:08:46PM +0100, Alan Cox wrote:
> > Jan, any thoughts about this?
> > Should this be backed out of the -stable releases?
>
> All the code does if it prints that message.. is print that message.
>...

It also adds PCI_BASE_ADDRESS_SPACE_IO to the flags which it didn't
without the patch.

> Alan

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


alan at lxorguk

Mar 25, 2007, 12:22 PM

Post #8 of 12 (2045 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

> Jan, any thoughts about this?
> Should this be backed out of the -stable releases?

All the code does if it prints that message.. is print that message.

The fact the message appears at all appears to indicate a slightly odd
BIOS but since the values in those registers are undefined in this mode
its not technically invalid.

I don't believe the hang is related to this change.

Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


lkml at kpfleming

Mar 25, 2007, 7:25 PM

Post #9 of 12 (2038 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

Adrian Bunk wrote:
> It also adds PCI_BASE_ADDRESS_SPACE_IO to the flags which it didn't
> without the patch.

As an experiment I modified 2.6.20.4 to _only_ remove that value from
the combined value for the flags and it did not help in any noticeable
way. I can reliably boot and operate the machine with the original patch
reversed, though.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


bunk at stusta

Mar 25, 2007, 8:08 PM

Post #10 of 12 (2048 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

On Sun, Mar 25, 2007 at 07:25:46PM -0700, Kevin P. Fleming wrote:
> Adrian Bunk wrote:
> > It also adds PCI_BASE_ADDRESS_SPACE_IO to the flags which it didn't
> > without the patch.
>
> As an experiment I modified 2.6.20.4 to _only_ remove that value from
> the combined value for the flags and it did not help in any noticeable
> way. I can reliably boot and operate the machine with the original patch
> reversed, though.

OK thanks, then it's something else.

I see only one more thing that might make any difference:
Perhaps we are not seeing the problematic operation due to the different
loglevel?

Please change in the third printk() the patch adds the KERN_INFO to
KERN_WARNING.

If you get a "...trying to change BAR..." before it hangs, remove the
pci_write_config_dword() line - this should then fix it.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


jbeulich at novell

Mar 25, 2007, 11:58 PM

Post #11 of 12 (2043 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

>>> Greg KH <greg[at]kroah.com> 25.03.07 18:11 >>>
>On Sun, Mar 25, 2007 at 08:23:23AM -0700, Kevin P. Fleming wrote:
>> I just upgraded from 2.6.20.2 to 2.6.20.4 on my Compaq V6000 laptop,
>> which has an NVidia core chipset. It has the MCP51 and uses it for PATA
>> and SATA.
>>
>> Booting the 2.6.20.4 kernel causes two messages (and a kernel lockup)
>> like this:
>>
>> 0000:00:0d.0: cannot adjust BAR0 (not I/O)
>> 0000:00:0d.0: cannot adjust BAR1 (not I/O)
>>
>> Booting without ACPI, without APIC, without LAPIC makes no usable
>> difference (although sometimes I will also receive a message about BAR2).
>>
>> This patch:
>>
>>
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed8ccee0918ad063a4741c0656fda783e02df627;hp=9e5755bce00bb563739aeb0f09932a1907521167

>>
>> is the cause... backing it out results in a working 2.6.20.4 kernel on
>> my laptop.
>>
>> I'll be happy to provide any assistance I can debugging this problem.
>
>Jan, any thoughts about this?
>
>Should this be backed out of the -stable releases?

I don't think so - the message (as Alan also said) tells the user that the
intended adjustment is *not* being done, kind of as a warning. I would
agree, though, that the flags adjustment (namely, adding
IORESOURCE_IO) is somewhat questionable; this isn't a change the
patch did, though, it was that way already before. But otoh with the
legacy flag set in progif, these BARs *should* be I/O ones...

Jan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


alan at lxorguk

Mar 26, 2007, 3:55 AM

Post #12 of 12 (2040 views)
Permalink
Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 [In reply to]

> patch did, though, it was that way already before. But otoh with the
> legacy flag set in progif, these BARs *should* be I/O ones...

They *are* I/O resources. The register value loaded by the BIOS or
hardware at start up is undefined and the "is memory" check is actually
wrong.

Doesn't explain the problem but does explain the message.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.