* [PPC,SOUND] Fix audio gpio state detection
@ 2006-02-11 16:10 Andreas Schwab
2006-02-12 22:35 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 13+ messages in thread
From: Andreas Schwab @ 2006-02-11 16:10 UTC (permalink / raw)
To: alsa-devel; +Cc: linuxppc-dev
When booting with line out or headphone plugged, you won't hear anything.
The problem is that after reset all channels are muted, but the actual
value of the gpio port doesn't exactly match the active_val settings as
expected by check_audio_gpio. For example, the line_mute port is set to
7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
indicates that it is not active, even though it is. AFAICS only looking
at the low bit is enough to determine whether the port is active.
Signed-off-by: Andreas Schwab <schwab@suse.de>
Index: linux-2.6.16-rc2/sound/ppc/tumbler.c
===================================================================
--- linux-2.6.16-rc2.orig/sound/ppc/tumbler.c 2006-02-03 19:43:50.000000000 +0100
+++ linux-2.6.16-rc2/sound/ppc/tumbler.c 2006-02-11 03:46:30.000000000 +0100
@@ -207,7 +207,7 @@ static int check_audio_gpio(struct pmac_
ret = do_gpio_read(gp);
- return (ret & 0xd) == (gp->active_val & 0xd);
+ return (ret & 0x1) == (gp->active_val & 0x1);
}
static int read_audio_gpio(struct pmac_gpio *gp)
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-11 16:10 [PPC,SOUND] Fix audio gpio state detection Andreas Schwab
@ 2006-02-12 22:35 ` Benjamin Herrenschmidt
2006-02-12 22:46 ` Ben Collins
2006-02-26 17:39 ` Olaf Hering
0 siblings, 2 replies; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2006-02-12 22:35 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Sat, 2006-02-11 at 17:10 +0100, Andreas Schwab wrote:
> When booting with line out or headphone plugged, you won't hear anything.
> The problem is that after reset all channels are muted, but the actual
> value of the gpio port doesn't exactly match the active_val settings as
> expected by check_audio_gpio. For example, the line_mute port is set to
> 7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
> indicates that it is not active, even though it is. AFAICS only looking
> at the low bit is enough to determine whether the port is active.
>
> Signed-off-by: Andreas Schwab <schwab@suse.de>
>
> Index: linux-2.6.16-rc2/sound/ppc/tumbler.c
> ===================================================================
> --- linux-2.6.16-rc2.orig/sound/ppc/tumbler.c 2006-02-03 19:43:50.000000000 +0100
> +++ linux-2.6.16-rc2/sound/ppc/tumbler.c 2006-02-11 03:46:30.000000000 +0100
> @@ -207,7 +207,7 @@ static int check_audio_gpio(struct pmac_
>
> ret = do_gpio_read(gp);
>
> - return (ret & 0xd) == (gp->active_val & 0xd);
> + return (ret & 0x1) == (gp->active_val & 0x1);
> }
>
> static int read_audio_gpio(struct pmac_gpio *gp)
Can you sync with the patches Ben Collins is doing on this as well ?
Ben, what is your status ? Are you feeding those through upstream the
alsa folks ? Or waiting for me to do something ? :)
The above, if it appear to works well enough might be worth merging
now ...
Ben.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-12 22:35 ` Benjamin Herrenschmidt
@ 2006-02-12 22:46 ` Ben Collins
2006-02-12 23:27 ` Benjamin Herrenschmidt
2006-02-26 17:39 ` Olaf Hering
1 sibling, 1 reply; 13+ messages in thread
From: Ben Collins @ 2006-02-12 22:46 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: alsa-devel, Ben Collins, linuxppc-dev
On Mon, 2006-02-13 at 09:35 +1100, Benjamin Herrenschmidt wrote:
> Can you sync with the patches Ben Collins is doing on this as well ?
>
> Ben, what is your status ? Are you feeding those through upstream the
> alsa folks ? Or waiting for me to do something ? :)
>
> The above, if it appear to works well enough might be worth merging
> now ...
I haven't synced because I've been waiting for some kind of go ahead
from you. I can rediff against 2.6.16-git and send them to alsa, CC ppc
list.
--
Ben Collins
Kernel Developer - Ubuntu Linux
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-12 22:46 ` Ben Collins
@ 2006-02-12 23:27 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2006-02-12 23:27 UTC (permalink / raw)
To: Ben Collins; +Cc: alsa-devel, Ben Collins, linuxppc-dev
On Sun, 2006-02-12 at 17:46 -0500, Ben Collins wrote:
> On Mon, 2006-02-13 at 09:35 +1100, Benjamin Herrenschmidt wrote:
> > Can you sync with the patches Ben Collins is doing on this as well ?
> >
> > Ben, what is your status ? Are you feeding those through upstream the
> > alsa folks ? Or waiting for me to do something ? :)
> >
> > The above, if it appear to works well enough might be worth merging
> > now ...
>
> I haven't synced because I've been waiting for some kind of go ahead
> from you. I can rediff against 2.6.16-git and send them to alsa, CC ppc
> list.
Please, do so !
Thanks,
Ben.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-12 22:35 ` Benjamin Herrenschmidt
2006-02-12 22:46 ` Ben Collins
@ 2006-02-26 17:39 ` Olaf Hering
2006-02-26 19:19 ` [Alsa-devel] " Lee Revell
2006-03-01 22:30 ` Olaf Hering
1 sibling, 2 replies; 13+ messages in thread
From: Olaf Hering @ 2006-02-26 17:39 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: alsa-devel, Ben Collins, linuxppc-dev
On Mon, Feb 13, Benjamin Herrenschmidt wrote:
> On Sat, 2006-02-11 at 17:10 +0100, Andreas Schwab wrote:
> > When booting with line out or headphone plugged, you won't hear anything.
> > The problem is that after reset all channels are muted, but the actual
> > value of the gpio port doesn't exactly match the active_val settings as
> > expected by check_audio_gpio. For example, the line_mute port is set to
> > 7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
> > indicates that it is not active, even though it is. AFAICS only looking
> > at the low bit is enough to determine whether the port is active.
> >
> > Signed-off-by: Andreas Schwab <schwab@suse.de>
> >
> > Index: linux-2.6.16-rc2/sound/ppc/tumbler.c
> > ===================================================================
> > --- linux-2.6.16-rc2.orig/sound/ppc/tumbler.c 2006-02-03 19:43:50.000000000 +0100
> > +++ linux-2.6.16-rc2/sound/ppc/tumbler.c 2006-02-11 03:46:30.000000000 +0100
> > @@ -207,7 +207,7 @@ static int check_audio_gpio(struct pmac_
> >
> > ret = do_gpio_read(gp);
> >
> > - return (ret & 0xd) == (gp->active_val & 0xd);
> > + return (ret & 0x1) == (gp->active_val & 0x1);
> > }
> >
> > static int read_audio_gpio(struct pmac_gpio *gp)
This (sort of) breaks PowerMac3,4 (69 (PowerMac G4 Silver)). I have to
force it on up to now, but with this patch the internal speaker will not
work with or without my patch to force it on.
I get these values:
check_audio_gpio gp c040fc14 addr 0000006f ret 00000007
check_audio_gpio gp c040fbfc addr 00000070 ret 00000004
With speakers plugged in, both give 0x07
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50:
linux,device cfdc7808
name "gpio"
linux,phandle ff90fcd0
reg 00000050 00000030
built-in
device_type "gpio"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/extint-gpio16:
name "extint-gpio16"
linux,phandle ff910a00
interrupt-parent ff90fa80
interrupts 0000003e 00000000
AAPL,address 80000068
built-in
one-wire-bus "speaker-id"
AAPL,driver-name ".DallasDriver"
compatible "keywest-gpio16"
device_type "extint-gpio16"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/extint-gpio15:
name "extint-gpio15"
linux,phandle ff9107f8
interrupt-parent ff90fa80
interrupts 0000003d 00000000
AAPL,address 80000067
built-in
compatible "keywest-gpio15"
device_type "extint-gpio15"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/gpio11:
name "gpio11"
linux,phandle ff9105f8
AAPL,address 80000075
built-in
audio-gpio-active-state 00000000
audio-gpio "audio-hw-reset"
compatible "keywest-11"
device_type "gpio11"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/gpio6:
name "gpio6"
linux,phandle ff910400
AAPL,address 80000070
built-in
audio-gpio-active-state 00000000
audio-gpio "amp-mute"
compatible "keywest-6"
device_type "gpio6"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/gpio5:
name "gpio5"
linux,phandle ff910208
AAPL,address 8000006f
built-in
audio-gpio-active-state 00000000
audio-gpio "headphone-mute"
compatible "keywest-5"
device_type "gpio5"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/programmer-switch:
name "programmer-switch"
linux,phandle ff910058
interrupt-parent ff90fa80
interrupts 00000037 00000000
built-in
device_type "programmer-switch"
/proc/device-tree/pci@f2000000/mac-io@17/gpio@50/extint-gpio1:
name "extint-gpio1"
linux,phandle ff90fe38
AAPL,interrupt-priorities 00000001
interrupt-parent ff90fa80
interrupts 0000002f 00000001
built-in
compatible "keywest-gpio1"
device_type "extint-gpio1"
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Alsa-devel] Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-26 17:39 ` Olaf Hering
@ 2006-02-26 19:19 ` Lee Revell
2006-02-26 19:26 ` Olaf Hering
2006-03-01 22:30 ` Olaf Hering
1 sibling, 1 reply; 13+ messages in thread
From: Lee Revell @ 2006-02-26 19:19 UTC (permalink / raw)
To: Olaf Hering; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Sun, 2006-02-26 at 18:39 +0100, Olaf Hering wrote:
> /proc/device-tree/pci@f2000000/mac-io@17/gpio@50:
> linux,device cfdc7808
> name "gpio"
> linux,phandle ff90fcd0
> reg 00000050 00000030
> built-in
> device_type "gpio"
>
Argh, /proc abuse... "historical reasons" presumably?
Lee
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Alsa-devel] Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-26 19:19 ` [Alsa-devel] " Lee Revell
@ 2006-02-26 19:26 ` Olaf Hering
0 siblings, 0 replies; 13+ messages in thread
From: Olaf Hering @ 2006-02-26 19:26 UTC (permalink / raw)
To: Lee Revell; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Sun, Feb 26, Lee Revell wrote:
> Argh, /proc abuse... "historical reasons" presumably?
No, the way it works.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-02-26 17:39 ` Olaf Hering
2006-02-26 19:19 ` [Alsa-devel] " Lee Revell
@ 2006-03-01 22:30 ` Olaf Hering
2006-03-01 23:09 ` Benjamin Herrenschmidt
1 sibling, 1 reply; 13+ messages in thread
From: Olaf Hering @ 2006-03-01 22:30 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Sun, Feb 26, Olaf Hering wrote:
> On Mon, Feb 13, Benjamin Herrenschmidt wrote:
>
> > On Sat, 2006-02-11 at 17:10 +0100, Andreas Schwab wrote:
> > > When booting with line out or headphone plugged, you won't hear anything.
> > > The problem is that after reset all channels are muted, but the actual
> > > value of the gpio port doesn't exactly match the active_val settings as
> > > expected by check_audio_gpio. For example, the line_mute port is set to
> > > 7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
> > > indicates that it is not active, even though it is. AFAICS only looking
> > > at the low bit is enough to determine whether the port is active.
> > >
> > > Signed-off-by: Andreas Schwab <schwab@suse.de>
> > >
> > > Index: linux-2.6.16-rc2/sound/ppc/tumbler.c
> > > ===================================================================
> > > --- linux-2.6.16-rc2.orig/sound/ppc/tumbler.c 2006-02-03 19:43:50.000000000 +0100
> > > +++ linux-2.6.16-rc2/sound/ppc/tumbler.c 2006-02-11 03:46:30.000000000 +0100
> > > @@ -207,7 +207,7 @@ static int check_audio_gpio(struct pmac_
> > >
> > > ret = do_gpio_read(gp);
> > >
> > > - return (ret & 0xd) == (gp->active_val & 0xd);
> > > + return (ret & 0x1) == (gp->active_val & 0x1);
> > > }
> > >
> > > static int read_audio_gpio(struct pmac_gpio *gp)
>
> This (sort of) breaks PowerMac3,4 (69 (PowerMac G4 Silver)). I have to
> force it on up to now, but with this patch the internal speaker will not
> work with or without my patch to force it on.
But the patch fixes also my PowerBook4,1, I dont have to toggle the headphone
once to get the built-in speakers enabled.
Looks like 2.6.16 stuff, but its been broken for so long now...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-03-01 22:30 ` Olaf Hering
@ 2006-03-01 23:09 ` Benjamin Herrenschmidt
2006-03-01 23:49 ` Ben Collins
0 siblings, 1 reply; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2006-03-01 23:09 UTC (permalink / raw)
To: Olaf Hering; +Cc: linuxppc-dev, alsa-devel, Ben Collins
> > This (sort of) breaks PowerMac3,4 (69 (PowerMac G4 Silver)). I have to
> > force it on up to now, but with this patch the internal speaker will not
> > work with or without my patch to force it on.
>
> But the patch fixes also my PowerBook4,1, I dont have to toggle the headphone
> once to get the built-in speakers enabled.
> Looks like 2.6.16 stuff, but its been broken for so long now...
What is the status of Ben's latest stuff ?
Ben.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-03-01 23:09 ` Benjamin Herrenschmidt
@ 2006-03-01 23:49 ` Ben Collins
2006-03-02 0:00 ` Olaf Hering
2006-03-02 0:04 ` Benjamin Herrenschmidt
0 siblings, 2 replies; 13+ messages in thread
From: Ben Collins @ 2006-03-01 23:49 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, alsa-devel, Ben Collins, Olaf Hering
On Thu, 2006-03-02 at 10:09 +1100, Benjamin Herrenschmidt wrote:
> > > This (sort of) breaks PowerMac3,4 (69 (PowerMac G4 Silver)). I have to
> > > force it on up to now, but with this patch the internal speaker will not
> > > work with or without my patch to force it on.
> >
> > But the patch fixes also my PowerBook4,1, I dont have to toggle the headphone
> > once to get the built-in speakers enabled.
> > Looks like 2.6.16 stuff, but its been broken for so long now...
>
> What is the status of Ben's latest stuff ?
I'm rediffing now. However, I may not include my tumbler changes
immediately. For some reason, those are the ones causing problems. I
need to review the diff and see if I can find the problem (which I
cannot reproduce).
The toonie stuff is great. Been working really well for all the folks
I've heard from, and for me on my PowerBook5,9.
--
Ubuntu - http://www.ubuntu.com/
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
SwissDisk - http://www.swissdisk.com/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-03-01 23:49 ` Ben Collins
@ 2006-03-02 0:00 ` Olaf Hering
2006-03-02 0:04 ` Benjamin Herrenschmidt
2006-03-02 0:04 ` Benjamin Herrenschmidt
1 sibling, 1 reply; 13+ messages in thread
From: Olaf Hering @ 2006-03-02 0:00 UTC (permalink / raw)
To: Ben Collins; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Wed, Mar 01, Ben Collins wrote:
> I'm rediffing now. However, I may not include my tumbler changes
> immediately. For some reason, those are the ones causing problems. I
> need to review the diff and see if I can find the problem (which I
> cannot reproduce).
Can you make individual patches, each one fixing one thing, going from A
to B. You know that hch song...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-03-01 23:49 ` Ben Collins
2006-03-02 0:00 ` Olaf Hering
@ 2006-03-02 0:04 ` Benjamin Herrenschmidt
1 sibling, 0 replies; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2006-03-02 0:04 UTC (permalink / raw)
To: Ben Collins; +Cc: linuxppc-dev, alsa-devel, Ben Collins, Olaf Hering
On Wed, 2006-03-01 at 18:49 -0500, Ben Collins wrote:
> On Thu, 2006-03-02 at 10:09 +1100, Benjamin Herrenschmidt wrote:
> > > > This (sort of) breaks PowerMac3,4 (69 (PowerMac G4 Silver)). I have to
> > > > force it on up to now, but with this patch the internal speaker will not
> > > > work with or without my patch to force it on.
> > >
> > > But the patch fixes also my PowerBook4,1, I dont have to toggle the headphone
> > > once to get the built-in speakers enabled.
> > > Looks like 2.6.16 stuff, but its been broken for so long now...
> >
> > What is the status of Ben's latest stuff ?
>
> I'm rediffing now. However, I may not include my tumbler changes
> immediately. For some reason, those are the ones causing problems. I
> need to review the diff and see if I can find the problem (which I
> cannot reproduce).
>
> The toonie stuff is great. Been working really well for all the folks
> I've heard from, and for me on my PowerBook5,9.
There is an issue with some models where asserting both mutes will reset
the codec, so you have to be careful with that. Then, there is the
old-style GPIOs where you can read the polarity from the device-tree and
the new style ones...
I _think_ apple uses the GPIO platform functions only on machines that
have "include-k2-support" property in macio too, so maybe you are trying
to use them on earlier machines and they are bogus...
Send me the complete patch and I'll see if I spot something. Olaf, can
you give me quick summary of the machines that have problems with Ben's
code ?
Ben.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PPC,SOUND] Fix audio gpio state detection
2006-03-02 0:00 ` Olaf Hering
@ 2006-03-02 0:04 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 13+ messages in thread
From: Benjamin Herrenschmidt @ 2006-03-02 0:04 UTC (permalink / raw)
To: Olaf Hering; +Cc: linuxppc-dev, alsa-devel, Ben Collins
On Thu, 2006-03-02 at 01:00 +0100, Olaf Hering wrote:
> On Wed, Mar 01, Ben Collins wrote:
>
> > I'm rediffing now. However, I may not include my tumbler changes
> > immediately. For some reason, those are the ones causing problems. I
> > need to review the diff and see if I can find the problem (which I
> > cannot reproduce).
>
> Can you make individual patches, each one fixing one thing, going from A
> to B. You know that hch song...
In that case, it's difficult as it's more like a rewrite of the GPIO
handling from scratch (well... almost)
Ben.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2006-03-02 0:04 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-11 16:10 [PPC,SOUND] Fix audio gpio state detection Andreas Schwab
2006-02-12 22:35 ` Benjamin Herrenschmidt
2006-02-12 22:46 ` Ben Collins
2006-02-12 23:27 ` Benjamin Herrenschmidt
2006-02-26 17:39 ` Olaf Hering
2006-02-26 19:19 ` [Alsa-devel] " Lee Revell
2006-02-26 19:26 ` Olaf Hering
2006-03-01 22:30 ` Olaf Hering
2006-03-01 23:09 ` Benjamin Herrenschmidt
2006-03-01 23:49 ` Ben Collins
2006-03-02 0:00 ` Olaf Hering
2006-03-02 0:04 ` Benjamin Herrenschmidt
2006-03-02 0:04 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).