Commit 76f0f227 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux

Pull ia64 updates from Tony Luck:
 "The big change here is removal of support for SGI Altix"

* tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: (33 commits)
  genirq: remove the is_affinity_mask_valid hook
  ia64: remove CONFIG_SWIOTLB ifdefs
  ia64: remove support for machvecs
  ia64: move the screen_info setup to common code
  ia64: move the ROOT_DEV setup to common code
  ia64: rework iommu probing
  ia64: remove the unused sn_coherency_id symbol
  ia64: remove the SGI UV simulator support
  ia64: remove the zx1 swiotlb machvec
  ia64: remove CONFIG_ACPI ifdefs
  ia64: remove CONFIG_PCI ifdefs
  ia64: remove the hpsim platform
  ia64: remove now unused machvec indirections
  ia64: remove support for the SGI SN2 platform
  drivers: remove the SGI SN2 IOC4 base support
  drivers: remove the SGI SN2 IOC3 base support
  qla2xxx: remove SGI SN2 support
  qla1280: remove SGI SN2 support
  misc/sgi-xp: remove SGI SN2 support
  char/mspec: remove SGI SN2 support
  ...
parents 58d4fafd 0d3d3435
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2378,7 +2378,7 @@

	machvec=	[IA-64] Force the use of a particular machine-vector
			(machvec) in a generic kernel.
			Example: machvec=hpzx1_swiotlb
			Example: machvec=hpzx1

	machtype=	[Loongson] Share the same kernel image file between different
			 yeeloong laptop.
+0 −49
Original line number Diff line number Diff line
====================================
SGI IOC4 PCI (multi function) device
====================================

The SGI IOC4 PCI device is a bit of a strange beast, so some notes on
it are in order.

First, even though the IOC4 performs multiple functions, such as an
IDE controller, a serial controller, a PS/2 keyboard/mouse controller,
and an external interrupt mechanism, it's not implemented as a
multifunction device.  The consequence of this from a software
standpoint is that all these functions share a single IRQ, and
they can't all register to own the same PCI device ID.  To make
matters a bit worse, some of the register blocks (and even registers
themselves) present in IOC4 are mixed-purpose between these several
functions, meaning that there's no clear "owning" device driver.

The solution is to organize the IOC4 driver into several independent
drivers, "ioc4", "sgiioc4", and "ioc4_serial".  Note that there is no
PS/2 controller driver as this functionality has never been wired up
on a shipping IO card.

ioc4
====
This is the core (or shim) driver for IOC4.  It is responsible for
initializing the basic functionality of the chip, and allocating
the PCI resources that are shared between the IOC4 functions.

This driver also provides registration functions that the other
IOC4 drivers can call to make their presence known.  Each driver
needs to provide a probe and remove function, which are invoked
by the core driver at appropriate times.  The interface of these
IOC4 function probe and remove operations isn't precisely the same
as PCI device probe and remove operations, but is logically the
same operation.

sgiioc4
=======
This is the IDE driver for IOC4.  Its name isn't very descriptive
simply for historical reasons (it used to be the only IOC4 driver
component).  There's not much to say about it other than it hooks
up to the ioc4 driver via the appropriate registration, probe, and
remove functions.

ioc4_serial
===========
This is the serial driver for IOC4.  There's not much to say about it
other than it hooks up to the ioc4 driver via the appropriate registration,
probe, and remove functions.
+0 −6
Original line number Diff line number Diff line
@@ -8413,12 +8413,6 @@ L: linux-mips@vger.kernel.org
S:	Maintained
F:	drivers/net/ethernet/sgi/ioc3-eth.c

IOC3 SERIAL DRIVER
M:	Pat Gefre <pfg@sgi.com>
L:	linux-serial@vger.kernel.org
S:	Maintained
F:	drivers/tty/serial/ioc3_serial.c

