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
>
next prev parent 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