| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright 2014 IBM Corp. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or |
|---|
| 5 | | - * modify it under the terms of the GNU General Public License |
|---|
| 6 | | - * as published by the Free Software Foundation; either version |
|---|
| 7 | | - * 2 of the License, or (at your option) any later version. |
|---|
| 8 | 4 | */ |
|---|
| 9 | 5 | |
|---|
| 10 | 6 | #ifndef _ASM_PNV_PCI_H |
|---|
| .. | .. |
|---|
| 19 | 15 | #define PCI_SLOT_ID_PREFIX (1UL << 63) |
|---|
| 20 | 16 | #define PCI_SLOT_ID(phb_id, bdfn) \ |
|---|
| 21 | 17 | (PCI_SLOT_ID_PREFIX | ((uint64_t)(bdfn) << 16) | (phb_id)) |
|---|
| 18 | +#define PCI_PHB_SLOT_ID(phb_id) (phb_id) |
|---|
| 22 | 19 | |
|---|
| 23 | 20 | extern int pnv_pci_get_slot_id(struct device_node *np, uint64_t *id); |
|---|
| 24 | 21 | extern int pnv_pci_get_device_tree(uint32_t phandle, void *buf, uint64_t len); |
|---|
| .. | .. |
|---|
| 26 | 23 | extern int pnv_pci_get_power_state(uint64_t id, uint8_t *state); |
|---|
| 27 | 24 | extern int pnv_pci_set_power_state(uint64_t id, uint8_t state, |
|---|
| 28 | 25 | struct opal_msg *msg); |
|---|
| 29 | | -extern int pnv_pci_set_p2p(struct pci_dev *initiator, struct pci_dev *target, |
|---|
| 30 | | - u64 desc); |
|---|
| 31 | 26 | |
|---|
| 32 | | -extern int pnv_pci_enable_tunnel(struct pci_dev *dev, uint64_t *asnind); |
|---|
| 33 | | -extern int pnv_pci_disable_tunnel(struct pci_dev *dev); |
|---|
| 34 | 27 | extern int pnv_pci_set_tunnel_bar(struct pci_dev *dev, uint64_t addr, |
|---|
| 35 | 28 | int enable); |
|---|
| 36 | | -extern int pnv_pci_get_as_notify_info(struct task_struct *task, u32 *lpid, |
|---|
| 37 | | - u32 *pid, u32 *tid); |
|---|
| 38 | 29 | int pnv_phb_to_cxl_mode(struct pci_dev *dev, uint64_t mode); |
|---|
| 39 | 30 | int pnv_cxl_ioda_msi_setup(struct pci_dev *dev, unsigned int hwirq, |
|---|
| 40 | 31 | unsigned int virq); |
|---|
| .. | .. |
|---|
| 54 | 45 | |
|---|
| 55 | 46 | struct pnv_php_slot { |
|---|
| 56 | 47 | struct hotplug_slot slot; |
|---|
| 57 | | - struct hotplug_slot_info slot_info; |
|---|
| 58 | 48 | uint64_t id; |
|---|
| 59 | 49 | char *name; |
|---|
| 60 | 50 | int slot_no; |
|---|
| .. | .. |
|---|
| 72 | 62 | struct pci_dev *pdev; |
|---|
| 73 | 63 | struct pci_bus *bus; |
|---|
| 74 | 64 | bool power_state_check; |
|---|
| 65 | + u8 attention_state; |
|---|
| 75 | 66 | void *fdt; |
|---|
| 76 | 67 | void *dt; |
|---|
| 77 | 68 | struct of_changeset ocs; |
|---|