<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git, branch jb4.2.2_1.0.0-ga</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge remote-tracking branch 'fsl-linux-sdk/imx_3.0.35_4.0.0' into imx_3.0.35_android</title>
<updated>2013-04-17T05:17:30+00:00</updated>
<author>
<name>guoyin.chen</name>
<email>guoyin.chen@freescale.com</email>
</author>
<published>2013-04-17T05:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3b9608406bb699de5ff02760c745e62212b4c280'/>
<id>3b9608406bb699de5ff02760c745e62212b4c280</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00259008: mlb: reduce iram usage amount in async mode</title>
<updated>2013-04-16T11:19:58+00:00</updated>
<author>
<name>Terry Lv</name>
<email>r65388@freescale.com</email>
</author>
<published>2013-04-16T11:05:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=556681e28fda1c92eb2178306904a7df87f37449'/>
<id>556681e28fda1c92eb2178306904a7df87f37449</id>
<content type='text'>
In testing async mode on mx6q ard and mx6dl ard, driver always said "can
not alloc rx buffer".
Change async's ring buffer size from 2048 to 1536(MEP package size) and
reduce the extra ring buffer for drop package, now the iram usage amount
in async mode reduced from 34816 to 24576.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In testing async mode on mx6q ard and mx6dl ard, driver always said "can
not alloc rx buffer".
Change async's ring buffer size from 2048 to 1536(MEP package size) and
reduce the extra ring buffer for drop package, now the iram usage amount
in async mode reduced from 34816 to 24576.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258885 flexcan: fix errata ERR005641 that MB may fail to be sent</title>
<updated>2013-04-16T06:35:18+00:00</updated>
<author>
<name>Dong Aisheng</name>
<email>b29396@freescale.com</email>
</author>
<published>2013-04-12T10:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4344b2db1a090e212b7c7aafcdcfca66316ce22a'/>
<id>4344b2db1a090e212b7c7aafcdcfca66316ce22a</id>
<content type='text'>
This is an issue from IC errata ERR005641 which is described as follows:
----------------------------------------------------------
FlexCAN does not transmit a message that is enabled to be transmitted
in a specific moment during the arbitration process. The following
conditions are necessary to have the issue.
- Only one MB is configured to be transmitted
- The write which enables the MB to be transmitted (write on Control status
  word) happens during a specific clock during the arbitration process.

After this arbitration process occurs, the bus goes to Idle state and no
new message is received on bus.

For example:
1) MB13 is deactivated on RxIntermission (write 0x0 on CODE field from Control
Status word) - First write on CODE
2) Reconfigure the ID and data fields
3) Enable the MB13 to be transmitted on BusIdle (write 0xC on Code
field) - Second write on code
4) CAN bus keeps in Idle state
5) No write on Control status from any MB happens.
During the second write on code (step 3), the write must happen one clock
before the current MB13 is to be scanned by arbitration process.
In this case, it does not detect the new code (0xC) and no new arbitration is
scheduled.

The suggested workaround which is implemented in this patch is:
The workaround consists of executing two extra steps:
6. Reserve the first valid mailbox as an inactive mailbox (CODE=0b1000).
If RX FIFO is disabled, this mailbox must be MB0. Otherwise, the first
valid mailbox can be found by using table "RX FIFO filters" on FlexCAN3 chapter.
7. Write twice INACTIVE code (0b1000) into the first valid mailbox.
Note: The first mailbox cannot be used for reception or transmission process.
-------------------------------------------------------------

Note: Although the currently flexcan driver does not have the step 1 to run,
it's also possible to meet this issue in theory because we can not predict
when the arbitration is scheduled.

With a modified can-utils/canfdttest tool simulating Pingpong test, we were
able to reproduce this issue after running a about one day.
After applying this patch, we ran six days and did not see the issue happen
again on two mx6q sabrelite boards.

Signed-off-by: Dong Aisheng &lt;b29396@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an issue from IC errata ERR005641 which is described as follows:
----------------------------------------------------------
FlexCAN does not transmit a message that is enabled to be transmitted
in a specific moment during the arbitration process. The following
conditions are necessary to have the issue.
- Only one MB is configured to be transmitted
- The write which enables the MB to be transmitted (write on Control status
  word) happens during a specific clock during the arbitration process.

After this arbitration process occurs, the bus goes to Idle state and no
new message is received on bus.

