Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Peter 'p2' De Schrijver <p2@debian.org>
To: linux-mips@linux-mips.org
Subject: Re: Bus error on sb1250
Date: Sun, 25 Sep 2005 15:45:38 +0200	[thread overview]
Message-ID: <20050925134538.GA25829@codecarver> (raw)
In-Reply-To: <20050924215710.GA6310@codecarver>


[-- Attachment #1.1: Type: text/plain, Size: 845 bytes --]

Hi,

On Sat, Sep 24, 2005 at 11:57:10PM +0200, Peter 'p2' De Schrijver wrote:
> Hi,
> 
> I'm seeing some strange bus errors when trying to get the Fore
> ForeRunner PCA-200EPC card to work on the sibyte swarm. The driver polls
> a register on this card for status information. This triggers a bus
> error once in a while. This happens regardless if the card is attached
> to the PCI bus of the sb1250 or to the PCI bus behind the Alliance HT -
> PCI bridge. 
> 

Thanks to Maciej, I found the problem. The device apparently does not
always react in time for the sb1250 PCI host. Changing TrdyTimeout to
0xff fixes the problem for the 32bit PCI slots. I need to find the
equivalent register on the SP1011 bridge to fix the problem for the
64bit PCI slots. Patch attached.

Cheers,

Peter (p2).

--
goa is a state of mind

[-- Attachment #1.2: patch-pci --]
[-- Type: text/plain, Size: 1091 bytes --]

--- linux/include/linux/pci_ids.h	2005-09-15 10:56:21.000000000 +0200
+++ linux-my/include/linux/pci_ids.h	2005-09-25 15:10:53.000000000 +0200
@@ -2192,6 +2192,7 @@
 #define PCI_DEVICE_ID_FARSITE_TE1C      0x1612
 
 #define PCI_VENDOR_ID_SIBYTE		0x166d
+#define PCI_DEVICE_ID_BCM1250_PCI	0x0001
 #define PCI_DEVICE_ID_BCM1250_HT	0x0002
 
 #define PCI_VENDOR_ID_NETCELL		0x169c
--- linux/arch/mips/pci/fixup-sb1250.c	2004-12-18 23:28:20.000000000 +0100
+++ linux-my/arch/mips/pci/fixup-sb1250.c	2005-09-25 15:25:02.000000000 +0200
@@ -20,5 +20,22 @@
 {
 	dev->class = PCI_CLASS_BRIDGE_PCI << 8;
 }
+
+/*
+ * Set PCI Trdy timeout to 0xff clock cycles
+ */
+static void __init quirk_sb1250_pci(struct pci_dev *dev)
+{
+	u32 pci_timeout;
+
+	pci_read_config_dword(dev, 0x40, &pci_timeout);
+	pci_timeout|=0xff;
+	pci_write_config_dword(dev,0x40,pci_timeout);
+}
+
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIBYTE, PCI_DEVICE_ID_BCM1250_HT,
 			quirk_sb1250_ht);
+
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIBYTE, PCI_DEVICE_ID_BCM1250_PCI,
+			quirk_sb1250_pci);
+

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

      reply	other threads:[~2005-09-25 14:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-24 21:57 Bus error on sb1250 Peter 'p2' De Schrijver
2005-09-25 13:45 ` Peter 'p2' De Schrijver [this message]

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=20050925134538.GA25829@codecarver \
    --to=p2@debian.org \
    --cc=linux-mips@linux-mips.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