forked from mirrors/linux
		
	 4cfd218855
			
		
	
	
		4cfd218855
		
	
	
	
	
		
			
			Drivers may rely on pci_disable_link_state() having disabled certain ASPM link states. If OS can't control ASPM then pci_disable_link_state() turns into a no-op w/o informing the caller. The driver therefore may falsely assume the respective ASPM link states are disabled. Let pci_disable_link_state() propagate errors to the caller, enabling the caller to react accordingly. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			889 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			889 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  *	aspm.h
 | |
|  *
 | |
|  *	PCI Express ASPM defines and function prototypes
 | |
|  *
 | |
|  *	Copyright (C) 2007 Intel Corp.
 | |
|  *		Zhang Yanmin (yanmin.zhang@intel.com)
 | |
|  *		Shaohua Li (shaohua.li@intel.com)
 | |
|  *
 | |
|  *	For more information, please consult the following manuals (look at
 | |
|  *	http://www.pcisig.com/ for how to get them):
 | |
|  *
 | |
|  *	PCI Express Specification
 | |
|  */
 | |
| 
 | |
| #ifndef LINUX_ASPM_H
 | |
| #define LINUX_ASPM_H
 | |
| 
 | |
| #include <linux/pci.h>
 | |
| 
 | |
| #define PCIE_LINK_STATE_L0S	1
 | |
| #define PCIE_LINK_STATE_L1	2
 | |
| #define PCIE_LINK_STATE_CLKPM	4
 | |
| 
 | |
| #ifdef CONFIG_PCIEASPM
 | |
| int pci_disable_link_state(struct pci_dev *pdev, int state);
 | |
| int pci_disable_link_state_locked(struct pci_dev *pdev, int state);
 | |
| void pcie_no_aspm(void);
 | |
| #else
 | |
| static inline int pci_disable_link_state(struct pci_dev *pdev, int state)
 | |
| { return 0; }
 | |
| static inline void pcie_no_aspm(void) { }
 | |
| #endif
 | |
| 
 | |
| #endif /* LINUX_ASPM_H */
 |