menuconfig UIO tristate "Userspace I/O drivers" depends on MMU help Enable this to allow the userspace driver core code to be built. This code allows userspace programs easy access to kernel interrupts and memory locations, allowing some drivers to be written in userspace. Note that a small kernel driver is also required for interrupt handling to work properly. If you don't know what to do here, say N. if UIO config UIO_CIF tristate "generic Hilscher CIF Card driver" depends on PCI help Driver for Hilscher CIF DeviceNet and Profibus cards. This driver requires a userspace component called cif that handles all of the heavy lifting and can be found at: To compile this driver as a module, choose M here: the module will be called uio_cif. config UIO_PDRV_GENIRQ tristate "Userspace I/O platform driver with generic IRQ handling" help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. This kernel driver requires that the matching userspace driver handles interrupts in a special way. Userspace is responsible for acknowledging the hardware device if needed, and re-enabling interrupts in the interrupt controller using the write() syscall. If you don't know what to do here, say N. config UIO_DMEM_GENIRQ tristate "Userspace platform driver with generic irq and dynamic memory" depends on HAS_DMA help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. Memory regions can be specified with the same platform device resources as the UIO_PDRV drivers, but dynamic regions can also be specified. The number and size of these regions is static, but the memory allocation is not performed until the associated device file is opened. The memory is freed once the uio device is closed. If you don't know what to do here, say N. config UIO_AEC tristate "AEC video timestamp device" depends on PCI help UIO driver for the Adrienne Electronics Corporation PCI time code device. This device differs from other UIO devices since it uses I/O ports instead of memory mapped I/O. In order to make it possible for UIO to work with this device a utility, uioport, can be used to read and write the ports: git clone git://ifup.org/philips/uioport.git If you compile this as a module, it will be called uio_aec. config UIO_SERCOS3 tristate "Automata Sercos III PCI card driver" depends on PCI help Userspace I/O interface for the Sercos III PCI card from Automata GmbH. The userspace part of this driver will be available for download from the Automata GmbH web site. Automata GmbH: http://www.automataweb.com Sercos III interface: http://www.sercos.com If you compile this as a module, it will be called uio_sercos3. config UIO_PCI_GENERIC tristate "Generic driver for PCI 2.3 and PCI Express cards" depends on PCI help Generic driver that you can bind, dynamically, to any PCI 2.3 compliant and PCI Express card. It is useful, primarily, for virtualization scenarios. If you compile this as a module, it will be called uio_pci_generic. config UIO_NETX tristate "Hilscher NetX Card driver" depends on PCI help Driver for Hilscher NetX based fieldbus cards (cifX, comX). This driver requires a userspace component that comes with the card or is available from Hilscher (http://www.hilscher.com). To compile this driver as a module, choose M here; the module will be called uio_netx. config UIO_FSL_ELBC_GPCM tristate "eLBC/GPCM driver" depends on FSL_LBC help Generic driver for accessing a peripheral connected to an eLBC port that is running in GPCM mode. GPCM is an interface for simple lower performance memories and memory-mapped devices. For devices using FCM or UPM eLBC modes, other device-specific drivers are available. config UIO_FSL_ELBC_GPCM_NETX5152 bool "eLBC/GPCM netX 51/52 support" depends on UIO_FSL_ELBC_GPCM help This will add support for netX 51/52 devices connected via eLBC/GPCM. In particular, it implements interrupt handling. This can be used together with the userspace netX stack from Hilscher. Information about this hardware can be found at: http://www.hilscher.com/netx config UIO_PRUSS tristate "Texas Instruments PRUSS driver" select GENERIC_ALLOCATOR depends on HAS_IOMEM && HAS_DMA help PRUSS driver for OMAPL138/DA850/AM18XX devices PRUSS driver requires user space components, examples and user space driver is available from below SVN repo - you may use anonymous login https://gforge.ti.com/gf/project/pru_sw/ More info on API is available at below wiki http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader To compile this driver as a module, choose M here: the module will be called uio_pruss. config UIO_MF624 tristate "Humusoft MF624 DAQ PCI card driver" depends on PCI help Userspace I/O interface for the Humusoft MF624 PCI card. A sample userspace application using this driver is available (among other MF624 related information and software components) for download in a git repository: git clone git://rtime.felk.cvut.cz/mf6xx.git If you compile this as a module, it will be called uio_mf624. config UIO_HV_GENERIC tristate "Generic driver for Hyper-V VMBus" depends on HYPERV help Generic driver that you can bind, dynamically, to any Hyper-V VMBus device. It is useful to provide direct access to network and storage devices from userspace. If you compile this as a module, it will be called uio_hv_generic. endif eb5804d295203c302d496d8ee91'>a0615a16f7d0ceb5804d295203c302d496d8ee91 (diff)
powerpc/mm: Fix spurrious segfaults on radix with autonuma
When autonuma (Automatic NUMA balancing) marks a PTE inaccessible it clears all the protection bits but leave the PTE valid. With the Radix MMU, an attempt at executing from such a PTE will take a fault with bit 35 of SRR1 set "SRR1_ISI_N_OR_G". It is thus incorrect to treat all such faults as errors. We should pass them to handle_mm_fault() for autonuma to deal with. The case of pages that are really not executable is handled by the existing test for VM_EXEC further down. That leaves us with catching the kernel attempts at executing user pages. We can catch that earlier, even before we do find_vma. It is never valid on powerpc for the kernel to take an exec fault to begin with. So fold that test with the existing test for the kernel faulting on kernel addresses to bail out early. Fixes: 1d18ad026844 ("powerpc/mm: Detect instruction fetch denied and report") Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'sound/soc/codecs/alc5623.c')