Merge branch 'pci/ctrl/tegra194'
[linux-2.6-microblaze.git] / drivers / pci / controller / dwc / pcie-tegra194.c
index 624c3fd..1b6b437 100644 (file)
 #define GEN3_EQ_CONTROL_OFF_PSET_REQ_VEC_MASK  GENMASK(23, 8)
 #define GEN3_EQ_CONTROL_OFF_FB_MODE_MASK       GENMASK(3, 0)
 
-#define GEN3_RELATED_OFF                       0x890
-#define GEN3_RELATED_OFF_GEN3_ZRXDC_NONCOMPL   BIT(0)
-#define GEN3_RELATED_OFF_GEN3_EQ_DISABLE       BIT(16)
-#define GEN3_RELATED_OFF_RATE_SHADOW_SEL_SHIFT 24
-#define GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK  GENMASK(25, 24)
-
 #define PORT_LOGIC_AMBA_ERROR_RESPONSE_DEFAULT 0x8D0
 #define AMBA_ERROR_RESPONSE_CRS_SHIFT          3
 #define AMBA_ERROR_RESPONSE_CRS_MASK           GENMASK(1, 0)
@@ -315,7 +309,7 @@ struct tegra_pcie_soc {
        enum dw_pcie_device_mode mode;
 };
 
-static void apply_bad_link_workaround(struct pcie_port *pp)
+static void apply_bad_link_workaround(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -353,7 +347,7 @@ static irqreturn_t tegra_pcie_rp_irq_handler(int irq, void *arg)
 {
        struct tegra_pcie_dw *pcie = arg;
        struct dw_pcie *pci = &pcie->pci;
-       struct pcie_port *pp = &pci->pp;
+       struct dw_pcie_rp *pp = &pci->pp;
        u32 val, status_l0, status_l1;
        u16 val_w;
 
@@ -550,7 +544,7 @@ static irqreturn_t tegra_pcie_ep_hard_irq(int irq, void *arg)
 static int tegra_pcie_dw_rd_own_conf(struct pci_bus *bus, u32 devfn, int where,
                                     int size, u32 *val)
 {
-       struct pcie_port *pp = bus->sysdata;
+       struct dw_pcie_rp *pp = bus->sysdata;
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
 
@@ -572,7 +566,7 @@ static int tegra_pcie_dw_rd_own_conf(struct pci_bus *bus, u32 devfn, int where,
 static int tegra_pcie_dw_wr_own_conf(struct pci_bus *bus, u32 devfn, int where,
                                     int size, u32 val)
 {
-       struct pcie_port *pp = bus->sysdata;
+       struct dw_pcie_rp *pp = bus->sysdata;
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
 
@@ -711,7 +705,7 @@ static inline void init_host_aspm(struct tegra_pcie_dw *pcie) { return; }
 static inline void init_debugfs(struct tegra_pcie_dw *pcie) { return; }
 #endif
 
-static void tegra_pcie_enable_system_interrupts(struct pcie_port *pp)
+static void tegra_pcie_enable_system_interrupts(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -751,7 +745,7 @@ static void tegra_pcie_enable_system_interrupts(struct pcie_port *pp)
                           val_w);
 }
 
-static void tegra_pcie_enable_legacy_interrupts(struct pcie_port *pp)
+static void tegra_pcie_enable_legacy_interrupts(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -772,7 +766,7 @@ static void tegra_pcie_enable_legacy_interrupts(struct pcie_port *pp)
        appl_writel(pcie, val, APPL_INTR_EN_L1_8_0);
 }
 
-static void tegra_pcie_enable_msi_interrupts(struct pcie_port *pp)
+static void tegra_pcie_enable_msi_interrupts(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -785,7 +779,7 @@ static void tegra_pcie_enable_msi_interrupts(struct pcie_port *pp)
        appl_writel(pcie, val, APPL_INTR_EN_L0_0);
 }
 
-static void tegra_pcie_enable_interrupts(struct pcie_port *pp)
+static void tegra_pcie_enable_interrupts(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -867,7 +861,7 @@ static void config_gen3_gen4_eq_presets(struct tegra_pcie_dw *pcie)
        dw_pcie_writel_dbi(pci, GEN3_RELATED_OFF, val);
 }
 
-static int tegra_pcie_dw_host_init(struct pcie_port *pp)
+static int tegra_pcie_dw_host_init(struct dw_pcie_rp *pp)
 {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
@@ -949,7 +943,7 @@ static int tegra_pcie_dw_start_link(struct dw_pcie *pci)
 {
        u32 val, offset, speed, tmp;
        struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
-       struct pcie_port *pp = &pci->pp;
+       struct dw_pcie_rp *pp = &pci->pp;
        bool retry = true;
 
        if (pcie->of_data->mode == DW_PCIE_EP_TYPE) {
@@ -1262,7 +1256,7 @@ static int tegra_pcie_bpmp_set_pll_state(struct tegra_pcie_dw *pcie,
 
 static void tegra_pcie_downstream_dev_to_D0(struct tegra_pcie_dw *pcie)
 {
-       struct pcie_port *pp = &pcie->pci.pp;
+       struct dw_pcie_rp *pp = &pcie->pci.pp;
        struct pci_bus *child, *root_bus = NULL;
        struct pci_dev *pdev;
 
@@ -1525,7 +1519,7 @@ static void tegra_pcie_unconfig_controller(struct tegra_pcie_dw *pcie)
 static int tegra_pcie_init_controller(struct tegra_pcie_dw *pcie)
 {
        struct dw_pcie *pci = &pcie->pci;
-       struct pcie_port *pp = &pci->pp;
+       struct dw_pcie_rp *pp = &pci->pp;
        int ret;
 
        ret = tegra_pcie_config_controller(pcie, false);
@@ -2088,7 +2082,7 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct resource *atu_dma_res;
        struct tegra_pcie_dw *pcie;
-       struct pcie_port *pp;
+       struct dw_pcie_rp *pp;
        struct dw_pcie *pci;
        struct phy **phys;
        char *name;
@@ -2108,7 +2102,6 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
        pcie->of_data = (struct tegra_pcie_dw_of_data *)data;
        pci->n_fts[0] = pcie->of_data->n_fts[0];
        pci->n_fts[1] = pcie->of_data->n_fts[1];
-       pci->version = pcie->of_data->version;
        pp = &pci->pp;
        pp->num_vectors = MAX_MSI_IRQS;
 
@@ -2405,7 +2398,7 @@ static void tegra_pcie_dw_shutdown(struct platform_device *pdev)
 
                disable_irq(pcie->pci.pp.irq);
                if (IS_ENABLED(CONFIG_PCI_MSI))
-                       disable_irq(pcie->pci.pp.msi_irq);
+                       disable_irq(pcie->pci.pp.msi_irq[0]);
 
                tegra_pcie_dw_pme_turnoff(pcie);
                tegra_pcie_unconfig_controller(pcie);