• G
    clk: shmobile: div6: Avoid changing divisor in .disable() · 7980a861
    Geert Uytterhoeven 提交于
    While DIV6 clocks require the divisor field to be non-zero when stopping
    the clock, some clocks (e.g. ZB on sh73a0) fail to be re-enabled later
    if the divisor field is changed when stopping the clock.
    The reason for this is unknown.
    
    To fix this, do not touch the divisor field if it's already non-zero.
    
    On kzm9g, the smsc911x Ethernet controller is connected to the sh73a0
    Bus State Controller, which is clocked by the ZB clock. Without this
    fix, if the ZB clock is disabled during system suspend, and re-enabled
    during resume, the kernel locks up when the smsc911x driver tries to
    access the Ethernet registers.
    Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    7980a861
clk-div6.c 6.8 KB