For example:
1) MB13 is deactivated on RxIntermission (write 0x0 on CODE field from Control
Status word) - First write on CODE
2) Reconfigure the ID and data fields
3) Enable the MB13 to be transmitted on BusIdle (write 0xC on Code
field) - Second write on code
4) CAN bus keeps in Idle state
5) No write on Control status from any MB happens.
During the second write on code (step 3), the write must happen one clock
before the current MB13 is to be scanned by arbitration process.
In this case, it does not detect the new code (0xC) and no new arbitration is
scheduled.

The suggested workaround which is implemented in this patch is:
The workaround consists of executing two extra steps:
6. Reserve the first valid mailbox as an inactive mailbox (CODE=0b1000).
If RX FIFO is disabled, this mailbox must be MB0. Otherwise, the first
valid mailbox can be found by using table "RX FIFO filters" on FlexCAN3 chapter.
7. Write twice INACTIVE code (0b1000) into the first valid mailbox.
Note: The first mailbox cannot be used for reception or transmission process.
-------------------------------------------------------------

Note: Although the currently flexcan driver does not have the step 1 to run,
it's also possible to meet this issue in theory because we can not predict
when the arbitration is scheduled.

With a modified can-utils/canfdttest tool simulating Pingpong test, we were
able to reproduce this issue after running a about one day.
After applying this patch, we ran six days and did not see the issue happen
again on two mx6q sabrelite boards.

Signed-off-by: Dong Aisheng &lt;b29396@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK</title>
<updated>2013-04-16T06:35:08+00:00</updated>
<author>
<name>Reuben Dowle</name>
<email>Reuben.Dowle@navico.com</email>
</author>
<published>2011-10-31T22:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2bb0d0422f1bf18d4ecb1d8f3fd4bdefa0145d78'/>
<id>2bb0d0422f1bf18d4ecb1d8f3fd4bdefa0145d78</id>
<content type='text'>
Currently the flexcan driver uses hardware local echo. This blindly
echos all transmitted frames to all receiving sockets, regardless what
CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK are set to.

This patch now submits transmitted frames to be echoed in the transmit
complete interrupt, preserving the reference to the sending
socket. This allows the can protocol to correctly handle the local
echo.

Further this patch moves tx_bytes statistic accounting into the tx_complete
handler.

Signed-off-by: Reuben Dowle &lt;reuben.dowle@navico.com&gt;
[mkl: move tx_bytes accounting into tx_complete handler; cleanups]
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the flexcan driver uses hardware local echo. This blindly
echos all transmitted frames to all receiving sockets, regardless what
CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK are set to.

This patch now submits transmitted frames to be echoed in the transmit
complete interrupt, preserving the reference to the sending
socket. This allows the can protocol to correctly handle the local
echo.

Further this patch moves tx_bytes statistic accounting into the tx_complete
handler.

Signed-off-by: Reuben Dowle &lt;reuben.dowle@navico.com&gt;
[mkl: move tx_bytes accounting into tx_complete handler; cleanups]
Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>can: dev: let can_get_echo_skb() return dlc of CAN frame</title>
<updated>2013-04-16T06:34:58+00:00</updated>
<author>
<name>Marc Kleine-Budde</name>
<email>mkl@pengutronix.de</email>
</author>
<published>2011-10-10T21:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=94108194acb45f6cc488c9ff4e8d561c113f6409'/>
<id>94108194acb45f6cc488c9ff4e8d561c113f6409</id>
<content type='text'>
can_get_echo_skb() is usually called in the TX complete handler.
The stats-&gt;tx_packets and stats-&gt;tx_bytes should be updated there, too.
This patch simplifies to figure out the size of the sent CAN frame.

Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
can_get_echo_skb() is usually called in the TX complete handler.
The stats-&gt;tx_packets and stats-&gt;tx_bytes should be updated there, too.
This patch simplifies to figure out the size of the sent CAN frame.

Signed-off-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258733 WEIM-NOR: mtd: cfi_cmdset_0002: Do not release the mutex lock</title>
<updated>2013-04-15T10:05:53+00:00</updated>
<author>
<name>Huang Shijie</name>
<email>b32955@freescale.com</email>
</author>
<published>2013-04-12T07:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=25af3594148e6ab16ad0d86b36cded7200c880d2'/>
<id>25af3594148e6ab16ad0d86b36cded7200c880d2</id>
<content type='text'>
The NOR may suffers a write-buffer timeout during the bonnie++/ubifs stress
test. This patch is just a workaround to fix this issue.

