LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
@ 2007-03-25 15:23 Kevin P. Fleming
  2007-03-25 16:11 ` Greg KH
  2007-03-25 16:43 ` Gabriel C
  0 siblings, 2 replies; 12+ messages in thread
From: Kevin P. Fleming @ 2007-03-25 15:23 UTC (permalink / raw)
  To: linux-kernel

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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 15:23 drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 Kevin P. Fleming
@ 2007-03-25 16:11 ` Greg KH
  2007-03-25 17:22   ` Kevin P. Fleming
                     ` (2 more replies)
  2007-03-25 16:43 ` Gabriel C
  1 sibling, 3 replies; 12+ messages in thread
From: Greg KH @ 2007-03-25 16:11 UTC (permalink / raw)
  To: Kevin P. Fleming, Jan Beulich, Alan Cox, Andrew Morton,
	Bartlomiej Zolnierkiewicz
  Cc: linux-kernel

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 15:23 drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 Kevin P. Fleming
  2007-03-25 16:11 ` Greg KH
@ 2007-03-25 16:43 ` Gabriel C
  2007-03-25 18:13   ` Torsten Kaiser
  1 sibling, 1 reply; 12+ messages in thread
From: Gabriel C @ 2007-03-25 16:43 UTC (permalink / raw)
  To: Kevin P. Fleming; +Cc: linux-kernel, Alan Cox, Jan Beulich, Andrew Morton

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 16:11 ` Greg KH
@ 2007-03-25 17:22   ` Kevin P. Fleming
  2007-03-25 20:08   ` Alan Cox
  2007-03-26  6:58   ` Jan Beulich
  2 siblings, 0 replies; 12+ messages in thread
From: Kevin P. Fleming @ 2007-03-25 17:22 UTC (permalink / raw)
  To: Greg KH
  Cc: Jan Beulich, Alan Cox, Andrew Morton, Bartlomiej Zolnierkiewicz,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 16:43 ` Gabriel C
@ 2007-03-25 18:13   ` Torsten Kaiser
  2007-03-25 19:09     ` Grzegorz Chwesewicz
  0 siblings, 1 reply; 12+ messages in thread
From: Torsten Kaiser @ 2007-03-25 18:13 UTC (permalink / raw)
  To: Gabriel C
  Cc: Kevin P. Fleming, linux-kernel, Alan Cox, Jan Beulich, Andrew Morton

On 3/25/07, Gabriel C <nix.or.die@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 18:13   ` Torsten Kaiser
@ 2007-03-25 19:09     ` Grzegorz Chwesewicz
  0 siblings, 0 replies; 12+ messages in thread
From: Grzegorz Chwesewicz @ 2007-03-25 19:09 UTC (permalink / raw)
  To: Torsten Kaiser, Gabriel C
  Cc: Kevin P. Fleming, linux-kernel, Alan Cox, Jan Beulich, Andrew Morton

On Sun, 25 Mar 2007 19:13:50 +0100, Torsten Kaiser wrote
> On 3/25/07, Gabriel C <nix.or.die@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 20:08   ` Alan Cox
@ 2007-03-25 19:21     ` Adrian Bunk
  2007-03-26  2:25       ` Kevin P. Fleming
  0 siblings, 1 reply; 12+ messages in thread
From: Adrian Bunk @ 2007-03-25 19:21 UTC (permalink / raw)
  To: Alan Cox
  Cc: Greg KH, Kevin P. Fleming, Jan Beulich, Alan Cox, Andrew Morton,
	Bartlomiej Zolnierkiewicz, linux-kernel

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 16:11 ` Greg KH
  2007-03-25 17:22   ` Kevin P. Fleming
@ 2007-03-25 20:08   ` Alan Cox
  2007-03-25 19:21     ` Adrian Bunk
  2007-03-26  6:58   ` Jan Beulich
  2 siblings, 1 reply; 12+ messages in thread
From: Alan Cox @ 2007-03-25 20:08 UTC (permalink / raw)
  To: Greg KH
  Cc: Kevin P. Fleming, Jan Beulich, Alan Cox, Andrew Morton,
	Bartlomiej Zolnierkiewicz, linux-kernel

> 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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 19:21     ` Adrian Bunk
@ 2007-03-26  2:25       ` Kevin P. Fleming
  2007-03-26  3:08         ` Adrian Bunk
  0 siblings, 1 reply; 12+ messages in thread
From: Kevin P. Fleming @ 2007-03-26  2:25 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Alan Cox, Greg KH, Jan Beulich, Alan Cox, Andrew Morton,
	Bartlomiej Zolnierkiewicz, linux-kernel

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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-26  2:25       ` Kevin P. Fleming
@ 2007-03-26  3:08         ` Adrian Bunk
  0 siblings, 0 replies; 12+ messages in thread
From: Adrian Bunk @ 2007-03-26  3:08 UTC (permalink / raw)
  To: Kevin P. Fleming
  Cc: Alan Cox, Greg KH, Jan Beulich, Alan Cox, Andrew Morton,
	Bartlomiej Zolnierkiewicz, linux-kernel

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-25 16:11 ` Greg KH
  2007-03-25 17:22   ` Kevin P. Fleming
  2007-03-25 20:08   ` Alan Cox
@ 2007-03-26  6:58   ` Jan Beulich
  2007-03-26 10:55     ` Alan Cox
  2 siblings, 1 reply; 12+ messages in thread
From: Jan Beulich @ 2007-03-26  6:58 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz, Kevin P. Fleming, Greg KH,
	Andrew Morton, Alan Cox
  Cc: linux-kernel

>>> Greg KH <greg@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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51
  2007-03-26  6:58   ` Jan Beulich
@ 2007-03-26 10:55     ` Alan Cox
  0 siblings, 0 replies; 12+ messages in thread
From: Alan Cox @ 2007-03-26 10:55 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Bartlomiej Zolnierkiewicz, Kevin P. Fleming, Greg KH,
	Andrew Morton, Alan Cox, linux-kernel

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-03-26  9:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-25 15:23 drivers/pci/probe.c patch in 2.6.20.4 causes 'cannot adjust BAR0 (not I/O)' on NVidia MCP51 Kevin P. Fleming
2007-03-25 16:11 ` Greg KH
2007-03-25 17:22   ` Kevin P. Fleming
2007-03-25 20:08   ` Alan Cox
2007-03-25 19:21     ` Adrian Bunk
2007-03-26  2:25       ` Kevin P. Fleming
2007-03-26  3:08         ` Adrian Bunk
2007-03-26  6:58   ` Jan Beulich
2007-03-26 10:55     ` Alan Cox
2007-03-25 16:43 ` Gabriel C
2007-03-25 18:13   ` Torsten Kaiser
2007-03-25 19:09     ` Grzegorz Chwesewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).