OpenRISC fixes for 5.20-rc1/6.0

In this cycle we add PCI support to OpenRISC used in our new QEMU virt
 platform.  The base of this series is a merge of Bjorn's PCI headers
 cleanup branch and 5.16-rc6.  The patches from the PCI branch are needed
 for the series to work.
 
 The main updates from me include:
  - Kconfig updates to support OpenRISC PCI (just config now after the
    PCI cleanups I did on Bjorn's branch)
  - A new defconfig for the qemu virt platform.
  - Also there is one MAINTAINERS update.  As I was working on the PCI
    series we kept getting bounces from Richard's old email address. I
    added this here; I am not sure how these are usually handled when
    the maintainer doesn't queue it themselves.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE2cRzVK74bBA6Je/xw7McLV5mJ+QFAmLtfRwACgkQw7McLV5m
 J+Tf0w//dJaiBa4kYysJ78vlH69ZGjaJMJfomF5HQVhF0sF5h5yUAaYqNHgItRwG
 76vewFESEJZ+fwxfLWdOKkCqQSkCG5bJkE5SCLViu9B4Cu+lbUZyzX2CwpcZz6ab
 rYnSolteMC4oL1MUFWXt1yP9ZUiTmAKN86uTfO+2ufax5WE/B0hS7m830bIOyqdZ
 qFnr1Mv0ujqUx1Oz8PDsy6jjV5AVBZP8zcEVGX+n9n3RpB8kUD9Zl+Rs3/AgfXdx
 aoOCcAS0hfYGfzkx6gGKtAiKwRicXNKYTPkGZagrKHppuv6jTAjE9v8W7VRCYdD5
 JlmeVRjw8Zl4ALVzJINXlejymzZmNz3D3ajFkTm4AkHh/F0yq1hOPGY4Jr7s8hj/
 vioK2i3GWxfbN5sUZkKxKT3BCAGkAoNZMGsXHjURhIIvJ8Yrjp4DtwLdcLn6btgr
 KyVlUGteD4TLK4Uib+tQKmYpv/6uGa6LFSIEoYhcq2URvJsCzLOvXdpdYtj/90jA
 LezVX2Csu9uilYmXSqkNeTn3kGBEJpHlbI4N8oQ6stBBllpiwsOOSxoGQiiARbeO
 Af3GjzFG71aEKkF5ktBijpecdGZys/bpTwA1AELY8C3h9ekzBg8LtEigCyXRurNF
 Pnpj2JJvkG4q5moH+DQmQC4109NeZ+7ysnlZEoPyRFx9oUQu6ng=
 =t80+
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of github.com:openrisc/linux

Pull OpenRISC updates from Stafford Horne:
 "In this cycle we add PCI support to OpenRISC used in our new QEMU virt
  platform.

  The main updates from me include:

   - Kconfig updates to support OpenRISC PCI (just config now after the
     PCI cleanups I did on Bjorn's branch)

   - A new defconfig for the qemu virt platform.

   - Also there is one MAINTAINERS update. As I was working on the PCI
     series we kept getting bounces from Richard's old email address. I
     added this here; I am not sure how these are usually handled when
     the maintainer doesn't queue it themselves"

* tag 'for-linus' of github.com:openrisc/linux:
  openrisc: io: Define iounmap argument as volatile
  MAINTAINERS: Update Richard Henderson's address
  openrisc: Add virt defconfig
  openrisc: Add pci bus support
This commit is contained in:
Linus Torvalds 2022-08-05 13:59:38 -07:00
commit 4d5398a3ec
6 changed files with 117 additions and 5 deletions

View File

@ -816,7 +816,7 @@ S: Maintained
F: drivers/staging/media/sunxi/cedrus/
ALPHA PORT
M: Richard Henderson <rth@twiddle.net>
M: Richard Henderson <richard.henderson@linaro.org>
M: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
M: Matt Turner <mattst88@gmail.com>
L: linux-alpha@vger.kernel.org

View File

@ -20,8 +20,9 @@ config OPENRISC
select GENERIC_IRQ_CHIP
select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW
select GENERIC_IOMAP
select GENERIC_PCI_IOMAP
select GENERIC_CPU_DEVICES
select HAVE_PCI
select HAVE_UID16
select GENERIC_ATOMIC64
select GENERIC_CLOCKEVENTS_BROADCAST
@ -32,6 +33,8 @@ config OPENRISC
select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
select ARCH_USE_QUEUED_RWLOCKS
select OMPIC if SMP
select PCI_DOMAINS_GENERIC if PCI
select PCI_MSI if PCI
select ARCH_WANT_FRAME_POINTERS
select GENERIC_IRQ_MULTI_HANDLER
select MMU_GATHER_NO_RANGE if MMU

View File

@ -0,0 +1,108 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ_IDLE=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CGROUPS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_OPENRISC_HAVE_INST_CMOV=y
CONFIG_OPENRISC_HAVE_INST_ROR=y
CONFIG_OPENRISC_HAVE_INST_RORI=y
CONFIG_OPENRISC_HAVE_INST_SEXT=y
CONFIG_NR_CPUS=8
CONFIG_SMP=y
CONFIG_HZ_100=y
# CONFIG_OPENRISC_NO_SPR_SR_DSX is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_CUBIC is not set
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_IPV6 is not set
# CONFIG_WIRELESS is not set
CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=y
CONFIG_VIRTIO_BLK=y
CONFIG_NETDEVICES=y
CONFIG_VIRTIO_NET=y
CONFIG_ETHOC=y
CONFIG_MICREL_PHY=y
# CONFIG_WLAN is not set
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_HW_RANDOM is not set
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
CONFIG_SYSCON_REBOOT_MODE=y
# CONFIG_HWMON is not set
CONFIG_DRM=y
# CONFIG_DRM_FBDEV_EMULATION is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_INTEL8X0=y
CONFIG_SND_INTEL8X0M=y
CONFIG_SND_SOC=y
CONFIG_SND_VIRTIO=y
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_ITE is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_REDRAGON is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_SERIAL=y
CONFIG_USB_GADGET=y
CONFIG_TYPEC=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_GOLDFISH=y
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PCI_LEGACY is not set
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_DNOTIFY is not set
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_EXFAT_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
CONFIG_UNICODE=y
CONFIG_PRINTK_TIME=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_FTRACE=y

View File

@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
generic-y += extable.h
generic-y += kvm_para.h
generic-y += parport.h
generic-y += spinlock_types.h
generic-y += spinlock.h
generic-y += qrwlock_types.h

View File

@ -17,7 +17,7 @@
#include <linux/types.h>
/*
* PCI: can we really do 0 here if we have no port IO?
* PCI: We do not use IO ports in OpenRISC
*/
#define IO_SPACE_LIMIT 0
@ -31,7 +31,7 @@
void __iomem *ioremap(phys_addr_t offset, unsigned long size);
#define iounmap iounmap
extern void iounmap(void __iomem *addr);
extern void iounmap(volatile void __iomem *addr);
#include <asm-generic/io.h>

View File

@ -77,7 +77,7 @@ void __iomem *__ref ioremap(phys_addr_t addr, unsigned long size)
}
EXPORT_SYMBOL(ioremap);
void iounmap(void __iomem *addr)
void iounmap(volatile void __iomem *addr)
{
/* If the page is from the fixmap pool then we just clear out
* the fixmap mapping.