search for: virtio_pci_iomap

Displaying 8 results from an estimated 8 matches for "virtio_pci_iomap".

2013 Jun 05
1
[PATCH RFC] virtio-pci: support config layout in BAR1
...virtio_pci.c index a7ce730..03564fe 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -675,6 +675,33 @@ static void virtio_pci_release_dev(struct device *_d) */ } +/* Map a BAR. But carefully: make sure we don't overlap the MSI-X table */ +static void __iomem * virtio_pci_iomap(struct pci_dev *pci_dev, int bar) +{ + int msix_cap = pci_find_capability(pci_dev, PCI_CAP_ID_MSIX); + if (msix_cap) { + u32 offset; + u8 bir; + pci_read_config_dword(pci_dev, msix_cap + PCI_MSIX_TABLE, + &offset); + bir = (u8)(offset & PCI_MSIX_TABLE_BIR); + offset &= PCI...
2013 Jun 05
1
[PATCH RFC] virtio-pci: support config layout in BAR1
...virtio_pci.c index a7ce730..03564fe 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c @@ -675,6 +675,33 @@ static void virtio_pci_release_dev(struct device *_d) */ } +/* Map a BAR. But carefully: make sure we don't overlap the MSI-X table */ +static void __iomem * virtio_pci_iomap(struct pci_dev *pci_dev, int bar) +{ + int msix_cap = pci_find_capability(pci_dev, PCI_CAP_ID_MSIX); + if (msix_cap) { + u32 offset; + u8 bir; + pci_read_config_dword(pci_dev, msix_cap + PCI_MSIX_TABLE, + &offset); + bir = (u8)(offset & PCI_MSIX_TABLE_BIR); + offset &= PCI...
2013 Jun 04
4
[PATCH RFC] virtio-pci: new config layout: using memory BAR
On Tue, Jun 04, 2013 at 03:01:50PM +0930, Rusty Russell wrote: > "Michael S. Tsirkin" <mst at redhat.com> writes: > > On Mon, Jun 03, 2013 at 09:56:15AM +0930, Rusty Russell wrote: > >> "Michael S. Tsirkin" <mst at redhat.com> writes: > >> > On Thu, May 30, 2013 at 08:53:45AM -0500, Anthony Liguori wrote: > >> >> Rusty
2013 Jun 04
4
[PATCH RFC] virtio-pci: new config layout: using memory BAR
On Tue, Jun 04, 2013 at 03:01:50PM +0930, Rusty Russell wrote: > "Michael S. Tsirkin" <mst at redhat.com> writes: > > On Mon, Jun 03, 2013 at 09:56:15AM +0930, Rusty Russell wrote: > >> "Michael S. Tsirkin" <mst at redhat.com> writes: > >> > On Thu, May 30, 2013 at 08:53:45AM -0500, Anthony Liguori wrote: > >> >> Rusty
2011 Nov 14
2
[PATCHv2 RFC] virtio-pci: flexible configuration layout
..._dev->isr_map); + if (vp_dev->notify_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->notify_map); + if (vp_dev->common_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->common_map); + if (vp_dev->device_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->device_map); +} + +static int virtio_pci_iomap(struct virtio_pci_device *vp_dev) +{ + vp_dev->isr_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_ISR_CFG, + sizeof(u8)); + vp_dev->notify_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_NOTIFY_CFG, + sizeof(u16)); + vp_dev->common_map = virtio_pci_map_cfg(...
2011 Nov 14
2
[PATCHv2 RFC] virtio-pci: flexible configuration layout
..._dev->isr_map); + if (vp_dev->notify_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->notify_map); + if (vp_dev->common_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->common_map); + if (vp_dev->device_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->device_map); +} + +static int virtio_pci_iomap(struct virtio_pci_device *vp_dev) +{ + vp_dev->isr_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_ISR_CFG, + sizeof(u8)); + vp_dev->notify_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_NOTIFY_CFG, + sizeof(u16)); + vp_dev->common_map = virtio_pci_map_cfg(...
2011 Nov 22
2
[PATCHv3 RFC] virtio-pci: flexible configuration layout
..._dev->isr_map); + if (vp_dev->notify_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->notify_map); + if (vp_dev->common_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->common_map); + if (vp_dev->device_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->device_map); +} + +static int virtio_pci_iomap(struct virtio_pci_device *vp_dev) +{ + vp_dev->isr_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_ISR_CFG, + sizeof(u8)); + vp_dev->notify_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_NOTIFY_CFG, + sizeof(u16)); + vp_dev->common_map = virtio_pci_map_cfg(...
2011 Nov 22
2
[PATCHv3 RFC] virtio-pci: flexible configuration layout
..._dev->isr_map); + if (vp_dev->notify_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->notify_map); + if (vp_dev->common_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->common_map); + if (vp_dev->device_map) + pci_iounmap(vp_dev->pci_dev, vp_dev->device_map); +} + +static int virtio_pci_iomap(struct virtio_pci_device *vp_dev) +{ + vp_dev->isr_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_ISR_CFG, + sizeof(u8)); + vp_dev->notify_map = virtio_pci_map_cfg(vp_dev, + VIRTIO_PCI_CAP_NOTIFY_CFG, + sizeof(u16)); + vp_dev->common_map = virtio_pci_map_cfg(...