<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/xtensa/include/asm/io.h, branch linux-6.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-28T11:20:21Z</updated>
<entry>
<title>arch/*/: remove CONFIG_VIRT_TO_BUS</title>
<updated>2022-06-28T11:20:21Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2022-05-23T19:59:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4313a24985f00340eeb591fd66aa2b257b9e0a69'/>
<id>urn:sha1:4313a24985f00340eeb591fd66aa2b257b9e0a69</id>
<content type='text'>
All architecture-independent users of virt_to_bus() and bus_to_virt()
have been fixed to use the dma mapping interfaces or have been
removed now.  This means the definitions on most architectures, and the
CONFIG_VIRT_TO_BUS symbol are now obsolete and can be removed.

The only exceptions to this are a few network and scsi drivers for m68k
Amiga and VME machines and ppc32 Macintosh. These drivers work correctly
with the old interfaces and are probably not worth changing.

On alpha and parisc, virt_to_bus() were still used in asm/floppy.h.
alpha can use isa_virt_to_bus() like x86 does, and parisc can just
open-code the virt_to_phys() here, as this is architecture specific
code.

I tried updating the bus-virt-phys-mapping.rst documentation, which
started as an email from Linus to explain some details of the Linux-2.0
driver interfaces. The bits about virt_to_bus() were declared obsolete
backin 2000, and the rest is not all that relevant any more, so in the
end I just decided to remove the file completely.

Reviewed-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt; (powerpc)
Acked-by: Helge Deller &lt;deller@gmx.de&gt; # parisc
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>arch: rely on asm-generic/io.h for default ioremap_* definitions</title>
<updated>2019-11-11T20:18:19Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2019-10-16T06:09:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d092a87073269677b7ff09e71a8d91912b7f969a'/>
<id>urn:sha1:d092a87073269677b7ff09e71a8d91912b7f969a</id>
<content type='text'>
Various architectures that use asm-generic/io.h still defined their
own default versions of ioremap_nocache, ioremap_wt and ioremap_wc
that point back to plain ioremap directly or indirectly.  Remove these
definitions and rely on asm-generic/io.h instead.  For this to work
the backup ioremap_* defintions needs to be changed to purely cpp
macros instea of inlines to cover for architectures like openrisc
that only define ioremap after including &lt;asm-generic/io.h&gt;.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;
</content>
</entry>
<entry>
<title>xtensa: clean up ioremap</title>
<updated>2019-11-11T16:19:50Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2019-08-12T21:39:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab53cea4186162cdc5e1f038dd656d4c983a2647'/>
<id>urn:sha1:ab53cea4186162cdc5e1f038dd656d4c983a2647</id>
<content type='text'>
Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>xtensa: virt: move PCI root complex to KIO range</title>
<updated>2019-09-02T07:09:30Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-09-02T06:55:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=982792f45894878b9ec13df81e6e02209b34cb11'/>
<id>urn:sha1:982792f45894878b9ec13df81e6e02209b34cb11</id>
<content type='text'>
Move PCI configuration space, MMIO and memory to the KIO range to free
vmalloc area and use static TLB to access them. Move MMIO to the
beginning of KIO and define PCI_IOBASE as XCHAL_KIO_BYPASS_VADDR to
match it. Reduce number of supported PCI buses to 0x3f so that ECAM
window fits into first 64MB of the KIO. Reduce size of the PCI memory
window to 128MB so that it fits into KIO.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: drop ifdef __KERNEL__ from kernel-only headers</title>
<updated>2019-05-07T00:48:54Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-05-06T20:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e65986dcae8c49501c1920064dc192e704248bb'/>
<id>urn:sha1:8e65986dcae8c49501c1920064dc192e704248bb</id>
<content type='text'>
These headers are not exported to userspace, so they're never used
without __KERNEL__ defined. Drop these ifdef statements.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: add ioremap_nocache declaration before include asm-generic/io.h.</title>
<updated>2018-02-22T02:44:30Z</updated>
<author>
<name>Greentime Hu</name>
</author>
<published>2018-02-21T06:21:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94bc61ead46c3d9943bd35a4536e61d4ea9f1e66'/>
<id>urn:sha1:94bc61ead46c3d9943bd35a4536e61d4ea9f1e66</id>
<content type='text'>
A future commit for the nds32 architecture bootstrap("asm-generic/io.h:
move ioremap_nocache/ioremap_uc/ioremap_wc/ioremap_wt out of ifndef
CONFIG_MMU") will move the ioremap_nocache out of the CONFIG_MMU ifdef.
This means that in order to suppress re-definition errors we need to
setup #define's before importing asm-generic/io.h.

Signed-off-by: Greentime Hu &lt;greentime@andestech.com&gt;
</content>
</entry>
<entry>
<title>xtensa: support ioremap for memory outside KIO region</title>
<updated>2016-01-11T14:37:36Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2015-12-11T01:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bb8def55dc562d81ec582368b4f27c8d432fbd5'/>
<id>urn:sha1:5bb8def55dc562d81ec582368b4f27c8d432fbd5</id>
<content type='text'>
Map physical memory outside KIO region into the vmalloc area.
Unmap it with vunmap.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: nommu: provide correct KIO addresses</title>
<updated>2015-11-02T15:03:02Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2015-09-24T20:36:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=260c64bbabdb8da7248c87e0cdd92023bd7b76c6'/>
<id>urn:sha1:260c64bbabdb8da7248c87e0cdd92023bd7b76c6</id>
<content type='text'>
KIO region location is different for noMMU cores. Provide different
default physical address and make KIO virtual address equal to physical.

Move xtensa_get_kio_paddr function close to XCHAL_KIO_PADDR definition
and define it not only for MMUv3, but for all MMU options except MMUv2.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>arch: introduce memremap()</title>
<updated>2015-08-14T17:23:28Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2015-08-11T03:07:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92281dee825f6d2eb07c441437e4196a44b0861c'/>
<id>urn:sha1:92281dee825f6d2eb07c441437e4196a44b0861c</id>
<content type='text'>
Existing users of ioremap_cache() are mapping memory that is known in
advance to not have i/o side effects.  These users are forced to cast
away the __iomem annotation, or otherwise neglect to fix the sparse
errors thrown when dereferencing pointers to this memory.  Provide
memremap() as a non __iomem annotated ioremap_*() in the case when
ioremap is otherwise a pointer to cacheable memory. Empirically,
ioremap_&lt;cacheable-type&gt;() call sites are seeking memory-like semantics
(e.g.  speculative reads, and prefetching permitted).

memremap() is a break from the ioremap implementation pattern of adding
a new memremap_&lt;type&gt;() for each mapping type and having silent
compatibility fall backs.  Instead, the implementation defines flags
that are passed to the central memremap() and if a mapping type is not
supported by an arch memremap returns NULL.

We introduce a memremap prototype as a trivial wrapper of
ioremap_cache() and ioremap_wt().  Later, once all ioremap_cache() and
ioremap_wt() usage has been removed from drivers we teach archs to
implement arch_memremap() with the ability to strictly enforce the
mapping type.

Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>arch/*/io.h: Add ioremap_wt() to all architectures</title>
<updated>2015-06-07T13:28:57Z</updated>
<author>
<name>Toshi Kani</name>
</author>
<published>2015-06-04T16:55:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=556269c138a8b2d3f5714b8105fa6119ecc505f2'/>
<id>urn:sha1:556269c138a8b2d3f5714b8105fa6119ecc505f2</id>
<content type='text'>
Add ioremap_wt() to all arch-specific asm/io.h headers which
define ioremap_wc() locally. These headers do not include
&lt;asm-generic/iomap.h&gt;. Some of them include &lt;asm-generic/io.h&gt;,
but ioremap_wt() is defined for consistency since they define
all ioremap_xxx locally.

In all architectures without Write-Through support, ioremap_wt()
is defined indentical to ioremap_nocache().

frv and m68k already have ioremap_writethrough(). On those we
add ioremap_wt() indetical to ioremap_writethrough() and defines
ARCH_HAS_IOREMAP_WT in both architectures.

The ioremap_wt() interface is exported to drivers.

Signed-off-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Elliott@hp.com
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Luis R. Rodriguez &lt;mcgrof@suse.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: arnd@arndb.de
Cc: hch@lst.de
Cc: hmh@hmh.eng.br
Cc: jgross@suse.com
Cc: konrad.wilk@oracle.com
Cc: linux-mm &lt;linux-mm@kvack.org&gt;
Cc: linux-nvdimm@lists.01.org
Cc: stefan.bader@canonical.com
Cc: yigal@plexistor.com
Link: http://lkml.kernel.org/r/1433436928-31903-9-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
</feed>
