Marvell 64360, MPSC Serial Console Problem
Mark A. Greer
mgreer at mvista.com
Thu Apr 21 05:41:54 EST 2005
Suresh Chandra Mannava wrote:
> We faced a problem in MPSC serial console part. The problem is, in
> Serial console data is received once after 32 characters are typed.
> Any thing less than 32 characters is not echoed or not transmitted
> till the 32 character count is reached.
> After carefully reviewing the code. We found that the receive buffer
> size is initialised to 32 bytes.
> We made a small correction in the code by making the receive buffer
> size to 1
> rxre->bufsize = 1;
I think you fixed a symptom but not the problem. By default, the rx
buffers are indeed 32 bytes long (i.e., a cacheline in size). When
receiving, the mpsc will generate an interrupt when there is an error,
when the buffer is full (32 bytes--unlikely if you're typing), or after
a timeout. I suspect your timeout value is bogus so you don't get the
interrupt until you fill the buffer with 32 bytes. Please compare the
platform_data that you pass to the mpsc driver to other, working systems
that use the mpsc (e.g., katana and cpci690). In particular, look at
your 'max_idle' value.
More information about the Linuxppc-embedded