<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/arch/mips/mm/dma-default.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-06-21T19:54:34+00:00</updated>
<entry>
<title>MIPS: use for_each_sg()</title>
<updated>2015-06-21T19:54:34+00:00</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2015-05-01T13:56:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1e51714c81e11bd0ffbb2b0724a1f66ce58608a5'/>
<id>urn:sha1:1e51714c81e11bd0ffbb2b0724a1f66ce58608a5</id>
<content type='text'>
This replaces the plain loop over the sglist array with for_each_sg()
macro which consists of sg_next() function calls.  Since MIPS doesn't
select ARCH_HAS_SG_CHAIN, it is not necessary to use for_each_sg() in
order to loop over each sg element.  But this can help find problems
with drivers that do not properly initialize their sg tables when
CONFIG_DEBUG_SG is enabled.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Cc: akpm@linux-foundation.org
Cc: linux-mips@linux-mips.org
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9930/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: DMA: Implement platform hook to perform post-DMA cache flushes.</title>
<updated>2015-04-01T15:22:01+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2015-03-27T14:10:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0acbfc66d09e97e5a01e7a23ac7e99f360ff851b'/>
<id>urn:sha1:0acbfc66d09e97e5a01e7a23ac7e99f360ff851b</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: DMA: Explain the lack of special handling for R14000/R16000.</title>
<updated>2014-11-24T06:45:08+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2014-11-11T21:22:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0dc294c05d9df09ca4a65071e370247eaab8638d'/>
<id>urn:sha1:0dc294c05d9df09ca4a65071e370247eaab8638d</id>
<content type='text'>
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: DMA: Add cma support</title>
<updated>2014-09-22T11:35:52+00:00</updated>
<author>
<name>Zubair Lutfullah Kakakhel</name>
<email>Zubair.Kakakhel@imgtec.com</email>
</author>
<published>2014-07-16T15:51:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f46493826a79f6a2bf9d8a0030e627e0255bbf48'/>
<id>urn:sha1:f46493826a79f6a2bf9d8a0030e627e0255bbf48</id>
<content type='text'>
Adds cma support to the MIPS architecture.

cma uses memblock. However, mips uses bootmem.
bootmem is informed about any regions reserved by memblock

dma api is modified to use cma reserved memory regions when available

Tested using cma_test. cma_test is a simple driver that assigns blocks
of memory from cma reserved sections.

Signed-off-by: Zubair Lutfullah Kakakhel &lt;Zubair.Kakakhel@imgtec.com&gt;
Acked-by: Michal Nazarewicz &lt;mina86@mina86.com&gt;
Cc: catalin.marinas@arm.com
Cc: will.deacon@arm.com
Cc: tglx@linutronix.de
Cc: mingo@redhat.com
Cc: hpa@zytor.com
Cc: arnd@arndb.de
Cc: gregkh@linuxfoundation.org
Cc: m.szyprowski@samsung.com
Cc: x86@kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-arch@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7360/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: improve checks for noncoherent DMA</title>
<updated>2014-01-22T19:43:10+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2013-09-27T12:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=885014bcf284cdfbe3428f2cfa3882edde5ff5fa'/>
<id>urn:sha1:885014bcf284cdfbe3428f2cfa3882edde5ff5fa</id>
<content type='text'>
Only one MIPS development board actually supports enabling/disabling DMA
coherency at runtime, so it's not a good idea to push the overhead of
checking that configuration setting onto every other supported target as
well.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John Crispin &lt;blogic@openwrt.org&gt;
Patchwork: http://patchwork.linux-mips.org/patch/5912/
</content>
</entry>
<entry>
<title>MIPS: Remove unnecessary platform dma helper functions</title>
<updated>2013-10-29T20:24:40+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2013-08-15T09:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=4e7f72660c39a81cc5745d5c6f23f9500f80d8d8'/>
<id>urn:sha1:4e7f72660c39a81cc5745d5c6f23f9500f80d8d8</id>
<content type='text'>
The semantics stay the same - on Cavium Octeon the functions were dead
code (it overrides the MIPS DMA ops) - on other platforms they contained
no code at all.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5720/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: mm: Move some checks out of 'for' loop in DMA operations</title>
<updated>2013-09-25T15:05:44+00:00</updated>
<author>
<name>Jayachandran C</name>
<email>jchandra@broadcom.com</email>
</author>
<published>2013-09-25T13:01:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=55c25c2f14496badefd780a9f179442756216b67'/>
<id>urn:sha1:55c25c2f14496badefd780a9f179442756216b67</id>
<content type='text'>
The check cpu_needs_post_dma_flush() in mips_dma_sync_sg_for_cpu() and
the check !plat_device_is_coherent() in mips_dma_sync_sg_for_device()
can be moved outside the for loop.

As a side effect, this also avoids a GCC bug that caused kernel compile
to fail with the error:

