Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
@ 2019-12-19 21:32 Marek Vasut
  2019-12-20 13:00 ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2019-12-19 21:32 UTC (permalink / raw)
  To: alsa-devel
  Cc: Marek Vasut, Igor Opaniuk, Marcel Ziswiler, Oleksandr Suvorov,
	Mark Brown, festevam

Comparing the voltage of VDDA and VDDIO to determine whether or not to
enable VDDC manual override is insufficient. This is a problem in case
the VDDA is supplied from different regulator than VDDIO, while both
report the same voltage to the regulator framework. In that case where
VDDA and VDDIO is supplied by different regulators, the VDDC manual
override must not be applied.

Fixes: b6319b061ba2 ("ASoC: sgtl5000: Fix charge pump source assignment")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Igor Opaniuk <igor.opaniuk@toradex.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
---
 sound/soc/codecs/sgtl5000.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 93da6b58c97df..b4568f417d78e 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -28,6 +28,8 @@
 
 #include "sgtl5000.h"
 
+#include "../../../drivers/regulator/internal.h"
+
 #define SGTL5000_DAP_REG_OFFSET	0x0100
 #define SGTL5000_MAX_REG_OFFSET	0x013A
 
@@ -1344,7 +1346,8 @@ static int sgtl5000_set_power_regs(struct snd_soc_component *component)
 		 * if vddio == vdda the source of charge pump should be
 		 * assigned manually to VDDIO
 		 */
-		if (vddio == vdda) {
+		if (sgtl5000->supplies[VDDA].consumer->rdev ==
+		    sgtl5000->supplies[VDDIO].consumer->rdev) {
 			lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
 			lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<
 				    SGTL5000_VDDC_MAN_ASSN_SHIFT;
-- 
2.24.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  2019-12-19 21:32 [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison Marek Vasut
@ 2019-12-20 13:00 ` Mark Brown
  2019-12-20 13:01   ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2019-12-20 13:00 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Marcel Ziswiler, Oleksandr Suvorov, alsa-devel, festevam,
	Igor Opaniuk


[-- Attachment #1.1: Type: text/plain, Size: 286 bytes --]

On Thu, Dec 19, 2019 at 10:32:57PM +0100, Marek Vasut wrote:

>  #include "sgtl5000.h"
>  
> +#include "../../../drivers/regulator/internal.h"
> +

This sort of peering inside the internals of the framework is obviously
not OK, please add an interface for this if it's needed.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  2019-12-20 13:00 ` Mark Brown
@ 2019-12-20 13:01   ` Marek Vasut
  2019-12-20 13:02     ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2019-12-20 13:01 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marcel Ziswiler, Oleksandr Suvorov, alsa-devel, festevam,
	Igor Opaniuk

On 12/20/19 2:00 PM, Mark Brown wrote:
> On Thu, Dec 19, 2019 at 10:32:57PM +0100, Marek Vasut wrote:
> 
>>  #include "sgtl5000.h"
>>  
>> +#include "../../../drivers/regulator/internal.h"
>> +
> 
> This sort of peering inside the internals of the framework is obviously
> not OK, please add an interface for this if it's needed.

It's needed, unless there is a better way to compare two regulators in
the driver already. Is there ?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  2019-12-20 13:01   ` Marek Vasut
@ 2019-12-20 13:02     ` Mark Brown
  2019-12-20 13:10       ` Marek Vasut
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2019-12-20 13:02 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Marcel Ziswiler, Oleksandr Suvorov, alsa-devel, festevam,
	Igor Opaniuk


[-- Attachment #1.1: Type: text/plain, Size: 417 bytes --]

On Fri, Dec 20, 2019 at 02:01:30PM +0100, Marek Vasut wrote:
> On 12/20/19 2:00 PM, Mark Brown wrote:

> > This sort of peering inside the internals of the framework is obviously
> > not OK, please add an interface for this if it's needed.

> It's needed, unless there is a better way to compare two regulators in
> the driver already. Is there ?

Like I said above "please add an interface for this if it's needed".

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  2019-12-20 13:02     ` Mark Brown
@ 2019-12-20 13:10       ` Marek Vasut
  2019-12-20 16:01         ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2019-12-20 13:10 UTC (permalink / raw)
  To: Mark Brown
  Cc: Marcel Ziswiler, Oleksandr Suvorov, alsa-devel, festevam,
	Igor Opaniuk

On 12/20/19 2:02 PM, Mark Brown wrote:
> On Fri, Dec 20, 2019 at 02:01:30PM +0100, Marek Vasut wrote:
>> On 12/20/19 2:00 PM, Mark Brown wrote:
> 
>>> This sort of peering inside the internals of the framework is obviously
>>> not OK, please add an interface for this if it's needed.
> 
>> It's needed, unless there is a better way to compare two regulators in
>> the driver already. Is there ?
> 
> Like I said above "please add an interface for this if it's needed".

I'm asking whether such a thing exists already :)

If not, then I'll add it in V2.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  2019-12-20 13:10       ` Marek Vasut
@ 2019-12-20 16:01         ` Mark Brown
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2019-12-20 16:01 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Marcel Ziswiler, Oleksandr Suvorov, alsa-devel, festevam,
	Igor Opaniuk


[-- Attachment #1.1: Type: text/plain, Size: 288 bytes --]

On Fri, Dec 20, 2019 at 02:10:13PM +0100, Marek Vasut wrote:
> On 12/20/19 2:02 PM, Mark Brown wrote:

> > Like I said above "please add an interface for this if it's needed".

> I'm asking whether such a thing exists already :)

> If not, then I'll add it in V2.

You'll need to add it.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-12-20 16:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-19 21:32 [alsa-devel] [PATCH] ASoC: sgtl5000: Fix VDDA and VDDIO comparison Marek Vasut
2019-12-20 13:00 ` Mark Brown
2019-12-20 13:01   ` Marek Vasut
2019-12-20 13:02     ` Mark Brown
2019-12-20 13:10       ` Marek Vasut
2019-12-20 16:01         ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox