<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/mips/include/asm/pci.h, branch v6.7-rc4</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v6.7-rc4</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v6.7-rc4'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2022-07-22T22:23:45+00:00</updated>
<entry>
<title>PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h</title>
<updated>2022-07-22T22:23:45+00:00</updated>
<author>
<name>Stafford Horne</name>
<email>shorne@gmail.com</email>
</author>
<published>2022-07-22T21:49:41+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ae85b23c65dbb079c83d8a08ff7699215f104e42'/>
<id>urn:sha1:ae85b23c65dbb079c83d8a08ff7699215f104e42</id>
<content type='text'>
pci_get_legacy_ide_irq() is only used on platforms that support PNP, so
many architectures define it but never use it.  Replace uses of it with
ATA_PRIMARY_IRQ() and ATA_SECONDARY_IRQ(), which provide the same
functionality.

Since pci_get_legacy_ide_irq() is no longer used, remove all the
architecture-specific definitions of it as well as asm-generic/pci.h, which
only provides pci_get_legacy_ide_irq()

[bhelgaas: commit log]
Co-developed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Link: https://lore.kernel.org/r/20220722214944.831438-2-shorne@gmail.com
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Acked-by: Pierre Morel &lt;pmorel@linux.ibm.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Only define pci_remap_iospace() for Ralink</title>
<updated>2021-12-09T09:22:24+00:00</updated>
<author>
<name>Tiezhu Yang</name>
<email>yangtiezhu@loongson.cn</email>
</author>
<published>2021-12-08T09:27:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=09d97da660ff77df20984496aa0abcd6b88819f2'/>
<id>urn:sha1:09d97da660ff77df20984496aa0abcd6b88819f2</id>
<content type='text'>
After commit 9f76779f2418 ("MIPS: implement architecture-specific
'pci_remap_iospace()'"), there exists the following warning on the
Loongson64 platform:

    loongson-pci 1a000000.pci:       IO 0x0018020000..0x001803ffff -&gt; 0x0000020000
    loongson-pci 1a000000.pci:      MEM 0x0040000000..0x007fffffff -&gt; 0x0040000000
    ------------[ cut here ]------------
    WARNING: CPU: 2 PID: 1 at arch/mips/pci/pci-generic.c:55 pci_remap_iospace+0x84/0x90
    resource start address is not zero
    ...
    Call Trace:
    [&lt;ffffffff8020dc78&gt;] show_stack+0x40/0x120
    [&lt;ffffffff80cf4a0c&gt;] dump_stack_lvl+0x58/0x74
    [&lt;ffffffff8023a0b0&gt;] __warn+0xe0/0x110
    [&lt;ffffffff80cee02c&gt;] warn_slowpath_fmt+0xa4/0xd0
    [&lt;ffffffff80cecf24&gt;] pci_remap_iospace+0x84/0x90
    [&lt;ffffffff807f9864&gt;] devm_pci_remap_iospace+0x5c/0xb8
    [&lt;ffffffff808121b0&gt;] devm_of_pci_bridge_init+0x178/0x1f8
    [&lt;ffffffff807f4000&gt;] devm_pci_alloc_host_bridge+0x78/0x98
    [&lt;ffffffff80819454&gt;] loongson_pci_probe+0x34/0x160
    [&lt;ffffffff809203cc&gt;] platform_probe+0x6c/0xe0
    [&lt;ffffffff8091d5d4&gt;] really_probe+0xbc/0x340
    [&lt;ffffffff8091d8f0&gt;] __driver_probe_device+0x98/0x110
    [&lt;ffffffff8091d9b8&gt;] driver_probe_device+0x50/0x118
    [&lt;ffffffff8091dea0&gt;] __driver_attach+0x80/0x118
    [&lt;ffffffff8091b280&gt;] bus_for_each_dev+0x80/0xc8
    [&lt;ffffffff8091c6d8&gt;] bus_add_driver+0x130/0x210
    [&lt;ffffffff8091ead4&gt;] driver_register+0x8c/0x150
    [&lt;ffffffff80200a8c&gt;] do_one_initcall+0x54/0x288
    [&lt;ffffffff811a5320&gt;] kernel_init_freeable+0x27c/0x2e4
    [&lt;ffffffff80cfc380&gt;] kernel_init+0x2c/0x134
    [&lt;ffffffff80205a2c&gt;] ret_from_kernel_thread+0x14/0x1c
    ---[ end trace e4a0efe10aa5cce6 ]---
    loongson-pci 1a000000.pci: error -19: failed to map resource [io  0x20000-0x3ffff]

We can see that the resource start address is 0x0000020000, because
the ISA Bridge used the zero address which is defined in the dts file
arch/mips/boot/dts/loongson/ls7a-pch.dtsi:

    ISA Bridge: /bus@10000000/isa@18000000
    IO 0x0000000018000000..0x000000001801ffff  -&gt;  0x0000000000000000

Based on the above analysis, the architecture-specific pci_remap_iospace()
is not suitable for Loongson64, we should only define pci_remap_iospace()
for Ralink on MIPS based on the commit background.

Fixes: 9f76779f2418 ("MIPS: implement architecture-specific 'pci_remap_iospace()'")
Suggested-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
Signed-off-by: Tiezhu Yang &lt;yangtiezhu@loongson.cn&gt;
Tested-by: Sergio Paracuellos &lt;sergio.paracuellos@gmail.com&gt;
Acked-by: Sergio Paracuellos &lt;sergio.paracuellos@gmail.com&gt;
Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
</content>
</entry>
<entry>
<title>MIPS: asm: pci: define arch-specific 'pci_remap_iospace()' dependent on 'CONFIG_PCI_DRIVERS_GENERIC'</title>
<updated>2021-10-09T08:37:21+00:00</updated>
<author>
<name>Sergio Paracuellos</name>
<email>sergio.paracuellos@gmail.com</email>
</author>
<published>2021-10-08T09:53:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e538e8649892a5890dcc2b2b157f3876573a7773'/>
<id>urn:sha1:e538e8649892a5890dcc2b2b157f3876573a7773</id>
<content type='text'>
Some MIPS defconfigs that don't define 'CONFIG_PCI_DRIVERS_GENERIC' but
define 'CONFIG_PCI_DRIVERS_LEGACY' or none of them, can fail when they are
built since definition for 'pci_remap_iospace' is being done in include
file 'arch/mips/include/asm/pci.h' and the specific function implemented
in 'arch/mips/pci/pci-generic.c'. MIPS PCI drivers that don't use generic
PCI core APIs don't really need 'pci_remap_iospace' to be defined at all.
Hence, change definition for 'pci_remap_iospace' to be dependent on the
preprocessor 'CONFIG_PCI_DRIVERS_GENERIC' definition to avoid possible
build problems.

Fixes: 9f76779f2418 ("MIPS: implement architecture-specific 'pci_remap_iospace()'")
CC: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Sergio Paracuellos &lt;sergio.paracuellos@gmail.com&gt;
Link: https://lore.kernel.org/r/20211008095311.26475-1-sergio.paracuellos@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>MIPS: implement architecture-specific 'pci_remap_iospace()'</title>
<updated>2021-10-05T10:36:25+00:00</updated>
<author>
<name>Sergio Paracuellos</name>
<email>sergio.paracuellos@gmail.com</email>
</author>
<published>2021-09-25T20:32:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9f76779f24183c5d85a9441016d9dad042411e50'/>
<id>urn:sha1:9f76779f24183c5d85a9441016d9dad042411e50</id>
<content type='text'>
To make PCI IO work we need to properly virtually map IO cpu physical address
and set this virtual address as the address of the first PCI IO port which
is set using function 'set_io_port_base()'.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
Signed-off-by: Sergio Paracuellos &lt;sergio.paracuellos@gmail.com&gt;
Link: https://lore.kernel.org/r/20210925203224.10419-6-sergio.paracuellos@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>MIPS: pci-legacy: remove busn_resource field</title>
<updated>2021-04-16T07:15:40+00:00</updated>
<author>
<name>Ilya Lipnitskiy</name>
<email>ilya.lipnitskiy@gmail.com</email>
</author>
<published>2021-04-14T03:12:39+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0af83d2e447af3e5098583cb6320bb1b1fb0976b'/>
<id>urn:sha1:0af83d2e447af3e5098583cb6320bb1b1fb0976b</id>
<content type='text'>
No drivers set the busn_resource field in the pci_controller struct.
Commit 7ee214b540d9 ("MIPS: PCI: Remove unused busn_offset") almost
removed it over 3 years ago. Remove it for good to free up memory and
eliminate messages like:
  pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]

Signed-off-by: Ilya Lipnitskiy &lt;ilya.lipnitskiy@gmail.com&gt;
Cc: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Signed-off-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;
</content>
</entry>
<entry>
<title>PCI: Convert pci_resource_to_user() to a weak function</title>
<updated>2019-08-08T20:12:07+00:00</updated>
<author>
<name>Denis Efremov</name>
<email>efremov@linux.com</email>
</author>
<published>2019-07-29T10:13:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b8074aa2460b535915e8f65bf83c4bcb4220f804'/>
<id>urn:sha1:b8074aa2460b535915e8f65bf83c4bcb4220f804</id>
<content type='text'>
Convert pci_resource_to_user() to a weak function so the existing
architecture-specific implementations will automatically override the
generic one.  This allows us to remove HAVE_ARCH_PCI_RESOURCE_TO_USER
definitions and avoid the conditional compilation for this single function.

Link: https://lore.kernel.org/r/20190729101401.28068-1-efremov@linux.com
Link: https://lore.kernel.org/r/20190729101401.28068-2-efremov@linux.com
Link: https://lore.kernel.org/r/20190729101401.28068-3-efremov@linux.com
Link: https://lore.kernel.org/r/20190729101401.28068-4-efremov@linux.com
Link: https://lore.kernel.org/r/20190729101401.28068-5-efremov@linux.com
Link: https://lore.kernel.org/r/20190729101401.28068-6-efremov@linux.com
Signed-off-by: Denis Efremov &lt;efremov@linux.com&gt;
[bhelgaas: squash into one commit]
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Paul Burton &lt;paul.burton@mips.com&gt;	# MIPS
</content>
</entry>
<entry>
<title>PCI: remove PCI_DMA_BUS_IS_PHYS</title>
<updated>2018-05-07T05:15:41+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2018-04-12T07:33:30+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=325ef1857fff8b2049322921e19421b6c5ad74e5'/>
<id>urn:sha1:325ef1857fff8b2049322921e19421b6c5ad74e5</id>
<content type='text'>
This was used by the ide, scsi and networking code in the past to
determine if they should bounce payloads.  Now that the dma mapping
always have to support dma to all physical memory (thanks to swiotlb
for non-iommu systems) there is no need to this crude hack any more.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Palmer Dabbelt &lt;palmer@sifive.com&gt; (for riscv)
Reviewed-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>PCI: Remove redundant pci_dev, pci_bus, resource declarations</title>
<updated>2017-11-08T00:38:48+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2017-10-04T20:15:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=be2d877aaa043d23c0522fd3c7491b8ef7b631fa'/>
<id>urn:sha1:be2d877aaa043d23c0522fd3c7491b8ef7b631fa</id>
<content type='text'>
&lt;linux/pci.h&gt; defines struct pci_bus and struct pci_dev and includes the
struct resource definition before including &lt;asm/pci.h&gt;.  Nobody includes
&lt;asm/pci.h&gt; directly, so they don't need their own declarations.

