Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[POWERPC] 4xx: Fix PESDRn_UTLSET1 register setup on 460EX/GT

The patch fixes a bug, where the PESDRn_UTLSET1 register was setup
wrongly resulting in a non working PCIe port 1. With this fix both
PCIe ports work fine again.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

authored by

Stefan Roese and committed by
Josh Boyer
5f91925c b64c4c93

+4 -6
+4 -6
arch/powerpc/sysdev/ppc4xx_pci.c
··· 785 785 u32 val; 786 786 u32 utlset1; 787 787 788 - if (port->endpoint) { 788 + if (port->endpoint) 789 789 val = PTYPE_LEGACY_ENDPOINT << 20; 790 - utlset1 = 0x20222222; 791 - } else { 790 + else 792 791 val = PTYPE_ROOT_PORT << 20; 793 - utlset1 = 0x21222222; 794 - } 795 792 796 793 if (port->index == 0) { 797 794 val |= LNKW_X1 << 12; 795 + utlset1 = 0x20000000; 798 796 } else { 799 797 val |= LNKW_X4 << 12; 800 - utlset1 |= 0x00101101; 798 + utlset1 = 0x20101101; 801 799 } 802 800 803 801 mtdcri(SDR0, port->sdr_base + PESDRn_DLPSET, val);