• Archit Taneja's avatar
    OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting · 11354dd5
    Archit Taneja authored
    On OMAP3, in order to enable alpha blending for LCD and TV managers, we needed
    to set LCDALPHABLENDERENABLE/TVALPHABLENDERENABLE bits in DISPC_CONFIG. On
    OMAP4, alpha blending is always enabled by default, if the above bits are set,
    we switch to an OMAP3 compatibility mode where the zorder values in the pipeline
    attribute registers are ignored and a fixed priority is configured.
    
    Rename the manager_info member "alpha_enabled" to "partial_alpha_enabled" for
    more clarity. Introduce two dss_features FEAT_ALPHA_FIXED_ZORDER and
    FEAT_ALPHA_FREE_ZORDER which represent OMAP3-alpha compatibility mode and OMAP4
    alpha mode respectively. Introduce an overlay cap for ZORDER. The DSS2 user is
    expected to check for the ZORDER cap, if an overlay doesn't have this cap, the
    user is expected to set the parameter partial_alpha_enabled. If the overlay has
    ZORDER cap, the DSS2 user can assume that alpha blending is already enabled.
    
    Don't support OMAP3 compatibility mode for now. Trying to read/write to
    alpha_blending_enabled sysfs attribute issues a warning for OMAP4 and does not
    set the LCDALPHABLENDERENABLE/TVALPHABLENDERENABLE bits.
    
    Change alpha_enabled to partial_alpha_enabled in the omap_vout driver. Use
    overlay cap "OMAP_DSS_OVL_CAP_GLOBAL_ALPHA" to check if overlay supports alpha
    blending or not. Replace this with checks for VIDEO1 pipeline.
    
    Cc: linux-media@vger.kernel.org
    Cc: Lajos Molnar <molnar@ti.com>
    Signed-off-by: default avatarArchit Taneja <archit@ti.com>
    Acked-by: default avatarVaibhav Hiremath <hvaibhav@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    11354dd5
omap_vout.c 56.8 KB