• Valentine Barshak's avatar
    ibm_newemac: PowerPC 440GX EMAC PHY clock workaround · 0925ab5d
    Valentine Barshak authored
    The PowerPC 440GX Taishan board fails to reset EMAC3 (reset timeout
    error) if there's no link. Because of that it fails to find PHY
    chip. The older ibm_emac driver had a workaround for that: the
    EMAC_CLK_INTERNAL/EMAC_CLK_EXTERNAL macros, which toggle the Ethernet
    Clock Select bit in the SDR0_MFR register. This patch does the same for
    "ibm,emac-440gx" compatible chips. The workaround forces clock on -all-
    EMACs, so we select clock under global emac_phy_map_lock.
    
    BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff
    doesn't exist for MMIO type DCRs like Cell. Some future rework &
    improvements of the DCR infrastructure will make that cleaner but
    for now, this makes it work.
    Signed-off-by: default avatarValentine Barshak <vbarshak@ru.mvista.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    0925ab5d
core.c 77 KB