1. 03 1月, 2007 1 次提交
  2. 29 12月, 2006 1 次提交
  3. 23 12月, 2006 2 次提交
    • E
      [AGPGART] fix detection of aperture size versus GTT size on G965 · c41e0deb
      Eric Anholt 提交于
      On the G965, the GTT size may be larger than is required to cover the
      aperture.  (In fact, on all hardware we've seen, the GTT is 512KB to the
      aperture's 256MB).  A previous commit forced the aperture size to 512MB on
      G965 to match GTT, which would likely result in hangs at best if users
      tried to rely on agpgart's aperture size information.  Instead, we use the
      resource length for the aperture size and the system's reported GTT size
      when available for the GTT size.
      
      Because the MSAC registers which had been read for aperture size detection
      on i9xx chips just cause a change in the resource size, we can use generic
      code for aperture detection on all i9xx.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      c41e0deb
    • T
      [AGPGART] Remove unnecessary flushes when inserting and removing pages. · 5aa80c72
      Thomas Hellstrom 提交于
      This patch is to speed up flipping of pages in and out of the AGP aperture as
      needed by the new drm memory manager.
      
      A number of global cache flushes are removed as well as some PCI posting flushes.
      The following guidelines have been used:
      
      1) Memory that is only mapped uncached and that has been subject to a global
      cache flush after the mapping was changed to uncached does not need any more
      cache flushes. Neither before binding to the aperture nor after unbinding.
      
      2) Only do one PCI posting flush after a sequence of writes modifying page
      entries in the GATT.
      Signed-off-by: NThomas Hellstrom <thomas@tungstengraphics.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      5aa80c72
  4. 19 12月, 2006 1 次提交
  5. 18 12月, 2006 14 次提交
  6. 17 12月, 2006 5 次提交
    • L
      Fix up mm/mincore.c error value cases · 4fb23e43
      Linus Torvalds 提交于
      Hugh Dickins correctly points out that mincore() is actually _supposed_
      to fail on an unmapped hole in the user address space, rather than
      return valid ("empty") information about the hole.  This just simplifies
      the problem further (I had been misled by our previous confusing and
      complicated way of doing mincore()).
      
      Also, in the unlikely situation that we can't allocate a temporary
      kernel buffer, we should actually return EAGAIN, not ENOMEM, to keep the
      "unmapped hole" and "allocation failure" error cases separate.
      
      Finally, add a comment about our stupid historical lack of support for
      anonymous mappings.  I'll fix that if somebody reminds me after 2.6.20
      is out.
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4fb23e43
    • L
      Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband · c7ef259b
      Linus Torvalds 提交于
      * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
        IB/mthca: Use DEFINE_MUTEX() instead of mutex_init()
        IB/mthca: Add HCA profile module parameters
        IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
        IB: Fix ib_dma_alloc_coherent() wrapper
      c7ef259b
    • L
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 99f5e971
      Linus Torvalds 提交于
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        [PATCH] pata_via: Cable detect error
        [PATCH] Fix help text for CONFIG_ATA_PIIX
        [PATCH] initializer entry defined twice in pata_rz1000
        [PATCH] ata: fix platform_device_register_simple() error check
        [PATCH] ahci: do not mangle saved HOST_CAP while resetting controller
        [PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)
        [libata] sata_svw: Disable ATAPI DMA on current boards (errata workaround)
        [libata] use kmap_atomic(KM_IRQ0) in SCSI simulator
        [PATCH] ata_piix: use piix_host_stop() in ich_pata_ops
        [PATCH] ata_piix: IDE mode SATA patch for Intel ICH9
      99f5e971
    • L
      Make workqueue bit operations work on "atomic_long_t" · a08727ba
      Linus Torvalds 提交于
      On architectures where the atomicity of the bit operations is handled by
      external means (ie a separate spinlock to protect concurrent accesses),
      just doing a direct assignment on the workqueue data field (as done by
      commit 4594bf15) can cause the
      assignment to be lost due to lack of serialization with the bitops on
      the same word.
      
      So we need to serialize the assignment with the locks on those
      architectures (notably older ARM chips, PA-RISC and sparc32).
      
      So rather than using an "unsigned long", let's use "atomic_long_t",
      which already has a safe assignment operation (atomic_long_set()) on
      such architectures.
      
      This requires that the atomic operations use the same atomicity locks as
      the bit operations do, but that is largely the case anyway.  Sparc32
      will probably need fixing.
      
      Architectures (including modern ARM with LL/SC) that implement sane
      atomic operations for SMP won't see any of this matter.
      
      Cc: Russell King <rmk+lkml@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: David Miller <davem@davemloft.com>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Linux Arch Maintainers <linux-arch@vger.kernel.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a08727ba
    • L
      Fix incorrect user space access locking in mincore() · 2f77d107
      Linus Torvalds 提交于
      Doug Chapman noticed that mincore() will doa "copy_to_user()" of the
      result while holding the mmap semaphore for reading, which is a big
      no-no.  While a recursive read-lock on a semaphore in the case of a page
      fault happens to work, we don't actually allow them due to deadlock
      schenarios with writers due to fairness issues.
      
      Doug and Marcel sent in a patch to fix it, but I decided to just rewrite
      the mess instead - not just fixing the locking problem, but making the
      code smaller and (imho) much easier to understand.
      
      Cc: Doug Chapman <dchapman@redhat.com>
      Cc: Marcel Holtmann <holtmann@redhat.com>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      2f77d107
  7. 16 12月, 2006 16 次提交