
Dear Scott Wood,
In message 20110406203012.GA30167@schlenkerla.am.freescale.net you wrote:
This improves the performance of U-Boot when accepting rapid input, such as pasting a sequence of commands.
...
+static struct ns16550_priv rxstate[NUM_PORTS];
Do we really need to statically allocate these buffers for all configured serial ports? Actual I/O will always be done to a single port only, so eventually only one such buffer will ever be used?
+static void enqueue(unsigned int port, char ch) +{
- /* If queue is full, drop the character. */
- if ((rxstate[port].head - rxstate[port].tail - 1) % BUF_SIZE == 0)
return;
Is it really wise to silentrly drop characters here? Maybe we should stop reading from the device, and/or issue some error message?
What is the increase of the memory footprint (flash and RAM) with this patch, with CONFIG_NS16550_BUFFER_READS enabled and not enabled?
Best regards,
Wolfgang Denk