1. 14 4月, 2010 7 次提交
    • I
      ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate · 5c5cac63
      Imre Deak 提交于
      From: Imre Deak <imre.deak@nokia.com>
      
      Recently the UP versions of these functions were refactored and as
      a side effect it became possible to call them for the current thread.
      This isn't true for the SMP versions however, so fix this up.
      Signed-off-by: NImre Deak <imre.deak@nokia.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5c5cac63
    • N
      ARM: 6007/1: fix highmem with VIPT cache and DMA · 7e5a69e8
      Nicolas Pitre 提交于
      The VIVT cache of a highmem page is always flushed before the page
      is unmapped.  This cache flush is explicit through flush_cache_kmaps()
      in flush_all_zero_pkmaps(), or through __cpuc_flush_dcache_area() in
      kunmap_atomic().  There is also an implicit flush of those highmem pages
      that were part of a process that just terminated making those pages free
      as the whole VIVT cache has to be flushed on every task switch. Hence
      unmapped highmem pages need no cache maintenance in that case.
      
      However unmapped pages may still be cached with a VIPT cache because the
      cache is tagged with physical addresses.  There is no need for a whole
      cache flush during task switching for that reason, and despite the
      explicit cache flushes in flush_all_zero_pkmaps() and kunmap_atomic(),
      some highmem pages that were mapped in user space end up still cached
      even when they become unmapped.
      
      So, we do have to perform cache maintenance on those unmapped highmem
      pages in the context of DMA when using a VIPT cache.  Unfortunately,
      it is not possible to perform that cache maintenance using physical
      addresses as all the L1 cache maintenance coprocessor functions accept
      virtual addresses only.  Therefore we have no choice but to set up a
      temporary virtual mapping for that purpose.
      
      And of course the explicit cache flushing when unmapping a highmem page
      on a system with a VIPT cache now can go, which should increase
      performance.
      
      While at it, because the code in __flush_dcache_page() has to be modified
      anyway, let's also make sure the mapped highmem pages are pinned with
      kmap_high_get() for the duration of the cache maintenance operation.
      Because kunmap() does unmap highmem pages lazily, it was reported by
      Gary King <GKing@nvidia.com> that those pages ended up being unmapped
      during cache maintenance on SMP causing segmentation faults.
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7e5a69e8
    • A
      ARM: 5975/1: AT91 slow-clock suspend: don't wait when turning PLLs off · 317aa408
      Anders Larsen 提交于
      From: Julien Langer <julien.langer@gmail.com>
      
      AT91: when turning off the PLLs during suspend, don't wait for the lock
      flag to be set. Previously the code would always run into the loop
      limitation of 1000 iterations because the flag is never set when turning
      the PLLs off.
      
      Comments from Anders Larsen:
      
       (in http://marc.info/?l=linux-kernel&m=127058929724193&w=2)
      Signed-off-by: NJulien Langer <julien.langer@gmail.com>
      Signed-off-by: NAnders Larsen <al@alarsen.net>
      Acked-by: NAndrew Victor <linux@maxim.org.za>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      317aa408
    • L
      Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · 2ba3abd8
      Linus Torvalds 提交于
      * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling
      2ba3abd8
    • L
      Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 0fdfe5ad
      Linus Torvalds 提交于
      * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
        NFSv4: fix delegated locking
        NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible
        NFS: Fix a race with the new commit code
        NFS: Ensure that writeback_single_inode() calls write_inode() when syncing
        NFS: Fix the mode calculation in nfs_find_open_context
        NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR
      0fdfe5ad
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 44d2d371
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Add some more commentary to __raw_local_irq_save()
        sparc64: Fix memory leak in pci_register_iommu_region().
        sparc64: Add kmemleak annotation to sun4v_build_virq()
        sparc64: Support kmemleak.
        sparc64: Add function graph tracer support.
        sparc64: Give a stack frame to the ftrace call sites.
        sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86.
        sparc64: Remove profiling from some low-level bits.
        sparc64: Kill unnecessary static on local var in ftrace_call_replace().
        sparc64: Kill CONFIG_STACK_DEBUG code.
        sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up.
        sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs.
        sparc64: Use kstack_valid() in die_if_kernel().
      44d2d371
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 465de2ba
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits)
        smc91c92_cs: define multicast_table as unsigned char
        can: avoids a false warning
        e1000e: stop cleaning when we reach tx_ring->next_to_use
        igb: restrict WoL for 82576 ET2 Quad Port Server Adapter
        virtio_net: missing sg_init_table
        Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb"
        iwlwifi: need check for valid qos packet before free
        tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb
        udp: fix for unicast RX path optimization
        myri10ge: fix rx_pause in myri10ge_set_pauseparam
        net: corrected documentation for hardware time stamping
        stmmac: use resource_size()
        x.25 attempts to negotiate invalid throughput
        x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet.
        bridge: Fix IGMP3 report parsing
        cnic: Fix crash during bnx2x MTU change.
        qlcnic: fix set mac addr
        r6040: fix r6040_multicast_list
        vhost-net: fix vq_memory_access_ok error checking
        ath9k: fix double calls to ath_radio_enable
        ...
      465de2ba
  2. 13 4月, 2010 33 次提交