Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Nov 2004 11:46:48 -0500 (EST)
From:      Paul Sandys <myj@nyct.net>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: SIIG cards and puc
Message-ID:  <20041122113525.G31812@bsd3.nyct.net>
In-Reply-To: <20041120084456.GU57546@funkthat.com>
References:  <20041114231939.Y71461@bsd3.nyct.net> <20041120084456.GU57546@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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 <gurney_j@resnet.uoregon.edu>
> To: Paul Sandys <myj@nyct.net>
> 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 ! "          >
<-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_->



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