• Paul Walmsley's avatar
    OMAP2/3: VENC hwmod: add OCPIF_SWSUP_IDLE flag to interface · c39bee8a
    Paul Walmsley authored
    According to the hwmod interface data, the DSS submodule "VENC" uses a
    clock, "dss_54m_fck"/"dss_tv_fck", which the PRCM cannot autoidle.  By
    default, the hwmod code assumes that interface clocks can be autoidled
    by the PRCM.  When the interface clock can't be autoidled by the PRCM,
    those interfaces must be marked with the OCPIF_SWSUP_IDLE flag.
    Otherwise, the "interface clock" will always have a non-zero use
    count, and the device won't enter idle.  This problem was observed on
    N8x0.
    
    Fix the immediate problem by marking the VENC interface with the
    OCPIF_SWSUP_IDLE flag.  But it's not clear that
    "dss_54m_fck"/"dss_tv_fck" is really the correct interface clock for
    VENC.  It may be that the VENC interface should use a
    hardware-autoidling interface clock.  This is the situation on OMAP4,
    which uses "l3_div_ck" as the VENC interface clock, which can be
    autoidled by the PRCM.  Clarification from TI is needed.
    
    Problem found and patch tested on N8x0 by Tony Lindgren
    <tony@atomide.com>.
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Senthilvadivu Guruswamy <svadivu@ti.com>
    Cc: Sumit Semwal <sumit.semwal@ti.com>
    Cc: Kevin Hilman <khilman@ti.com>
    Cc: Benoît Cousson <b-cousson@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    c39bee8a
omap_hwmod_3xxx_data.c 95.9 KB