2018-10-03 13:59:09

by Wolfram Sang

[permalink] [raw]
Subject: [PATCH] mfd: bd9571mwv: add volatile register to make DVFS work

From: Dien Pham <[email protected]>

Because BD9571MWV_DVFS_MONIVDAC is not defined in the volatile table,
the physical register value is not updated by regmap and DVFS doesn't
work as expected. Fix it!

Signed-off-by: Dien Pham <[email protected]>
[wsa: rebase, add 'Fixes', reword commit message]
Signed-off-by: Wolfram Sang <[email protected]>
Fixes: d3ea21272094 ("mfd: Add ROHM BD9571MWV-M MFD PMIC driver")
---

Grabbed from the BSP and confirmed by the datasheet. The register is RO
and reflecting states depending on other registers.

drivers/mfd/bd9571mwv.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/bd9571mwv.c b/drivers/mfd/bd9571mwv.c
index 503979c81dae..fab3cdc27ed6 100644
--- a/drivers/mfd/bd9571mwv.c
+++ b/drivers/mfd/bd9571mwv.c
@@ -59,6 +59,7 @@ static const struct regmap_access_table bd9571mwv_writable_table = {
};

static const struct regmap_range bd9571mwv_volatile_yes_ranges[] = {
+ regmap_reg_range(BD9571MWV_DVFS_MONIVDAC, BD9571MWV_DVFS_MONIVDAC),
regmap_reg_range(BD9571MWV_GPIO_IN, BD9571MWV_GPIO_IN),
regmap_reg_range(BD9571MWV_GPIO_INT, BD9571MWV_GPIO_INT),
regmap_reg_range(BD9571MWV_INT_INTREQ, BD9571MWV_INT_INTREQ),
--
2.19.0



2018-11-09 11:05:21

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH] mfd: bd9571mwv: add volatile register to make DVFS work

On Wed, Oct 03, 2018 at 03:58:41PM +0200, Wolfram Sang wrote:
> From: Dien Pham <[email protected]>
>
> Because BD9571MWV_DVFS_MONIVDAC is not defined in the volatile table,
> the physical register value is not updated by regmap and DVFS doesn't
> work as expected. Fix it!
>
> Signed-off-by: Dien Pham <[email protected]>
> [wsa: rebase, add 'Fixes', reword commit message]
> Signed-off-by: Wolfram Sang <[email protected]>
> Fixes: d3ea21272094 ("mfd: Add ROHM BD9571MWV-M MFD PMIC driver")
> ---

Any blockers for this one?

>
> Grabbed from the BSP and confirmed by the datasheet. The register is RO
> and reflecting states depending on other registers.
>
> drivers/mfd/bd9571mwv.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mfd/bd9571mwv.c b/drivers/mfd/bd9571mwv.c
> index 503979c81dae..fab3cdc27ed6 100644
> --- a/drivers/mfd/bd9571mwv.c
> +++ b/drivers/mfd/bd9571mwv.c
> @@ -59,6 +59,7 @@ static const struct regmap_access_table bd9571mwv_writable_table = {
> };
>
> static const struct regmap_range bd9571mwv_volatile_yes_ranges[] = {
> + regmap_reg_range(BD9571MWV_DVFS_MONIVDAC, BD9571MWV_DVFS_MONIVDAC),
> regmap_reg_range(BD9571MWV_GPIO_IN, BD9571MWV_GPIO_IN),
> regmap_reg_range(BD9571MWV_GPIO_INT, BD9571MWV_GPIO_INT),
> regmap_reg_range(BD9571MWV_INT_INTREQ, BD9571MWV_INT_INTREQ),
> --
> 2.19.0
>


Attachments:
(No filename) (1.39 kB)
signature.asc (849.00 B)
Download all attachments

2018-11-11 13:28:19

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] mfd: bd9571mwv: add volatile register to make DVFS work

On 11/09/2018 12:04 PM, Wolfram Sang wrote:
> On Wed, Oct 03, 2018 at 03:58:41PM +0200, Wolfram Sang wrote:
>> From: Dien Pham <[email protected]>
>>
>> Because BD9571MWV_DVFS_MONIVDAC is not defined in the volatile table,
>> the physical register value is not updated by regmap and DVFS doesn't
>> work as expected. Fix it!
>>
>> Signed-off-by: Dien Pham <[email protected]>
>> [wsa: rebase, add 'Fixes', reword commit message]
>> Signed-off-by: Wolfram Sang <[email protected]>
>> Fixes: d3ea21272094 ("mfd: Add ROHM BD9571MWV-M MFD PMIC driver")
>> ---
>
> Any blockers for this one?
>
>>
>> Grabbed from the BSP and confirmed by the datasheet. The register is RO
>> and reflecting states depending on other registers.
>>
>> drivers/mfd/bd9571mwv.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/mfd/bd9571mwv.c b/drivers/mfd/bd9571mwv.c
>> index 503979c81dae..fab3cdc27ed6 100644
>> --- a/drivers/mfd/bd9571mwv.c
>> +++ b/drivers/mfd/bd9571mwv.c
>> @@ -59,6 +59,7 @@ static const struct regmap_access_table bd9571mwv_writable_table = {
>> };
>>
>> static const struct regmap_range bd9571mwv_volatile_yes_ranges[] = {
>> + regmap_reg_range(BD9571MWV_DVFS_MONIVDAC, BD9571MWV_DVFS_MONIVDAC),
>> regmap_reg_range(BD9571MWV_GPIO_IN, BD9571MWV_GPIO_IN),
>> regmap_reg_range(BD9571MWV_GPIO_INT, BD9571MWV_GPIO_INT),
>> regmap_reg_range(BD9571MWV_INT_INTREQ, BD9571MWV_INT_INTREQ),
>> --

Makes sense,

Reviewed-by: Marek Vasut <[email protected]>

--
Best regards,
Marek Vasut

2018-11-13 08:01:35

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] mfd: bd9571mwv: add volatile register to make DVFS work

On Wed, 03 Oct 2018, Wolfram Sang wrote:

> From: Dien Pham <[email protected]>
>
> Because BD9571MWV_DVFS_MONIVDAC is not defined in the volatile table,
> the physical register value is not updated by regmap and DVFS doesn't
> work as expected. Fix it!
>
> Signed-off-by: Dien Pham <[email protected]>
> [wsa: rebase, add 'Fixes', reword commit message]
> Signed-off-by: Wolfram Sang <[email protected]>
> Fixes: d3ea21272094 ("mfd: Add ROHM BD9571MWV-M MFD PMIC driver")
> ---
>
> Grabbed from the BSP and confirmed by the datasheet. The register is RO
> and reflecting states depending on other registers.
>
> drivers/mfd/bd9571mwv.c | 1 +
> 1 file changed, 1 insertion(+)

Applied, thanks.

--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog