All of lore.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.