Remove the redundant struct pci_dev, pci_bus, resource declarations.

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Acked-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;	# CRIS
Acked-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;		# MIPS</content>
</entry>
<entry>
<title>PCI: Remove redundant pcibios_set_master() declarations</title>
<updated>2017-11-08T00:38:47+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2017-09-28T22:02:42+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=137ed9f0ee20b72e03492f8f0358cb19f74a89c4'/>
<id>urn:sha1:137ed9f0ee20b72e03492f8f0358cb19f74a89c4</id>
<content type='text'>
All users of pcibios_set_master() include &lt;linux/pci.h&gt;, which already has
a declaration.  Remove the unnecessary declarations from the &lt;asm/pci.h&gt;
files.

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Acked-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt; 	# CRIS
Acked-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;		# MIPS</content>
</entry>
<entry>
<title>MIPS: PCI: Remove unused busn_offset</title>
<updated>2017-05-18T20:39:19+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2017-05-18T20:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7ee214b540d9453af297cd19c43002018ed73fea'/>
<id>urn:sha1:7ee214b540d9453af297cd19c43002018ed73fea</id>
<content type='text'>
pci_add_resource_offset() is for host bridge windows where the bridge
translates CPU addresses to PCI bus addresses by adding an offset.  To my
knowledge, no host bridge translates bus numbers, so this is only useful
for MEM and IO windows.  In any event, host-&gt;busn_offset is never set to
anything other than zero, so pci_add_resource() is sufficient.

a2e50f53d535 ("MIPS: PCI: Add a hook for IORESOURCE_BUS in
pci_controller/bridge_controller") also added busn_resource itself.  This
is currently unused but may be used by future SGI IP27 fixes, so I left it
there.

Tested-by: Joshua Kinard &lt;kumba@gentoo.org&gt;	# SGI IP30 and IP27
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Joshua Kinard &lt;kumba@gentoo.org&gt;</content>
</entry>
</feed>
