• chenhui zhao's avatar
    powerpc/fsl-pci: Add a workaround for PCI 5 errata · a8165d42
    chenhui zhao authored
    Issue:
    As a master, the PCI IP block can combine a memory write to the last PCI
    double word (4 bytes) of a cacheline with a 4 byte memory write to the
    first PCI double word of the subsequent cacheline. This affects 32-bit
    PCI target devices that blindly assert STOP on memory-write transactions,
    without detecting that the data beat being transferred is the last data
    beat of the transaction. It can cause a hang. PCI-X operation is not
    affected by this erratum.
    
    Workaround:
    Setting the bit MDS in the PCI Bus Function Register will disable the
    combining of crossing cacheline boundary requests into one burst
    transaction. Therefore, it can prevent the errata scenario from
    occurring.
    
    This errata exists in MPC8543, MPC8543E, MPC8545, MPC8545E, MPC8547,
    MPC8547E, MPC8548 and MPC8548E. Refer to PCI 5 in MPC8548 errata
    document.
    Signed-off-by: default avatarZhao Chenhui <chenhui.zhao@freescale.com>
    Signed-off-by: default avatarZhiqiang Hou <Zhiqiang.Hou@freescale.com>
    [scottwood: whitespace fix]
    Signed-off-by: default avatarScott Wood <oss@buserror.net>
    a8165d42
fsl_pci.c 33.5 KB