|
@@ -163,34 +163,36 @@ static int spear13xx_pcie_establish_link(struct pcie_port *pp)
|
|
* default value in capability register is 512 bytes. So force
|
|
* default value in capability register is 512 bytes. So force
|
|
* it to 128 here.
|
|
* it to 128 here.
|
|
*/
|
|
*/
|
|
- dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_DEVCTL, 4, &val);
|
|
|
|
|
|
+ dw_pcie_cfg_read(pp->dbi_base + exp_cap_off + PCI_EXP_DEVCTL,
|
|
|
|
+ 0, 2, &val);
|
|
val &= ~PCI_EXP_DEVCTL_READRQ;
|
|
val &= ~PCI_EXP_DEVCTL_READRQ;
|
|
- dw_pcie_cfg_write(pp->dbi_base, exp_cap_off + PCI_EXP_DEVCTL, 4, val);
|
|
|
|
|
|
+ dw_pcie_cfg_write(pp->dbi_base + exp_cap_off + PCI_EXP_DEVCTL,
|
|
|
|
+ 0, 2, val);
|
|
|
|
|
|
- dw_pcie_cfg_write(pp->dbi_base, PCI_VENDOR_ID, 2, 0x104A);
|
|
|
|
- dw_pcie_cfg_write(pp->dbi_base, PCI_DEVICE_ID, 2, 0xCD80);
|
|
|
|
|
|
+ dw_pcie_cfg_write(pp->dbi_base + PCI_VENDOR_ID, 0, 2, 0x104A);
|
|
|
|
+ dw_pcie_cfg_write(pp->dbi_base + PCI_VENDOR_ID, 2, 2, 0xCD80);
|
|
|
|
|
|
/*
|
|
/*
|
|
* if is_gen1 is set then handle it, so that some buggy card
|
|
* if is_gen1 is set then handle it, so that some buggy card
|
|
* also works
|
|
* also works
|
|
*/
|
|
*/
|
|
if (spear13xx_pcie->is_gen1) {
|
|
if (spear13xx_pcie->is_gen1) {
|
|
- dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_LNKCAP, 4,
|
|
|
|
- &val);
|
|
|
|
|
|
+ dw_pcie_cfg_read(pp->dbi_base + exp_cap_off + PCI_EXP_LNKCAP,
|
|
|
|
+ 0, 4, &val);
|
|
if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
|
|
if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
|
|
val &= ~((u32)PCI_EXP_LNKCAP_SLS);
|
|
val &= ~((u32)PCI_EXP_LNKCAP_SLS);
|
|
val |= PCI_EXP_LNKCAP_SLS_2_5GB;
|
|
val |= PCI_EXP_LNKCAP_SLS_2_5GB;
|
|
- dw_pcie_cfg_write(pp->dbi_base, exp_cap_off +
|
|
|
|
- PCI_EXP_LNKCAP, 4, val);
|
|
|
|
|
|
+ dw_pcie_cfg_write(pp->dbi_base + exp_cap_off +
|
|
|
|
+ PCI_EXP_LNKCAP, 0, 4, val);
|
|
}
|
|
}
|
|
|
|
|
|
- dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_LNKCTL2, 4,
|
|
|
|
- &val);
|
|
|
|
|
|
+ dw_pcie_cfg_read(pp->dbi_base + exp_cap_off + PCI_EXP_LNKCTL2,
|
|
|
|
+ 0, 2, &val);
|
|
if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
|
|
if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
|
|
val &= ~((u32)PCI_EXP_LNKCAP_SLS);
|
|
val &= ~((u32)PCI_EXP_LNKCAP_SLS);
|
|
val |= PCI_EXP_LNKCAP_SLS_2_5GB;
|
|
val |= PCI_EXP_LNKCAP_SLS_2_5GB;
|
|
- dw_pcie_cfg_write(pp->dbi_base, exp_cap_off +
|
|
|
|
- PCI_EXP_LNKCTL2, 4, val);
|
|
|
|
|
|
+ dw_pcie_cfg_write(pp->dbi_base + exp_cap_off +
|
|
|
|
+ PCI_EXP_LNKCTL2, 0, 2, val);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|