1 /****************************************************************************** 2 * 3 * Copyright(c) 2019 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 *****************************************************************************/ 15 #ifndef __PCI_OPS_H_ 16 #define __PCI_OPS_H_ 17 18 #ifdef RTK_129X_PLATFORM 19 #define PCIE_SLOT1_MEM_START 0x9804F000 20 #define PCIE_SLOT1_MEM_LEN 0x1000 21 #define PCIE_SLOT1_CTRL_START 0x9804EC00 22 23 #define PCIE_SLOT2_MEM_START 0x9803C000 24 #define PCIE_SLOT2_MEM_LEN 0x1000 25 #define PCIE_SLOT2_CTRL_START 0x9803BC00 26 27 #define PCIE_MASK_OFFSET 0x100 /* mask offset from CTRL_START */ 28 #define PCIE_TRANSLATE_OFFSET 0x104 /* translate offset from CTRL_START */ 29 #endif 30 31 #define PCI_BC_CLK_REQ BIT0 32 #define PCI_BC_ASPM_L0s BIT1 33 #define PCI_BC_ASPM_L1 BIT2 34 #define PCI_BC_ASPM_L1Off BIT3 35 //#define PCI_BC_ASPM_LTR BIT4 36 //#define PCI_BC_ASPM_OBFF BIT5 37 38 void PlatformClearPciPMEStatus(_adapter *adapter); 39 40 #ifdef CONFIG_64BIT_DMA 41 u8 PlatformEnableDMA64(_adapter *adapter); 42 #endif 43 #ifdef CONFIG_PCI_DYNAMIC_ASPM 44 void rtw_pci_set_aspm_lnkctl(_adapter *padapter, u8 mode); 45 void rtw_pci_set_l1_latency(_adapter *padapter, u8 mode); 46 rtw_pci_dynamic_aspm_set_mode(_adapter * padapter,u8 mode)47static inline void rtw_pci_dynamic_aspm_set_mode(_adapter *padapter, u8 mode) 48 { 49 struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter); 50 struct pci_priv *pcipriv = &(pdvobjpriv->pcipriv); 51 52 if (mode == pcipriv->aspm_mode) 53 return; 54 55 pcipriv->aspm_mode = mode; 56 57 #ifdef CONFIG_PCI_DYNAMIC_ASPM_LINK_CTRL 58 rtw_pci_set_aspm_lnkctl(padapter, mode); 59 #endif 60 #ifdef CONFIG_PCI_DYNAMIC_ASPM_L1_LATENCY 61 rtw_pci_set_l1_latency(padapter, mode); 62 #endif 63 } 64 #else 65 #define rtw_pci_dynamic_aspm_set_mode(adapter, mode) 66 #endif 67 68 69 #endif /*__PCI_OPS_H_*/ 70