lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 435/633] PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY
    Date
    From: Matthew Rosato <mjrosato@linux.ibm.com>

    [ Upstream commit 12856e7acde4702b7c3238c15fcba86ff6aa507f ]

    For VFs, the Memory Space Enable bit in the Command Register is
    hard-wired to 0.

    Add a new bit to signify devices where the Command Register Memory
    Space Enable bit does not control the device's response to MMIO
    accesses.

    Fixes: abafbc551fdd ("vfio-pci: Invalidate mmaps and block MMIO access on disabled memory")
    Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/iov.c | 1 +
    include/linux/pci.h | 1 +
    2 files changed, 2 insertions(+)

    diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
    index b37e08c4f9d1a..4afd4ee4f7f04 100644
    --- a/drivers/pci/iov.c
    +++ b/drivers/pci/iov.c
    @@ -180,6 +180,7 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id)
    virtfn->device = iov->vf_device;
    virtfn->is_virtfn = 1;
    virtfn->physfn = pci_dev_get(dev);
    + virtfn->no_command_memory = 1;

    if (id == 0)
    pci_read_vf_config_common(virtfn);
    diff --git a/include/linux/pci.h b/include/linux/pci.h
    index 34c1c4f45288f..1bc3c020672fd 100644
    --- a/include/linux/pci.h
    +++ b/include/linux/pci.h
    @@ -439,6 +439,7 @@ struct pci_dev {
    unsigned int is_probed:1; /* Device probing in progress */
    unsigned int link_active_reporting:1;/* Device capable of reporting link active */
    unsigned int no_vf_scan:1; /* Don't scan for VFs after IOV enablement */
    + unsigned int no_command_memory:1; /* No PCI_COMMAND_MEMORY */
    pci_dev_flags_t dev_flags;
    atomic_t enable_cnt; /* pci_enable_device has been called */

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 16:15    [W:4.034 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site