[Skiboot] [PATCH 1/3] core/pci: Make the conditions for device type quirk obvious

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Jun 15 15:41:23 AEST 2017


On Fri, 2017-05-26 at 11:53 +1000, Gavin Shan wrote:
> The device type should be fixed to downstream port when it seats
> behinds behind a upstream port, which is connected to root port
> directly and its VDID is 0x874810b5.
> 
> This reorders the conditions to make it a bit obvious: parent,
> parent's device type, device's VDID and device type in sequence.
> No logicial changes.
> 
> Signed-off-by: Gavin Shan <gwshan at linux.vnet.ibm.com>

Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

> ---
>  core/pci.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/core/pci.c b/core/pci.c
> index d69eb28..7ec8409 100644
> --- a/core/pci.c
> +++ b/core/pci.c
> @@ -171,9 +171,8 @@ static void pci_init_pcie_cap(struct phb *phb, struct pci_device *pd)
>  	 */
>  	pci_cfg_read16(phb, pd->bdfn, ecap + PCICAP_EXP_CAPABILITY_REG, &reg);
>  	pd->dev_type = GETFIELD(PCICAP_EXP_CAP_TYPE, reg);
> -	if (pd->parent && pd->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
> -	    pd->parent->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
> -	    pd->vdid == 0x874810b5) {
> +	if (pd->parent && pd->parent->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
> +	    pd->vdid == 0x874810b5 && pd->dev_type == PCIE_TYPE_SWITCH_UPPORT) {
>  		PCIDBG(phb, pd->bdfn, "Fixing up bad PLX downstream port !\n");
>  		pd->dev_type = PCIE_TYPE_SWITCH_DNPORT;
>  	}


More information about the Skiboot mailing list