Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Nov 2012 22:32:40 +0100
From:      Milan Obuch <freebsd-hardware@dino.sk>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-hardware@freebsd.org
Subject:   Re: PER-C40C minipci card under FreeBSD
Message-ID:  <20121129223240.5f6da085@zeta.dino.sk>
In-Reply-To: <201202230831.09164.jhb@freebsd.org>
References:  <20120220220237.7474cc1e@atom.dino.sk> <201202220957.56016.jhb@freebsd.org> <20120222233536.314d7f86@atom.dino.sk> <201202230831.09164.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 23 Feb 2012 08:31:09 -0500
John Baldwin <jhb@freebsd.org> wrote:

> On Wednesday, February 22, 2012 5:35:36 pm Milan Obuch wrote:
> > On Wed, 22 Feb 2012 09:57:55 -0500
> > John Baldwin <jhb@freebsd.org> wrote:
> > 

[ old patch and pciconf output snipped ]

> > > Hmm, ok.  Unfortunately there are other devices that need the
> > > commented out entry.  I've sent a followup to that original PR to
> > > see if that device has a subvendor device ID.
> > > 
> > 
> > Do you have some pointers to such devices? I am no real expert, but
> > there must be some difference...
> 
> Just the PR referenced in the commit that added these lines:
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=65040
> 

Currently I have tested both two port and four port version. I used
following patch:

--- /usr/src/sys/dev/puc/pucdata.c	2012-11-29 21:46:09.000000000 +0100
+++ /usr/src/sys/dev/puc/pucdata.c.patched	2012-11-29 20:55:30.000000000 +0100
@@ -701,10 +701,10 @@
 	 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
 	 */
 	{
-		0x1415, 0x9501, 0x10fc ,0xc070,
-		"I-O DATA RSA-PCI2/R",
-		DEFAULT_RCLK * 8,
-		PUC_PORT_2S, 0x10, 0, 8,
+	    0x1415, 0x9501, 0x10fc ,0xc070,
+	    "I-O DATA RSA-PCI2/R",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_2S, 0x10, 0, 8,
 	},
 
 	{   0x1415, 0x9501, 0x131f, 0x2050,
@@ -725,6 +725,12 @@
 	    PUC_PORT_4S, 0x10, 0, 8,
 	},
 
+        {   0x1415, 0x9501, 0x1415, 0,
+            "Oxford Semiconductor OXuPCI954 UARTs",
+            DEFAULT_RCLK * 8,
+            PUC_PORT_4S, 0x10, 0, 8,
+        },
+
 	{   0x1415, 0x9501, 0x14db, 0x2150,
 	    "Kuroutoshikou SERIAL4P-LPPCI2",
 	    DEFAULT_RCLK * 10,
@@ -737,6 +743,12 @@
 	    PUC_PORT_4S, 0x10, 0, 8,
 	},
 
+	{   0x1415, 0x9505, 0x1415, 0,
+	    "Oxford Semiconductor OXuPCI952 UARTs (function 0)",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_2S, 0x10, 4, 0,
+	},
+
 	{   0x1415, 0x950a, 0x131f, 0x2030,
 	    "SIIG Cyber 2S PCIe",
 	    DEFAULT_RCLK * 10,
@@ -755,6 +767,12 @@
 	    PUC_PORT_4S, 0x10, 0, 8,
 	},
 
+        {   0x1415, 0x9511, 0x1415, 0,
+            "Oxford Semiconductor OXuPCI952/OXuPCI954 UARTs (function 1)",
+            DEFAULT_RCLK,
+            PUC_PORT_NONSTANDARD, 0, 0, 8,
+        },
+
 	{   0x1415, 0x9511, 0xffff, 0,
 	    "Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)",
 	    DEFAULT_RCLK,

First chunk ist just 'normalising' - every other device uses
<TAB><4xSPACE> instead of <TAB><TAB> for indenting device definition
data. Second chunk adds four port version, third two port version, the
fourth one blocks bad definition for both cards. Without this, kernel
stops booting when either card's function 1 is detected and no
registers/memory responds there. I consider this a bit hacky way to
enable use both devices (the one mentioned in PR you cited and AAEON
miniPCI cards), however, we are not introducing a regression this way...

I built 8.3-STABLE kernel for test, but I see no reason this should not
work with 10-CURRENT, will test, however.

Regards,
Milan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121129223240.5f6da085>