<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git, branch imx-android-13.4.1</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>ENGR00233732 mx6dl: change 996M setpoint voltage</title>
<updated>2012-11-20T06:16:03+00:00</updated>
<author>
<name>Anson Huang</name>
<email>b20788@freescale.com</email>
</author>
<published>2012-11-09T16:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8513494e88d30972288366cdf4fa259c9f80a207'/>
<id>8513494e88d30972288366cdf4fa259c9f80a207</id>
<content type='text'>
Change 996M setpoint voltage according to datasheet,
lower VDDARM_CAP from 1.275V to 1.25V, and VDDSOC/PU_CAP
from 1.275V to 1.175V.

Signed-off-by: Anson Huang &lt;b20788@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change 996M setpoint voltage according to datasheet,
lower VDDARM_CAP from 1.275V to 1.25V, and VDDSOC/PU_CAP
from 1.275V to 1.175V.

Signed-off-by: Anson Huang &lt;b20788@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00233049 Fixed kernel panic in lower memory killer</title>
<updated>2012-11-12T15:44:35+00:00</updated>
<author>
<name>Xianzhong</name>
<email>b07117@freescale.com</email>
</author>
<published>2012-11-12T15:33:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4531ec56c17ff89a39a51907ab38209e26398da0'/>
<id>4531ec56c17ff89a39a51907ab38209e26398da0</id>
<content type='text'>
The kernel panic happen when normal memory is exhausted but high memory is available,
The fix is to disable oom-killer in normal alloc_pages, oom-killer will be triggered when normal and highmem zones are exhausted.

Signed-off-by: Xianzhong &lt;b07117@freescale.com&gt;
Acked-by: Lily Zhang
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The kernel panic happen when normal memory is exhausted but high memory is available,
The fix is to disable oom-killer in normal alloc_pages, oom-killer will be triggered when normal and highmem zones are exhausted.

Signed-off-by: Xianzhong &lt;b07117@freescale.com&gt;
Acked-by: Lily Zhang
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00232951 the force contiguous lowmem killer</title>
<updated>2012-11-12T06:24:14+00:00</updated>
<author>
<name>Xianzhong</name>
<email>b07117@freescale.com</email>
</author>
<published>2012-11-09T13:28:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4429a55b3cd51291ffc4c4ee59b9acf18398978e'/>
<id>4429a55b3cd51291ffc4c4ee59b9acf18398978e</id>
<content type='text'>
The killer only work when force contiguous memory allocation fail,the work routinue:
1. register task free callback
2. force contiguous lowmem shrink
   1&gt; initialize min_adj to 0, kill itself in case other process cannot be killed
   2&gt; polling all process and find the available process(higher oom_adj, higher gpu memory)
   3&gt; select the best available process and send SIGKILL to kill it
3. try to allocate force contiguous memory again
4. unregister task free and exit shrinking state when memory is ready

Signed-off-by: Xianzhong &lt;b07117@freescale.com&gt;
Acked-by: Lily Zhang
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The killer only work when force contiguous memory allocation fail,the work routinue:
1. register task free callback
2. force contiguous lowmem shrink
   1&gt; initialize min_adj to 0, kill itself in case other process cannot be killed
   2&gt; polling all process and find the available process(higher oom_adj, higher gpu memory)
   3&gt; select the best available process and send SIGKILL to kill it
3. try to allocate force contiguous memory again
4. unregister task free and exit shrinking state when memory is ready

Signed-off-by: Xianzhong &lt;b07117@freescale.com&gt;
Acked-by: Lily Zhang
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'rel_imx_3.0.35_12.11.01_RC3' into imx_3.0.35_android_r13.4.y</title>
<updated>2012-11-09T06:11:22+00:00</updated>
<author>
<name>Xinyu Chen</name>
<email>xinyu.chen@freescale.com</email>
</author>
<published>2012-11-09T06:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6f4bfd20b2a1b3a11a2bece474bb806712c4a318'/>
<id>6f4bfd20b2a1b3a11a2bece474bb806712c4a318</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00232525 mx6q_sabresd: system should not be wake up by volume key</title>
<updated>2012-11-08T14:15:17+00:00</updated>
<author>
<name>Lin Fuzhen</name>
<email>fuzhen.lin@freescale.com</email>
</author>
<published>2012-11-06T05:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=274ac335362a56a2033b2dd9dff8d2ef72f518d9'/>
<id>274ac335362a56a2033b2dd9dff8d2ef72f518d9</id>
<content type='text'>
remove the wake up flag for VOL_DOWN and VOL_UP keys for sabresd B4 and
above board.

