• Paul Walmsley's avatar
    OMAP3 hwmod: drop most of the OCP_SYSCONFIG.CLOCKACTIVITY code · a16b1f7f
    Paul Walmsley authored
    Earlier, the hwmod code had considered the OCP_SYSCONFIG.CLOCKACTIVITY
    bits to be incremental power saving bits, controlling internal IP
    block clock gates.  This was a misapprehension.  The CLOCKACTIVITY
    bits are used to indicate, in advance, which clocks will be cut when
    the module acknowledges an idle request.  This enables the IP block to
    take whatever action is necessary to complete any in-progress work
    before asserting its IdleAck.
    
    In the current Linux-OMAP code, this implies that the clock framework
    should be changing module CLOCKACTIVITY bits as module clocks are enabled
    and disabled.  We don't do that yet, but in the future, we should.
    This must wait until the clock tree is annotated with omap_hwmod pointers
    (or vice-versa).  In the meantime, drop most of the hwmod code that
    controls CLOCKACTIVITY bits to avoid confusion.
    
    This patch has benefited from many illuminating discussions with (in
    alphabetical order) Benoît Cousson <b-cousson@ti.com>, Rajendra Nayak
    <rnayak@ti.com>, and Sebastien Sabatier <s-sabatier1@ti.com>.
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Cc: Rajendra Nayak <rnayak@ti.com>
    Cc: Sebastien Sabatier <s-sabatier1@ti.com>
    Cc: Benoît Cousson <b-cousson@ti.com>
    a16b1f7f
omap_hwmod.c 38.4 KB