PCI: Make saved capability state private to core

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2039086
Upstream Status: f0ab00174eb7574732737fc0734d4b406aed6231

commit f0ab00174eb7574732737fc0734d4b406aed6231
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Mon Aug 2 17:17:28 2021 -0500

    PCI: Make saved capability state private to core

    Interfaces and structs for saving and restoring PCI Capability state were
    declared in include/linux/pci.h, but aren't needed outside drivers/pci/.

    Move these to drivers/pci/pci.h:

      struct pci_cap_saved_data
      struct pci_cap_saved_state
      void pci_allocate_cap_save_buffers()
      void pci_free_cap_save_buffers()
      int pci_add_cap_save_buffer()
      int pci_add_ext_cap_save_buffer()
      struct pci_cap_saved_state *pci_find_saved_cap()
      struct pci_cap_saved_state *pci_find_saved_ext_cap()

    Link: https://lore.kernel.org/r/20210802221728.1469304-1-helgaas@kernel.org
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Alex Williamson <alex.williamson@redhat.com>

Signed-off-by: Myron Stowe <mstowe@redhat.com>
This commit is contained in:
Myron Stowe 2022-01-17 13:53:45 -07:00
parent 24ec4ad480
commit 6a30efd0b4
2 changed files with 21 additions and 20 deletions

View File

@ -38,6 +38,27 @@ void pci_init_reset_methods(struct pci_dev *dev);
int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
int pci_bus_error_reset(struct pci_dev *dev);
struct pci_cap_saved_data {
u16 cap_nr;
bool cap_extended;
unsigned int size;
u32 data[];
};
struct pci_cap_saved_state {
struct hlist_node next;
struct pci_cap_saved_data cap;
};
void pci_allocate_cap_save_buffers(struct pci_dev *dev);
void pci_free_cap_save_buffers(struct pci_dev *dev);
int pci_add_cap_save_buffer(struct pci_dev *dev, char cap, unsigned int size);
int pci_add_ext_cap_save_buffer(struct pci_dev *dev,
u16 cap, unsigned int size);
struct pci_cap_saved_state *pci_find_saved_cap(struct pci_dev *dev, char cap);
struct pci_cap_saved_state *pci_find_saved_ext_cap(struct pci_dev *dev,
u16 cap);
#define PCI_PM_D2_DELAY 200 /* usec; see PCIe r4.0, sec 5.9.1 */
#define PCI_PM_D3HOT_WAIT 10 /* msec */
#define PCI_PM_D3COLD_WAIT 100 /* msec */
@ -101,8 +122,6 @@ void pci_pm_init(struct pci_dev *dev);
void pci_ea_init(struct pci_dev *dev);
void pci_msi_init(struct pci_dev *dev);
void pci_msix_init(struct pci_dev *dev);
void pci_allocate_cap_save_buffers(struct pci_dev *dev);
void pci_free_cap_save_buffers(struct pci_dev *dev);
bool pci_bridge_d3_possible(struct pci_dev *dev);
void pci_bridge_d3_update(struct pci_dev *dev);
void pci_bridge_wait_for_secondary_bus(struct pci_dev *dev);

View File

@ -294,18 +294,6 @@ enum pci_bus_speed {
enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev);
enum pcie_link_width pcie_get_width_cap(struct pci_dev *dev);
struct pci_cap_saved_data {
u16 cap_nr;
bool cap_extended;
unsigned int size;
u32 data[];
};
struct pci_cap_saved_state {
struct hlist_node next;
struct pci_cap_saved_data cap;
};
struct pci_vpd {
struct mutex lock;
unsigned int len;
@ -1304,12 +1292,6 @@ int pci_load_saved_state(struct pci_dev *dev,
struct pci_saved_state *state);
int pci_load_and_free_saved_state(struct pci_dev *dev,
struct pci_saved_state **state);
struct pci_cap_saved_state *pci_find_saved_cap(struct pci_dev *dev, char cap);
struct pci_cap_saved_state *pci_find_saved_ext_cap(struct pci_dev *dev,
u16 cap);
int pci_add_cap_save_buffer(struct pci_dev *dev, char cap, unsigned int size);
int pci_add_ext_cap_save_buffer(struct pci_dev *dev,
u16 cap, unsigned int size);
int pci_platform_power_transition(struct pci_dev *dev, pci_power_t state);
int pci_set_power_state(struct pci_dev *dev, pci_power_t state);
pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state);