1. 29 Dec, 2015 4 commits
  2. 23 Dec, 2015 1 commit
  3. 21 Dec, 2015 4 commits
  4. 20 Dec, 2015 1 commit
  5. 19 Dec, 2015 2 commits
  6. 18 Dec, 2015 5 commits
  7. 16 Dec, 2015 11 commits
    • Marc Zyngier's avatar
      irqchip/gic: Make interrupt ID 1020 invalid · 327ebe1f
      Marc Zyngier authored
      The GIC has no such thing as interrupt 1020: the last valid ID is
      1019, and the range 1020-1023 is reserved - 1023 indicating that
      no interrupt is pending. So let's make sure we don't try to handle
      this ID.
      
      This bug has been in since the initial GIC code was introduced in
      8ad68bbf ("[ARM] Add support for ARM RealView board").
      Reported-by: default avatarEric Auger <eric.auger@linaro.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      327ebe1f
    • Marc Zyngier's avatar
      irqchip/gic-v2m: Fix of_node refcount on error · 86d14c72
      Marc Zyngier authored
      On the error path, the v2m drivers drops the refcount on the parent
      node instead of doing it on the node that generated the error.
      Humph...
      Reported-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      86d14c72
    • Linus Walleij's avatar
      irqchip/gic: Assign irqchip dynamically · 58b89649
      Linus Walleij authored
      Instead of having the irqchip being a static struct, make it part
      of the per-instance data so we can assign it a dynamic name. This
      has the usable side effect of displaying the GIC with an instance
      number as GIC0, GIC1 ... GICn in /proc/interrupts, which is helpful
      when debugging cascaded GICs, such as on the ARM PB11MPCore.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      58b89649
    • Linus Walleij's avatar
      irqchip/gic: Support RealView variant setup · 8673c1d7
      Linus Walleij authored
      The ARM RealView PB11MPCore reference design has some special
      bits in a system controller register to set up the GIC in one
      of three modes: legacy, new with DCC, new without DCC. The
      register is also used to enable FIQ.
      
      Since the platform will not boot unless this register is set
      up to "new with DCC" mode, we need a special quirk to be
      compiled-in for the RealView platforms.
      
      If we find the right compatible string on the GIC TestChip,
      we enable this quirk by looking up the system controller and
      enabling the special bits.
      
      We depend on the CONFIG_REALVIEW_DT Kconfig symbol as the old
      boardfile code has the same fix hardcoded, and this is only
      needed for the attempts to modernize the RealView code using
      device tree.
      
      After fixing this, the PB11MPCore boots with device tree
      only.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      8673c1d7
    • Linus Walleij's avatar
      irqchip/gic: Fix ARM11MPCore GIC bindings · 126aebd0
      Linus Walleij authored
      The GIC bindings for the ARM11MPCore need to differentiate between
      the GIC on the Test Chip and the one on the evaluation baseboard.
      Split the binding in two and define new compatible-strings.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: devicetree@vger.kernel.org
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      126aebd0
    • Marc Zyngier's avatar
      platform-msi: Allow creation of a MSI-based stacked irq domain · 552c494a
      Marc Zyngier authored
      We almost have all the needed bits requiredable to create a irq domain
      on top of a MSI domain.
      
      For this, we enable a few things:
      - the virq is stored in the msi_desc
      - device, msi_alloc_info and domain-specific data
        are stored in the platform_priv_data structure
      - we introduce a new API for platform-msi:
      
        /* Create a MSI-based domain */
        struct irq_domain *
        platform_msi_create_device_domain(struct device *dev,
                                          unsigned int nvec,
                                          irq_write_msi_msg_t write_msi_msg,
                                          const struct irq_domain_ops *ops,
                                          void *host_data);
      
        /* Allocate MSIs in an MSI domain */
        int platform_msi_domain_alloc(struct irq_domain *domain,
      				unsigned int virq,
      				unsigned int nr_irqs);
      
        /* Free MSIs from an MSI domain */
        void platform_msi_domain_free(struct irq_domain *domain,
      				unsigned int virq,
      				unsigned int nvec);
      
        /* Obtain the host data passed to platform_msi_create_device_domain */
        void *platform_msi_get_host_data(struct irq_domain *domain);
      
      platform_msi_create_device_domain() is a hybrid of irqdomain creation
      and interrupt allocation, creating a domain backed by the MSIs associated
      to a device. IRQs can then be allocated in that domain using
      platform_msi_domain_alloc().
      
      This now allows a wired irq to MSI bridge to be created.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      552c494a
    • Marc Zyngier's avatar
      genirq/msi: Add msi_domain_populate_irqs · 2145ac93
      Marc Zyngier authored
      To be able to allocate interrupts from the MSI layer down,
      add a new msi_domain_populate_irqs entry point.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      2145ac93
    • Marc Zyngier's avatar
      genirq/msi: Make the .prepare callback reusable · b2eba39b
      Marc Zyngier authored
      The .prepare callbacks are so far only called from msi_domain_alloc_irqs.
      In order to reuse that code, split that code and create a
      msi_domain_prepare_irqs function that the existing code can call into.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      b2eba39b
    • Marc Zyngier's avatar
      irqdomain: Make irq_domain_alloc_irqs_recursive available · c466595c
      Marc Zyngier authored
      We are soon going to need the MSI layer to call into the domain
      allocators. Instead of open coding this, make the standard
      irq_domain_alloc_irqs_recursive function available to the MSI
      layer.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      c466595c
    • Marc Zyngier's avatar
      platform-msi: Factor out allocation/free of private data · 72f57f2f
      Marc Zyngier authored
      As we're going to have multiple paths to allocate/free the
      platform-msi private data, factor this out into separate
      utility functions.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      72f57f2f
    • Marc Zyngier's avatar
      platform-msi: Allow MSIs to be allocated in chunks · ab6484ee
      Marc Zyngier authored
      MSIs for a given device are normally all allocated in one go.
      Make sure the internal code can allocate them one at a time
      if required.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      ab6484ee
  8. 14 Dec, 2015 2 commits
    • Thomas Gleixner's avatar
      genirq: Free irq_desc with rcu · 425a5072
      Thomas Gleixner authored
      The new VMD device driver needs to iterate over a list of
      "demultiplexing" interrupts. Protecting that list with a lock is not
      possible because the list is also required in code pathes which hold
      irq descriptor lock. Therefor the demultiplexing interrupt handler
      would create a lock inversion scenario if it calls a demux handler
      with the list protection lock held.
      
      A solution for this is to free the irq descriptor via RCU, so the
      list can be walked with rcu read lock held.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Keith Busch <keith.busch@intel.com>
      425a5072
    • Linus Torvalds's avatar
      Linux 4.4-rc5 · 9f9499ae
      Linus Torvalds authored
      9f9499ae
  9. 13 Dec, 2015 8 commits
    • Peter Zijlstra's avatar
      sched/wait: Fix the signal handling fix · dfd01f02
      Peter Zijlstra authored
      Jan Stancek reported that I wrecked things for him by fixing things for
      Vladimir :/
      
      His report was due to an UNINTERRUPTIBLE wait getting -EINTR, which
      should not be possible, however my previous patch made this possible by
      unconditionally checking signal_pending().
      
      We cannot use current->state as was done previously, because the
      instruction after the store to that variable it can be changed.  We must
      instead pass the initial state along and use that.
      
      Fixes: 68985633 ("sched/wait: Fix signal handling in bit wait helpers")
      Reported-by: default avatarJan Stancek <jstancek@redhat.com>
      Reported-by: default avatarChris Mason <clm@fb.com>
      Tested-by: default avatarJan Stancek <jstancek@redhat.com>
      Tested-by: default avatarVladimir Murzin <vladimir.murzin@arm.com>
      Tested-by: default avatarChris Mason <clm@fb.com>
      Reviewed-by: default avatarPaul Turner <pjt@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: tglx@linutronix.de
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: hpa@zytor.com
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dfd01f02
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.4-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · fc891828
      Linus Torvalds authored
      Pull NFS client bugfix from Trond Myklebust:
       "SUNRPC: Fix a NFSv4.1 callback channel regression"
      
      * tag 'nfs-for-4.4-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        SUNRPC: Fix callback channel
      fc891828
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dec9cbf9
      Linus Torvalds authored
      Pull timer fixlets from Thomas Gleixner:
       "Two trivial fixes which add missing header fileas and forward
        declarations so the code will compile even when the magic include
        chains are different"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3: Add missing include for barrier.h
        irqchip/gic-v3: Add missing struct device_node declaration
      dec9cbf9
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 43afc99d
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix to unbreak a clocksource driver which has more than 32bit
        counter width"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Mmio: remove artificial 32bit limitation
      43afc99d
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f17ef495
      Linus Torvalds authored
      Pull fpga driver fixes from Greg KH:
       "Only two small fpga driver fixes here, both have been in linux-next
        for a while, and resolve some reported issues"
      
      * tag 'char-misc-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        fpga manager: Fix firmware resource leak on error
        fpga manager: remove label
      f17ef495
    • Linus Torvalds's avatar
      Merge tag 'staging-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b24f74e3
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are a few staging and IIO driver fixes for 4.4-rc5.
      
        All of them resolve reported problems and have been in linux-next for
        a while.  Nothing major here, just small fixes where needed"
      
      * tag 'staging-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: lustre: echo_copy.._lsm() dereferences userland pointers directly
        iio: adc: spmi-vadc: add missing of_node_put
        iio: fix some warning messages
        iio: light: apds9960: correct ->last_busy count
        iio: lidar: return -EINVAL on invalid signal
        staging: iio: dummy: complete IIO events delivery to userspace
      b24f74e3
    • Linus Torvalds's avatar
      Merge tag 'usb-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · c474009c
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are a number of small USB fixes for 4.4-rc5.  All of them have
        been in linux-next.  The majority are gadget and phy issues, with a
        few new quirks and device ids added as well"
      
      * tag 'usb-4.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (32 commits)
        USB: add quirk for devices with broken LPM
        xhci: fix usb2 resume timing and races.
        usb: musb: fail with error when no DMA controller set
        usb: gadget: uvc: fix permissions of configfs attributes
        usb: musb: core: Fix pm runtime for deferred probe
        usb: phy: msm: fix a possible NULL dereference
        USB: host: ohci-at91: fix a crash in ohci_hcd_at91_overcurrent_irq
        usb: Quiet down false peer failure messages
        usb: xhci: fix config fail of FS hub behind a HS hub with MTT
        xhci: Fix memory leak in xhci_pme_acpi_rtd3_enable()
        usb: Use the USB_SS_MULT() macro to decode burst multiplier for log message
        USB: whci-hcd: add check for dma mapping error
        usb: core : hub: Fix BOS 'NULL pointer' kernel panic
        USB: quirks: Apply ALWAYS_POLL to all ELAN devices
        usb-storage: Fix scsi-sd failure "Invalid field in cdb" for USB adapter JMicron
        USB: quirks: Fix another ELAN touchscreen
        usb: dwc3: gadget: don't prestart interrupt endpoints
        USB: serial: Another Infineon flash loader USB ID
        USB: cdc_acm: Ignore Infineon Flash Loader utility
        USB: cp210x: Remove CP2110 ID from compatibility list
        ...
      c474009c
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 097b285d
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here are a bunch of small bug fixes for various ARM platforms, nothing
        really sticks out this week, most of either fixes bugs in code that
        was just added in 4.4, or that has been broken for many years without
        anyone noticing.
      
        at91/sama5d2:
         - fix sama5de hardware setup of sd/mmc interface
         - proper selection of pinctrl drivers.  PIO4 is necessary for sama5d2
      
        berlin:
         - fix incorrect clock input for SDIO
      
        exynos:
         - Fix potential NULL pointer dereference in Exynos PMU driver.
      
        imx:
         - Fix vf610 SAI clock configuration bug which is discovered by the
           newly added master mode support in SAI audio driver.
         - Fix buggy L2 cache latency values in vf610 device trees, which may
           cause system hang when cpu runs at a higher frequency.
      
        ixp4xx:
         - fix prototypes for readl/writel functions
      
        ls2080a:
         - use little-endian register access for GPIO and SDHCI
      
        omap:
         - Fix clock source for ARM TWD and global timers on am437x
         - Always select REGULATOR_FIXED_VOLTAGE for omap2+ instead of when
           MACH_OMAP3_PANDORA is selected
         - Fix SPI DMA handles for dm816x as only some were mapped
         - Fix up mbox cells for dm816x to make mailbox usable
      
        pxa:
         - use PWM lookup table for all ezx machines
      
        s3c24xx:
         - Remove incorrect __init annotation from s3c24xx cpufreq driver
           structures.
      
        versatile:
         - fix PCI IRQ mapping on Versatile PB"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ls2080a/dts: Add little endian property for GPIO IP block
        dt-bindings: define little-endian property for QorIQ GPIO
        ARM64: dts: ls2080a: fix eSDHC endianness
        ARM: dts: vf610: use reset values for L2 cache latencies
        ARM: pxa: use PWM lookup table for all machines
        ARM: dts: berlin: add 2nd clock for BG2Q sdhci0 and sdhci1
        ARM: dts: berlin: correct BG2Q's sdhci2 2nd clock
        ARM: dts: am4372: fix clock source for arm twd and global timers
        ARM: at91: fix pinctrl driver selection
        ARM: at91/dt: add always-on to 1.8V regulator
        ARM: dts: vf610: fix clock definition for SAI2
        ARM: imx: clk-vf610: fix SAI clock tree
        ARM: ixp4xx: fix read{b,w,l} return types
        irqchip/versatile-fpga: Fix PCI IRQ mapping on Versatile PB
        ARM: OMAP2+: enable REGULATOR_FIXED_VOLTAGE
        ARM: dts: add dm816x missing spi DT dma handles
        ARM: dts: add dm816x missing #mbox-cells
        cpufreq: s3c24xx: Do not mark s3c2410_plls_add as __init
        ARM: EXYNOS: Fix potential NULL pointer access in exynos_sys_powerdown_conf
      097b285d
  10. 12 Dec, 2015 2 commits
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 79dbddaf
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       - opal-irqchip: Fix double endian conversion from Alistair Popple
       - cxl: Set endianess of kernel contexts from Frederic Barrat
       - sbc8641: drop bogus PHY IRQ entries from DTS file from Paul Gortmaker
       - Revert "powerpc/eeh: Don't unfreeze PHB PE after reset" from Andrew
         Donnellan
      
      * tag 'powerpc-4.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc/eeh: Don't unfreeze PHB PE after reset"
        powerpc/sbc8641: drop bogus PHY IRQ entries from DTS file
        cxl: Set endianess of kernel contexts
        powerpc/opal-irqchip: Fix double endian conversion
      79dbddaf
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 800f1ac4
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "17 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        MIPS: fix DMA contiguous allocation
        sh64: fix __NR_fgetxattr
        ocfs2: fix SGID not inherited issue
        mm/oom_kill.c: avoid attempting to kill init sharing same memory
        drivers/base/memory.c: prohibit offlining of memory blocks with missing sections
        tmpfs: fix shmem_evict_inode() warnings on i_blocks
        mm/hugetlb.c: fix resv map memory leak for placeholder entries
        mm: hugetlb: call huge_pte_alloc() only if ptep is null
        kernel: remove stop_machine() Kconfig dependency
        mm: kmemleak: mark kmemleak_init prototype as __init
        mm: fix kerneldoc on mem_cgroup_replace_page
        osd fs: __r4w_get_page rely on PageUptodate for uptodate
        MAINTAINERS: make Vladimir co-maintainer of the memory controller
        mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress
        mm: fix swapped Movable and Reclaimable in /proc/pagetypeinfo
        memcg: fix memory.high target
        mm: hugetlb: fix hugepage memory leak caused by wrong reserve count
      800f1ac4