Re: questions about 8250 uart support for adhoc boards

Rob Prowel
2007-02-23T20:48:30Z

Thanks so much for your followup.

Russell King wrote:
> On Fri, Feb 23, 2007 at 12:05:48PM -0500, Rob Prowel wrote:
>
>> At least now, with fourport compiled into the kernel,
>>
>
> You don't even need to do that. Just configure SERIAL_8250_NR_UARTS
> and SERIAL_8250_RUNTIME_UARTS appropriately for your system. There's
> absolutely no need to build any of the additional modules.
>
>
Unfortunately what I'm seeing in 2.6.20.1 seems to differ from this. If
I use the options below:

CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=16
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_FOURPORT is not set
# CONFIG_SERIAL_8250_ACCENT is not set
# CONFIG_SERIAL_8250_BOCA is not set
# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set
# CONFIG_SERIAL_8250_HUB6 is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
# Non-8250 serial port support

Then I can only access ttyS0 through ttyS3 sith setserial. Only after I add
CONFIG_SERIAL_8250_FOURPORT=y am I actually able to do anything with the
additional ports. I would otherwise get the evil setserial: invalid
parameter error.

If you'd like I can offline you my complete .config file. lemme know.

>> I can use
>> setserial to see the uarts and correctly identify them...but the shared
>> interrupt vector doesn't seem to work. I haven't even attempted yet to
>> try stty or echoing data our to an o-scope.
>>
>
> I dropped support for the shared interrupt vector - having multiple
> different ISRs depending on the way the wind was blowing was extremely
> complex, and in this day and age of GHz CPUs rather silly.
>
> The serial driver can still share interrupts just fine. Just omit
> configuring the multiport address and masks.
>
>

OK. Fair enough. My question then becomes, how does the driver deal
with this now? scan all applicable uarts when any relevant interrupt is
detected (as identified in setserial)?

Thanks.