From: Bill Pringlemeir <bpringlemeir@nbsps.com>
To: Stefan Agner <stefan@agner.ch>
Cc: Yuan Yao <yao.yuan@freescale.com>,
linux-serial@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org
Subject: Re: fsl_lpuart/VF610: Division by zero.
Date: Mon, 28 Jul 2014 18:38:39 -0400 [thread overview]
Message-ID: <87zjftaz2o.fsf@nbsps.com> (raw)
In-Reply-To: <1aa4c71fa7441f217f33e7be9a8fa1b9@agner.ch> (Stefan Agner's message of "Sat, 26 Jul 2014 14:08:38 +0200")
On 26 Jul 2014, stefan@agner.ch wrote:
> Hi Bill,
>
> Am 2014-07-26 00:36, schrieb Bill Pringlemeir:
>> On 25 Jul 2014, bpringlemeir@nbsps.com wrote:
>
>>> I looked at the vmlinux objdump and it is here,
>>>
>>> static int lpuart_dma_rx_request(struct uart_port *port)
>>> {
>>> ...
>>> sport->dma_rx_timeout = (sport->port.timeout - HZ / 50) *
>>> FSL_UART_RX_DMA_BUFFER_SIZE * 3 /
>>> sport->rxfifo_size / 2;
>>>
>>> The variable 'sport->rxfifo_size' is set in lpuart_setup_watermark()
>>> and this is called after lpuart_dma_rx_request() in
>>> lpuart_startup().
> I observed this division by zero too, I recently sent a patch for
> that.
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/268772.html
> Greg already added that to his tty-next tree:
> https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/tree/drivers/tty/serial/fsl_lpuart.c?h=tty-next#n1309
> I also observed that DMA did not work yet, hence I a created a second
> patch:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/268773.html
>
> But eDMA in general was broken too, this patch solved that, hence you
> might want apply that patch too:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/268199.html
>
> All patches are lined up for 3.17, so things should be smooth from
> that release on.
Thanks, I applied all three patches to the arm-soc 'for-next' and now
the serial ports seems to be working. I am using the Tower board and
they have a 'TWR-SER2' card.
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-SER2
Unfortunately, the IOMUX conflicts with the Audio daughter-board in
vf610-twr.dts. The I/O conflicts are,
VF610_PAD_PTB6__FTM0_CH6
VF610_PAD_PTB7__FTM0_CH7
versus
VF610_PAD_PTB6__UART2_TX
VF610_PAD_PTB7__UART2_RX
Below are the DT changes to get two 'ttyLP' working with the Tower
System which probably will never apply cleanly, but are just meant for
reference.
--- a/arch/arm/boot/dts/vf610-twr.dts
+++ b/arch/arm/boot/dts/vf610-twr.dts
@@ -58,7 +59,7 @@
regulator-max-microvolt = <3300000>;
};
};
-
+/*
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
@@ -87,6 +88,7 @@
bitclock-master;
};
};
+*/
};
&adc0 {
@@ -241,7 +243,7 @@
};
-
+/*
pinctrl_pwm0: pwm0grp {
fsl,pins = <
VF610_PAD_PTB0__FTM0_CH0 0x1582
@@ -252,7 +254,7 @@
VF610_PAD_PTB7__FTM0_CH7 0x1582
>;
};
-
+*/
pinctrl_sai2: sai2grp {
fsl,pins = <
VF610_PAD_PTA16__SAI2_TX_BCLK 0x02ed
@@ -271,6 +273,13 @@
VF610_PAD_PTB5__UART1_RX 0x21a1
>;
};
+
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ VF610_PAD_PTB6__UART2_TX 0x21a2
+ VF610_PAD_PTB7__UART2_RX 0x21a1
+ >;
+ };
};
};
@@ -284,21 +293,31 @@
status = "okay";
};
+/*
&pwm0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0>;
status = "okay";
};
-
&sai2 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
status = "okay";
};
-
+*/
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart2>;
+ status = "okay";
+};
The standard jumpers on the Tower will either route ttyLP1 to the 'USB'
or to the 'serial board'; ttyLP2 will be the opposite with the 'serial
board' or the 'USB'.
Thanks again. I should have read the linux-arm list more diligently.
Bill Pringlemeir.
prev parent reply other threads:[~2014-07-28 22:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-25 22:14 fsl_lpuart/VF610: Division by zero Bill Pringlemeir
2014-07-25 22:36 ` Bill Pringlemeir
2014-07-26 12:08 ` Stefan Agner
2014-07-28 22:38 ` Bill Pringlemeir [this message]
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=87zjftaz2o.fsf@nbsps.com \
--to=bpringlemeir@nbsps.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=stefan@agner.ch \
--cc=yao.yuan@freescale.com \
/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