1. 20 Jul, 2016 1 commit
    • Tyrel Datwyler's avatar
      PCI: rpaphp: Fix slot registration for multiple slots under a PHB · e2413a7d
      Tyrel Datwyler authored
      The underlying slot hotplug registration code assumed multiple slots, but
      the actual implementation is broken for multiple slots.
      
      This went unnoticed for years do to the fact that PowerVM seems to only
      ever provide a single hotplug slot per PHB.
      
      Under qemu/kvm the hotplug slot model aligns more with x86 where
      multiple slots are presented under a single PHB. As seen in the
      following each additional slot after the first fails to register due to
      each slot always being compared against the first child node of the PHB
      in the device tree.
      
        rpaphp: RPA HOT Plug PCI Controller Driver version: 0.1
        rpaphp: Slot [Slot 0] registered
        rpaphp: pci_hp_register failed with error -16
        rpaphp: pci_hp_register failed with error -16
        rpaphp: pci_hp_register failed with error -16
        rpaphp: pci_hp_register failed with error -16
      
      The registration logic is fixed so that each slot is compared
      against the existing child devices of the PHB in the device tree to
      determine present slots vs empty slots.
      
        rpaphp: RPA HOT Plug PCI Controller Driver version: 0.1
        rpaphp: Slot [C0] registered
        rpaphp: Slot [C1] registered
        rpaphp: Slot [C2] registered
        rpaphp: Slot [C3] registered
        rpaphp: Slot [C4] registered
      Signed-off-by: default avatarTyrel Datwyler <tyreld@linux.vnet.ibm.com>
      Reviewed-by: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
      [mpe: Massage changelog]
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      e2413a7d
  2. 19 Jul, 2016 10 commits
  3. 17 Jul, 2016 25 commits
  4. 15 Jul, 2016 4 commits