Suresh Chandra Mannava wrote: > <snip> > > 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;
<snip> Suresh, 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. Mark
