* a small patch to 8260_io/uart.c
@ 2002-11-18 12:39 Shen Rong
0 siblings, 0 replies; only message in thread
From: Shen Rong @ 2002-11-18 12:39 UTC (permalink / raw)
To: linuxppc-embedded
Hi,
Have you ever seen the strange output when the linux almost booted:
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 52k i?
tty_io.c: process 1 (swapper) used obsolete /dev/cua/1 - update software to use /dev/ttyS1
tty_io.c: process 1 (init) used obsolete /dev/cua/1 - update software to use /dev/ttyS1
Something missed at the end of "52k init\n". I found at last that's because the uart
driver needs to reset the serial speed in function change_speed(). It first save the enable/
disable info, and then change the smcmr, and then enable it if it was enabled before.
The problem is it will stop the SMC first if the SMC was enabled before. Thus, characters
missed. Ok, you don't care, just skip this mail:)
I solved the problem like that:
prev_mode = smcp->smc_smcmr & (SMCMR_REN | SMCMR_TEN);
smcp->smc_smcmr = smcr_mk_clen(bits) | cval | SMCMR_SM_UART | prev_mode;
the original code is like that(around line919):
prev_mode = smcp->smc_smcmr;
smcp->smc_smcmr = smcr_mk_clen(bits) | cval | SMCMR_SM_UART;
smcp->smc_smcmr |= (prev_mode & (SMCMR_REN | SMCMR_TEN));
It works for me, maybe you have other way.
Thanks,
Shenrong
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-11-18 12:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-18 12:39 a small patch to 8260_io/uart.c Shen Rong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).