Signed-off-by: Lin Fuzhen &lt;fuzhen.lin@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
remove the wake up flag for VOL_DOWN and VOL_UP keys for sabresd B4 and
above board.

Signed-off-by: Lin Fuzhen &lt;fuzhen.lin@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00232930 Added default video mode check, make sure it is a CEA mode.</title>
<updated>2012-11-08T10:05:19+00:00</updated>
<author>
<name>Sandor Yu</name>
<email>R01008@freescale.com</email>
</author>
<published>2012-11-08T08:24:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=45ac114a6769b08d52b8bcde50743c77d1480811'/>
<id>45ac114a6769b08d52b8bcde50743c77d1480811</id>
<content type='text'>
When system bootup without HDMI plugin, the default modelist
and default video mode will create.
Match default video mode in default CEA modelist, make sure
default video mode is a CEA mode.

Signed-off-by: Sandor Yu &lt;R01008@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When system bootup without HDMI plugin, the default modelist
and default video mode will create.
Match default video mode in default CEA modelist, make sure
default video mode is a CEA mode.

Signed-off-by: Sandor Yu &lt;R01008@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00232583 Mx6 USB host: Set HCD_FLAG_HW_ACCESSIBLE flag after clock gate</title>
<updated>2012-11-07T10:05:27+00:00</updated>
<author>
<name>make shi</name>
<email>b15407@freescale.com</email>
</author>
<published>2012-11-06T07:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c8997b3a0452eb931fed6a9aa3e8046911efd9cc'/>
<id>c8997b3a0452eb931fed6a9aa3e8046911efd9cc</id>
<content type='text'>
There is a USB hang issue when do system suspend/resume test with a USB
device plug in. The issue is caused by USB host driver accessing register
when clock is off. Currently set HCD_FLAG_HW_ACCESSIBLE bit before open
clock in ehci_fsl_bus_resume, it cause accessing register without clock.
So we should change the code call order to avoid driver access register
without clock.

- Set HCD_FLAG_HW_ACCESSIBLE software flag after HW clock turn on
- remove some unnecessary code in ehci_fsl_pre_irq

Signed-off-by: make shi &lt;b15407@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a USB hang issue when do system suspend/resume test with a USB
device plug in. The issue is caused by USB host driver accessing register
when clock is off. Currently set HCD_FLAG_HW_ACCESSIBLE bit before open
clock in ehci_fsl_bus_resume, it cause accessing register without clock.
So we should change the code call order to avoid driver access register
without clock.

- Set HCD_FLAG_HW_ACCESSIBLE software flag after HW clock turn on
- remove some unnecessary code in ehci_fsl_pre_irq

Signed-off-by: make shi &lt;b15407@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00231778 MX6 ESAI: Adjust channel support capability of cpu/codec dai</title>
<updated>2012-11-07T03:16:35+00:00</updated>
<author>
<name>Lionel Xu</name>
<email>Lionel.Xu@freescale.com</email>
</author>
<published>2012-10-31T08:40:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2f97f07951af488985298e56082c368d176c3bc5'/>
<id>2f97f07951af488985298e56082c368d176c3bc5</id>
<content type='text'>
To adjust the channel support capability, codec dai does not support mono
playback and record, while esai dai does, thus making the whole audio
codec only support stereo and above channel playback/record.

Signed-off-by: Lionel Xu &lt;R63889@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To adjust the channel support capability, codec dai does not support mono
playback and record, while esai dai does, thus making the whole audio
codec only support stereo and above channel playback/record.

Signed-off-by: Lionel Xu &lt;R63889@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00231826 imx esdhc: Add the DMA mask for esdhc device register.</title>
<updated>2012-11-07T03:15:56+00:00</updated>
<author>
<name>Xinyu Chen</name>
<email>xinyu.chen@freescale.com</email>
</author>
<published>2012-10-31T06:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=558ebebcc4f15675cbf9fc2cca53edc4e77771e7'/>
<id>558ebebcc4f15675cbf9fc2cca53edc4e77771e7</id>
<content type='text'>
We must set the DMA mask for esdhc device.
To avoid the following crash when we do not have highmem pages:

