]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Merge branch 'stable/pci.fixes-3.2' of git://oss.oracle.com/git/kwilk/xen into uek2...
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 19 Oct 2011 19:44:10 +0000 (15:44 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 19 Oct 2011 19:44:10 +0000 (15:44 -0400)
* 'stable/pci.fixes-3.2' of git://oss.oracle.com/git/kwilk/xen:
  xen/pci: support multi-segment systems
  xen-swiotlb: When doing coherent alloc/dealloc check before swizzling the MFNs.
  xen/pci: make bus notifier handler return sane values
  xen-swiotlb: fix printk and panic args
  xen-swiotlb: Fix wrong panic.
  xen-swiotlb: Retry up three times to allocate Xen-SWIOTLB
  xen-pcifront: Update warning comment to use 'e820_host' option.

1  2 
arch/x86/pci/xen.c

index 202c064616d9920d403b34b07cc320853be57c7a,265fa8814ccdcabbc41f78dcad0d641343d89a47..62bd874a12812d5100453728be672fc0c58f1bfe
@@@ -251,7 -123,70 +251,9 @@@ error
        return -ENODEV;
  }
  
 -/*
 - * For MSI interrupts we have to use drivers/xen/event.s functions to
 - * allocate an irq_desc and setup the right */
 -
 -
 -static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 -{
 -      int irq, ret, i;
 -      struct msi_desc *msidesc;
 -      int *v;
 -
 -      v = kzalloc(sizeof(int) * max(1, nvec), GFP_KERNEL);
 -      if (!v)
 -              return -ENOMEM;
 -
 -      if (type == PCI_CAP_ID_MSIX)
 -              ret = xen_pci_frontend_enable_msix(dev, v, nvec);
 -      else
 -              ret = xen_pci_frontend_enable_msi(dev, v);
 -      if (ret)
 -              goto error;
 -      i = 0;
 -      list_for_each_entry(msidesc, &dev->msi_list, list) {
 -              irq = xen_bind_pirq_msi_to_irq(dev, msidesc, v[i], 0,
 -                                             (type == PCI_CAP_ID_MSIX) ?
 -                                             "pcifront-msi-x" :
 -                                             "pcifront-msi",
 -                                              DOMID_SELF);
 -              if (irq < 0)
 -                      goto free;
 -              i++;
 -      }
 -      kfree(v);
 -      return 0;
 -
 -error:
 -      dev_err(&dev->dev, "Xen PCI frontend has not registered MSI/MSI-X support!\n");
 -free:
 -      kfree(v);
 -      return ret;
 -}
 -
 -static void xen_teardown_msi_irqs(struct pci_dev *dev)
 -{
 -      struct msi_desc *msidesc;
 -
 -      msidesc = list_entry(dev->msi_list.next, struct msi_desc, list);
 -      if (msidesc->msi_attrib.is_msix)
 -              xen_pci_frontend_disable_msix(dev);
 -      else
 -              xen_pci_frontend_disable_msi(dev);
 -
 -      /* Free the IRQ's and the msidesc using the generic code. */
 -      default_teardown_msi_irqs(dev);
 -}
 -
 -static void xen_teardown_msi_irq(unsigned int irq)
 -{
 -      xen_destroy_irq(irq);
 -}
 -
  #ifdef CONFIG_XEN_DOM0
+ static bool __read_mostly pci_seg_supported = true;
  static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
  {
        int ret = 0;