Lines Matching refs:pdev

42 	struct pci_dev *pdev;		/* Upstream component of the Link */  member
129 struct pci_bus *linkbus = link->pdev->subordinate; in pcie_set_clkpm_nocheck()
159 struct pci_bus *linkbus = link->pdev->subordinate; in pcie_clkpm_cap_init()
188 struct pci_dev *child, *parent = link->pdev; in pcie_aspm_configure_common_clock()
291 static void pcie_get_aspm_reg(struct pci_dev *pdev, in pcie_get_aspm_reg() argument
297 pcie_capability_read_dword(pdev, PCI_EXP_LNKCAP, &reg32); in pcie_get_aspm_reg()
301 pcie_capability_read_word(pdev, PCI_EXP_LNKCTL, &reg16); in pcie_get_aspm_reg()
346 struct pci_dev *child, *parent = link->pdev; in pcie_aspm_cap_init()
427 static void pcie_config_aspm_dev(struct pci_dev *pdev, u32 val) in pcie_config_aspm_dev() argument
429 pcie_capability_clear_and_set_word(pdev, PCI_EXP_LNKCTL, in pcie_config_aspm_dev()
436 struct pci_dev *child, *parent = link->pdev; in pcie_config_aspm_link()
478 link->pdev->link_state = NULL; in free_link_state()
482 static int pcie_aspm_sanity_check(struct pci_dev *pdev) in pcie_aspm_sanity_check() argument
491 list_for_each_entry(child, &pdev->subordinate->devices, bus_list) { in pcie_aspm_sanity_check()
517 static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev) in alloc_pcie_link_state() argument
527 link->pdev = pdev; in alloc_pcie_link_state()
528 if (pci_pcie_type(pdev) == PCI_EXP_TYPE_DOWNSTREAM) { in alloc_pcie_link_state()
530 parent = pdev->bus->parent->self->link_state; in alloc_pcie_link_state()
545 pdev->link_state = link; in alloc_pcie_link_state()
554 void pcie_aspm_init_link_state(struct pci_dev *pdev) in pcie_aspm_init_link_state() argument
557 int blacklist = !!pcie_aspm_sanity_check(pdev); in pcie_aspm_init_link_state()
562 if (!pci_is_pcie(pdev) || pdev->link_state) in pcie_aspm_init_link_state()
564 if (pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT && in pcie_aspm_init_link_state()
565 pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM) in pcie_aspm_init_link_state()
569 if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT && in pcie_aspm_init_link_state()
570 pdev->bus->self) in pcie_aspm_init_link_state()
574 if (list_empty(&pdev->subordinate->devices)) in pcie_aspm_init_link_state()
578 link = alloc_pcie_link_state(pdev); in pcie_aspm_init_link_state()
622 struct pci_bus *linkbus = link->pdev->subordinate; in pcie_update_aspm_capable()
635 void pcie_aspm_exit_link_state(struct pci_dev *pdev) in pcie_aspm_exit_link_state() argument
637 struct pci_dev *parent = pdev->bus->self; in pcie_aspm_exit_link_state()
649 if (!list_is_last(&pdev->bus_list, &parent->subordinate->devices)) in pcie_aspm_exit_link_state()
674 void pcie_aspm_pm_state_change(struct pci_dev *pdev) in pcie_aspm_pm_state_change() argument
676 struct pcie_link_state *link = pdev->link_state; in pcie_aspm_pm_state_change()
678 if (aspm_disabled || !pci_is_pcie(pdev) || !link) in pcie_aspm_pm_state_change()
680 if ((pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT) && in pcie_aspm_pm_state_change()
681 (pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM)) in pcie_aspm_pm_state_change()
695 void pcie_aspm_powersave_config_link(struct pci_dev *pdev) in pcie_aspm_powersave_config_link() argument
697 struct pcie_link_state *link = pdev->link_state; in pcie_aspm_powersave_config_link()
699 if (aspm_disabled || !pci_is_pcie(pdev) || !link) in pcie_aspm_powersave_config_link()
705 if ((pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT) && in pcie_aspm_powersave_config_link()
706 (pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM)) in pcie_aspm_powersave_config_link()
717 static void __pci_disable_link_state(struct pci_dev *pdev, int state, bool sem, in __pci_disable_link_state() argument
720 struct pci_dev *parent = pdev->bus->self; in __pci_disable_link_state()
723 if (!pci_is_pcie(pdev)) in __pci_disable_link_state()
726 if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT || in __pci_disable_link_state()
727 pci_pcie_type(pdev) == PCI_EXP_TYPE_DOWNSTREAM) in __pci_disable_link_state()
728 parent = pdev; in __pci_disable_link_state()
741 dev_warn(&pdev->dev, "can't disable ASPM; OS doesn't have ASPM control\n"); in __pci_disable_link_state()
764 void pci_disable_link_state_locked(struct pci_dev *pdev, int state) in pci_disable_link_state_locked() argument
766 __pci_disable_link_state(pdev, state, false, false); in pci_disable_link_state_locked()
779 void pci_disable_link_state(struct pci_dev *pdev, int state) in pci_disable_link_state() argument
781 __pci_disable_link_state(pdev, state, true, false); in pci_disable_link_state()
842 struct pci_dev *pdev = to_pci_dev(dev); in link_state_store() local
843 struct pcie_link_state *link, *root = pdev->link_state->root; in link_state_store()
887 struct pci_dev *pdev = to_pci_dev(dev); in clk_ctl_store() local
895 pcie_set_clkpm_nocheck(pdev->link_state, state); in clk_ctl_store()
906 void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) in pcie_aspm_create_sysfs_dev_files() argument
908 struct pcie_link_state *link_state = pdev->link_state; in pcie_aspm_create_sysfs_dev_files()
910 if (!pci_is_pcie(pdev) || in pcie_aspm_create_sysfs_dev_files()
911 (pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT && in pcie_aspm_create_sysfs_dev_files()
912 pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM) || !link_state) in pcie_aspm_create_sysfs_dev_files()
916 sysfs_add_file_to_group(&pdev->dev.kobj, in pcie_aspm_create_sysfs_dev_files()
919 sysfs_add_file_to_group(&pdev->dev.kobj, in pcie_aspm_create_sysfs_dev_files()
923 void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) in pcie_aspm_remove_sysfs_dev_files() argument
925 struct pcie_link_state *link_state = pdev->link_state; in pcie_aspm_remove_sysfs_dev_files()
927 if (!pci_is_pcie(pdev) || in pcie_aspm_remove_sysfs_dev_files()
928 (pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT && in pcie_aspm_remove_sysfs_dev_files()
929 pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM) || !link_state) in pcie_aspm_remove_sysfs_dev_files()
933 sysfs_remove_file_from_group(&pdev->dev.kobj, in pcie_aspm_remove_sysfs_dev_files()
936 sysfs_remove_file_from_group(&pdev->dev.kobj, in pcie_aspm_remove_sysfs_dev_files()