With this patch, the read/write/erase will do in the synchronous way.

Signed-off-by: Huang Shijie &lt;b32955@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The NOR may suffers a write-buffer timeout during the bonnie++/ubifs stress
test. This patch is just a workaround to fix this issue.

With this patch, the read/write/erase will do in the synchronous way.

Signed-off-by: Huang Shijie &lt;b32955@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258357-5: mlb: Use circle buf macros to replace old ringbuf mechanism</title>
<updated>2013-04-15T09:29:07+00:00</updated>
<author>
<name>Terry Lv</name>
<email>r65388@freescale.com</email>
</author>
<published>2013-04-12T07:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f8f1b8124d552ec0320c4360b460ed2d74fab81d'/>
<id>f8f1b8124d552ec0320c4360b460ed2d74fab81d</id>
<content type='text'>
Use circle buf to replace old ringbuf mechanism.
Change to use circle buffer in read, write, rx isr and tx isr functions.
In first design of MLB, it's using it's own mechanism to manage ring
buffer, like in mxc_mlb.c.
And then, I saw that kernel already had a serials of circ buffer macros
which can be used to manage ring buffers.
This patch is to use circle buffer macros to manage mlb internal ring
buffers.
For detail of circle buffers, you can refer to
linux-2.6-imx/Documentation/circular-buffers.txt.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use circle buf to replace old ringbuf mechanism.
Change to use circle buffer in read, write, rx isr and tx isr functions.
In first design of MLB, it's using it's own mechanism to manage ring
buffer, like in mxc_mlb.c.
And then, I saw that kernel already had a serials of circ buffer macros
which can be used to manage ring buffers.
This patch is to use circle buffer macros to manage mlb internal ring
buffers.
For detail of circle buffers, you can refer to
linux-2.6-imx/Documentation/circular-buffers.txt.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258357-4: mlb: Group static variables to structure mlb_data</title>
<updated>2013-04-15T09:29:00+00:00</updated>
<author>
<name>Terry Lv</name>
<email>r65388@freescale.com</email>
</author>
<published>2013-04-12T07:33:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b4570bd7fce38384f01eed2a0cd5ff1c28165ad8'/>
<id>b4570bd7fce38384f01eed2a0cd5ff1c28165ad8</id>
<content type='text'>
Group static variables to structure mlb_data.
Use mlb_data as platform data to be passed to file operation
functions.
Change accordingly functions for this change.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Group static variables to structure mlb_data.
Use mlb_data as platform data to be passed to file operation
functions.
Change accordingly functions for this change.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258357-3: mlb: Reset whole CDR in init function</title>
<updated>2013-04-15T09:28:51+00:00</updated>
<author>
<name>Terry Lv</name>
<email>r65388@freescale.com</email>
</author>
<published>2013-04-12T07:18:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5f4d5dc2175730d8f992d4e37a8f42ed17437339'/>
<id>5f4d5dc2175730d8f992d4e37a8f42ed17437339</id>
<content type='text'>
Reset whole CDR in init function. This will make mlb connection to MITB
more stable.
This is a missed part in mx6 rm's mlb section, but new in mlb's latest
spec DS62420AP2.pdf 12.1.1-1.
Without this patch, mlb may receive irq from MITB during initialization.
It might cause some connection issue that mlb can't receive data
sometimes. It was treat to be MITB's fault before we get the latest
spec.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reset whole CDR in init function. This will make mlb connection to MITB
more stable.
This is a missed part in mx6 rm's mlb section, but new in mlb's latest
spec DS62420AP2.pdf 12.1.1-1.
Without this patch, mlb may receive irq from MITB during initialization.
It might cause some connection issue that mlb can't receive data
sometimes. It was treat to be MITB's fault before we get the latest
spec.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00258357-2: mlb: Add more debug msgs in DEBUG mode</title>
<updated>2013-04-15T09:28:44+00:00</updated>
<author>
<name>Terry Lv</name>
<email>r65388@freescale.com</email>
</author>
<published>2013-04-12T04:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b297cf95f1c837a9d61c92f121b86d5406682d02'/>
<id>b297cf95f1c837a9d61c92f121b86d5406682d02</id>
<content type='text'>
Changes are:
1. Use print_hex_dump to print buffer in DEBUG mode.
2. Add more debug msgs.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes are:
1. Use print_hex_dump to print buffer in DEBUG mode.
2. Add more debug msgs.

Signed-off-by: Terry Lv &lt;r65388@freescale.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