IOMAP FILESYSTEM LIBRARY
M:	Christoph Hellwig <hch@infradead.org>
M:	Darrick J. Wong <darrick.wong@oracle.com>
+28 −113
Original line number Diff line number Diff line
@@ -10,12 +10,14 @@ config IA64
	bool
	select ARCH_MIGHT_HAVE_PC_PARPORT
	select ARCH_MIGHT_HAVE_PC_SERIO
	select ACPI if (!IA64_HP_SIM)
	select ARCH_SUPPORTS_ACPI if (!IA64_HP_SIM)
	select ACPI
	select ACPI_NUMA if NUMA
	select ARCH_SUPPORTS_ACPI
	select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
	select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
	select FORCE_PCI if (!IA64_HP_SIM)
	select FORCE_PCI
	select PCI_DOMAINS if PCI
	select PCI_MSI
	select PCI_SYSCALL if PCI
	select HAVE_UNSTABLE_SCHED_CLOCK
	select HAVE_EXIT_THREAD
@@ -30,8 +32,8 @@ config IA64
	select HAVE_ARCH_TRACEHOOK
	select HAVE_MEMBLOCK_NODE_MAP
	select HAVE_VIRT_CPU_ACCOUNTING
	select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB
	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB
	select ARCH_HAS_DMA_COHERENT_TO_PFN
	select ARCH_HAS_SYNC_DMA_FOR_CPU
	select VIRT_TO_BUS
	select GENERIC_IRQ_PROBE
	select GENERIC_PENDING_IRQ if SMP
@@ -45,6 +47,7 @@ config IA64
	select ARCH_THREAD_STACK_ALLOCATOR
	select ARCH_CLOCKSOURCE_DATA
	select GENERIC_TIME_VSYSCALL
	select SWIOTLB
	select SYSCTL_ARCH_UNALIGN_NO_WARN
	select HAVE_MOD_ARCH_SPECIFIC
	select MODULES_USE_ELF_RELA
@@ -52,6 +55,7 @@ config IA64
	select HAVE_ARCH_AUDITSYSCALL
	select NEED_DMA_MAP_STATE
	select NEED_SG_DMA_LENGTH
	select NUMA if !FLATMEM
	default y
	help
	  The Itanium Processor Family is Intel's 64-bit successor to
@@ -66,7 +70,6 @@ config 64BIT

config ZONE_DMA32
	def_bool y
	depends on !IA64_SGI_SN2

config QUICKLIST
	bool
@@ -120,87 +123,6 @@ config AUDIT_ARCH
	bool
	default y

choice
	prompt "System type"
	default IA64_GENERIC

config IA64_GENERIC
	bool "generic"
	select NUMA
	select ACPI_NUMA
	select SWIOTLB
	select PCI_MSI
	help
	  This selects the system type of your hardware.  A "generic" kernel
	  will run on any supported IA-64 system.  However, if you configure
	  a kernel for your specific system, it will be faster and smaller.

	  generic		For any supported IA-64 system
	  DIG-compliant		For DIG ("Developer's Interface Guide") compliant systems
	  DIG+Intel+IOMMU	For DIG systems with Intel IOMMU
	  HP-zx1/sx1000		For HP systems
	  HP-zx1/sx1000+swiotlb	For HP systems with (broken) DMA-constrained devices.
	  SGI-SN2		For SGI Altix systems
	  SGI-UV		For SGI UV systems
	  Ski-simulator		For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>

	  If you don't know what to do, choose "generic".

config IA64_DIG
	bool "DIG-compliant"
	select SWIOTLB

config IA64_DIG_VTD
	bool "DIG+Intel+IOMMU"
	select INTEL_IOMMU
	select PCI_MSI

config IA64_HP_ZX1
	bool "HP-zx1/sx1000"
	help
	  Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
	  support for the HP I/O MMU.

config IA64_HP_ZX1_SWIOTLB
	bool "HP-zx1/sx1000 with software I/O TLB"
	select SWIOTLB
	help
	  Build a kernel that runs on HP zx1 and sx1000 systems even when they
	  have broken PCI devices which cannot DMA to full 32 bits.  Apart
	  from support for the HP I/O MMU, this includes support for the software
	  I/O TLB, which allows supporting the broken devices at the expense of
	  wasting some kernel memory (about 2MB by default).

config IA64_SGI_SN2
	bool "SGI-SN2"
	select NUMA
	select ACPI_NUMA
	help
	  Selecting this option will optimize the kernel for use on sn2 based
	  systems, but the resulting kernel binary will not run on other
	  types of ia64 systems.  If you have an SGI Altix system, it's safe
	  to select this option.  If in doubt, select ia64 generic support
	  instead.

