1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/media/platform/qcom/camss
Vladimir Zapolskiy 46cc031754 media: camss: Split power domain management
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: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-11-08 08:41:36 +00:00
..
camss-csid-4-1.c media: camss: Refactor CSID HW version support 2021-03-22 12:26:44 +01:00
camss-csid-4-7.c media: camss: Refactor CSID HW version support 2021-03-22 12:26:44 +01:00
camss-csid-gen1.h media: camss: Add missing format identifiers 2021-03-22 12:24:28 +01:00
camss-csid-gen2.c media: camss: Replace hard coded value with parameter 2022-03-07 17:21:53 +01:00
camss-csid-gen2.h media: camss: Add missing format identifiers 2021-03-22 12:24:28 +01:00
camss-csid.c media: mc-entity: Rename media_entity_remote_pad() to media_pad_remote_pad_first() 2022-07-17 11:21:35 +01:00
camss-csid.h media: camss: Add regulator_bulk support 2022-03-07 11:46:12 +01:00
camss-csiphy-2ph-1-0.c media: camss: csiphy: Move to hardcode CSI Clock Lane number 2022-02-17 09:39:04 +01:00
camss-csiphy-3ph-1-0.c media: camss: csiphy: Move to hardcode CSI Clock Lane number 2022-02-17 09:39:04 +01:00
camss-csiphy.c media: mc-entity: Rename media_entity_remote_pad() to media_pad_remote_pad_first() 2022-07-17 11:21:35 +01:00
camss-csiphy.h media: camss: csiphy: Move to hardcode CSI Clock Lane number 2022-02-17 09:39:04 +01:00
camss-ispif.c media: mc-entity: Rename media_entity_remote_pad() to media_pad_remote_pad_first() 2022-07-17 11:21:35 +01:00
camss-ispif.h media: camss: Make ISPIF subdevice optional 2021-03-22 12:19:49 +01:00
camss-vfe-4-1.c media: camss: vfe: simplify vfe_get_wm_sizes() 2021-09-30 10:07:55 +02:00
camss-vfe-4-7.c media: camss: vfe: simplify vfe_get_wm_sizes() 2021-09-30 10:07:55 +02:00
camss-vfe-4-8.c media: camss: vfe: simplify vfe_get_wm_sizes() 2021-09-30 10:07:55 +02:00
camss-vfe-170.c media: camss: Split power domain management 2022-11-08 08:41:36 +00:00
camss-vfe-480.c media: camss: Split power domain management 2022-11-08 08:41:36 +00:00
camss-vfe-gen1.c media: camss: Refactor VFE HW version support 2021-03-22 12:22:15 +01:00
camss-vfe-gen1.h media: camss: Refactor VFE HW version support 2021-03-22 12:22:15 +01:00
camss-vfe.c media: mc-entity: Rename media_entity_remote_pad() to media_pad_remote_pad_first() 2022-07-17 11:21:35 +01:00
camss-vfe.h media: camss: Move and unexport functions specific to ISPIF 2022-06-20 10:30:35 +01:00
camss-video.c media: camss: Clean up received buffers on failed start of streaming 2022-11-08 08:39:08 +00:00
camss-video.h media: qcom/camss: use vb2_video_unregister_device() 2020-08-28 14:59:50 +02:00
camss.c media: camss: Split power domain management 2022-11-08 08:41:36 +00:00
camss.h media: camss: Collect information about a number of lite VFEs 2022-11-08 08:40:20 +00:00
Kconfig media: Kconfig: cleanup VIDEO_DEV dependencies 2022-03-18 05:58:35 +01:00
Makefile media: camss: add support for SM8250 camss 2022-01-23 21:18:41 +01:00