[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problem with serial driver



Hallo folks,

I have a small app which opens a /dev/ttySx port
and later listens for incoming characters 
(using select()), echoes the data on the same port and processes it. The app is working OK
on PC hardware but fails to work on ETRAX
devboard LX (sw rel 2_0_0). I tracked the
problem down to be related to buffering of
data in arch/cris/drivers/serial.c. The driver
waits for the data stream to end before passing
it upwards and this causes an unacceptable
dalay.

OK, so I dived into serial.c and discovered
two #defines: ...RX_TIMEOUT_TICKS and ...FLUSH_DMA_FAST.

So far so good, first I played with setting 
TIMEOUT_TICKS to 0, but it didn't help. After a short while I discovered that it wasn't even referenced anywhere else in the source :-(

So I defined FLUSH_DMA_FAST only to discover that it wouldn't compile any more (with an explanatory note in serial.c around line 3090: TODO). :-|

My question is, has anyone got this driver to work properly without buffering?

The app connected to the serial port sends long streams of data and expects to see the echo immediately :-(

Any help will be appreciated.

Greetings,

Mariusz