config IA64_SGI_UV
	bool "SGI-UV"
	select NUMA
	select ACPI_NUMA
	select SWIOTLB
	help
	  Selecting this option will optimize the kernel for use on UV based
	  systems, but the resulting kernel binary will not run on other
	  types of ia64 systems.  If you have an SGI UV system, it's safe
	  to select this option.  If in doubt, select ia64 generic support
	  instead.

config IA64_HP_SIM
	bool "Ski-simulator"
	select SWIOTLB
	depends on !PM

endchoice

choice
	prompt "Processor type"
	default ITANIUM
@@ -252,14 +174,7 @@ config IA64_PAGE_SIZE_64KB

endchoice

if IA64_HP_SIM
config HZ
	default 32
endif

if !IA64_HP_SIM
source "kernel/Kconfig.hz"
endif

config IA64_BRL_EMU
	bool
@@ -272,17 +187,26 @@ config IA64_L1_CACHE_SHIFT
	default "7" if MCKINLEY
	default "6" if ITANIUM

config IA64_SGI_UV
	bool "SGI-UV support"
	help
	  Selecting this option will add specific support for running on SGI
	  UV based systems.  If you have an SGI UV system or are building a
	  distro kernel, select this option.

config IA64_HP_SBA_IOMMU
	bool "HP SBA IOMMU support"
	default y
	help
	  Say Y here to add support for the SBA IOMMU found on HP zx1 and
	  sx1000 systems.  If you're unsure, answer Y.

config IA64_CYCLONE
	bool "Cyclone (EXA) Time Source support"
	help
	  Say Y here to enable support for IBM EXA Cyclone time source.
	  If you're unsure, answer N.

config IOSAPIC
	bool
	depends on !IA64_HP_SIM
	default y

config FORCE_MAX_ZONEORDER
	int "MAX_ORDER (11 - 17)"  if !HUGETLB_PAGE
	range 11 17  if !HUGETLB_PAGE
@@ -381,14 +305,12 @@ config ARCH_SPARSEMEM_ENABLE
	select SPARSEMEM_VMEMMAP_ENABLE

config ARCH_DISCONTIGMEM_DEFAULT
	def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
	def_bool y
	depends on ARCH_DISCONTIGMEM_ENABLE

config NUMA
	bool "NUMA support"
	depends on !IA64_HP_SIM && !FLATMEM
	default y if IA64_SGI_SN2
	select ACPI_NUMA if ACPI
	depends on !FLATMEM
	help
	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
	  Access).  This option is for configuring high-end multiprocessor
@@ -409,7 +331,7 @@ config NODES_SHIFT
config VIRTUAL_MEM_MAP
	bool "Virtual mem map"
	depends on !SPARSEMEM
	default y if !IA64_HP_SIM
	default y
	help
	  Say Y to compile the kernel with support for a virtual mem map.
	  This code also only takes effect if a memory hole of greater than
@@ -472,9 +394,6 @@ config IA64_MC_ERR_INJECT

	  If you're unsure, do not select this option.

config SGI_SN
	def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)

config IA64_ESI
	bool "ESI (Extensible SAL Interface) support"
	help
@@ -493,11 +412,9 @@ config IA64_HP_AML_NFW
	  the "force" module parameter, e.g., with the "aml_nfw.force"
	  kernel command line option.

source "drivers/sn/Kconfig"

config KEXEC
	bool "kexec system call"
	depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
	depends on !SMP || HOTPLUG_CPU
	select KEXEC_CORE
	help
	  kexec is a system call that implements the ability to shutdown your
@@ -515,7 +432,7 @@ config KEXEC

config CRASH_DUMP
	  bool "kernel crash dumps"
	  depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
	  depends on IA64_MCA_RECOVERY && (!SMP || HOTPLUG_CPU)
	  help
	    Generate crash dump after being started by kexec.

@@ -537,8 +454,6 @@ endif

endmenu

source "arch/ia64/hp/sim/Kconfig"

config MSPEC
	tristate "Memory special operations driver"
	depends on IA64
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ config IA64_GRANULE_16MB

config IA64_GRANULE_64MB
	bool "64MB"
	depends on !(IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_SGI_SN2)
	depends on BROKEN

endchoice

Loading