All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] igb_uio: support devices with at least 1 bar defined
@ 2017-03-14 16:33 Allain Legacy
  2017-03-14 16:59 ` Ferruh Yigit
  0 siblings, 1 reply; 3+ messages in thread
From: Allain Legacy @ 2017-03-14 16:33 UTC (permalink / raw)
  To: ferruh.yigit; +Cc: dev

From: Matt Peters <matt.peters@windriver.com>

Allow the BAR setup to succeed if a device has at least 1 BAR region
defined.  Previously, the device probe would only succeed if at least one
memory BAR existed, but there are devices that have only port I/O BARs.

For example, on Virtual Box a virtio device has only a single I/O BAR
because by default MSI-X is not enabled.  While in qemu/kvm the virtio
device has MSI-X enabled and therefore has both an I/O and Memory BAR.

The following are excerpts from "lspci -nnvvvv -s 00:09.0" on both types of
systems.

Virtual Box:

    Region 0: I/O ports at d260 [size=32]
    Capabilities: [80] #00 [0000]

QEMU/KVM:

    Region 0: I/O ports at c060 [size=32]
    Region 1: Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
    Expansion ROM at feb80000 [disabled] [size=256K]
    Capabilities: [40] MSI-X: Enable+ Count=3 Masked-
            Vector table: BAR=1 offset=00000000
            PBA: BAR=1 offset=00000800

Signed-off-by: Matt Peters <matt.peters@windriver.com>
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
---
 lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index df41e45..a910eb8 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -314,7 +314,7 @@ struct rte_uio_pci_dev {
 		}
 	}
 
-	return (iom != 0) ? ret : -ENOENT;
+	return (iom != 0 || iop != 0) ? ret : -ENOENT;
 }
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] igb_uio: support devices with at least 1 bar defined
  2017-03-14 16:33 [PATCH] igb_uio: support devices with at least 1 bar defined Allain Legacy
@ 2017-03-14 16:59 ` Ferruh Yigit
  2017-03-15 13:01   ` Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Ferruh Yigit @ 2017-03-14 16:59 UTC (permalink / raw)
  To: Allain Legacy; +Cc: dev

On 3/14/2017 4:33 PM, Allain Legacy wrote:
> From: Matt Peters <matt.peters@windriver.com>
> 
> Allow the BAR setup to succeed if a device has at least 1 BAR region
> defined.  Previously, the device probe would only succeed if at least one
> memory BAR existed, but there are devices that have only port I/O BARs.
> 
> For example, on Virtual Box a virtio device has only a single I/O BAR
> because by default MSI-X is not enabled.  While in qemu/kvm the virtio
> device has MSI-X enabled and therefore has both an I/O and Memory BAR.
> 
> The following are excerpts from "lspci -nnvvvv -s 00:09.0" on both types of
> systems.
> 
> Virtual Box:
> 
>     Region 0: I/O ports at d260 [size=32]
>     Capabilities: [80] #00 [0000]
> 
> QEMU/KVM:
> 
>     Region 0: I/O ports at c060 [size=32]
>     Region 1: Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
>     Expansion ROM at feb80000 [disabled] [size=256K]
>     Capabilities: [40] MSI-X: Enable+ Count=3 Masked-
>             Vector table: BAR=1 offset=00000000
>             PBA: BAR=1 offset=00000800
> 
> Signed-off-by: Matt Peters <matt.peters@windriver.com>
> Signed-off-by: Allain Legacy <allain.legacy@windriver.com>

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] igb_uio: support devices with at least 1 bar defined
  2017-03-14 16:59 ` Ferruh Yigit
@ 2017-03-15 13:01   ` Thomas Monjalon
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2017-03-15 13:01 UTC (permalink / raw)
  To: Allain Legacy; +Cc: dev, Ferruh Yigit

2017-03-14 16:59, Ferruh Yigit:
> On 3/14/2017 4:33 PM, Allain Legacy wrote:
> > From: Matt Peters <matt.peters@windriver.com>
> > 
> > Allow the BAR setup to succeed if a device has at least 1 BAR region
> > defined.  Previously, the device probe would only succeed if at least one
> > memory BAR existed, but there are devices that have only port I/O BARs.
> > 
> > For example, on Virtual Box a virtio device has only a single I/O BAR
> > because by default MSI-X is not enabled.  While in qemu/kvm the virtio
> > device has MSI-X enabled and therefore has both an I/O and Memory BAR.
> > 
> > The following are excerpts from "lspci -nnvvvv -s 00:09.0" on both types of
> > systems.
> > 
> > Virtual Box:
> > 
> >     Region 0: I/O ports at d260 [size=32]
> >     Capabilities: [80] #00 [0000]
> > 
> > QEMU/KVM:
> > 
> >     Region 0: I/O ports at c060 [size=32]
> >     Region 1: Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
> >     Expansion ROM at feb80000 [disabled] [size=256K]
> >     Capabilities: [40] MSI-X: Enable+ Count=3 Masked-
> >             Vector table: BAR=1 offset=00000000
> >             PBA: BAR=1 offset=00000800
> > 
> > Signed-off-by: Matt Peters <matt.peters@windriver.com>
> > Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
> 
> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-15 13:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-14 16:33 [PATCH] igb_uio: support devices with at least 1 bar defined Allain Legacy
2017-03-14 16:59 ` Ferruh Yigit
2017-03-15 13:01   ` Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.