public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford@redhat.com>
To: Matthew Wilcox <willy@debian.org>
Cc: Russell Kroll <rkroll@exploits.org>,
	linux-scsi mailing list <linux-scsi@vger.kernel.org>
Subject: Re: PROBLEM: sym53c8xx is broken on HP LH 4 after Linux 2.2
Date: Sun, 09 Nov 2003 11:51:36 -0500	[thread overview]
Message-ID: <1068396696.3204.11.camel@compaq.xsintricity.com> (raw)
In-Reply-To: <20031109163756.GB2014@parcelfarce.linux.theplanet.co.uk>

On Sun, 2003-11-09 at 11:37, Matthew Wilcox wrote:
> On Fri, Nov 07, 2003 at 07:49:37PM -0600, Russell Kroll wrote:
> > On the HP NetServer LH4, the sym53c8xx driver only works in 2.2 kernels, 
> > and fails with a "CACHE INCORRECTLY CONFIGURED" error on 2.4 and 2.6.  
> > This also applies to the sym53c8xx_2 driver.
> 
> Hi Russell.  I'm really interested in fixing this for the sym2 driver in 2.6.
> Given this bit of the lspci log:
> 
> 01:07.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895 (rev 01)
> 	Subsystem: Hewlett-Packard Company: Unknown device 1000
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
> 	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 	Latency: 247 (7500ns min, 16000ns max), cache line size 08
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: I/O ports at 1400 [size=256]
> 	Region 1: Memory at 40000000 (32-bit, non-prefetchable) [size=256]
> 	Region 2: Memory at 40001000 (32-bit, non-prefetchable) [size=4K]
> 
> 01:07.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895 (rev 01)
> 	Subsystem: Hewlett-Packard Company: Unknown device 1000
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
> 	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 	Latency: 247 (7500ns min, 16000ns max), cache line size 08
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: I/O ports at a000 [size=256]
> 	Region 1: Memory at e8101000 (32-bit, non-prefetchable) [size=256]
> 	Region 2: Memory at e8100000 (32-bit, non-prefetchable) [size=4K]
> 
> I would say that this is a PCI problem, not a sym2 problem.  I'm only
> trying to pass the buck to another of my personalities though, since I also
> hack PCI stuff.  I really don't think we should have two devices with the
> same domain:bus:slot.function since there's no way to do pci config
> cycles to one or the other.

I can tell you what's going on here.  This is a 450NX based
motherboard.  The 450NX chipset from Intel was the first chipset to have
peer PCI busses.  For backwards compatibility, some machine makers
hacked their PCI BIOS to have a fake bridge device on PCI bus 0 that
points to the same bus number as the peer bus.  This way if the OS
didn't know about the peer bus registers it would still find the devices
by scanning behind the bridge.  In this case we are scanning behind this
fake bridge and then also scanning based upon the peer bus registers in
the chipset, and as a result we are finding the device twice.  In order
to fix this problem you need to change the peer bus quirk code for the
450NX chipset to scan the list of bus 0 devices looking for a bridge
that has the same config as the peer bus registers and if so delete the
bridge from the list.  That will avoid double scanning and will avoid
having the PCI code try and configure sub busses via a fake bridge when
it should do all configurations via the 450NX peer bus registers.

-- 
  Doug Ledford <dledford@redhat.com>     919-754-3700 x44233
         Red Hat, Inc.
         1801 Varsity Dr.
         Raleigh, NC 27606



  reply	other threads:[~2003-11-09 16:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-08  1:49 PROBLEM: sym53c8xx is broken on HP LH 4 after Linux 2.2 Russell Kroll
2003-11-09 16:37 ` Matthew Wilcox
2003-11-09 16:51   ` Doug Ledford [this message]
2003-11-09 20:46   ` Russell Kroll

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=1068396696.3204.11.camel@compaq.xsintricity.com \
    --to=dledford@redhat.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=rkroll@exploits.org \
    --cc=willy@debian.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox