10 Mar, 2018

1 commit


29 Jan, 2018

1 commit

  • Add SPDX GPL-2.0+ to all PCI files that specified the GPL and allowed
    either GPL version 2 or any later version.

    Remove the boilerplate GPL version 2 or later language, relying on the
    assertion in b24413180f56 ("License cleanup: add SPDX GPL-2.0 license
    identifier to files with no license") that the SPDX identifier may be used
    instead of the full boilerplate text.

    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Greg Kroah-Hartman

    Bjorn Helgaas
     

25 Aug, 2015

1 commit

  • PCI BARs tell us whether prefetching is safe, but they don't say
    anything about write combining (WC). WC changes ordering rules
    and allows writes to be collapsed, so it's not safe in general
    to use it on a prefetchable region.

    Add pci_iomap_wc() and pci_iomap_wc_range() so drivers can take
    advantage of write combining when they know it's safe.

    On architectures that don't fully support WC, e.g., x86 without
    PAT, drivers for legacy framebuffers may get some of the benefit
    by using arch_phys_wc_add() in addition to pci_iomap_wc(). But
    arch_phys_wc_add() is unreliable and should be avoided in
    general. On x86, it uses MTRRs, which are limited in number and
    size, so the results will vary based on driver loading order.

    The goals of adding pci_iomap_wc() are to:

    - Give drivers an architecture-independent way to use WC so they can stop
    using interfaces like mtrr_add() (on x86, pci_iomap_wc() uses
    PAT when available).

    - Move toward using _PAGE_CACHE_MODE_UC, not _PAGE_CACHE_MODE_UC_MINUS,
    on x86 on ioremap_nocache() (see de33c442ed2a ("x86 PAT: fix
    performance drop for glx, use UC minus for ioremap(), ioremap_nocache()
    and pci_mmap_page_range()").

    Signed-off-by: Luis R. Rodriguez
    [ Move IORESOURCE_IO check up, space out statements for better readability. ]
    Signed-off-by: Borislav Petkov
    Acked-by: Arnd Bergmann
    Cc:
    Cc:
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Antonino Daplas
    Cc: Bjorn Helgaas
    Cc: Daniel Vetter
    Cc: Dave Airlie
    Cc: Dave Hansen
    Cc: Davidlohr Bueso
    Cc: H. Peter Anvin
    Cc: Jean-Christophe Plagniol-Villard
    Cc: Juergen Gross
    Cc: Linus Torvalds
    Cc: Mel Gorman
    Cc: Michael S. Tsirkin
    Cc: Peter Zijlstra
    Cc: Roger Pau Monné
    Cc: Rusty Russell
    Cc: Stefan Bader
    Cc: Suresh Siddha
    Cc: Thomas Gleixner
    Cc: Tomi Valkeinen
    Cc: Toshi Kani
    Cc: Ville Syrjälä
    Cc: Vlastimil Babka
    Cc: airlied@linux.ie
    Cc: benh@kernel.crashing.org
    Cc: dan.j.williams@intel.com
    Cc: david.vrabel@citrix.com
    Cc: jbeulich@suse.com
    Cc: konrad.wilk@oracle.com
    Cc: linux-arch@vger.kernel.org
    Cc: linux-fbdev@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Cc: venkatesh.pallipadi@intel.com
    Cc: vinod.koul@intel.com
    Cc: xen-devel@lists.xensource.com
    Link: http://lkml.kernel.org/r/1440443613-13696-6-git-send-email-mcgrof@do-not-panic.com
    Signed-off-by: Ingo Molnar

    Luis R. Rodriguez
     

21 Jan, 2015

1 commit

  • Virtio drivers should map the part of the BAR they need, not necessarily
    all of it.

    Cc: Bjorn Helgaas
    Cc: linux-pci@vger.kernel.org
    Acked-by: Arnd Bergmann
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell

    Michael S. Tsirkin
     

27 Feb, 2012

1 commit

  • The problem in

    commit fea80311a939a746533a6d7e7c3183729d6a3faf
    Author: Randy Dunlap
    Date: Sun Jul 24 11:39:14 2011 -0700

    iomap: make IOPORT/PCI mapping functions conditional

    is that if your architecture supplies pci_iomap/pci_iounmap, it expects
    always to supply them. Adding empty body defitions in the !CONFIG_PCI
    case, which is what this patch does, breaks the parisc compile because
    the functions become doubly defined. It took us a while to spot this,
    because we don't actually build !CONFIG_PCI very often (only if someone
    is brave enough to test the snake/asp machines).

    Since the note in the commit log says this is to fix a
    CONFIG_GENERIC_IOMAP issue (which it does because CONFIG_GENERIC_IOMAP
    supplies pci_iounmap only if CONFIG_PCI is set), there should actually
    have been a condition upon this. This should make sure no other
    architecture's !CONFIG_PCI compile breaks in the same way as parisc.

    The fix had to be updated to take account of the GENERIC_PCI_IOMAP
    separation.

    Reported-by: Rolf Eike Beer
    Signed-off-by: James Bottomley

    James Bottomley
     

01 Feb, 2012

1 commit


29 Nov, 2011

1 commit