[&lt;c0044f90&gt;] (__dabt_svc+0x70/0xa0) from [&lt;c00cf460&gt;]
[&lt;c00cf460&gt;] (mempool_alloc+0x3c/0x108) from [&lt;c00f4aa4&gt;]
[&lt;c00f4aa4&gt;] (blk_queue_bounce+0xc0/0x2fc) from [&lt;c023761c&gt;]
[&lt;c023761c&gt;] (__make_request+0x20/0x2b8) from [&lt;c0235bb4&gt;]
[&lt;c0235bb4&gt;] (generic_make_request+0x3b4/0x4cc) from [&lt;c0235d74&gt;]
[&lt;c0235d74&gt;] (submit_bio+0xa8/0x128) from [&lt;c01279c4&gt;]
[&lt;c01279c4&gt;] (submit_bh+0x108/0x178) from [&lt;c012baa0&gt;]
[&lt;c012baa0&gt;] (block_read_full_pag+e0x278/0x394) from [&lt;c00cd520&gt;]
[&lt;c00cd520&gt;] (do_read_cache_page+0x70/0x154) from [&lt;c00cd64c&gt;]
[&lt;c00cd64c&gt;] (read_cache_page_async+0x1c/0x24) from [&lt;c00cd65c&gt;]
[&lt;c00cd65c&gt;] (read_cache_page+0x8/0x10) from [&lt;c014c354&gt;]
[&lt;c014c354&gt;] (read_dev_sector+0x30/0x68) from [&lt;c014dd4c&gt;]
[&lt;c014dd4c&gt;] (read_lba+0xa0/0x164) from [&lt;c014e300&gt;]
[&lt;c014e300&gt;] (efi_partition+0x9c/0xed4) from [&lt;c014ca0c&gt;]
[&lt;c014ca0c&gt;] (rescan_partitions+0x15c/0x480) from [&lt;c012f190&gt;]
[&lt;c012f190&gt;] (__blkdev_get+0x324/0x394) from [&lt;c012f300&gt;]
[&lt;c012f300&gt;] (blkdev_get+0x100/0x358) from [&lt;c023e5f4&gt;]
[&lt;c023e5f4&gt;] (register_disk+0x140/0x164) from [&lt;c023e73c&gt;]
[&lt;c023e73c&gt;] (add_disk+0x124/0x2a0) from [&lt;c03a7528&gt;]
[&lt;c03a7528&gt;] (mmc_add_disk+0x10/0x68) from [&lt;c03a7820&gt;]
[&lt;c03a7820&gt;] (mmc_blk_probe+0x15c/0x20c) from [&lt;c039cc90&gt;]
[&lt;c039cc90&gt;] (mmc_bus_probe+0x18/0x1c) from [&lt;c0294e28&gt;]

When our DDR size is small or reserved memory are large and
the lowmem can cover all the available pages for kernel,
the highmem pages will not be setup. That means the page_pool
for bounce queue can not be create in init_emergency_pool().
And page_pool will stay NULL without initialized.
In the mmc/card/queue.c the blk_queue_bounce_limit()
function will be called in mmc_init_queue() to
initialize the request_queue and it's bounce_gfp.
If we do not define the DMA mask for our platform,
then the BLK_BOUNCE_HIGH (lowmem pfn) will be set
as limit to queue bounce, which means the blk_queue_bounce
will use page_pool to iterate over the bio segment.
Under the circumstances that highmem is not setup,
the page_pool is null, and causes kernel crash.
After set the DMA mask for esdhci device, the page_pool
will not be used to iterate over the bio segment.

Signed-off-by: Xinyu Chen &lt;xinyu.chen@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We must set the DMA mask for esdhc device.
To avoid the following crash when we do not have highmem pages:

