1. 19 7月, 2012 5 次提交
    • C
      tile pci: enable IOMMU to support DMA for legacy devices · 41bb38fc
      Chris Metcalf 提交于
      This change uses the TRIO IOMMU to map the PCI DMA space and physical
      memory at different addresses.  We also now use the dma_mapping_ops
      to provide support for non-PCI DMA, PCIe DMA (64-bit) and legacy PCI
      DMA (32-bit).  We use the kernel's software I/O TLB framework
      (i.e. bounce buffers) for the legacy 32-bit PCI device support since
      there are a limited number of TLB entries in the IOMMU and it is
      non-trivial to handle indexing, searching, matching, etc.  For 32-bit
      devices the performance impact of bounce buffers should not be a concern.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      41bb38fc
    • C
      arch/tile: enable ZONE_DMA for tilegx · eef015c8
      Chris Metcalf 提交于
      This is required for PCI root complex legacy support and USB OHCI root
      complex support.  With this change tilegx now supports allocating memory
      whose PA fits in 32 bits.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      eef015c8
    • C
      tilegx pci: support I/O to arbitrarily-cached pages · bbaa22c3
      Chris Metcalf 提交于
      The tilegx PCI root complex support (currently only in linux-next)
      is limited to pages that are homed on cached in the default manner,
      i.e. "hash-for-home".  This change supports delivery of I/O data to
      pages that are cached in other ways (locally on a particular core,
      uncached, user-managed incoherent, etc.).
      
      A large part of the change is supporting flushing pages from cache
      on particular homes so that we can transition the data that we are
      delivering to or from the device appropriately.  The new homecache_finv*
      routines handle this.
      
      Some changes to page_table_range_init() were also required to make
      the fixmap code work correctly on tilegx; it hadn't been used there
      before.
      
      We also remove some stub mark_caches_evicted_*() routines that
      were just no-ops anyway.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      bbaa22c3
    • P
      tile: remove unused header · 3e219b91
      Paul Bolle 提交于
      Nothing includes memprof.h. Nothing uses the macros it defines. It seems
      it is just a remnant of the proposed memprof functionality, which got
      dropped before the Tilera architecture got added to the tree. This
      header can safely be removed.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      3e219b91
    • C
      arch/tile: tilegx PCI root complex support · 12962267
      Chris Metcalf 提交于
      This change implements PCIe root complex support for tilegx using
      the kernel support layer for accessing the TRIO hardware shim.
      
      Reviewed-by: Bjorn Helgaas <bhelgaas@google.com> [changes in 07487f3]
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      12962267
  2. 12 7月, 2012 6 次提交
    • C
      arch/tile: provide kernel support for the tilegx TRIO shim · bce5bbbb
      Chris Metcalf 提交于
      Provide kernel support for the tilegx "Transaction I/O" (TRIO) on-chip
      hardware.  This hardware implements the PCIe interface for tilegx;
      the driver changes to use TRIO for PCIe are in a subsequent commit.
      
      The change is layered on top of the tilegx GXIO IORPC subsystem.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      bce5bbbb
    • C
      arch/tile: break out the "csum a long" function to <asm/checksum.h> · 10104a1a
      Chris Metcalf 提交于
      This makes it available to the tilegx network driver.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      10104a1a
    • C
      arch/tile: provide kernel support for the tilegx mPIPE shim · 4875f69f
      Chris Metcalf 提交于
      The TILE-Gx chip includes a packet-processing network engine called
      mPIPE ("Multicore Programmable Intelligent Packet Engine").  This
      change adds support for using the mPIPE engine from within the
      kernel.  The engine has more functionality than is exposed here,
      but to keep the kernel code and binary simpler, this is a subset
      of the full API designed to enable standard Linux networking only.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      4875f69f
    • C
      arch/tile: common DMA code for the GXIO IORPC subsystem · 63697980
      Chris Metcalf 提交于
      The dma_queue support is used by both the mPipe (networking)
      and Trio (PCI) hardware shims on tilegx.  This common code is
      selected when either of those drivers is built.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      63697980
    • C
      arch/tile: support MMIO-based readb/writeb etc. · 44e56967
      Chris Metcalf 提交于
      Add support for MMIO read/write on tilegx to support GXIO IORPC access.
      Similar to the asm-generic version, but we include memory fences on
      the writes to be conservative.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      44e56967
    • C
      arch/tile: introduce GXIO IORPC framework for tilegx · 37b82b5d
      Chris Metcalf 提交于
      The GXIO I/O RPC subsystem handles exporting I/O hardware resources to
      Linux and to applications running under Linux.
      
      For instance, memory which is made available for I/O DMA must be mapped
      by an I/O TLB; that means that such memory must be locked down by Linux,
      so that it is not swapped or otherwise reused, as long as those I/O
      TLB entries are active. Similarly, configuring direct hardware access
      introduces new validation requirements. If a user application registers
      memory, Linux must ensure that the supplied virtual addresses are valid,
      and turn them into client physical addresses. Similarly, when Linux then
      supplies those client physical addresses to the Tilera hypervisor, it
      must in turn validate those before turning them into the real physical
      addresses which are required by the hardware.
      
      To the extent that these sorts of activities were required on previous
      TILE architecture processors, they were implemented in a device-specific
      fashion. This meant that every I/O device had its own Tilera hypervisor
      driver, its own Linux driver, and in some cases its own user-level
      library support. There was a large amount of more-or-less functionally
      identical code in different places, particularly in the different Linux
      drivers. For TILE-Gx, this support has been generalized into a common
      framework, known as the I/O RPC framework or just IORPC.
      
      The two "gxio" directories (one for headers, one for sources) start
      with just a few files in each with this infrastructure commit, but
      after adding support for the on-board I/O shims for networking, PCI,
      USB, crypto, compression, I2CS, etc., there end up being about 20 files
      in each directory.
      
      More information on the IORPC framework is in the <hv/iorpc.h> header,
      included in this commit.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      37b82b5d
  3. 08 7月, 2012 4 次提交
  4. 07 7月, 2012 11 次提交
  5. 06 7月, 2012 6 次提交
    • D
      mtd: cafe_nand: fix an & vs | mistake · 48f8b641
      Dan Carpenter 提交于
      The intent here was clearly to set result to true if the 0x40000000 flag
      was set.  But instead there was a | vs & typo and we always set result
      to true.
      
      Artem: check the spec at
      wiki.laptop.org/images/5/5c/88ALP01_Datasheet_July_2007.pdf
      and this fix looks correct.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      48f8b641
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c4aed353
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "Small fixes on multiple ARM platforms
         - A build regression from a previous fix on dove and mv78xx0
         - Two fixes for recently (3.5-rc1) changed mmp/pxa code
         - multiple omap2+ bug fixes
         - two trivial fixes for i.MX
         - one v3.5 regression for mxs"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: apx4devkit: fix FEC enabling PHY clock
        ARM: OMAP2+: hwmod data: Fix wrong McBSP clock alias on OMAP4
        ARM: OMAP4: hwmod data: temporarily comment out data for the usb_host_fs and aess IP blocks
        ARM: Orion: Fix WDT compile for Dove and MV78xx0
        ARM: mmp: remove mach/gpio-pxa.h
        ARM: imx: assert SCC gate stays enabled
        ARM: OMAP4: TWL6030: ensure sys_nirq1 is mux'd and wakeup enabled
        ARM: OMAP2: Overo: init I2C before MMC to fix MMC suspend/resume failure
        ARM: imx27_visstrim_m10: Do not include <asm/system.h>
        ARM: pxa: hx4700: Fix basic suspend/resume
      c4aed353
    • L
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 6bc51545
      Linus Torvalds 提交于
      Pull KVM fix from Marcelo Tosatti:
       "Memory leak and oops on the x86 mmu code, and sanitization of the
        KVM_IRQFD ioctl."
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: MMU: fix shrinking page from the empty mmu
        KVM: fix fault page leak
        KVM: Sanitize KVM_IRQFD flags
        KVM: Add missing KVM_IRQFD API documentation
        KVM: Pass kvm_irqfd to functions
      6bc51545
    • L
      Merge branch 'fixes-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 24eee627
      Linus Torvalds 提交于
      Pull leds fix from Bryan Wu:
       "Fix for heartbeat led trigger driver"
      
      * 'fixes-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: heartbeat: fix bug on panic
      24eee627
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 5eecb9cc
      Linus Torvalds 提交于
      Pull btrfs updates from Chris Mason:
       "I held off on my rc5 pull because I hit an oops during log recovery
        after a crash.  I wanted to make sure it wasn't a regression because
        we have some logging fixes in here.
      
        It turns out that a commit during the merge window just made it much
        more likely to trigger directory logging instead of full commits,
        which exposed an old bug.
      
        The new backref walking code got some additional fixes.  This should
        be the final set of them.
      
        Josef fixed up a corner where our O_DIRECT writes and buffered reads
        could expose old file contents (not stale, just not the most recent).
        He and Liu Bo fixed crashes during tree log recover as well.
      
        Ilya fixed errors while we resume disk balancing operations on
        readonly mounts."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: run delayed directory updates during log replay
        Btrfs: hold a ref on the inode during writepages
        Btrfs: fix tree log remove space corner case
        Btrfs: fix wrong check during log recovery
        Btrfs: use _IOR for BTRFS_IOC_SUBVOL_GETFLAGS
        Btrfs: resume balance on rw (re)mounts properly
        Btrfs: restore restriper state on all mounts
        Btrfs: fix dio write vs buffered read race
        Btrfs: don't count I/O statistic read errors for missing devices
        Btrfs: resolve tree mod log locking issue in btrfs_next_leaf
        Btrfs: fix tree mod log rewind of ADD operations
        Btrfs: leave critical region in btrfs_find_all_roots as soon as possible
        Btrfs: always put insert_ptr modifications into the tree mod log
        Btrfs: fix tree mod log for root replacements at leaf level
        Btrfs: support root level changes in __resolve_indirect_ref
        Btrfs: avoid waiting for delayed refs when we must not
      5eecb9cc
    • L
      Merge branch 'fixes-for-grant' of git://sources.calxeda.com/kernel/linux · 62ad6449
      Linus Torvalds 提交于
      Pull DT fixes from Rob Herring:
       "Mainly some documentation updates and 2 fixes:
      
         - An export symbol fix for of_platform_populate from Stephen W.
         - A fix for the order compatible entries are matched to ensure the
           first compatible string is matched when there are multiple matches."
      
      Normally these would go through Grant Likely (thus the "fixes-for-grant"
      branch name), but Grant is in the middle of moving to Scotland, and is
      practically offline until sometime in August. So pull directly from Rob.
      
      * 'fixes-for-grant' of git://sources.calxeda.com/kernel/linux:
        of: match by compatible property first
        dt: mc13xxx.txt: Fix gpio number assignment
        dt: fsl-fec.txt: Fix gpio number assignment
        dt: fsl-mma8450.txt: Add missing 'reg' description
        dt: fsl-imx-esdhc.txt: Fix gpio number assignment
        dt: fsl-imx-cspi.txt: Fix comment about GPIOs used for chip selects
        of: Add Avionic Design vendor prefix
        of: export of_platform_populate()
      62ad6449
  6. 05 7月, 2012 8 次提交