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>