<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/sh/include/asm/cacheflush.h, branch v3.2.51</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/sh/include/asm/cacheflush.h?h=v3.2.51</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/sh/include/asm/cacheflush.h?h=v3.2.51'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-12-01T06:39:51Z</updated>
<entry>
<title>sh: Assume new page cache pages have dirty dcache lines.</title>
<updated>2010-12-01T06:39:51Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-12-01T06:39:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=55661fc1f105ed75852e937bf8ea408270eb0cca'/>
<id>urn:sha1:55661fc1f105ed75852e937bf8ea408270eb0cca</id>
<content type='text'>
This follows the ARM change c01778001a4f5ad9c62d882776235f3f31922fdd
("ARM: 6379/1: Assume new page cache pages have dirty D-cache") for the
same rationale:

    There are places in Linux where writes to newly allocated page
    cache pages happen without a subsequent call to flush_dcache_page()
    (several PIO drivers including USB HCD). This patch changes the
    meaning of PG_arch_1 to be PG_dcache_clean and always flush the
    D-cache for a newly mapped page in update_mmu_cache().

This addresses issues seen with executing binaries from MMC, in
addition to some of the other HCDs that don't explicitly do cache
management for their pipe-in buffers.

Requested-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Fix up flush_cache_vmap() on SMP.</title>
<updated>2010-03-04T07:47:30Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2010-03-04T07:47:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b07f6b327e798610bebaa581ffb7a226f3bcb96b'/>
<id>urn:sha1:b07f6b327e798610bebaa581ffb7a226f3bcb96b</id>
<content type='text'>
flush_cache_all() uses broadcast IPIs, so we can't wrap in to that when
IRQs are disabled. The local cache flush manages to do what we need here
anyways, so just switch to that.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: add mm API for DMA to vmalloc/vmap areas</title>
<updated>2010-02-05T18:32:34Z</updated>
<author>
<name>James Bottomley</name>
<email>James.Bottomley@suse.de</email>
</author>
<published>2010-01-25T17:42:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c9334f6067dbe0380141fc75b122e0a533878838'/>
<id>urn:sha1:c9334f6067dbe0380141fc75b122e0a533878838</id>
<content type='text'>
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
<entry>
<title>block: add helpers to run flush_dcache_page() against a bio and a request's pages</title>
<updated>2009-11-26T08:16:19Z</updated>
<author>
<name>Ilya Loginov</name>
<email>isloginov@gmail.com</email>
</author>
<published>2009-11-26T08:16:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d4dc890b5c8fabd818a8586607e6843c4375e62'/>
<id>urn:sha1:2d4dc890b5c8fabd818a8586607e6843c4375e62</id>
<content type='text'>
Mtdblock driver doesn't call flush_dcache_page for pages in request.  So,
this causes problems on architectures where the icache doesn't fill from
the dcache or with dcache aliases.  The patch fixes this.

The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid
pointless empty cache-thrashing loops on architectures for which
flush_dcache_page() is a no-op.  Every architecture was provided with this
flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is
equal 1 or do nothing otherwise.

See "fix mtd_blkdevs problem with caches on some architectures" discussion
on LKML for more information.

Signed-off-by: Ilya Loginov &lt;isloginov@gmail.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Peter Horton &lt;phorton@bitbox.co.uk&gt;
Cc: "Ed L. Cashin" &lt;ecashin@coraid.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>sh: Fix up and optimize the kmap_coherent() interface.</title>
<updated>2009-09-03T08:21:10Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-09-03T08:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0906a3ad33a254094fb74828e3ddb9af8771a6da'/>
<id>urn:sha1:0906a3ad33a254094fb74828e3ddb9af8771a6da</id>
<content type='text'>
This fixes up the kmap_coherent/kunmap_coherent() interface for recent
changes both in the page fault path and the shared cache flushers, as
well as adding in some optimizations.

One of the key things to note here is that the TLB flush itself is
deferred until the unmap, and the call in to update_mmu_cache() itself
goes away, relying on the regular page fault path to handle the lazy
dcache writeback if necessary.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Make cache flushers SMP-aware.</title>
<updated>2009-08-21T08:23:14Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-21T08:23:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f26b2a562b46ab186c8383993ab1332673ac4a47'/>
<id>urn:sha1:f26b2a562b46ab186c8383993ab1332673ac4a47</id>
<content type='text'>
This does a bit of rework for making the cache flushers SMP-aware. The
function pointer-based flushers are renamed to local variants with the
exported interface being commonly implemented and wrapping as necessary.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Kill off unused cpu/cacheflush.h.</title>
<updated>2009-08-21T07:20:57Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-21T07:20:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f9bd71f255b4349c4f9f596863161fd5182f67fa'/>
<id>urn:sha1:f9bd71f255b4349c4f9f596863161fd5182f67fa</id>
<content type='text'>
All CPU-specific overloads are done at runtime now, so this common header
can go away and simply be folded back in to asm/ version.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Migrate SH-4 cacheflush ops to function pointers.</title>
<updated>2009-08-15T03:29:49Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-15T03:29:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=37443ef3f0406e855e169c87ae3f4ffb4b6ff635'/>
<id>urn:sha1:37443ef3f0406e855e169c87ae3f4ffb4b6ff635</id>
<content type='text'>
This paves the way for allowing individual CPUs to overload the
individual flushing routines that they care about without having to
depend on weak aliases. SH-4 is converted over initially, as it wires
up pretty much everything. The majority of the other CPUs will simply use
the default no-op implementation with their own region flushers wired up.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: Kill off unused flush_icache_user_range().</title>
<updated>2009-08-15T02:38:05Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-15T02:38:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=916e97834e023f89b31f796b53cc9c7956e7fe17'/>
<id>urn:sha1:916e97834e023f89b31f796b53cc9c7956e7fe17</id>
<content type='text'>
We use flush_cache_page() outright in copy_to_user_page(), and nothing
else needs it, so just kill it off. SH-5 still defines its own version,
but that too will go away in the same fashion once it converts over.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
<entry>
<title>sh: consolidate flush_dcache_mmap_lock/unlock() definitions.</title>
<updated>2009-08-15T02:25:32Z</updated>
<author>
<name>Paul Mundt</name>
<email>lethal@linux-sh.org</email>
</author>
<published>2009-08-15T02:25:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7fbb2d3bdd33e58f54e360df0723d754f0b66153'/>
<id>urn:sha1:7fbb2d3bdd33e58f54e360df0723d754f0b66153</id>
<content type='text'>
All of the flush_dcache_mmap_lock()/flush_dcache_mmap_unlock()
definitions are identical across all CPUs, so just provide them
generically in asm/cacheflush.h.

Signed-off-by: Paul Mundt &lt;lethal@linux-sh.org&gt;
</content>
</entry>
</feed>
