public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
From: Lanttor <lanttor.guo@freescale.com>
To: Greg Ungerer <gerg@snapgear.com>
Cc: uClinux development list <uclinux-dev@uclinux.org>,
	linux-m68k@vger.kernel.org,
	Jin Zhengxiong-R64188 <Jason.Jin@freescale.com>
Subject: Re: [uClinux-dev] uart issues on coldfire platform
Date: Thu, 02 Jul 2009 10:21:51 +0800	[thread overview]
Message-ID: <4A4C19BF.3070002@freescale.com> (raw)
In-Reply-To: <4A4C0211.2090000@snapgear.com>

Thanks Greg/Matt/Cris' reply. I know it's not the issue now :)

> Most of the ColdFire UART blocks have no transmit FIFO, so you
> are going to get 1 interrupt per character. The above block  has
> at least 500 characters in it (including white space).  Then include
> the extra command prompt and you typing (receive interrupts) and I
> would figure that is going to come to around 600 interrupts.
> So, yes, that seems about right.
>
> Check the actual character count using:
>
>   cat /proc/tty/driver/mcf 
Indeed it is. The UART transmit Buffer in my board is 1 character size
(no FIFO), only receiver has FIFO.

I test command "cat /proc/tty/driver/mcf", the result is as follows:

[root@freescale /]# cat /proc/tty/driver/mcf
serinfo:1.0 driver revision:
0: uart:ColdFire UART mmio:0xFC060000 irq:90 tx:54821 rx:91 RTS|DTR|CD
[root@freescale /]# cat /proc/interrupts
M5445X    90:      55042 UART
M5445X    96:       9962 timer
M5445X    99:          2 timer
M5445X   100:       3761 fec(TXF)
M5445X   101:          0 fec(TXB)
M5445X   102:          0 fec(TXFIFO)
M5445X   103:          0 fec(TXCR)
M5445X   104:       8169 fec(RXF)
M5445X   105:          0 fec(RXB)
M5445X   106:        110 fec(MII)
M5445X   107:          0 fec(LC)
M5445X   108:          0 fec(HBERR)
M5445X   109:          0 fec(GRA)
M5445X   110:          0 fec(EBERR)
M5445X   111:          0 fec(BABT)
M5445X   112:          0 fec(BABR)
[root@freescale /]# cat /proc/tty/driver/mcf
serinfo:1.0 driver revision:
0: uart:ColdFire UART mmio:0xFC060000 irq:90 tx:55603 rx:115 RTS|DTR|CD

Thanks!

Regards,
Lanttor




------------------------------------------------------------------------
*From:* Greg Ungerer <gerg@snapgear.com>
*Sent:* 07/02/2009 8:40:49 AM +0800
*To:* uClinux development list <uclinux-dev@uclinux.org>
*CC:* linux-m68k@vger.kernel.org
*Subject:* [uClinux-dev] uart issues on coldfire platform

> Hi Lanttor,
>
> Lanttor wrote:
>>> Hi,
>>>
>>> I find one issue of UART on my coldfire platforms (mcf54451evb board).
>>> I use the linux-2.6.29, and use drivers/serial/mcf.c and
>>> drivers/serial/serial_core.c as my uart driver source.
>>>
>>> Following is my test steps -- run command: cat /proc/interrupts two
>>> times contiguously.
>>>
>>> [root@freescale /]# cat /proc/interrupts
>>> M5445X    *90:       5099 UART*
>>> M5445X    96:       3130 timer0
>>> M5445X    99:          0 timer3
>>> M5445X   100:       1569 fec(TXF)
>>> M5445X   101:          0 fec(TXB)
>>> M5445X   102:          0 fec(TXFIFO)
>>> M5445X   103:          0 fec(TXCR)
>>> M5445X   104:       3098 fec(RXF)
>>> M5445X   105:          0 fec(RXB)
>>> M5445X   106:         41 fec(MII)
>>> M5445X   107:          0 fec(LC)
>>> M5445X   108:          0 fec(HBERR)
>>> M5445X   109:          0 fec(GRA)
>>> M5445X   110:          0 fec(EBERR)
>>> M5445X   111:          0 fec(BABT)
>>> M5445X   112:          0 fec(BABR)
>>> [root@freescale /]# cat /proc/interrupts
>>> M5445X    *90:       5714 UART*
>>> M5445X    96:       3700 timer0
>>> M5445X    99:          1 timer3
>>> M5445X   100:       1574 fec(TXF)
>>> M5445X   101:          0 fec(TXB)
>>> M5445X   102:          0 fec(TXFIFO)
>>> M5445X   103:          0 fec(TXCR)
>>> M5445X   104:       3108 fec(RXF)
>>> M5445X   105:          0 fec(RXB)
>>> M5445X   106:         47 fec(MII)
>>> M5445X   107:          0 fec(LC)
>>> M5445X   108:          0 fec(HBERR)
>>> M5445X   109:          0 fec(GRA)
>>> M5445X   110:          0 fec(EBERR)
>>> M5445X   111:          0 fec(BABT)
>>> M5445X   112:          0 fec(BABR)
>>>
>>> I find that the interrupts for above operation is 5714 - 5099 = 605
>                                                      ^^^^^^^^^^^^^ 615 ?
>
>>> Is it normal? (my opinion it's too much)
>
> Most of the ColdFire UART blocks have no transmit FIFO, so you
> are going to get 1 interrupt per character. The above block  has
> at least 500 characters in it (including white space).  Then include
> the extra command prompt and you typing (receive interrupts) and I
> would figure that is going to come to around 600 interrupts.
> So, yes, that seems about right.
>
> Check the actual character count using:
>
>   cat /proc/tty/driver/mcf
>
>
>>> I test it on the mcf5329 board, it has the same-like result (even
>>> more 605).
>>> Actually I don't modify any code of mcf.c and serial_core.c, but I
>>> don't
>>> know why so much interrupts are occurred through one operation?
>
> That is the price you pay with no data FIFO's in these UART cores.
> (Some of the ColdFire parts support DMA with the UART - the mcf
> driver doesn't currently use this though).
>
> Regards
> Greg
>
>
>
> ------------------------------------------------------------------------
> Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
> SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
> 825 Stanley St,                             FAX:         +61 7 3891 3630
> Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

  reply	other threads:[~2009-07-02  2:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-01  2:20 uart issues on coldfire platform Lanttor
2009-07-01  6:30 ` Lanttor
2009-07-02  0:40   ` [uClinux-dev] " Greg Ungerer
2009-07-02  2:21     ` Lanttor [this message]
2009-07-01 13:44 ` Matthew Lear

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A4C19BF.3070002@freescale.com \
    --to=lanttor.guo@freescale.com \
    --cc=Jason.Jin@freescale.com \
    --cc=gerg@snapgear.com \
    --cc=linux-m68k@vger.kernel.org \
    --cc=uclinux-dev@uclinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox