<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/dma/pch_dma.c, branch v3.0.88</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>pch_dma: Use GFP_ATOMIC because called from interrupt context</title>
<updated>2013-05-19T17:04:47+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2013-02-12T02:25:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b89396eaa22b921245b4d30f7e26e406e89aa51c'/>
<id>b89396eaa22b921245b4d30f7e26e406e89aa51c</id>
<content type='text'>
commit 5c1ef59168c485318e40ba485c1eba57d81d0faa upstream.

pdc_desc_get() is called from pd_prep_slave_sg, and the function is
called from interrupt context(e.g. Uart driver "pch_uart.c").
In fact, I saw kernel error message.
So, GFP_ATOMIC must be used not GFP_NOIO.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5c1ef59168c485318e40ba485c1eba57d81d0faa upstream.

pdc_desc_get() is called from pd_prep_slave_sg, and the function is
called from interrupt context(e.g. Uart driver "pch_uart.c").
In fact, I saw kernel error message.
So, GFP_ATOMIC must be used not GFP_NOIO.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Support new device LAPIS Semiconductor ML7831 IOH</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2011-11-17T07:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=127f90d6ff47e9095261f442d1ad511930cd7fd4'/>
<id>127f90d6ff47e9095261f442d1ad511930cd7fd4</id>
<content type='text'>
commit ca7fe2db892dcf91b2c72ee352eda4ff867903a7 upstream.

ML7831 is companion chip for Intel Atom E6xx series.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ca7fe2db892dcf91b2c72ee352eda4ff867903a7 upstream.

ML7831 is companion chip for Intel Atom E6xx series.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix suspend issue</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.lapis-semi.com</email>
</author>
<published>2011-10-11T12:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5e051465ef7ef611bcf6cb83d4dd85483417276f'/>
<id>5e051465ef7ef611bcf6cb83d4dd85483417276f</id>
<content type='text'>
commit c43f1508686e8e4746012bf87995085eeb0f5307 upstream.

Currently, executing suspend/hibernation,
memory access violation occurs.

In pch_dma_save_regs() called by suspend(),
you can see the following code.

static void pch_dma_save_regs(struct pch_dma *pd)
{
snip...
        list_for_each_entry_safe(chan, _c, &amp;pd-&gt;dma.channels, device_node) {
                pd_chan = to_pd_chan(chan);

                pd-&gt;ch_regs[i].dev_addr = channel_readl(pd_chan, DEV_ADDR);
                pd-&gt;ch_regs[i].mem_addr = channel_readl(pd_chan, MEM_ADDR);
                pd-&gt;ch_regs[i].size = channel_readl(pd_chan, SIZE);
                pd-&gt;ch_regs[i].next = channel_readl(pd_chan, NEXT);

                i++;
        }
}

Max loop count is 12 defined at pci_table.
So, this caused memory access violation.

This patch fixes the issue
 - Modify array size (MAX_CHAN_NR)

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.lapis-semi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c43f1508686e8e4746012bf87995085eeb0f5307 upstream.

Currently, executing suspend/hibernation,
memory access violation occurs.

In pch_dma_save_regs() called by suspend(),
you can see the following code.

static void pch_dma_save_regs(struct pch_dma *pd)
{
snip...
        list_for_each_entry_safe(chan, _c, &amp;pd-&gt;dma.channels, device_node) {
                pd_chan = to_pd_chan(chan);

                pd-&gt;ch_regs[i].dev_addr = channel_readl(pd_chan, DEV_ADDR);
                pd-&gt;ch_regs[i].mem_addr = channel_readl(pd_chan, MEM_ADDR);
                pd-&gt;ch_regs[i].size = channel_readl(pd_chan, SIZE);
                pd-&gt;ch_regs[i].next = channel_readl(pd_chan, NEXT);

                i++;
        }
}

Max loop count is 12 defined at pci_table.
So, this caused memory access violation.

This patch fixes the issue
 - Modify array size (MAX_CHAN_NR)

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.lapis-semi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix CTL register access issue</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-07-14T00:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c9f52d613590b10630ab8bb222ae05c551389425'/>
<id>c9f52d613590b10630ab8bb222ae05c551389425</id>
<content type='text'>
commit 0b052f4a088ddc47a5da23dd733522241314cfb4 upstream.

Currently, Mode-Control register is accessed by read-modify-write.

According to DMA hardware specifications datasheet, prohibits this method.
Because this register resets to 0 by DMA HW after DMA transfer completes.
Thus, current read-modify-write processing can cause unexpected behavior.

The datasheet says in case of writing Mode-Control register, set the value for only target channel, the others must set '11b'.
e.g. Set DMA0=01b  DMA11=10b
CTL0=33333331h
CTL2=00002333h

NOTE:
CTL0 includes DMA0~7 Mode-Control register.
CTL2 includes DMA8~11 Mode-Control register.

This patch modifies the issue.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0b052f4a088ddc47a5da23dd733522241314cfb4 upstream.

Currently, Mode-Control register is accessed by read-modify-write.

According to DMA hardware specifications datasheet, prohibits this method.
Because this register resets to 0 by DMA HW after DMA transfer completes.
Thus, current read-modify-write processing can cause unexpected behavior.

The datasheet says in case of writing Mode-Control register, set the value for only target channel, the others must set '11b'.
e.g. Set DMA0=01b  DMA11=10b
CTL0=33333331h
CTL2=00002333h

NOTE:
CTL0 includes DMA0~7 Mode-Control register.
CTL2 includes DMA8~11 Mode-Control register.

This patch modifies the issue.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix channel locking</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Alexander Stein</name>
<email>alexander.stein@systec-electronic.com</email>
</author>
<published>2011-06-22T15:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=724d7ad550fb6ed11ce40425eb0206f90faf665a'/>
<id>724d7ad550fb6ed11ce40425eb0206f90faf665a</id>
<content type='text'>
commit 70f18915846f092e0e1c988f1726a532fa3ab3a1 upstream.

Fix for the following INFO message

