mirror of
https://github.com/torvalds/linux
synced 2024-09-30 00:10:51 +00:00
pmdomain providers:
- qcom: Skip retention level for rpmhpd's -----BEGIN PGP SIGNATURE----- iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmaRQlkXHHVsZi5oYW5z c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmJ5w//XsxG6pKTs/g8OoyYKHpS+b4z oL5ozlYkhOR6t5Wy6QE5a6RLtbiL2cI9d/ZC8611oVV9ZIqrKpABIgfH/VkOcpu+ YoE/wUqmc/ewn6xC/7cvRz8DdfXN5UMghWaCNTX7tWidt2WUPFWcrYi7CTGjOPFw TarXqJ08J7ShYDlMgsAEYH3VsJCMNYuBuhS3W1yQh1+nvOkD4iddQZ39ntKTec6J 9NyyysiwfLONc5KoNoA4TjdeoARo37kG6lfEuDKrpH5H+xAYXmNlLjKhtG6nrtv1 bd4C/d7JMj5Vjd3pJFXHwKNV/1VbkZl0cr4/7Z0QK18odiK/uE925RG7tS2Bmsl/ h9oXPlLPJQmpbLAR+J8CHX5IXMe1J2DI4Np4AiWjZch+BVM5isAy0ltp5vmIa2B/ yxhLhVf8yePlqdSWR1gz+Ez2nX27cz2ljz/eupOtu9sQHutd3a6+jgxwaKJ5h0C4 I/P1TiggtksmGkbZMDzhfCi6TpklOTi5pGfeUxbX/zWY+vDrKcO08n9/FoInpNmg Y407+YaGHwuWF2U/NDVJa7HKnxq8njRRLyq5ivqMJ5MHb4rVWJA4Zjz9yY0IVHjU wKCtjQyjJoawNHlMMaBfM/A8UQpJLA7m4X0fCfr1BDQ+B7P3ZLHvrZ/wMwBulwgL Lwy42wUqTb0kH5oIEyo= =Hh5b -----END PGP SIGNATURE----- Merge tag 'pmdomain-v6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm Pull pmdomain fix from Ulf Hansson: - qcom: Skip retention level for rpmhpd's * tag 'pmdomain-v6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: pmdomain: qcom: rpmhpd: Skip retention level for Power Domains
This commit is contained in:
commit
ac6a9e07a7
|
@ -40,6 +40,7 @@
|
|||
* @addr: Resource address as looped up using resource name from
|
||||
* cmd-db
|
||||
* @state_synced: Indicator that sync_state has been invoked for the rpmhpd resource
|
||||
* @skip_retention_level: Indicate that retention level should not be used for the power domain
|
||||
*/
|
||||
struct rpmhpd {
|
||||
struct device *dev;
|
||||
|
@ -56,6 +57,7 @@ struct rpmhpd {
|
|||
const char *res_name;
|
||||
u32 addr;
|
||||
bool state_synced;
|
||||
bool skip_retention_level;
|
||||
};
|
||||
|
||||
struct rpmhpd_desc {
|
||||
|
@ -173,6 +175,7 @@ static struct rpmhpd mxc = {
|
|||
.pd = { .name = "mxc", },
|
||||
.peer = &mxc_ao,
|
||||
.res_name = "mxc.lvl",
|
||||
.skip_retention_level = true,
|
||||
};
|
||||
|
||||
static struct rpmhpd mxc_ao = {
|
||||
|
@ -180,6 +183,7 @@ static struct rpmhpd mxc_ao = {
|
|||
.active_only = true,
|
||||
.peer = &mxc,
|
||||
.res_name = "mxc.lvl",
|
||||
.skip_retention_level = true,
|
||||
};
|
||||
|
||||
static struct rpmhpd nsp = {
|
||||
|
@ -819,6 +823,9 @@ static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)
|
|||
return -EINVAL;
|
||||
|
||||
for (i = 0; i < rpmhpd->level_count; i++) {
|
||||
if (rpmhpd->skip_retention_level && buf[i] == RPMH_REGULATOR_LEVEL_RETENTION)
|
||||
continue;
|
||||
|
||||
rpmhpd->level[i] = buf[i];
|
||||
|
||||
/* Remember the first corner with non-zero level */
|
||||
|
|
Loading…
Reference in a new issue