Displaying 14 results from an estimated 14 matches for "zpci_iomap_lock".
2014 Dec 19
2
[PATCH RFC 2/5] s390: add pci_iomap_range
...unsigned long offset,
> + unsigned long max)
> {
> struct zpci_dev *zdev = get_zdev(pdev);
> u64 addr;
> @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
>
> idx = zdev->bars[bar].map_idx;
> spin_lock(&zpci_iomap_lock);
> - zpci_iomap_start[idx].fh = zdev->fh;
> - zpci_iomap_start[idx].bar = bar;
> + if (zpci_iomap_start[idx].count++) {
> + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> + zpci_iomap_start[idx].bar != bar);
> + } else {
> + zpci_iomap_start[idx].fh = zdev-&g...
2014 Dec 19
2
[PATCH RFC 2/5] s390: add pci_iomap_range
...unsigned long offset,
> + unsigned long max)
> {
> struct zpci_dev *zdev = get_zdev(pdev);
> u64 addr;
> @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
>
> idx = zdev->bars[bar].map_idx;
> spin_lock(&zpci_iomap_lock);
> - zpci_iomap_start[idx].fh = zdev->fh;
> - zpci_iomap_start[idx].bar = bar;
> + if (zpci_iomap_start[idx].count++) {
> + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> + zpci_iomap_start[idx].bar != bar);
> + } else {
> + zpci_iomap_start[idx].fh = zdev-&g...
2014 Dec 15
0
[PATCH RFC 2/5] s390: add pci_iomap_range
..._dev *pdev,
+ int bar,
+ unsigned long offset,
+ unsigned long max)
{
struct zpci_dev *zdev = get_zdev(pdev);
u64 addr;
@@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
idx = zdev->bars[bar].map_idx;
spin_lock(&zpci_iomap_lock);
- zpci_iomap_start[idx].fh = zdev->fh;
- zpci_iomap_start[idx].bar = bar;
+ if (zpci_iomap_start[idx].count++) {
+ BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
+ zpci_iomap_start[idx].bar != bar);
+ } else {
+ zpci_iomap_start[idx].fh = zdev->fh;
+ zpci_iomap_start[idx].bar...
2014 Dec 15
0
[PATCH RFC 2/5] s390: add pci_iomap_range
..._dev *pdev,
+ int bar,
+ unsigned long offset,
+ unsigned long max)
{
struct zpci_dev *zdev = get_zdev(pdev);
u64 addr;
@@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
idx = zdev->bars[bar].map_idx;
spin_lock(&zpci_iomap_lock);
- zpci_iomap_start[idx].fh = zdev->fh;
- zpci_iomap_start[idx].bar = bar;
+ if (zpci_iomap_start[idx].count++) {
+ BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
+ zpci_iomap_start[idx].bar != bar);
+ } else {
+ zpci_iomap_start[idx].fh = zdev->fh;
+ zpci_iomap_start[idx].bar...
2015 Jan 14
0
[PATCH v3 10/16] s390: add pci_iomap_range
..._dev *pdev,
+ int bar,
+ unsigned long offset,
+ unsigned long max)
{
struct zpci_dev *zdev = get_zdev(pdev);
u64 addr;
@@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
idx = zdev->bars[bar].map_idx;
spin_lock(&zpci_iomap_lock);
- zpci_iomap_start[idx].fh = zdev->fh;
- zpci_iomap_start[idx].bar = bar;
+ if (zpci_iomap_start[idx].count++) {
+ BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
+ zpci_iomap_start[idx].bar != bar);
+ } else {
+ zpci_iomap_start[idx].fh = zdev->fh;
+ zpci_iomap_start[idx].bar...
2015 Jan 14
0
[PATCH v3 10/16] s390: add pci_iomap_range
..._dev *pdev,
+ int bar,
+ unsigned long offset,
+ unsigned long max)
{
struct zpci_dev *zdev = get_zdev(pdev);
u64 addr;
@@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
idx = zdev->bars[bar].map_idx;
spin_lock(&zpci_iomap_lock);
- zpci_iomap_start[idx].fh = zdev->fh;
- zpci_iomap_start[idx].bar = bar;
+ if (zpci_iomap_start[idx].count++) {
+ BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
+ zpci_iomap_start[idx].bar != bar);
+ } else {
+ zpci_iomap_start[idx].fh = zdev->fh;
+ zpci_iomap_start[idx].bar...
2014 Dec 19
0
[PATCH RFC 2/5] s390: add pci_iomap_range
...unsigned long max)
> > {
> > struct zpci_dev *zdev = get_zdev(pdev);
> > u64 addr;
> > @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
> >
> > idx = zdev->bars[bar].map_idx;
> > spin_lock(&zpci_iomap_lock);
> > - zpci_iomap_start[idx].fh = zdev->fh;
> > - zpci_iomap_start[idx].bar = bar;
> > + if (zpci_iomap_start[idx].count++) {
> > + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> > + zpci_iomap_start[idx].bar != bar);
> > + } else {
> > +...
2014 Dec 19
0
[PATCH RFC 2/5] s390: add pci_iomap_range
...unsigned long max)
> > {
> > struct zpci_dev *zdev = get_zdev(pdev);
> > u64 addr;
> > @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
> >
> > idx = zdev->bars[bar].map_idx;
> > spin_lock(&zpci_iomap_lock);
> > - zpci_iomap_start[idx].fh = zdev->fh;
> > - zpci_iomap_start[idx].bar = bar;
> > + if (zpci_iomap_start[idx].count++) {
> > + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> > + zpci_iomap_start[idx].bar != bar);
> > + } else {
> > +...
2015 Jan 16
1
[PATCH v3 10/16] s390: add pci_iomap_range
...unsigned long offset,
> + unsigned long max)
> {
> struct zpci_dev *zdev = get_zdev(pdev);
> u64 addr;
> @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
>
> idx = zdev->bars[bar].map_idx;
> spin_lock(&zpci_iomap_lock);
> - zpci_iomap_start[idx].fh = zdev->fh;
> - zpci_iomap_start[idx].bar = bar;
> + if (zpci_iomap_start[idx].count++) {
> + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> + zpci_iomap_start[idx].bar != bar);
> + } else {
> + zpci_iomap_start[idx].fh = zdev-&g...
2015 Jan 16
1
[PATCH v3 10/16] s390: add pci_iomap_range
...unsigned long offset,
> + unsigned long max)
> {
> struct zpci_dev *zdev = get_zdev(pdev);
> u64 addr;
> @@ -270,14 +273,27 @@ void __iomem *pci_iomap(struct pci_dev *pdev, int bar, unsigned long max)
>
> idx = zdev->bars[bar].map_idx;
> spin_lock(&zpci_iomap_lock);
> - zpci_iomap_start[idx].fh = zdev->fh;
> - zpci_iomap_start[idx].bar = bar;
> + if (zpci_iomap_start[idx].count++) {
> + BUG_ON(zpci_iomap_start[idx].fh != zdev->fh ||
> + zpci_iomap_start[idx].bar != bar);
> + } else {
> + zpci_iomap_start[idx].fh = zdev-&g...
2014 Dec 15
6
[PATCH RFC 0/5] virtio pci: virtio 1.0 support
This is on top of 3.19 master + my bugfix patches, and adds virtio 1.0 support
to virtio pci.
This is 3.20 material I think.
Would like to get feedback on s390 change as it's untested.
Michael S Tsirkin (2):
pci: add pci_iomap_range
s390: add pci_iomap_range
Michael S. Tsirkin (2):
virtio_pci: modern driver
virtio_pci: macros for PCI layout offsets.
Rusty Russell (1):
virtio-pci:
2014 Dec 15
6
[PATCH RFC 0/5] virtio pci: virtio 1.0 support
This is on top of 3.19 master + my bugfix patches, and adds virtio 1.0 support
to virtio pci.
This is 3.20 material I think.
Would like to get feedback on s390 change as it's untested.
Michael S Tsirkin (2):
pci: add pci_iomap_range
s390: add pci_iomap_range
Michael S. Tsirkin (2):
virtio_pci: modern driver
virtio_pci: macros for PCI layout offsets.
Rusty Russell (1):
virtio-pci:
2015 Jan 14
22
[PATCH v3 00/16] virtio-pci: towards virtio 1.0 guest support
Changes since v2:
handling for devices without config space (e.g. rng)
reduce # of mappings for VQs
These patches seem to work fine on my virtio-1.0 qemu branch.
There haven't been any bugs since v2: just minor cleanups
and enhancements.
QEMU side is still undergoing polishing, but is already testable.
Rusty, what do you think? Let's merge these for 3.20?
Also - will you be doing that
2015 Jan 14
22
[PATCH v3 00/16] virtio-pci: towards virtio 1.0 guest support
Changes since v2:
handling for devices without config space (e.g. rng)
reduce # of mappings for VQs
These patches seem to work fine on my virtio-1.0 qemu branch.
There haven't been any bugs since v2: just minor cleanups
and enhancements.
QEMU side is still undergoing polishing, but is already testable.
Rusty, what do you think? Let's merge these for 3.20?
Also - will you be doing that