• Vladimir Zapolskiy's avatar
    media: camss: Split power domain management · 46cc0317
    Vladimir Zapolskiy authored
    There are three cases of power domain management on supported platforms:
    1) CAMSS on MSM8916, where a single VFE power domain is operated outside
       of the camss device driver,
    2) CAMSS on MSM8996 and SDM630/SDM660, where two VFE power domains are
       managed separately by the camss device driver, the power domains are
       linked and unlinked on demand by their functions vfe_pm_domain_on()
       and vfe_pm_domain_off() respectively,
    3) CAMSS on SDM845 and SM8250 platforms, and there are two VFE power
       domains and their parent power domain TITAN_TOP, the latter one
       shall be turned on prior to turning on any of VFE power domains.
    
    Due to a previously missing link between TITAN_TOP and VFEx power domains
    in the latter case, which is now fixed by [1], it was decided always to
    turn on all found VFE power domains and TITAN_TOP power domain, even if
    just one particular VFE is needed to be enabled or none of VFE power
    domains are required, for instance the latter case is when vfe_lite is in
    use. This misusage becomes more incovenient and clumsy, if next generations
    are to be supported, for instance CAMSS on SM8450 has three VFE power
    domains.
    
    The change splits the power management support for platforms with TITAN_TOP
    parent power domain, and, since 'power-domain-names' property is not
    present in camss device tree nodes, the assumption is that the first
    N power domains from the 'power-domains' list correspond to VFE power
    domains, and, if the number of power domains is greater than number of
    non-lite VFEs, then the last power domain from the list is the TITAN_TOP
    power domain.
    Signed-off-by: default avatarVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
    Reviewed-by: default avatarRobert Foss <robert.foss@linaro.org>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    46cc0317
camss-vfe-480.c 15.2 KB