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.
WARNING: multiple messages have this Message-ID (diff)
From: bpringlemeir@nbsps.com (Bill Pringlemeir)
To: linux-arm-kernel@lists.infradead.org
Subject: 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 at agner.ch wrote:
> Hi Bill,
>
> Am 2014-07-26 00:36, schrieb Bill Pringlemeir:
>> On 25 Jul 2014, bpringlemeir at 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.
next prev parent reply other threads:[~2014-07-28 22:51 UTC|newest]
Thread overview: 8+ 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:14 ` Bill Pringlemeir
2014-07-25 22:36 ` Bill Pringlemeir
2014-07-25 22:36 ` Bill Pringlemeir
2014-07-26 12:08 ` Stefan Agner
2014-07-26 12:08 ` Stefan Agner
2014-07-28 22:38 ` Bill Pringlemeir [this message]
2014-07-28 22:38 ` Bill Pringlemeir
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 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.