=================================
[ INFO: inconsistent lock state ]
2.6.39+ #89
---------------------------------
inconsistent {HARDIRQ-ON-W} -&gt; {IN-HARDIRQ-W} usage.
rs232/822 [HC1[1]:SC0[0]:HE0:SE1] takes:
 (&amp;(&amp;pd_chan-&gt;lock)-&gt;rlock){?.....}, at: [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
{HARDIRQ-ON-W} state was registered at:
  [&lt;c104fe28&gt;] mark_irqflags+0xbd/0x11a
  [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
  [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
  [&lt;c131c51d&gt;] _raw_spin_lock_bh+0x43/0x51
  [&lt;c123bee4&gt;] pd_alloc_chan_resources+0x92/0x11e
  [&lt;c123ad62&gt;] dma_chan_get+0x9b/0x107
  [&lt;c123b2d1&gt;] __dma_request_channel+0x61/0xdc
  [&lt;c11ba24b&gt;] pch_request_dma+0x61/0x19e
  [&lt;c11bb3b8&gt;] pch_uart_startup+0x16a/0x1a2
  [&lt;c11b8446&gt;] uart_startup+0x87/0x147
  [&lt;c11b9183&gt;] uart_open+0x117/0x13e
  [&lt;c11a5c7d&gt;] tty_open+0x23c/0x34c
  [&lt;c1097705&gt;] chrdev_open+0x140/0x15f
  [&lt;c10930a6&gt;] __dentry_open.clone.14+0x14a/0x22b
  [&lt;c1093dfb&gt;] nameidata_to_filp+0x36/0x40
  [&lt;c109f28b&gt;] do_last+0x513/0x635
  [&lt;c109f4af&gt;] path_openat+0x9c/0x2aa
  [&lt;c109f6e4&gt;] do_filp_open+0x27/0x69
  [&lt;c1093f02&gt;] do_sys_open+0xfd/0x184
  [&lt;c1093fad&gt;] sys_open+0x24/0x2a
  [&lt;c131d58c&gt;] sysenter_do_call+0x12/0x32
irq event stamp: 2522
hardirqs last  enabled at (2521): [&lt;c131ca3b&gt;] _raw_spin_unlock_irqrestore+0x36/0x52
hardirqs last disabled at (2522): [&lt;c131db27&gt;] common_interrupt+0x27/0x34
softirqs last  enabled at (2354): [&lt;c102fa11&gt;] __do_softirq+0x10a/0x11a
softirqs last disabled at (2299): [&lt;c10041a4&gt;] do_softirq+0x57/0xa4

other info that might help us debug this:
2 locks held by rs232/822:
 #0:  (&amp;tty-&gt;atomic_write_lock){+.+.+.}, at: [&lt;c11a4b7a&gt;] tty_write_lock+0x14/0x3c
 #1:  (&amp;port_lock_key){-.....}, at: [&lt;c11bad72&gt;] pch_uart_interrupt+0x17/0x1e9

stack backtrace:
Pid: 822, comm: rs232 Not tainted 2.6.39+ #89
Call Trace:
 [&lt;c1319f90&gt;] ? printk+0x19/0x1b
 [&lt;c104f893&gt;] print_usage_bug+0x184/0x18f
 [&lt;c104e5b1&gt;] ? print_irq_inversion_bug+0x10e/0x10e
 [&lt;c104f943&gt;] mark_lock_irq+0xa5/0x1f6
 [&lt;c104fc9c&gt;] mark_lock+0x208/0x2d7
 [&lt;c104fdc0&gt;] mark_irqflags+0x55/0x11a
 [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
 [&lt;c10042ee&gt;] ? dump_trace+0x92/0xb6
 [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c131c2d0&gt;] _raw_spin_lock+0x3e/0x4c
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
 [&lt;c10504d8&gt;] ? __lock_acquire+0x653/0x6bb
 [&lt;c123bb2c&gt;] pd_prep_slave_sg+0x7c/0x1cb
 [&lt;c1006c3f&gt;] ? nommu_map_sg+0x6e/0x81
 [&lt;c11bace6&gt;] dma_handle_tx+0x2cf/0x344
 [&lt;c11bad72&gt;] ? pch_uart_interrupt+0x17/0x1e9
 [&lt;c11baebb&gt;] pch_uart_interrupt+0x160/0x1e9
 [&lt;c10642fb&gt;] handle_irq_event_percpu+0x25/0x127
 [&lt;c1064429&gt;] handle_irq_event+0x2c/0x43
 [&lt;c1065e0d&gt;] ? handle_fasteoi_irq+0x84/0x84
 [&lt;c1065eb9&gt;] handle_edge_irq+0xac/0xce
 &lt;IRQ&gt;  [&lt;c1003ecb&gt;] ? do_IRQ+0x38/0x9d
 [&lt;c131db2e&gt;] ? common_interrupt+0x2e/0x34
 [&lt;c105007b&gt;] ? __lock_acquire+0x1f6/0x6bb
 [&lt;c131ca3d&gt;] ? _raw_spin_unlock_irqrestore+0x38/0x52
 [&lt;c11b798b&gt;] ? uart_start+0x2d/0x32
 [&lt;c11b7998&gt;] ? uart_flush_chars+0x8/0xa
 [&lt;c11a7962&gt;] ? n_tty_write+0x12c/0x1c6
 [&lt;c1027a73&gt;] ? try_to_wake_up+0x251/0x251
 [&lt;c11a4d0b&gt;] ? tty_write+0x169/0x1dc
 [&lt;c11a7836&gt;] ? n_tty_ioctl+0xb7/0xb7
 [&lt;c1094841&gt;] ? vfs_write+0x91/0x10d
 [&lt;c11a4ba2&gt;] ? tty_write_lock+0x3c/0x3c
 [&lt;c1094a69&gt;] ? sys_write+0x3e/0x63
 [&lt;c131d58c&gt;] ? sysenter_do_call+0x12/0x32

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Tested-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 70f18915846f092e0e1c988f1726a532fa3ab3a1 upstream.

Fix for the following INFO message

=================================
[ INFO: inconsistent lock state ]
2.6.39+ #89
---------------------------------
inconsistent {HARDIRQ-ON-W} -&gt; {IN-HARDIRQ-W} usage.
rs232/822 [HC1[1]:SC0[0]:HE0:SE1] takes:
 (&amp;(&amp;pd_chan-&gt;lock)-&gt;rlock){?.....}, at: [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
{HARDIRQ-ON-W} state was registered at:
  [&lt;c104fe28&gt;] mark_irqflags+0xbd/0x11a
  [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
  [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
  [&lt;c131c51d&gt;] _raw_spin_lock_bh+0x43/0x51
  [&lt;c123bee4&gt;] pd_alloc_chan_resources+0x92/0x11e
  [&lt;c123ad62&gt;] dma_chan_get+0x9b/0x107
  [&lt;c123b2d1&gt;] __dma_request_channel+0x61/0xdc
  [&lt;c11ba24b&gt;] pch_request_dma+0x61/0x19e
  [&lt;c11bb3b8&gt;] pch_uart_startup+0x16a/0x1a2
  [&lt;c11b8446&gt;] uart_startup+0x87/0x147
  [&lt;c11b9183&gt;] uart_open+0x117/0x13e
  [&lt;c11a5c7d&gt;] tty_open+0x23c/0x34c
  [&lt;c1097705&gt;] chrdev_open+0x140/0x15f
  [&lt;c10930a6&gt;] __dentry_open.clone.14+0x14a/0x22b
  [&lt;c1093dfb&gt;] nameidata_to_filp+0x36/0x40
  [&lt;c109f28b&gt;] do_last+0x513/0x635
  [&lt;c109f4af&gt;] path_openat+0x9c/0x2aa
  [&lt;c109f6e4&gt;] do_filp_open+0x27/0x69
  [&lt;c1093f02&gt;] do_sys_open+0xfd/0x184
  [&lt;c1093fad&gt;] sys_open+0x24/0x2a
  [&lt;c131d58c&gt;] sysenter_do_call+0x12/0x32
irq event stamp: 2522
hardirqs last  enabled at (2521): [&lt;c131ca3b&gt;] _raw_spin_unlock_irqrestore+0x36/0x52
hardirqs last disabled at (2522): [&lt;c131db27&gt;] common_interrupt+0x27/0x34
softirqs last  enabled at (2354): [&lt;c102fa11&gt;] __do_softirq+0x10a/0x11a
softirqs last disabled at (2299): [&lt;c10041a4&gt;] do_softirq+0x57/0xa4

other info that might help us debug this:
2 locks held by rs232/822:
 #0:  (&amp;tty-&gt;atomic_write_lock){+.+.+.}, at: [&lt;c11a4b7a&gt;] tty_write_lock+0x14/0x3c
 #1:  (&amp;port_lock_key){-.....}, at: [&lt;c11bad72&gt;] pch_uart_interrupt+0x17/0x1e9

stack backtrace:
Pid: 822, comm: rs232 Not tainted 2.6.39+ #89
Call Trace:
 [&lt;c1319f90&gt;] ? printk+0x19/0x1b
 [&lt;c104f893&gt;] print_usage_bug+0x184/0x18f
 [&lt;c104e5b1&gt;] ? print_irq_inversion_bug+0x10e/0x10e
 [&lt;c104f943&gt;] mark_lock_irq+0xa5/0x1f6
 [&lt;c104fc9c&gt;] mark_lock+0x208/0x2d7
 [&lt;c104fdc0&gt;] mark_irqflags+0x55/0x11a
 [&lt;c1050386&gt;] __lock_acquire+0x501/0x6bb
 [&lt;c10042ee&gt;] ? dump_trace+0x92/0xb6
 [&lt;c1050945&gt;] lock_acquire+0x63/0x7b
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c131c2d0&gt;] _raw_spin_lock+0x3e/0x4c
 [&lt;c123b9a1&gt;] ? pdc_desc_get+0x16/0xab
 [&lt;c123b9a1&gt;] pdc_desc_get+0x16/0xab
 [&lt;c10504d8&gt;] ? __lock_acquire+0x653/0x6bb
 [&lt;c123bb2c&gt;] pd_prep_slave_sg+0x7c/0x1cb
 [&lt;c1006c3f&gt;] ? nommu_map_sg+0x6e/0x81
 [&lt;c11bace6&gt;] dma_handle_tx+0x2cf/0x344
 [&lt;c11bad72&gt;] ? pch_uart_interrupt+0x17/0x1e9
 [&lt;c11baebb&gt;] pch_uart_interrupt+0x160/0x1e9
 [&lt;c10642fb&gt;] handle_irq_event_percpu+0x25/0x127
 [&lt;c1064429&gt;] handle_irq_event+0x2c/0x43
 [&lt;c1065e0d&gt;] ? handle_fasteoi_irq+0x84/0x84
 [&lt;c1065eb9&gt;] handle_edge_irq+0xac/0xce
 &lt;IRQ&gt;  [&lt;c1003ecb&gt;] ? do_IRQ+0x38/0x9d
 [&lt;c131db2e&gt;] ? common_interrupt+0x2e/0x34
 [&lt;c105007b&gt;] ? __lock_acquire+0x1f6/0x6bb
 [&lt;c131ca3d&gt;] ? _raw_spin_unlock_irqrestore+0x38/0x52
 [&lt;c11b798b&gt;] ? uart_start+0x2d/0x32
 [&lt;c11b7998&gt;] ? uart_flush_chars+0x8/0xa
 [&lt;c11a7962&gt;] ? n_tty_write+0x12c/0x1c6
 [&lt;c1027a73&gt;] ? try_to_wake_up+0x251/0x251
 [&lt;c11a4d0b&gt;] ? tty_write+0x169/0x1dc
 [&lt;c11a7836&gt;] ? n_tty_ioctl+0xb7/0xb7
 [&lt;c1094841&gt;] ? vfs_write+0x91/0x10d
 [&lt;c11a4ba2&gt;] ? tty_write_lock+0x3c/0x3c
 [&lt;c1094a69&gt;] ? sys_write+0x3e/0x63
 [&lt;c131d58c&gt;] ? sysenter_do_call+0x12/0x32

Signed-off-by: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Tested-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: fix DMA issue(ch8-ch11)</title>
<updated>2012-04-22T23:21:44+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-05-31T01:34:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e65f3a58ad648c5b33c97ef5861b590d0dd8f74c'/>
<id>e65f3a58ad648c5b33c97ef5861b590d0dd8f74c</id>
<content type='text'>
commit c3d4913cd4cd469cbf29d411293e937729e83f3a upstream.

ISSUE: In case PCH_DMA with I2S communications with ch8~ch11, sometimes I2S data
is not send correctly.
CAUSE: The following patch I submitted before was not enough modification for
supporting DMA ch8~ch11. The modification for status register of ch8~11 was not
enough.

pch_dma: Support I2S for ML7213 IOH
author	Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
	Mon, 9 May 2011 07:09:38 +0000 (16:09 +0900)
committer	Vinod Koul &lt;vinod.koul@intel.com&gt;
	Mon, 9 May 2011 11:42:23 +0000 (16:42 +0530)
commit	194f5f2706c7472f9c6bb2d17fa788993606581f
tree	c9d4903ea02b18939a4f390956a48be1a3734517
parent	60092d0bde4c8741198da4a69b693d3709385bf1

This patch fixes the issue.
We can confirm PCH_DMA with I2S communications with ch8~ch11 works well.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c3d4913cd4cd469cbf29d411293e937729e83f3a upstream.

ISSUE: In case PCH_DMA with I2S communications with ch8~ch11, sometimes I2S data
is not send correctly.
CAUSE: The following patch I submitted before was not enough modification for
supporting DMA ch8~ch11. The modification for status register of ch8~11 was not
enough.

pch_dma: Support I2S for ML7213 IOH
author	Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
	Mon, 9 May 2011 07:09:38 +0000 (16:09 +0900)
committer	Vinod Koul &lt;vinod.koul@intel.com&gt;
	Mon, 9 May 2011 11:42:23 +0000 (16:42 +0530)
commit	194f5f2706c7472f9c6bb2d17fa788993606581f
tree	c9d4903ea02b18939a4f390956a48be1a3734517
parent	60092d0bde4c8741198da4a69b693d3709385bf1

This patch fixes the issue.
We can confirm PCH_DMA with I2S communications with ch8~ch11 works well.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: modify pci device table definition</title>
<updated>2011-05-09T11:42:24+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-05-09T07:09:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eb8590b504caacb029dea4540e0b0dcc98da4381'/>
<id>eb8590b504caacb029dea4540e0b0dcc98da4381</id>
<content type='text'>
Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Support new device ML7223 IOH</title>
<updated>2011-05-09T11:42:23+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-05-09T07:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c0dfc04ac96847913a791f5459f4ac83a81a4745'/>
<id>c0dfc04ac96847913a791f5459f4ac83a81a4745</id>
<content type='text'>
Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub).
The ML7223 IOH is for MP(Media Phone) use.
The ML7223 is companion chip for Intel Atom E6xx series.
The ML7223 is completely compatible for Intel EG20T PCH.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub).
The ML7223 IOH is for MP(Media Phone) use.
The ML7223 is companion chip for Intel Atom E6xx series.
The ML7223 is completely compatible for Intel EG20T PCH.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Support I2S for ML7213 IOH</title>
<updated>2011-05-09T11:42:23+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-05-09T07:09:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=194f5f2706c7472f9c6bb2d17fa788993606581f'/>
<id>194f5f2706c7472f9c6bb2d17fa788993606581f</id>
<content type='text'>
Support I2S device for ML7213 IOH

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support I2S device for ML7213 IOH

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pch_dma: Fix DMA setting issue</title>
<updated>2011-05-09T11:42:23+00:00</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya-linux@dsn.okisemi.com</email>
</author>
<published>2011-05-09T07:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=60092d0bde4c8741198da4a69b693d3709385bf1'/>
<id>60092d0bde4c8741198da4a69b693d3709385bf1</id>
<content type='text'>
Currently, Direct-Start mode(*) is enabled.
Our IOH's devices must not use this mode.
This causes unexpected behavior.
This patch deletes Direct-Start setting.
(*) This mode is used in order for CPU to generate the DMA request.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, Direct-Start mode(*) is enabled.
Our IOH's devices must not use this mode.
This causes unexpected behavior.
This patch deletes Direct-Start setting.
(*) This mode is used in order for CPU to generate the DMA request.

Signed-off-by: Tomoya MORINAGA &lt;tomoya-linux@dsn.okisemi.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