[&lt;c0044f90&gt;] (__dabt_svc+0x70/0xa0) from [&lt;c00cf460&gt;]
[&lt;c00cf460&gt;] (mempool_alloc+0x3c/0x108) from [&lt;c00f4aa4&gt;]
[&lt;c00f4aa4&gt;] (blk_queue_bounce+0xc0/0x2fc) from [&lt;c023761c&gt;]
[&lt;c023761c&gt;] (__make_request+0x20/0x2b8) from [&lt;c0235bb4&gt;]
[&lt;c0235bb4&gt;] (generic_make_request+0x3b4/0x4cc) from [&lt;c0235d74&gt;]
[&lt;c0235d74&gt;] (submit_bio+0xa8/0x128) from [&lt;c01279c4&gt;]
[&lt;c01279c4&gt;] (submit_bh+0x108/0x178) from [&lt;c012baa0&gt;]
[&lt;c012baa0&gt;] (block_read_full_pag+e0x278/0x394) from [&lt;c00cd520&gt;]
[&lt;c00cd520&gt;] (do_read_cache_page+0x70/0x154) from [&lt;c00cd64c&gt;]
[&lt;c00cd64c&gt;] (read_cache_page_async+0x1c/0x24) from [&lt;c00cd65c&gt;]
[&lt;c00cd65c&gt;] (read_cache_page+0x8/0x10) from [&lt;c014c354&gt;]
[&lt;c014c354&gt;] (read_dev_sector+0x30/0x68) from [&lt;c014dd4c&gt;]
[&lt;c014dd4c&gt;] (read_lba+0xa0/0x164) from [&lt;c014e300&gt;]
[&lt;c014e300&gt;] (efi_partition+0x9c/0xed4) from [&lt;c014ca0c&gt;]
[&lt;c014ca0c&gt;] (rescan_partitions+0x15c/0x480) from [&lt;c012f190&gt;]
[&lt;c012f190&gt;] (__blkdev_get+0x324/0x394) from [&lt;c012f300&gt;]
[&lt;c012f300&gt;] (blkdev_get+0x100/0x358) from [&lt;c023e5f4&gt;]
[&lt;c023e5f4&gt;] (register_disk+0x140/0x164) from [&lt;c023e73c&gt;]
[&lt;c023e73c&gt;] (add_disk+0x124/0x2a0) from [&lt;c03a7528&gt;]
[&lt;c03a7528&gt;] (mmc_add_disk+0x10/0x68) from [&lt;c03a7820&gt;]
[&lt;c03a7820&gt;] (mmc_blk_probe+0x15c/0x20c) from [&lt;c039cc90&gt;]
[&lt;c039cc90&gt;] (mmc_bus_probe+0x18/0x1c) from [&lt;c0294e28&gt;]

When our DDR size is small or reserved memory are large and
the lowmem can cover all the available pages for kernel,
the highmem pages will not be setup. That means the page_pool
for bounce queue can not be create in init_emergency_pool().
And page_pool will stay NULL without initialized.
In the mmc/card/queue.c the blk_queue_bounce_limit()
function will be called in mmc_init_queue() to
initialize the request_queue and it's bounce_gfp.
If we do not define the DMA mask for our platform,
then the BLK_BOUNCE_HIGH (lowmem pfn) will be set
as limit to queue bounce, which means the blk_queue_bounce
will use page_pool to iterate over the bio segment.
Under the circumstances that highmem is not setup,
the page_pool is null, and causes kernel crash.
After set the DMA mask for esdhci device, the page_pool
will not be used to iterate over the bio segment.

Signed-off-by: Xinyu Chen &lt;xinyu.chen@freescale.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ENGR00232586 mx6: increase PUPSCR to make sure LDO is ready for resume</title>
<updated>2012-11-07T03:08:52+00:00</updated>
<author>
<name>Anson Huang</name>
<email>b20788@freescale.com</email>
</author>
<published>2012-11-06T22:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8f6f1a04386f12e258622afda0ce6eb674b97625'/>
<id>8f6f1a04386f12e258622afda0ce6eb674b97625</id>
<content type='text'>
Previous setting of PUPSCR is 0x202, which means there is only ~63us
for LDO ramp up, sometimes, system fail to resume by USB remote wake up,
increase this timing to fix USB remote wake up issue.

Signed-off-by: Anson Huang &lt;b20788@freescale.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previous setting of PUPSCR is 0x202, which means there is only ~63us
for LDO ramp up, sometimes, system fail to resume by USB remote wake up,
increase this timing to fix USB remote wake up issue.

Signed-off-by: Anson Huang &lt;b20788@freescale.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
