All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Maciej Rutecki <maciej.rutecki@gmail.com>,
	Florian Mickler <florian@mickler.org>,
	"Stephen Kitt" <steve@sk2.org>,
	bugzilla-daemon@bugzilla.kernel.org,
	Kulikov Vasiliy <segooon@gmail.com>
Subject: Re: [Bug #24392] AGP aperture disabled, worked in 2.6.35
Date: Mon, 20 Dec 2010 12:14:56 -0700	[thread overview]
Message-ID: <201012201214.57068.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <xqq2Z3iR9HJ.A.cHG.-0fDNB@chimera>

> Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=24392
> First-Bad-Commit: http://git.kernel.org/linus/96576a9e1a0cdb8a43d3af5846be0948f52b4460

>From broken dmesg (https://bugzilla.kernel.org/attachment.cgi?id=39092):

  pci 0000:00:00.0: reg 10: [mem 0xf0000000-0xf7ffffff pref]
  pci 0000:00:1f.1: reg 24: [mem 0x00000000-0x000003ff]
  pci 0000:00:1e.0: PCI bridge to [bus 02-02] (subtractive decode)
  pci 0000:00:1e.0:   bridge window [mem 0xef000000-0xfbffffff]
  pci 0000:00:00.0: address space collision: [mem 0xf0000000-0xf7ffffff pref] conflicts with PCI Bus 0000:02 [mem 0xef000000-0xfbffffff]
  pci 0000:00:1f.1: BAR 5: assigned [mem 0xc0000000-0xc00003ff]
  agpgart-intel 0000:00:00.0: device not available (can't reserve [mem 0x00000000-0x07ffffff pref])

The conflict between the AGP 00:00.0 BAR 0 and the 00:1e.0 bridge window
looks real, so reassigning the AGP BAR looks like the right thing to do.
We assign 00:1f.1 BAR 5 in the pcibios_assign_resources() path, and
I think we would assign the AGP BAR there, too, except that the class
code of 00:00.0 is probably 0x000600 (PCI_CLASS_BRIDGE_HOST), and we
explicitly ignore host bridges in __dev_sort_resources(), so it's up
to the driver to catch this and assign it explicitly before calling
pci_enable_device().

That's kind of ugly because it's an exception to the normal "call
pci_enable_device() first" rule, and it leads to bogus "conflicts"
like this:

  pnp 00:0d: disabling [mem 0x00000000-0x0009ffff] because it overlaps 0000:00:00.0 BAR 0 [mem 0x00000000-0x07ffffff pref]

but I think we're stuck with it for now, and the simplest solution
is to just revert 96576a9e1a.

Here's the old commit that made us ignore host bridge BARs:
  http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=1d6f81a248eb2febbe24892fa4d54db382a1286c

  2004/12/17 13:44:31-08:00 macro
  [PATCH] PCI: Don't touch BARs of host bridges

   BARs of host bridges often have special meaning and AFAIK are best left
  to be setup by the firmware or system-specific startup code and kept
  intact by the generic resource handler.  For example a couple of host
  bridges used for MIPS processors interpret BARs as target-mode decoders
  for accessing host memory by PCI masters (which is quite reasonable).
  For them it's desirable to keep their decoded address range overlapping
  with the host RAM for simplicity if nothing else (I can imagine running
  out of address space with lots of memory and 32-bit PCI with no DAC
  support in the participating devices).

   This is already the case with the i386 and ppc platform-specific PCI
  resource allocators.  Please consider the following change for the generic
  allocator.  Currently we have a pile of hacks implemented for host bridges
  to be left untouched and I'd be pleased to remove them.

  From: "Maciej W. Rozycki" <macro@mips.com>
  Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>

WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Maciej Rutecki <maciej.rutecki@gmail.com>,
	Florian Mickler <florian@mickler.org>,
	Stephen Kitt <steve@sk2.org>,
	bugzilla-daemon@bugzilla.kernel.org,
	Kulikov Vasiliy <segooon@gmail.com>
Subject: Re: [Bug #24392] AGP aperture disabled, worked in 2.6.35
Date: Mon, 20 Dec 2010 12:14:56 -0700	[thread overview]
Message-ID: <201012201214.57068.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <xqq2Z3iR9HJ.A.cHG.-0fDNB@chimera>

> Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=24392
> First-Bad-Commit: http://git.kernel.org/linus/96576a9e1a0cdb8a43d3af5846be0948f52b4460

From broken dmesg (https://bugzilla.kernel.org/attachment.cgi?id=39092):

  pci 0000:00:00.0: reg 10: [mem 0xf0000000-0xf7ffffff pref]
  pci 0000:00:1f.1: reg 24: [mem 0x00000000-0x000003ff]
  pci 0000:00:1e.0: PCI bridge to [bus 02-02] (subtractive decode)
  pci 0000:00:1e.0:   bridge window [mem 0xef000000-0xfbffffff]
  pci 0000:00:00.0: address space collision: [mem 0xf0000000-0xf7ffffff pref] conflicts with PCI Bus 0000:02 [mem 0xef000000-0xfbffffff]
  pci 0000:00:1f.1: BAR 5: assigned [mem 0xc0000000-0xc00003ff]
  agpgart-intel 0000:00:00.0: device not available (can't reserve [mem 0x00000000-0x07ffffff pref])

The conflict between the AGP 00:00.0 BAR 0 and the 00:1e.0 bridge window
looks real, so reassigning the AGP BAR looks like the right thing to do.
We assign 00:1f.1 BAR 5 in the pcibios_assign_resources() path, and
I think we would assign the AGP BAR there, too, except that the class
code of 00:00.0 is probably 0x000600 (PCI_CLASS_BRIDGE_HOST), and we
explicitly ignore host bridges in __dev_sort_resources(), so it's up
to the driver to catch this and assign it explicitly before calling
pci_enable_device().

That's kind of ugly because it's an exception to the normal "call
pci_enable_device() first" rule, and it leads to bogus "conflicts"
like this:

  pnp 00:0d: disabling [mem 0x00000000-0x0009ffff] because it overlaps 0000:00:00.0 BAR 0 [mem 0x00000000-0x07ffffff pref]

but I think we're stuck with it for now, and the simplest solution
is to just revert 96576a9e1a.

Here's the old commit that made us ignore host bridge BARs:
  http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=1d6f81a248eb2febbe24892fa4d54db382a1286c

  2004/12/17 13:44:31-08:00 macro
  [PATCH] PCI: Don't touch BARs of host bridges

   BARs of host bridges often have special meaning and AFAIK are best left
  to be setup by the firmware or system-specific startup code and kept
  intact by the generic resource handler.  For example a couple of host
  bridges used for MIPS processors interpret BARs as target-mode decoders
  for accessing host memory by PCI masters (which is quite reasonable).
  For them it's desirable to keep their decoded address range overlapping
  with the host RAM for simplicity if nothing else (I can imagine running
  out of address space with lots of memory and 32-bit PCI with no DAC
  support in the participating devices).

   This is already the case with the i386 and ppc platform-specific PCI
  resource allocators.  Please consider the following change for the generic
  allocator.  Currently we have a pile of hacks implemented for host bridges
  to be left untouched and I'd be pleased to remove them.

  From: "Maciej W. Rozycki" <macro@mips.com>
  Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>

  reply	other threads:[~2010-12-20 19:15 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-19 12:41 2.6.37-rc6-git4: Reported regressions 2.6.35 -> 2.6.36 Rafael J. Wysocki
2010-12-19 12:41 ` Rafael J. Wysocki
2010-12-19 12:41 ` [Bug #16951] hackbench regression with 2.6.36-rc1 Rafael J. Wysocki
2010-12-19 12:41   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #16971] qla4xxx compile failure on 32-bit PowerPC: missing readq and writeq Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #17121] Two blank rectangles more than 10 cm long when booting Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #17061] 2.6.36-rc1 on zaurus: bluetooth regression Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #19052] 2.6.36-rc5-git1 -- [drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20162] [LogFS][2.6.36.rc7+] Kernel BUG at readwrite.c:1193 Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #19632] 2.6.36-rc6: modprobe Not tainted warning Rafael J. Wysocki
2010-12-19 13:54   ` Heinz Diehl
2010-12-19 13:54     ` Heinz Diehl
2010-12-19 14:42     ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #19392] WARNING: at drivers/net/wireless/ath/ath5k/base.c:3475 ath5k_bss_info_changed+0x44/0x168 [ath5k]() Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-20  7:25   ` Justin Mattock
2010-12-20 20:44     ` Rafael J. Wysocki
2010-12-20 20:44       ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #19372] 2.6.36-rc6: WARNING: at drivers/gpu/drm/radeon/radeon_fence.c:235 radeon_fence_wait+0x35a/0x3c0 Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20342] [LogFS] [2.6.36-rc7] Deadlock in logfs_get_wblocks, hold and wait on same lock super->s_write_mutex Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20332] [LogFS] [2.6.36-rc7] Kernel BUG at lib/btree.c:465! Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20322] 2.6.36-rc7: inconsistent lock state: inconsistent {IN-RECLAIM_FS-R} -> {RECLAIM_FS-ON-W} usage Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20232] kworker consumes ~100% CPU on HP Elitebook 8540w running 2.6.36_rc6-git4 Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-20 10:35   ` Peter Zijlstra
2010-12-20 10:35     ` Peter Zijlstra
2010-12-20 16:47     ` Tejun Heo
2010-12-20 16:47       ` Tejun Heo
2010-12-20 20:56       ` Rafael J. Wysocki
2010-12-20 20:56         ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #20462] 2.6.36-rc7-git2 - panic/GPF: e1000e/vlans? Rafael J. Wysocki
2010-12-19 19:44   ` Jesse Gross
2010-12-19 21:02     ` Rafael J. Wysocki
2010-12-19 21:02       ` Rafael J. Wysocki
2010-12-19 23:21       ` Jesse Gross
2010-12-19 23:21         ` Jesse Gross
2010-12-19 12:50 ` [Bug #21402] [KVM] Noacpi Windows guest can not boot up on 32bit KVM host Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #21092] Kernel 2.6.36 Bug during quotaon on reiserfs Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #21652] several problems with intel graphics since 2.6.36 Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #21662] 2.6.35->2.6.36 regression, vanilla kernel panic, ppp or hrtimers crashing Rafael J. Wysocki
2010-12-19 13:14   ` Denys Fedoryshchenko
2010-12-19 13:39     ` Rafael J. Wysocki
2010-12-19 13:39       ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #22172] alsa-util.c: snd_pcm_avail_delay() returned strange values: delay 0 is less than avail 32 Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #22782] 2.6.36: general protection fault during lockfs lockspace removal Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #22092] Kernel v2.6.36 trouble on USB disconnect Rafael J. Wysocki
2010-12-19 13:59   ` Heinz Diehl
2010-12-19 13:59     ` Heinz Diehl
2010-12-19 14:50     ` Rafael J. Wysocki
2010-12-19 14:50       ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #23812] HAL does not provide battery information on RHEL5 and CentOS-5 Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #24022] wireless no longer works after 1st update of 10.10 [rtl819xE:ERR in init_firmware()] Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #23302] alsa stops working after one or more hibernate or suspend cycles Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #22842] iwl3945 suddenly stops working Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #24752] Random crashes easily reproducible with make -j5 - intel i915 - kernel 2.6.36 on intel/nvidia hybrid graphics machine Rafael J. Wysocki
2010-12-19 12:50 ` [Bug #24392] AGP aperture disabled, worked in 2.6.35 Rafael J. Wysocki
2010-12-20 19:14   ` Bjorn Helgaas [this message]
2010-12-20 19:14     ` Bjorn Helgaas
2010-12-21  7:10     ` Stephen Kitt
2010-12-21  7:10       ` Stephen Kitt
2010-12-21  8:42     ` Kulikov Vasiliy
2010-12-21  8:42       ` Kulikov Vasiliy
2010-12-19 12:50 ` [Bug #24202] [830] drm:intel_prepare_page_flip, *ERROR* Prepared flip multiple times Rafael J. Wysocki
2010-12-19 12:50   ` Rafael J. Wysocki
2010-12-29 23:18 2.6.37-rc8: Reported regressions 2.6.35 -> 2.6.36 Rafael J. Wysocki
2010-12-29 23:21 ` [Bug #24392] AGP aperture disabled, worked in 2.6.35 Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201012201214.57068.bjorn.helgaas@hp.com \
    --to=bjorn.helgaas@hp.com \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=florian@mickler.org \
    --cc=kernel-testers@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maciej.rutecki@gmail.com \
    --cc=rjw@sisk.pl \
    --cc=segooon@gmail.com \
    --cc=steve@sk2.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.