[ECOS] SMC2 - no interrupts?
Jesper Skov
jskov@cygnus.co.uk
Wed Nov 10 00:57:00 GMT 1999
>>>>> "Jamie" == Jamie Guinan <guinan@bluebutton.com> writes:
Jamie> Is there anything else I need to do to get the interrupts into
Jamie> operation? Maybe its a cache issue?
It's a long shot, but you may have to prime the transmitter. See the
cogent serial driver:
// Enable the transmitter on the device
static void
cogent_serial_start_xmit(serial_channel *chan)
{
cogent_serial_info *cogent_chan = (cogent_serial_info *)chan->dev_priv;
cyg_addrword_t port = cogent_chan->base;
cyg_uint8 _ier;
HAL_READ_UINT8(port+SER_16550_IER, _ier);
_ier |= IER_XMT; // Enable xmit interrupt
HAL_WRITE_UINT8(port+SER_16550_IER, _ier);
(chan->callbacks->xmt_char)(chan);
}
The last line loads the first character into the transmit
buffer. Reason being that the TX interrupt doesn't happen until the TX
buffer goes from full->empty.
This is also done in the quicc_smc(1?) driver so if your are using the
same sources it's probably something else.
Jesper
More information about the Ecos-discuss
mailing list