1. 02 Jun, 2014 15 commits
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into next · ff933a08
      Linus Torvalds authored
      Pull ARM SoC low-priority fixes from Olof Johansson:
       "A small selection of fixes coming in late during the release cycle and
        not being critical enough for 3.15 inclusion"
      
      * tag 'fixes-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: shmobile: armadillo800eva: fixup HDMI sound flags setting
        ARM: msm: Silence readb/writeb warnings due to missing IOMEM()
        ARM: dts: am43xx: fix starting offset of NAND.filesystem MTD partition
        ARM: dts: am335x-boneblack: remove use of ti,vcc-aux-disable-is-sleep
        ARM: OMAP2+: free use_gptimer_clksrc variable after boot
        ARM: OMAP5: Redo THUMB mode switch on secondary CPU
        ARM: dts: AM4372: add l3-noc information
        ARM: dts: DRA7: Use dra7-l3-noc instead of omap4-l3-noc
        reset: Add of_reset_control_get to reset.h
      ff933a08
    • Linus Torvalds's avatar
      Merge branch 'for-3.16/drivers' of git://git.kernel.dk/linux-block into next · 80081ec3
      Linus Torvalds authored
      Pull block driver changes from Jens Axboe:
       "Now that the core bits are in, here's the pull request for the driver
        related changes for 3.16.  Nothing out of the ordinary here, mostly
        business as usual.  There are a few pulls of for-3.16/core into this
        branch, which were done when the blk-mq was modified after the
        mtip32xx conversion was put in.
      
        The pull request contains:
      
         - skd and cciss converted to use pci_enable_msix_exact().  From
           Alexander Gordeev.
      
         - A few mtip32xx fixes from Asai @ Micron.
      
         - The conversion of mtip32xx from make_request_fn to blk-mq, and a
           later small fix for that conversion on quiescing for non-queued IO.
           From me.
      
         - A fix for bsg to use an exported function to check whether this
           driver is request based or not.  Needed updating for blk-mq, which
           is request based, but does not have a request_fn hook.  From me.
      
         - Small floppy bug fix from Jiri.
      
         - A series of cleanups for the cdrom uniform layer from Joe Perches.
           Gets rid of various old ugly macros, making the code conform more
           to the modern coding style.
      
         - A series of patches for drbd from the drbd crew (Lars Ellenberg and
           Philipp Reisner).
      
         - A use-after-free fix for null_blk from Ming Lei.
      
         - Also from Ming Lei is a performance patch for virtio-blk, which can
           net us a 3x win on kvm platforms where world notification is
           expensive.
      
         - Ming Lei also fixed a stall issue in virtio-blk, due to a race
           between queue start/stop and resource limits.
      
         - A small batch of fixes for xen-blk{back,front} from Olaf Hering and
           Valentin Priescu"
      
      * 'for-3.16/drivers' of git://git.kernel.dk/linux-block: (54 commits)
        block: virtio_blk: don't hold spin lock during world switch
        xen-blkback: defer freeing blkif to avoid blocking xenwatch
        xen blkif.h: fix comment typo in discard-alignment
        xen/blkback: disable discard feature if requested by toolstack
        xen-blkfront: remove type check from blkfront_setup_discard
        floppy: do not corrupt bio.bi_flags when reading block 0
        mtip32xx: move error handling to service thread
        virtio_blk: fix race between start and stop queue
        mtip32xx: stop block hardware queues before quiescing IO
        mtip32xx: blk_mq_init_queue() returns an ERR_PTR
        mtip32xx: convert to use blk-mq
        cdrom: Remove unnecessary prototype for cdrom_get_disc_info
        cdrom: Remove unnecessary prototype for cdrom_mrw_exit
        cdrom: Remove cdrom_count_tracks prototype
        cdrom: Remove cdrom_get_next_writeable prototype
        cdrom: Remove cdrom_get_last_written prototype
        cdrom: Move mmc_ioctls above cdrom_ioctl to remove unnecessary prototype
        cdrom: Remove unnecessary sanitize_format prototype
        cdrom: Remove unnecessary check_for_audio_disc prototype
        cdrom: Remove prototype for open_for_data
        ...
      80081ec3
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.16-changes' of... · 42555320
      Linus Torvalds authored
      Merge tag 'pci-v3.16-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci into next
      
      Pull PCI changes from Bjorn Helgaas:
       "Enumeration
          - Notify driver before and after device reset (Keith Busch)
          - Use reset notification in NVMe (Keith Busch)
      
        NUMA
          - Warn if we have to guess host bridge node information (Myron Stowe)
          - Work around AMD Fam15h BIOSes that fail to provide _PXM (Suravee
            Suthikulpanit)
          - Clean up and mark early_root_info_init() as deprecated (Suravee
            Suthikulpanit)
      
        Driver binding
          - Add "driver_override" for force specific binding (Alex Williamson)
          - Fail "new_id" addition for devices we already know about (Bandan
            Das)
      
        Resource management
          - Support BAR sizes up to 8GB (Nikhil Rao, Alan Cox)
          - Don't move IORESOURCE_PCI_FIXED resources (Bjorn Helgaas)
          - Mark SBx00 HPET BAR as IORESOURCE_PCI_FIXED (Bjorn Helgaas)
          - Fail safely if we can't handle BARs larger than 4GB (Bjorn Helgaas)
          - Reject BAR above 4GB if dma_addr_t is too small (Bjorn Helgaas)
          - Don't convert BAR address to resource if dma_addr_t is too small
            (Bjorn Helgaas)
          - Don't set BAR to zero if dma_addr_t is too small (Bjorn Helgaas)
          - Don't print anything while decoding is disabled (Bjorn Helgaas)
          - Don't add disabled subtractive decode bus resources (Bjorn Helgaas)
          - Add resource allocation comments (Bjorn Helgaas)
          - Restrict 64-bit prefetchable bridge windows to 64-bit resources
            (Yinghai Lu)
          - Assign i82875p_edac PCI resources before adding device (Yinghai Lu)
      
        PCI device hotplug
          - Remove unnecessary "dev->bus" test (Bjorn Helgaas)
          - Use PCI_EXP_SLTCAP_PSN define (Bjorn Helgaas)
          - Fix rphahp endianess issues (Laurent Dufour)
          - Acknowledge spurious "cmd completed" event (Rajat Jain)
          - Allow hotplug service drivers to operate in polling mode (Rajat Jain)
          - Fix cpqphp possible NULL dereference (Rickard Strandqvist)
      
        MSI
          - Replace pci_enable_msi_block() by pci_enable_msi_exact()
            (Alexander Gordeev)
          - Replace pci_enable_msix() by pci_enable_msix_exact() (Alexander Gordeev)
          - Simplify populate_msi_sysfs() (Jan Beulich)
      
        Virtualization
          - Add Intel Patsburg (X79) root port ACS quirk (Alex Williamson)
          - Mark RTL8110SC INTx masking as broken (Alex Williamson)
      
        Generic host bridge driver
          - Add generic PCI host controller driver (Will Deacon)
      
        Freescale i.MX6
          - Use new clock names (Lucas Stach)
          - Drop old IRQ mapping (Lucas Stach)
          - Remove optional (and unused) IRQs (Lucas Stach)
          - Add support for MSI (Lucas Stach)
          - Fix imx6_add_pcie_port() section mismatch warning (Sachin Kamat)
      
        Renesas R-Car
          - Add gen2 device tree support (Ben Dooks)
          - Use new OF interrupt mapping when possible (Lucas Stach)
          - Add PCIe driver (Phil Edworthy)
          - Add PCIe MSI support (Phil Edworthy)
          - Add PCIe device tree bindings (Phil Edworthy)
      
        Samsung Exynos
          - Remove unnecessary OOM messages (Jingoo Han)
          - Fix add_pcie_port() section mismatch warning (Sachin Kamat)
      
        Synopsys DesignWare
          - Make MSI ISR shared IRQ aware (Lucas Stach)
      
        Miscellaneous
          - Check for broken config space aliasing (Alex Williamson)
          - Update email address (Ben Hutchings)
          - Fix Broadcom CNB20LE unintended sign extension (Bjorn Helgaas)
          - Fix incorrect vgaarb conditional in WARN_ON() (Bjorn Helgaas)
          - Remove unnecessary __ref annotations (Bjorn Helgaas)
          - Add arch/x86/kernel/quirks.c to MAINTAINERS PCI file patterns
            (Bjorn Helgaas)
          - Fix use of uninitialized MPS value (Bjorn Helgaas)
          - Tidy x86/gart messages (Bjorn Helgaas)
          - Fix return value from pci_user_{read,write}_config_*() (Gavin Shan)
          - Turn pcibios_penalize_isa_irq() into a weak function (Hanjun Guo)
          - Remove unused serial device IDs (Jean Delvare)
          - Use designated initialization in PCI_VDEVICE (Mark Rustad)
          - Fix powerpc NULL dereference in pci_root_buses traversal (Mike Qiu)
          - Configure MPS on ARM (Murali Karicheri)
          - Remove unnecessary includes of <linux/init.h> (Paul Gortmaker)
          - Move Open Firmware devspec attribute to PCI common code (Sebastian Ott)
          - Use pdev->dev.groups for attribute creation on s390 (Sebastian Ott)
          - Remove pcibios_add_platform_entries() (Sebastian Ott)
          - Add new ID for Intel GPU "spurious interrupt" quirk (Thomas Jarosch)
          - Rename pci_is_bridge() to pci_has_subordinate() (Yijing Wang)
          - Add and use new pci_is_bridge() interface (Yijing Wang)
          - Make pci_bus_add_device() void (Yijing Wang)
      
        DMA API
          - Clarify physical/bus address distinction in docs (Bjorn Helgaas)
          - Fix typos in docs (Emilio López)
          - Update dma_pool_create ()and dma_pool_alloc() descriptions (Gioh Kim)
          - Change dma_declare_coherent_memory() CPU address to phys_addr_t
            (Bjorn Helgaas)
          - Pass GAPSPCI_DMA_BASE CPU & bus address to dma_declare_coherent_memory()
            (Bjorn Helgaas)"
      
      * tag 'pci-v3.16-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (92 commits)
        MAINTAINERS: Add generic PCI host controller driver
        PCI: generic: Add generic PCI host controller driver
        PCI: imx6: Add support for MSI
        PCI: designware: Make MSI ISR shared IRQ aware
        PCI: imx6: Remove optional (and unused) IRQs
        PCI: imx6: Drop old IRQ mapping
        PCI: imx6: Use new clock names
        i82875p_edac: Assign PCI resources before adding device
        ARM/PCI: Call pcie_bus_configure_settings() to set MPS
        PCI: imx6: Fix imx6_add_pcie_port() section mismatch warning
        PCI: Make pci_bus_add_device() void
        PCI: exynos: Fix add_pcie_port() section mismatch warning
        PCI: Introduce new device binding path using pci_dev.driver_override
        PCI: rcar: Add gen2 device tree support
        PCI: cpqphp: Fix possible null pointer dereference
        PCI: rcar: Add R-Car PCIe device tree bindings
        PCI: rcar: Add MSI support for PCIe
        PCI: rcar: Add Renesas R-Car PCIe driver
        PCI: Fix return value from pci_user_{read,write}_config_*()
        PCI: exynos: Remove unnecessary OOM messages
        ...
      42555320
    • Linus Torvalds's avatar
      Merge branch 'for-3.16/core' of git://git.kernel.dk/linux-block into next · 681a2895
      Linus Torvalds authored
      Pull block core updates from Jens Axboe:
       "It's a big(ish) round this time, lots of development effort has gone
        into blk-mq in the last 3 months.  Generally we're heading to where
        3.16 will be a feature complete and performant blk-mq.  scsi-mq is
        progressing nicely and will hopefully be in 3.17.  A nvme port is in
        progress, and the Micron pci-e flash driver, mtip32xx, is converted
        and will be sent in with the driver pull request for 3.16.
      
        This pull request contains:
      
         - Lots of prep and support patches for scsi-mq have been integrated.
           All from Christoph.
      
         - API and code cleanups for blk-mq from Christoph.
      
         - Lots of good corner case and error handling cleanup fixes for
           blk-mq from Ming Lei.
      
         - A flew of blk-mq updates from me:
      
           * Provide strict mappings so that the driver can rely on the CPU
             to queue mapping.  This enables optimizations in the driver.
      
           * Provided a bitmap tagging instead of percpu_ida, which never
             really worked well for blk-mq.  percpu_ida relies on the fact
             that we have a lot more tags available than we really need, it
             fails miserably for cases where we exhaust (or are close to
             exhausting) the tag space.
      
           * Provide sane support for shared tag maps, as utilized by scsi-mq
      
           * Various fixes for IO timeouts.
      
           * API cleanups, and lots of perf tweaks and optimizations.
      
         - Remove 'buffer' from struct request.  This is ancient code, from
           when requests were always virtually mapped.  Kill it, to reclaim
           some space in struct request.  From me.
      
         - Remove 'magic' from blk_plug.  Since we store these on the stack
           and since we've never caught any actual bugs with this, lets just
           get rid of it.  From me.
      
         - Only call part_in_flight() once for IO completion, as includes two
           atomic reads.  Hopefully we'll get a better implementation soon, as
           the part IO stats are now one of the more expensive parts of doing
           IO on blk-mq.  From me.
      
         - File migration of block code from {mm,fs}/ to block/.  This
           includes bio.c, bio-integrity.c, bounce.c, and ioprio.c.  From me,
           from a discussion on lkml.
      
        That should describe the meat of the pull request.  Also has various
        little fixes and cleanups from Dave Jones, Shaohua Li, Duan Jiong,
        Fengguang Wu, Fabian Frederick, Randy Dunlap, Robert Elliott, and Sam
        Bradshaw"
      
      * 'for-3.16/core' of git://git.kernel.dk/linux-block: (100 commits)
        blk-mq: push IPI or local end_io decision to __blk_mq_complete_request()
        blk-mq: remember to start timeout handler for direct queue
        block: ensure that the timer is always added
        blk-mq: blk_mq_unregister_hctx() can be static
        blk-mq: make the sysfs mq/ layout reflect current mappings
        blk-mq: blk_mq_tag_to_rq should handle flush request
        block: remove dead code in scsi_ioctl:blk_verify_command
        blk-mq: request initialization optimizations
        block: add queue flag for disabling SG merging
        block: remove 'magic' from struct blk_plug
        blk-mq: remove alloc_hctx and free_hctx methods
        blk-mq: add file comments and update copyright notices
        blk-mq: remove blk_mq_alloc_request_pinned
        blk-mq: do not use blk_mq_alloc_request_pinned in blk_mq_map_request
        blk-mq: remove blk_mq_wait_for_tags
        blk-mq: initialize request in __blk_mq_alloc_request
        blk-mq: merge blk_mq_alloc_reserved_request into blk_mq_alloc_request
        blk-mq: add helper to insert requests from irq context
        blk-mq: remove stale comment for blk_mq_complete_request()
        blk-mq: allow non-softirq completions
        ...
      681a2895
    • Linus Torvalds's avatar
      Merge tag 'mmc-v3.16-1' of git://git.linaro.org/people/ulf.hansson/mmc into next · 6c52486d
      Linus Torvalds authored
      Pull MMC update from Ulf Hansson:
       "These patches are mainly updates for the mmci driver and have been
        tested in linux-next.
      
        Some ARM SoC related patches are also included and those have been
        acked from the corresponding maintainers to go through my mmc tree.
      
        Updates for mmci driver:
         - Put the device into low power state at system suspend.
         - Convert to the common mmc DT parser.
         - Add missing DT bindings needed for ux500.
      
        Updates for ARM ux500|u300:
         - Convert to the common mmc DT bindings.
         - Remove redundant board file for mmci platform data"
      
      * tag 'mmc-v3.16-1' of git://git.linaro.org/people/ulf.hansson/mmc: (22 commits)
        mmc: mmci: Enforce DMA configuration through DT
        mmc: mmci: Enforce max frequency configuration through DT
        mmc: mmci: Enforce mmc capabilities through DT
        mmc: mmci: Enforce DT for signal direction and feedback clock
        ARM: ux500: Remove redundant board file for mmci platform data
        ARM: ux500: Add a vmmc regulator through DT for the poped eMMC for href
        ARM: ux500: Add the mmc capabilities flags to DT
        mmc: mmci: Enable MMC_CAP_CMD23
        mmc: mmci: Mark the DT bindings for highspeed mode as deprecated
        ARM: u300: Convert to the common mmc DT bindings for highspeed mode
        ARM: nomadik: Convert to the common mmc DT bindings for highspeed mode
        ARM: ux500: Convert to the common mmc DT bindings for highspeed mode
        ARM: ux500: Add mmci signal directions and feeback clock in DT for href
        mmc: mmci: Use the common mmc DT parser
        mmc: mmci: Add DT bindings for feedback clock pin
        mmc: mmci: Add DT bindings for signal direction
        mmc: mmci: Update DT documentation
        mmc: mmci: Convert to devm functions
        mmc: mmci: Convert to the mmc gpio API
        mmc: mmci: Put the device into low power state at system suspend
        ...
      6c52486d
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi into next · c9733c79
      Linus Torvalds authored
      Pull HSI (High Speed Syncronous Interface) changes from Sebastian Reichel:
       "Please pull the following changes for the HSI subsystem, which I have
        taken over from Carlos Chinea <carlos.chinea@nokia.com>.
      
        The below patches have been worked on in the linux-omap mailinglist
        for 10 months and are well tested in linux-next (have been in there
        for more than two weeks) without any problems arising.  Apart from
        that potential regressions are very limited, because the subsystem is
        not yet used by any platform in the mainline kernel.
      
         - Add some documentation for the HSI subsystem
      
         - Add Device Tree support for the HSI subsystem
      
         - Add OMAP3 SSI driver (SSI is a legacy variant of HSI)
      
         - Add Nokia N900 Modem driver (without speech support for now)"
      
      * tag 'hsi-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: Introduce Nokia N900 modem driver
        HSI: Introduce driver for SSI Protocol
        Documentation: DT: omap-ssi binding documentation
        HSI: Introduce OMAP SSI driver
        HSI: Add common DT binding for HSI client devices
        HSI: export method to (un)register clients
        HSI: Add channel resource support to HSI clients
        HSI: method to unregister clients from an hsi port
        HSI: hsi-char: fix driver for multiport scenarios
        MAINTAINERS: update HSI entry
        Documentation: HSI: Add some general description for the HSI subsystem
      c9733c79
    • Linus Torvalds's avatar
      Merge tag 'edac_for_3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into next · 6885a7f1
      Linus Torvalds authored
      Pull EDAC changes from Borislav Petkov:
       "Just two small fixlets.
      
        We have more in the pipe but we didn't get ready in time so more stuff
        next time"
      
      * tag 'edac_for_3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC: Fix MC scrub mode comparsion bug for correctable errors
        EDAC, MCE, AMD: Remove leftover unused mask
      6885a7f1
    • Linus Torvalds's avatar
      Merge tag 'gpio-v3.16-1' of... · 80fb9747
      Linus Torvalds authored
      Merge tag 'gpio-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio into next
      
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v3.16 series.
      
        There is a lot of action in the GPIO subsystem doing refactorings and
        cleanups, almost as many deletions as insertions and minor feature
        growth and no new drivers this time.  Which is actually pretty nice.
        Some GPIO-related stuff will come in through the pin control tree as
        well.
      
        Details:
      
         - We are finalizing and fixing up the gpiochip irqchip helpers
           bringing a helpful irqchip implementation into the gpiolib core and
           avoiding duplicate code and, more importantly, duplicate bug fixes:
      
           * Support for using the helpers with threaded interrupt handlers as
             used on sleeping GPIO-irqchips
      
           * Do not set up hardware triggers for edges or levels if the
             default IRQ type is IRQ_TYPE_NONE - some drivers would exploit
             the fact that you could get default initialization of the IRQ
             type from the core at probe() but if no default type is set up
             from the helper, we should not call the driver to configure
             anything.  Wait until a consumer requests the interrupt instead.
      
           * Make the irqchip helpers put the GPIO irqs into their own lock
             class.  The GPIO irqchips can often emit (harmless, but annoying)
             lockdep warnings about recursions when they are in fact just
             cascaded IRQs.  By putting them into their own lock class we help
             the lockdep core to keep track of things.
      
           * Switch the tc3589x GPIO expanders to use the irqchip helpers
      
           * Switch the OMAP GPIO driver to use the irqchip helpers
      
           * Add some documentation for the irqchip helpers
      
           * select IRQ_DOMAIN when using the helpers since some platforms may
             not be using this by default and it's a strict dependency.
      
         - Continued GPIO descriptor refactoring:
      
           * Remove the one instance of gpio_to_desc() from the device tree
             code, making the OF GPIO code use GPIO descriptors only.
      
           * Introduce gpiod_get_optional() and gpiod_get_optional_index()
             akin to the similar regulator functions for cases where the use
             of GPIO is optional and not strictly required.
      
           * Make of_get_named_gpiod_flags() private - we do not want to
             unnecessarily expose APIs to drivers that make the gpiolib harder
             than necessary to maintain and refactor.  Privatize this
             function.
      
         - Support "-gpio" suffix for the OF GPIO retrieveal path.  We used to
           look for "foo-gpios" or just "gpios" in device tree nodes, but it
           turns out that some drivers with a single GPIO line will just state
           "foo-gpio" (singularis).  Sigh.  Support this with a fallback
           looking for it, as this simplifies driver code and handles it in
           core code.
      
         - Switch the ACPI GPIO core to fetch GPIOs with the *_cansleep
           function variants as the GPIO operation region handler can sleep,
           and shall be able to handle gpiochips that sleep.
      
         - Tons of cleanups and janitorial work from Jingoo Han, Axel Lin,
           Javier Martinez Canillas and Abdoulaye Berthe.  Notably Jingoo cut
           off a ton of pointless OOM messages.
      
         - Incremental development and fixes for various drivers, nothing
           really special here"
      
      * tag 'gpio-v3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (85 commits)
        gpio: select IRQ_DOMAIN for gpiolib irqchip helpers
        gpio: pca953x: use gpiolib irqchip helpers
        gpio: pcf857x: Add IRQF_SHARED when request irq
        gpio: pcf857x: Avoid calling irq_domain_cleanup twice
        gpio: mcp23s08: switch chip count to int
        gpio: dwapb: use a second irq chip
        gpio: ep93xx: Use devm_ioremap_resource()
        gpio: mcp23s08: fixed count variable for devicetree probing
        gpio: Add run-time dependencies to R-Car driver
        gpio: pch: add slab include
        Documentation / ACPI: Fix location of GPIO documentation
        gpio / ACPI: use *_cansleep version of gpiod_get/set APIs
        gpio: generic: add request function pointer
        gpio-pch: Fix Kconfig dependencies
        gpio: make of_get_named_gpiod_flags() private
        gpio: gpioep93xx: use devm functions
        gpio: janzttl: use devm function
        gpio: timberdale: use devm functions
        gpio: bt8xx: use devm function for memory allocation
        gpio: include linux/bug.h in interface header
        ...
      80fb9747
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.16-rc0-tag' of... · 9f888b3a
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.16-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip into next
      
      Pull Xen updates from David Vrabel:
       "xen: features and fixes for 3.16-rc0
         - support foreign mappings in PVH domains (needed when dom0 is PVH)
      
         - fix mapping high MMIO regions in x86 PV guests (this is also the
           first half of removing the PAGE_IOMAP PTE flag).
      
         - ARM suspend/resume support.
      
         - ARM multicall support"
      
      * tag 'stable/for-linus-3.16-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: map foreign pfns for autotranslated guests
        xen-acpi-processor: Don't display errors when we get -ENOSYS
        xen/pciback: Document the entry points for 'pcistub_put_pci_dev'
        xen/pciback: Document when the 'unbind' and 'bind' functions are called.
        xen-pciback: Document when we FLR an PCI device.
        xen-pciback: First reset, then free.
        xen-pciback: Cleanup up pcistub_put_pci_dev
        x86/xen: do not use _PAGE_IOMAP in xen_remap_domain_mfn_range()
        x86/xen: set regions above the end of RAM as 1:1
        x86/xen: only warn once if bad MFNs are found during setup
        x86/xen: compactly store large identity ranges in the p2m
        x86/xen: fix set_phys_range_identity() if pfn_e > MAX_P2M_PFN
        x86/xen: rename early_p2m_alloc() and early_p2m_alloc_middle()
        xen/x86: set panic notifier priority to minimum
        arm,arm64/xen: introduce HYPERVISOR_suspend()
        xen: refactor suspend pre/post hooks
        arm: xen: export HYPERVISOR_multicall to modules.
        arm64: introduce virt_to_pfn
        arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h
        arm: xen: implement multicall hypercall support.
      9f888b3a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 5d70dacd
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k into next
      
      Pull m68k updates from Geert Uytterhoeven:
       "Highlights:
         - support for running kernels in fast TT-RAM instead of slow ST-RAM
           on Atari
         - multi-platform EARLY_PRINTK
         - better support for machines with lots of RAM (think ARAnyM), and
           for running kernels larger than 4 MiB (think multi-platform)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/hp300: Convert printk to pr_foo()
        m68k/apollo: Convert printk to pr_foo()
        m68k/amiga: Convert printk(foo to pr_foo()
        m68k: Increase initial mapping to 8 or 16 MiB if possible
        m68k: Update defconfigs for v3.15-rc2
        m68k/atari: fix SCC initialization for debug console
        m68k/mvme16x: Adopt common boot console
        m68k: Multi-platform EARLY_PRINTK
        m68k: Toward platform agnostic framebuffer debug logging
        m68k/atari - atari_scsi: use correct virt/phys translation for DMA buffer
        m68k/atari - ataflop: use correct virt/phys translation for DMA buffer
        m68k/atari - atafb: convert allocation of fb ram to new interface
        m68k/atari - stram: alloc ST-RAM pool even if kernel not in ST-RAM
      5d70dacd
    • Ulf Hansson's avatar
      mmc: mmci: Enforce DMA configuration through DT · 8c3a05b4
      Ulf Hansson authored
      Remove the option to provide DMA configuration as platform data,
      enforce it through DT.
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Roland Stigge <stigge@antcom.de>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      8c3a05b4
    • Linus Torvalds's avatar
      Linux 3.15-rc8 · fad01e86
      Linus Torvalds authored
      fad01e86
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 204fe038
      Linus Torvalds authored
      Pull powerpc fix from Ben Herrenschmidt:
       "Here's just one trivial patch to wire up sys_renameat2 which I seem to
        have completely missed so far.
      
        (My test build scripts fwd me warnings but miss the ones generated for
        missing syscalls)"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Wire renameat2() syscall
      204fe038
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 568180a5
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "A fair number of fixes across the field.  Nothing terribly
        complicated; the one liners in below changelog should be fairly
        descriptive.
      
        Noteworthy is the SB1 change which the result of changes to binutils
        resulting in one big gas warning for most files being assembled as
        well as the asid_cache and branch emulation fixes which fix corruption
        or possible uninteded behaviour of kernel or application code.  The
        remainder of fixes are more platforms or subsystem specific"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: R46000: Fix Micro-assembler field overflow for R4600 V2
        MIPS: ptrace: Avoid smp_processor_id() in preemptible code
        MIPS: Lemote 2F: cs5536: mfgpt: use raw locks
        MIPS: SB1: Fix excessive kernel warnings.
        MIPS: RC32434: fix broken PCI resource initialization
        MIPS: malta: memory.c: Initialize the 'memsize' variable
        MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores
        MIPS: Fix inconsistancy of __NR_Linux_syscalls value
        MIPS: Fix branch emulation of branch likely instructions.
        MIPS: Fix a typo error in AUDIT_ARCH definition
        MIPS: Change type of asid_cache to unsigned long
      568180a5
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 32439700
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Various fixlets, mostly related to the (root-only) SCHED_DEADLINE
        policy, but also a hotplug bug fix and a fix for a NR_CPUS related
        overallocation bug causing a suspend/resume regression"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix hotplug vs. set_cpus_allowed_ptr()
        sched/cpupri: Replace NR_CPUS arrays
        sched/deadline: Replace NR_CPUS arrays
        sched/deadline: Restrict user params max value to 2^63 ns
        sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE
        sched: Disallow sched_attr::sched_policy < 0
        sched: Make sched_setattr() correctly return -EFBIG
      32439700
  2. 01 Jun, 2014 1 commit
  3. 31 May, 2014 4 commits
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a4bf79eb
      Linus Torvalds authored
      Pull core futex/rtmutex fixes from Thomas Gleixner:
       "Three fixlets for long standing issues in the futex/rtmutex code
        unearthed by Dave Jones syscall fuzzer:
      
         - Add missing early deadlock detection checks in the futex code
         - Prevent user space from attaching a futex to kernel threads
         - Make the deadlock detector of rtmutex work again
      
        Looks large, but is more comments than code change"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rtmutex: Fix deadlock detector for real
        futex: Prevent attaching to kernel threads
        futex: Add another early deadlock detection check
      a4bf79eb
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 80e06794
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Mostly quiet now:
      
        i915:
          fixing userspace visiblie issues, all stable marked
      
        radeon:
          one more pll fix, two crashers, one suspend/resume regression"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: Resume fbcon last
        drm/radeon: only allocate necessary size for vm bo list
        drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission
        drm/radeon: avoid crash if VM command submission isn't available
        drm/radeon: lower the ref * post PLL maximum once more
        drm/i915: Prevent negative relocation deltas from wrapping
        drm/i915: Only copy back the modified fields to userspace from execbuffer
        drm/i915: Fix dynamic allocation of physical handles
      80e06794
    • Linus Torvalds's avatar
      dcache: add missing lockdep annotation · 9f12600f
      Linus Torvalds authored
      lock_parent() very much on purpose does nested locking of dentries, and
      is careful to maintain the right order (lock parent first).  But because
      it didn't annotate the nested locking order, lockdep thought it might be
      a deadlock on d_lock, and complained.
      
      Add the proper annotation for the inner locking of the child dentry to
      make lockdep happy.
      
      Introduced by commit 046b961b ("shrink_dentry_list(): take parent's
      ->d_lock earlier").
      Reported-and-tested-by: default avatarJosh Boyer <jwboyer@fedoraproject.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f12600f
    • Jens Axboe's avatar
      blk-mq: push IPI or local end_io decision to __blk_mq_complete_request() · ed851860
      Jens Axboe authored
      We have callers outside of the blk-mq proper (like timeouts) that
      want to call __blk_mq_complete_request(), so rename the function
      and put the decision code for whether to use ->softirq_done_fn
      or blk_mq_endio() into __blk_mq_complete_request().
      
      This also makes the interface more logical again.
      blk_mq_complete_request() attempts to atomically mark the request
      completed, and calls __blk_mq_complete_request() if successful.
      __blk_mq_complete_request() then just ends the request.
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      ed851860
  4. 30 May, 2014 20 commits
    • Daniel Vetter's avatar
      drm/radeon: Resume fbcon last · 18ee37a4
      Daniel Vetter authored
      So a few people complained that
      
      commit 177cf92d
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Tue Apr 1 22:14:59 2014 +0200
      
          drm/crtc-helpers: fix dpms on logic
      
      which was merged into 3.15-rc1, broke resume on radeons. Strangely git
      bisect lead everyone to
      
      commit 25f397a4
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Jul 19 18:57:11 2013 +0200
      
          drm/crtc-helper: explicit DPMS on after modeset
      
      which was merged long ago and actually part of 3.14.
      
      Digging deeper I've noticed (again) that the call to
      drm_helper_resume_force_mode in the radeon resume handlers was a no-op
      previously because everything gets shut down on suspend. radeon does
      this with explicit calls to drm_helper_connector_dpms with DPMS_OFF.
      But with 177c we now force the dpms state to ON, so suddenly
      resume_force_mode actually forced the crtcs back on.
      
      This is the intention of the change after all, the problem is that
      radeon resumes the fbdev console layer _before_ restoring the display,
      through calling fb_set_suspend. And fbcon does an immediate ->set_par,
      which in turn causes the same forced mode restore to happen.
      
      Two concurrent modeset operations didn't lead to happiness. Fix this
      by delaying the fbcon resume until the end of the readeon resum
      functions.
      
      v2: Fix up a bit of the spelling fail.
      
      References: https://lkml.org/lkml/2014/5/29/1043
      References: https://lkml.org/lkml/2014/5/2/388
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=74751Tested-by: default avatarKen Moffat <zarniwhoop@ntlworld.com>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Ken Moffat <zarniwhoop@ntlworld.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDave Airlie <airlied@gmail.com>
      18ee37a4
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-fixes · 1446e04c
      Dave Airlie authored
      this is the next pull request for stashed up radeon fixes for 3.15. This is finally calming down with only four patches in this pull request.
      
      * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux:
        drm/radeon: only allocate necessary size for vm bo list
        drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission
        drm/radeon: avoid crash if VM command submission isn't available
        drm/radeon: lower the ref * post PLL maximum once more
      1446e04c
    • Jens Axboe's avatar
      blk-mq: remember to start timeout handler for direct queue · feff6894
      Jens Axboe authored
      Commit 07068d5b added a direct-to-hw-queue mode, but this mode
      needs to remember to add the request timeout handler as well.
      Without it, we don't track timeouts for these requests.
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      feff6894
    • Jens Axboe's avatar
      block: ensure that the timer is always added · c7bca418
      Jens Axboe authored
      Commit f793aa53 relaxed the timer addition a little too much.
      If the timer isn't pending, we always need to add it.
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      c7bca418
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 1487385e
      Linus Torvalds authored
      Pull input subsystem fixes from Dmitry Torokhov:
       "A couple of driver/build fixups and also redone quirk for Synaptics
        touchpads on Lenovo boxes (now using PNP IDs instead of DMI data to
        limit number of quirks)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: synaptics - change min/max quirk table to pnp-id matching
        Input: synaptics - add a matches_pnp_id helper function
        Input: synaptics - T540p - unify with other LEN0034 models
        Input: synaptics - add min/max quirk for the ThinkPad W540
        Input: ambakmi - request a shared interrupt for AMBA KMI devices
        Input: pxa27x-keypad - fix generating scancode
        Input: atmel-wm97xx - only build for AVR32
        Input: fix ps2/serio module dependency
      1487385e
    • Linus Torvalds's avatar
      Merge tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · 1326af24
      Linus Torvalds authored
      Pull firewire fix from Stefan Richter:
       "A regression fix for the IEEE 1394 subsystem: re-enable IRQ-based
        asynchronous request reception at addresses below 128 TB"
      
      * tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: revert to 4 GB RDMA, fix protocols using Memory Space
      1326af24
    • Linus Torvalds's avatar
      Merge tag 'dm-3.15-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 24e19d27
      Linus Torvalds authored
      Pull device-mapper fixes from Mike Snitzer:
       "A dm-cache stable fix to split discards on cache block boundaries
        because dm-cache cannot yet handle discards that span cache blocks.
      
        Really fix a dm-mpath LOCKDEP warning that was introduced in -rc1.
      
        Add a 'no_space_timeout' control to dm-thinp to restore the ability to
        queue IO indefinitely when no data space is available.  This fixes a
        change in behavior that was introduced in -rc6 where the timeout
        couldn't be disabled"
      
      * tag 'dm-3.15-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm mpath: really fix lockdep warning
        dm cache: always split discards on cache block boundaries
        dm thin: add 'no_space_timeout' dm-thin-pool module param
      24e19d27
    • Minchan Kim's avatar
      x86_64: expand kernel stack to 16K · 6538b8ea
      Minchan Kim authored
      While I play inhouse patches with much memory pressure on qemu-kvm,
      3.14 kernel was randomly crashed. The reason was kernel stack overflow.
      
      When I investigated the problem, the callstack was a little bit deeper
      by involve with reclaim functions but not direct reclaim path.
      
      I tried to diet stack size of some functions related with alloc/reclaim
      so did a hundred of byte but overflow was't disappeard so that I encounter
      overflow by another deeper callstack on reclaim/allocator path.
      
      Of course, we might sweep every sites we have found for reducing
      stack usage but I'm not sure how long it saves the world(surely,
      lots of developer start to add nice features which will use stack
      agains) and if we consider another more complex feature in I/O layer
      and/or reclaim path, it might be better to increase stack size(
      meanwhile, stack usage on 64bit machine was doubled compared to 32bit
      while it have sticked to 8K. Hmm, it's not a fair to me and arm64
      already expaned to 16K. )
      
      So, my stupid idea is just let's expand stack size and keep an eye
      toward stack consumption on each kernel functions via stacktrace of ftrace.
      For example, we can have a bar like that each funcion shouldn't exceed 200K
      and emit the warning when some function consumes more in runtime.
      Of course, it could make false positive but at least, it could make a
      chance to think over it.
      
      I guess this topic was discussed several time so there might be
      strong reason not to increase kernel stack size on x86_64, for me not
      knowing so Ccing x86_64 maintainers, other MM guys and virtio
      maintainers.
      
      Here's an example call trace using up the kernel stack:
      
               Depth    Size   Location    (51 entries)
               -----    ----   --------
         0)     7696      16   lookup_address
         1)     7680      16   _lookup_address_cpa.isra.3
         2)     7664      24   __change_page_attr_set_clr
         3)     7640     392   kernel_map_pages
         4)     7248     256   get_page_from_freelist
         5)     6992     352   __alloc_pages_nodemask
         6)     6640       8   alloc_pages_current
         7)     6632     168   new_slab
         8)     6464       8   __slab_alloc
         9)     6456      80   __kmalloc
        10)     6376     376   vring_add_indirect
        11)     6000     144   virtqueue_add_sgs
        12)     5856     288   __virtblk_add_req
        13)     5568      96   virtio_queue_rq
        14)     5472     128   __blk_mq_run_hw_queue
        15)     5344      16   blk_mq_run_hw_queue
        16)     5328      96   blk_mq_insert_requests
        17)     5232     112   blk_mq_flush_plug_list
        18)     5120     112   blk_flush_plug_list
        19)     5008      64   io_schedule_timeout
        20)     4944     128   mempool_alloc
        21)     4816      96   bio_alloc_bioset
        22)     4720      48   get_swap_bio
        23)     4672     160   __swap_writepage
        24)     4512      32   swap_writepage
        25)     4480     320   shrink_page_list
        26)     4160     208   shrink_inactive_list
        27)     3952     304   shrink_lruvec
        28)     3648      80   shrink_zone
        29)     3568     128   do_try_to_free_pages
        30)     3440     208   try_to_free_pages
        31)     3232     352   __alloc_pages_nodemask
        32)     2880       8   alloc_pages_current
        33)     2872     200   __page_cache_alloc
        34)     2672      80   find_or_create_page
        35)     2592      80   ext4_mb_load_buddy
        36)     2512     176   ext4_mb_regular_allocator
        37)     2336     128   ext4_mb_new_blocks
        38)     2208     256   ext4_ext_map_blocks
        39)     1952     160   ext4_map_blocks
        40)     1792     384   ext4_writepages
        41)     1408      16   do_writepages
        42)     1392      96   __writeback_single_inode
        43)     1296     176   writeback_sb_inodes
        44)     1120      80   __writeback_inodes_wb
        45)     1040     160   wb_writeback
        46)      880     208   bdi_writeback_workfn
        47)      672     144   process_one_work
        48)      528     112   worker_thread
        49)      416     240   kthread
        50)      176     176   ret_from_fork
      
      [ Note: the problem is exacerbated by certain gcc versions that seem to
        generate much bigger stack frames due to apparently bad coalescing of
        temporaries and generating too many spills.  Rusty saw gcc-4.6.4 using
        35% more stack on the virtio path than 4.8.2 does, for example.
      
        Minchan not only uses such a bad gcc version (4.6.3 in his case), but
        some of the stack use is due to debugging (CONFIG_DEBUG_PAGEALLOC is
        what causes that kernel_map_pages() frame, for example). But we're
        clearly getting too close.
      
        The VM code also seems to have excessive stack frames partly for the
        same compiler reason, triggered by excessive inlining and lots of
        function arguments.
      
        We need to improve on our stack use, but in the meantime let's do this
        simple stack increase too.  Unlike most earlier reports, there is
        nothing simple that stands out as being really horribly wrong here,
        apart from the fact that the stack frames are just bigger than they
        should need to be.        - Linus ]
      Signed-off-by: default avatarMinchan Kim <minchan@kernel.org>
      Cc: Peter Anvin <hpa@zytor.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Michael S Tsirkin <mst@redhat.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: PJ Waskiewicz <pjwaskiewicz@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6538b8ea
    • Bjorn Helgaas's avatar
      Merge branches 'pci/host-exynos', 'pci/host-imx6', 'pci/resource' and 'pci/misc' into next · 617b4157
      Bjorn Helgaas authored
      * pci/host-exynos:
        PCI: exynos: Fix add_pcie_port() section mismatch warning
      
      * pci/host-imx6:
        PCI: imx6: Add support for MSI
        PCI: designware: Make MSI ISR shared IRQ aware
        PCI: imx6: Remove optional (and unused) IRQs
        PCI: imx6: Drop old IRQ mapping
        PCI: imx6: Use new clock names
        PCI: imx6: Fix imx6_add_pcie_port() section mismatch warning
      
      * pci/resource:
        i82875p_edac: Assign PCI resources before adding device
      
      * pci/misc:
        ARM/PCI: Call pcie_bus_configure_settings() to set MPS
        PCI: Make pci_bus_add_device() void
      
      Conflicts:
      	drivers/edac/i82875p_edac.c
      617b4157
    • Bjorn Helgaas's avatar
      Merge branch 'pci/host-generic' into next · d785260e
      Bjorn Helgaas authored
      * pci/host-generic:
        MAINTAINERS: Add generic PCI host controller driver
        PCI: generic: Add generic PCI host controller driver
      
      Conflicts:
      	drivers/pci/host/Kconfig
      	drivers/pci/host/Makefile
      d785260e
    • Will Deacon's avatar
      MAINTAINERS: Add generic PCI host controller driver · cf28855b
      Will Deacon authored
      Add myself as the maintainer for the generic PCI host controller driver.
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      cf28855b
    • Will Deacon's avatar
      PCI: generic: Add generic PCI host controller driver · ce292991
      Will Deacon authored
      Add support for a generic PCI host controller, such as a
      firmware-initialised device with static windows or an emulation by
      something such as kvmtool.
      
      The controller itself has no configuration registers and has its address
      spaces described entirely by the device-tree (using the bindings from
      ePAPR).  Both CAM and ECAM are supported for Config Space accesses.
      
      Add corresponding documentation for the DT binding.
      
      [bhelgaas: currently uses the ARM-specific pci_common_init_dev() interface]
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
      ce292991
    • Lucas Stach's avatar
      PCI: imx6: Add support for MSI · d1dc9749
      Lucas Stach authored
      This patch adds support for Message Signaled Interrupts in the imx6-pcie
      driver.
      Signed-off-by: default avatarHarro Haan <hrhaan@gmail.com>
      Signed-off-by: default avatarJuergen Beisert <jbe@pengutronix.de>
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRichard Zhu <r65037@freescale.com>
      d1dc9749
    • Lucas Stach's avatar
      PCI: designware: Make MSI ISR shared IRQ aware · 7f4f16ee
      Lucas Stach authored
      On i.MX6 the host controller MSI IRQ is shared with PCI legacy INTD.  Make
      sure we don't bail too early from the IRQ handler.
      
      The issue is fairly theoretical as it would require a system setup with a
      PCIe switch where one connected device is using legacy INTD and another one
      using MSI, but better fix it now.
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarJingoo Han <jg1.han@samsung.com>
      Acked-by: default avatarRichard Zhu <r65037@freescale.com>
      7f4f16ee
    • Lucas Stach's avatar
      PCI: imx6: Remove optional (and unused) IRQs · 5c40eea7
      Lucas Stach authored
      They are dropped with the new binding.
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRichard Zhu <r65037@freescale.com>
      5c40eea7
    • Lucas Stach's avatar
      PCI: imx6: Drop old IRQ mapping · e521519a
      Lucas Stach authored
      We don't need this anymore.  The IRQs are now properly mapped through the
      DT.
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRichard Zhu <r65037@freescale.com>
      e521519a
    • Lucas Stach's avatar
      PCI: imx6: Use new clock names · 57526136
      Lucas Stach authored
      As defined in the new binding.
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarRichard Zhu <r65037@freescale.com>
      57526136
    • Yinghai Lu's avatar
      i82875p_edac: Assign PCI resources before adding device · 06b00514
      Yinghai Lu authored
      Assign PCI resources before pci_bus_add_device().  The resources must be
      assigned before a driver can claim the device.
      
      [bhelgaas: changelog]
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      06b00514
    • Linus Torvalds's avatar
      Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6f6111e4
      Linus Torvalds authored
      Pull vfs dcache livelock fix from Al Viro:
       "Fixes for livelocks in shrink_dentry_list() introduced by fixes to
        shrink list corruption; the root cause was that trylock of parent's
        ->d_lock could be disrupted by d_walk() happening on other CPUs,
        resulting in shrink_dentry_list() making no progress *and* the same
        d_walk() being called again and again for as long as
        shrink_dentry_list() doesn't get past that mess.
      
        The solution is to have shrink_dentry_list() treat that trylock
        failure not as 'try to do the same thing again', but 'lock them in the
        right order'"
      
      * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        dentry_kill() doesn't need the second argument now
        dealing with the rest of shrink_dentry_list() livelock
        shrink_dentry_list(): take parent's ->d_lock earlier
        expand dentry_kill(dentry, 0) in shrink_dentry_list()
        split dentry_kill()
        lift the "already marked killed" case into shrink_dentry_list()
      6f6111e4
    • Murali Karicheri's avatar
      ARM/PCI: Call pcie_bus_configure_settings() to set MPS · 8b5742ad
      Murali Karicheri authored
      Call pcie_bus_configure_settings() on ARM, like for other platforms.
      pcie_bus_configure_settings() makes sure the MPS across the bus is uniform
      and provides the ability to tune the MRSS and MPS to higher performance
      values.  This is particularly important for embedded where there is no
      firmware to program these PCIe settings for the OS.
      Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: Arnd Bergmann <arnd@arndb.de>
      CC: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
      8b5742ad