From owner-freebsd-stable@FreeBSD.ORG Mon Nov 22 16:46:50 2004 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4369216A4CE for ; Mon, 22 Nov 2004 16:46:50 +0000 (GMT) Received: from bsd3.nyct.net (bsd3.nyct.net [216.139.128.7]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD84943D60 for ; Mon, 22 Nov 2004 16:46:49 +0000 (GMT) (envelope-from myj@bsd3.nyct.net) Received: from bsd3.nyct.net (localhost [127.0.0.1]) by bsd3.nyct.net (8.12.11/8.12.11) with ESMTP id iAMGkm1v032550; Mon, 22 Nov 2004 11:46:48 -0500 (EST) (envelope-from myj@bsd3.nyct.net) Received: (from myj@localhost) by bsd3.nyct.net (8.12.11/8.12.11/Submit) id iAMGkm63032549; Mon, 22 Nov 2004 11:46:48 -0500 (EST) (envelope-from myj) Date: Mon, 22 Nov 2004 11:46:48 -0500 (EST) From: Paul Sandys To: John-Mark Gurney In-Reply-To: <20041120084456.GU57546@funkthat.com> Message-ID: <20041122113525.G31812@bsd3.nyct.net> References: <20041114231939.Y71461@bsd3.nyct.net> <20041120084456.GU57546@funkthat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-stable@freebsd.org Subject: Re: SIIG cards and puc X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Nov 2004 16:46:50 -0000 The SIIG card I have does use shared interrupt for both ports, so I don't see any other way around it. The 0x40000001 is a regular flag that's used by sio.c . I found an undocumented feature in there, that allows you to set a FIFO size, so I used it in combination with the shared irq flag. from sio.c: #define COM_ISMULTIPORT(flags) ((flags) & 0x01) #define COM_FIFOSIZE(flags) (((flags) & 0xff000000) >> 24) Here's the diff: *** pucdata.c.orig Mon Nov 22 11:40:30 2004 --- pucdata.c Mon Nov 22 11:41:02 2004 *************** *** 539,546 **** { 0x131f, 0x2031, 0, 0 }, { 0xffff, 0xffff, 0, 0 }, { ! { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, ! { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, }, }, --- 539,546 ---- { 0x131f, 0x2031, 0, 0 }, { 0xffff, 0xffff, 0, 0 }, { ! { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ, 0x40000001 }, ! { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ, 0x40000001 }, }, }, On Sat, 20 Nov 2004, John-Mark Gurney wrote: > Date: Sat, 20 Nov 2004 00:44:56 -0800 > From: John-Mark Gurney > To: Paul Sandys > Cc: freebsd-stable@freebsd.org > Subject: Re: SIIG cards and puc > > Paul Sandys wrote this message on Sun, Nov 14, 2004 at 23:25 -0500: > > I've tried to get one of the 20x family 16C650 64-byte buffer SIIG cards to > > work. It does not work out of the box. > > > > I had to add 0x40000001 into the flags in pucdata.c for my card and "options > > where does this magic value come from? Could you express it in defines > in the code? i.e. PUC_FLAGS_MEMORY > > > COM_MULTIPORT" into the kernel config. It's still limited to 115200 baud, but > > all I was interested is 9600 anyway. > > COM_MULTIPORT will not be default due to the impact of having to test > every sio port on any sio interrupt... > > > Can this be implemented into the source tree ? > > A patch is helpful. > > -- > John-Mark Gurney Voice: +1 415 225 5579 > > "All that I will do, has been done, All that I have, has not." > <-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-> < myj@nyct.net Paul Sandys | New York Connect http://www.nyct.net > < network operations manager | Total Solution provider > <-------------------------------------------------------------------------> < " The Internet Solutions Provider You Can Count On ! " > <-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_->