]> git.hungrycats.org Git - linux/commitdiff
soc: mediatek: pm-domains: Add a meaningful power domain name
authorEnric Balletbo i Serra <enric.balletbo@collabora.com>
Thu, 25 Feb 2021 17:49:57 +0000 (18:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 08:30:00 +0000 (10:30 +0200)
commit 022b02b4505ecea5eda02b18683531e49f7d8eb7 upstream.

Add the power domains names to the power domain struct so we
have meaningful name for every power domain. This also removes the
following debugfs error message.

  [    2.242068] debugfs: Directory 'power-domain' with parent 'pm_genpd' already present!
  [    2.249949] debugfs: Directory 'power-domain' with parent 'pm_genpd' already present!
  [    2.257784] debugfs: Directory 'power-domain' with parent 'pm_genpd' already present!
  ...

Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power domains")
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210225175000.824661-1-enric.balletbo@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/soc/mediatek/mt8173-pm-domains.h
drivers/soc/mediatek/mtk-pm-domains.c
drivers/soc/mediatek/mtk-pm-domains.h

index 3e8ee5dabb437290e41679ad2ae1cf69c0d49f1d..654c717e546711e94286e0141b103918ce04d5e0 100644 (file)
 
 static const struct scpsys_domain_data scpsys_domain_data_mt8173[] = {
        [MT8173_POWER_DOMAIN_VDEC] = {
+               .name = "vdec",
                .sta_mask = PWR_STATUS_VDEC,
                .ctl_offs = SPM_VDE_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(12, 12),
        },
        [MT8173_POWER_DOMAIN_VENC] = {
+               .name = "venc",
                .sta_mask = PWR_STATUS_VENC,
                .ctl_offs = SPM_VEN_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(15, 12),
        },
        [MT8173_POWER_DOMAIN_ISP] = {
+               .name = "isp",
                .sta_mask = PWR_STATUS_ISP,
                .ctl_offs = SPM_ISP_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(13, 12),
        },
        [MT8173_POWER_DOMAIN_MM] = {
+               .name = "mm",
                .sta_mask = PWR_STATUS_DISP,
                .ctl_offs = SPM_DIS_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
@@ -40,18 +44,21 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8173[] = {
                },
        },
        [MT8173_POWER_DOMAIN_VENC_LT] = {
+               .name = "venc_lt",
                .sta_mask = PWR_STATUS_VENC_LT,
                .ctl_offs = SPM_VEN2_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(15, 12),
        },
        [MT8173_POWER_DOMAIN_AUDIO] = {
+               .name = "audio",
                .sta_mask = PWR_STATUS_AUDIO,
                .ctl_offs = SPM_AUDIO_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(15, 12),
        },
        [MT8173_POWER_DOMAIN_USB] = {
+               .name = "usb",
                .sta_mask = PWR_STATUS_USB,
                .ctl_offs = SPM_USB_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
@@ -59,18 +66,21 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8173[] = {
                .caps = MTK_SCPD_ACTIVE_WAKEUP,
        },
        [MT8173_POWER_DOMAIN_MFG_ASYNC] = {
+               .name = "mfg_async",
                .sta_mask = PWR_STATUS_MFG_ASYNC,
                .ctl_offs = SPM_MFG_ASYNC_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = 0,
        },
        [MT8173_POWER_DOMAIN_MFG_2D] = {
+               .name = "mfg_2d",
                .sta_mask = PWR_STATUS_MFG_2D,
                .ctl_offs = SPM_MFG_2D_PWR_CON,
                .sram_pdn_bits = GENMASK(11, 8),
                .sram_pdn_ack_bits = GENMASK(13, 12),
        },
        [MT8173_POWER_DOMAIN_MFG] = {
+               .name = "mfg",
                .sta_mask = PWR_STATUS_MFG,
                .ctl_offs = SPM_MFG_PWR_CON,
                .sram_pdn_bits = GENMASK(13, 8),
index fb70cb3b07b36ab21e3775ba6b1e479d919f5d0f..d85bf2ef959746dc6b93ecafff9fbade23e52ae0 100644 (file)
@@ -397,7 +397,11 @@ generic_pm_domain *scpsys_add_one_domain(struct scpsys *scpsys, struct device_no
                goto err_unprepare_subsys_clocks;
        }
 
-       pd->genpd.name = node->name;
+       if (!pd->data->name)
+               pd->genpd.name = node->name;
+       else
+               pd->genpd.name = pd->data->name;
+
        pd->genpd.power_off = scpsys_power_off;
        pd->genpd.power_on = scpsys_power_on;
 
index a2f4d8f97e058e424171417fd2e897515ed354fd..c275bbaa9b0d51b7655bb7285dfd4b346104b52f 100644 (file)
@@ -74,6 +74,7 @@ struct scpsys_bus_prot_data {
 
 /**
  * struct scpsys_domain_data - scp domain data for power on/off flow
+ * @name: The name of the power domain.
  * @sta_mask: The mask for power on/off status bit.
  * @ctl_offs: The offset for main power control register.
  * @sram_pdn_bits: The mask for sram power control bits.
@@ -83,6 +84,7 @@ struct scpsys_bus_prot_data {
  * @bp_smi: bus protection for smi subsystem
  */
 struct scpsys_domain_data {
+       const char *name;
        u32 sta_mask;
        int ctl_offs;
        u32 sram_pdn_bits;