[PPC,SOUND] Fix audio gpio state detection
Benjamin Herrenschmidt
benh at kernel.crashing.org
Mon Feb 13 09:35:37 EST 2006
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 at 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.
More information about the Linuxppc-dev
mailing list