Hi
The following patch updates the new CPM1/CPM2 uart driver.
Its main features are:
1. The driver is moved on it's own directory within drivers/serial.
2. The defines used on the previous driver are removed and
the different operations for CPM1/CPM2 are moved to their own
files.
3. The new DMA api is utilized.
Regards
Pantelis
P.S. Apologies for the bziped patch, but the list limit is too small.
From: David Woodhouse <dwmw2@infradead.org> Date: 2004-06-05 09:12:24
On Thu, 2004-06-03 at 17:13 +0300, Pantelis Antoniou wrote:
Hi
The following patch updates the new CPM1/CPM2 uart driver.
It seems to lose queued characters from the kernel output when userspace
/dev/console is first opened. Should you drain the FIFO before resetting
the hardware on open? Or indeed refrain from resetting the hardware if
you're not actually changing anything?
This is with console on ttyCPM0 == SMC1. SysRq is also non-functional.
--
dwmw2
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
On Sat, Jun 05, 2004 at 10:12:24AM +0100, David Woodhouse wrote:
On Thu, 2004-06-03 at 17:13 +0300, Pantelis Antoniou wrote:
quoted
Hi
The following patch updates the new CPM1/CPM2 uart driver.
It seems to lose queued characters from the kernel output when userspace
/dev/console is first opened. Should you drain the FIFO before resetting
the hardware on open? Or indeed refrain from resetting the hardware if
you're not actually changing anything?
I haven't seen this problem on 8xx myself.
This is with console on ttyCPM0 == SMC1. SysRq is also non-functional.
From: David Woodhouse <dwmw2@infradead.org> Date: 2004-06-05 22:02:09
On Sat, 2004-06-05 at 12:22 -0700, Tom Rini wrote:
On Sat, Jun 05, 2004 at 10:12:24AM +0100, David Woodhouse wrote:
quoted
On Thu, 2004-06-03 at 17:13 +0300, Pantelis Antoniou wrote:
quoted
Hi
The following patch updates the new CPM1/CPM2 uart driver.
It seems to lose queued characters from the kernel output when userspace
/dev/console is first opened. Should you drain the FIFO before resetting
the hardware on open? Or indeed refrain from resetting the hardware if
you're not actually changing anything?
This is with console on ttyCPM0 == SMC1. SysRq is also non-functional.
SysRq is fixed in the linuxppc-2.5 tree now.
There's something weird about the console output if I hit SysRq-B. It's
as if each 32-bit word is rotated by 8 bits before being sent. The oops
I expect -- I know machine_restart() doesn't work and I'll fix if if I
have the toy in question here at home without automatic power control
for any length of time. But I do expect the oops to be readable :)
SysRq : ResettinttihMac inecchenk ir ke nelemodC.
eausyd br (fSom =RR10410 0):nTrarsfer eraor sck aignOl
:opsc maehine ch ck,:sig[ 7
... etc...
Also, userspace is broken without panto's _tlbia() hack in
update_mmu_cache().
Btw, someone with shell access to the linuxppc BK tree needs to manually
edit SCCS/s.ChangeSet and fix the checksum on this changeset:
ChangeSet@1.497.3879.2, 2004-04-09 10:55:30-07:00, rvinson@linuxbox.(none)
Updating Force PCore to 2.6
This should do it:
perl -pi -e s/K64684/K65408/ SCCS/s.ChangeSet
(for reference, if you 'bk export -tpatch' the offending cset it'll tell
you what the checksum is and what it should be.).
Then 'get ChangeSet' and it'll bitch about the checksum. Edit
SCCS/s.ChangeSet and fix the 'Hxxxxx' checksum in the very first line,
correcting it to the value it just gave you.
--
dwmw2
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
On Sat, 2004-06-05 at 12:22 -0700, Tom Rini wrote:
quoted
On Sat, Jun 05, 2004 at 10:12:24AM +0100, David Woodhouse wrote:
quoted
On Thu, 2004-06-03 at 17:13 +0300, Pantelis Antoniou wrote:
quoted
Hi
The following patch updates the new CPM1/CPM2 uart driver.
It seems to lose queued characters from the kernel output when userspace
/dev/console is first opened. Should you drain the FIFO before resetting
the hardware on open? Or indeed refrain from resetting the hardware if
you're not actually changing anything?
The following patch fixes the problem by properly waiting
two character times on mode change.
It had to be applied with 'patch -l' due to whitespace noise.
The patch was against my own tree, so that's explainable.
Should check better next time.
Now I get this:
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 100k init
íbash-2.05b#
Hmm, just multiply by 3 in udelay instead of 2.
What is your baud rate? 9600?
Regards
Pantelis
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
The following patch fixes the problem by properly waiting
two character times on mode change.
It had to be applied with 'patch -l' due to whitespace noise.
Now I get this:
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 100k init
íbash-2.05b#
--
dwmw2
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Woodhouse <dwmw2@infradead.org> Date: 2004-06-07 08:53:12
On Mon, 2004-06-07 at 11:34 +0300, Pantelis Antoniou wrote:
Hmm, just multiply by 3 in udelay instead of 2.
What is your baud rate? 9600?
Yeah. Why must we pick numbers out of the air instead of actually
waiting for the hardware to say it's finished?
--
dwmw2
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
On Mon, 2004-06-07 at 11:34 +0300, Pantelis Antoniou wrote:
quoted
Hmm, just multiply by 3 in udelay instead of 2.
What is your baud rate? 9600?
Yeah. Why must we pick numbers out of the air instead of actually
waiting for the hardware to say it's finished?
Actually I didn't pick it out of thin air.
It is mentioned in the manual that you must wait
two character times for the HW fifo to drain.
There is no hardware event bit for FIFO empty.
It's just that the udelay call is not really exact.
So +1 and we're all OK! :)
So did it work now?
Regards
Pantelis
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
From: David Woodhouse <dwmw2@infradead.org> Date: 2004-06-07 09:06:05
On Mon, 2004-06-07 at 11:53 +0300, Pantelis Antoniou wrote:
It is mentioned in the manual that you must wait
two character times for the HW fifo to drain.
There is no hardware event bit for FIFO empty.
It's just that the udelay call is not really exact.
So +1 and we're all OK! :)
@@ -483,6 +484,10 @@if((termios->c_cflag&CREAD)==0)port->read_status_mask&=~BD_SC_EMPTY;+/* if previous configuration exists wait 2 character times for tx to finish */+if(pinfo->baud!=0||pinfo->bits!=0)+udelay((3*1000000*pinfo->bits)/pinfo->baud);+spin_lock_irqsave(&port->lock,flags);/* Start bit has not been added (so don't, because we would just