arch/mips/mm/dma-default.c: In function 'mips_dma_sync_sg_for_cpu':
arch/mips/mm/dma-default.c:316:1: internal compiler error: in add_insn_before, at emit-rtl.c:3852

This gcc failure is seen in Code Sourcery toolchains [e.g. gcc version
4.7.2 (Sourcery CodeBench Lite 2012.09-99)] after commit "MIPS: Optimize
current_cpu_type() for better code."

Signed-off-by: Jayachandran C &lt;jchandra@broadcom.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5907/
Reviewed-by: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
Tested-by: Markos Chandras &lt;markos.chandras@imgtec.com&gt;
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Optimize current_cpu_type() for better code.</title>
<updated>2013-09-17T16:50:53+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2013-09-17T08:25:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=69f24d1784b631b81a54eb57c49bf46536dd2382'/>
<id>urn:sha1:69f24d1784b631b81a54eb57c49bf46536dd2382</id>
<content type='text'>
 o Move current_cpu_type() to a separate header file
 o #ifdefing on supported CPU types lets modern GCC know that certain
   code in callers may be discarded ideally turning current_cpu_type() into
   a function returning a constant.
 o Use current_cpu_type() rather than direct access to struct cpuinfo_mips.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Steven J. Hill &lt;Steven.Hill@imgtec.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5833/
</content>
</entry>
<entry>
<title>Merge branch '3.11-fixes' into mips-for-linux-next</title>
<updated>2013-09-06T17:08:25+00:00</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2013-09-06T17:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=eb37e6ddf75a3d4c59e38193a7c8d409f5bd7d57'/>
<id>urn:sha1:eb37e6ddf75a3d4c59e38193a7c8d409f5bd7d57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code</title>
<updated>2013-09-06T17:07:11+00:00</updated>
<author>
<name>Jerin Jacob</name>
<email>jerinjacobk@gmail.com</email>
</author>
<published>2013-09-03T12:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d451e73496fc389ecbe2662aa07e6b77c63bf1fd'/>
<id>urn:sha1:d451e73496fc389ecbe2662aa07e6b77c63bf1fd</id>
<content type='text'>
The use of current_cpu_type() in cpu_is_noncoherent_r10000() is not preemption-safe.
Use boot_cpu_type() instead to make it preemption-safe.

&lt;log&gt;
/ # insmod mtd_readtest.ko dev=4
mtd_readtest: MTD device: 4
mtd_readtest: MTD device size 996671488, eraseblock size 524288, page size 4096, count of eraseblocks 1901, pages per eraseblock 128, OOB size 224
mtd_readtest: scanning for bad eraseblocks
mtd_readtest: scanned 1901 eraseblocks, 0 are bad
mtd_readtest: testing page read
BUG: using smp_processor_id() in preemptible [00000000] code: insmod/99
caller is mips_dma_sync_single_for_cpu+0x2c/0x128
CPU: 2 PID: 99 Comm: insmod Not tainted 3.10.4 #67
Stack : 00000006 69735f63 00000000 00000000 00000000 00000000 808273d6 00000032
          80820000 00000002 8d700000 8de48fa0 00000000 00000000 00000000 00000000
          00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
          00000000 00000000 00000000 8d6afb00 8d6afb24 80721f24 807b9927 8012c130
          80820000 80721f24 00000002 00000063 8de48fa0 8082333c 807b98e6 8d6afaa0
          ...
Call Trace:
[&lt;80109984&gt;] show_stack+0x64/0x7c
[&lt;80666230&gt;] dump_stack+0x20/0x2c
[&lt;803a2210&gt;] debug_smp_processor_id+0xe0/0xf0
[&lt;801116f0&gt;] mips_dma_sync_single_for_cpu+0x2c/0x128
[&lt;8043456c&gt;] nand_plat_read_page+0x16c/0x234
[&lt;8042fad4&gt;] nand_do_read_ops+0x194/0x480
[&lt;804301dc&gt;] nand_read+0x50/0x7c
[&lt;804261c8&gt;] part_read+0x70/0xc0
[&lt;804231dc&gt;] mtd_read+0x80/0xe4
[&lt;c0431354&gt;] init_module+0x354/0x6f8 [mtd_readtest]
[&lt;8010057c&gt;] do_one_initcall+0x140/0x1a4
[&lt;80176d7c&gt;] load_module+0x1b5c/0x2258
[&lt;8017752c&gt;] SyS_init_module+0xb4/0xec
[&lt;8010f3fc&gt;] stack_done+0x20/0x44

BUG: using smp_processor_id() in preemptible [00000000] code: insmod/99
&lt;/log&gt;

Signed-off-by: Jerin Jacob &lt;jerinjacobk@gmail.com&gt;
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/5800/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
</content>
</entry>
</feed>
