Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
ef47bf38
Commit
ef47bf38
authored
Dec 01, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/misc' into topic/misc
parents
306ecee9
8ee763b9
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
64 additions
and
21 deletions
+64
-21
sound/arm/aaci.c
sound/arm/aaci.c
+5
-1
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_conexant.c
+12
-3
sound/pci/hda/patch_nvhdmi.c
sound/pci/hda/patch_nvhdmi.c
+2
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+10
-7
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+2
-0
sound/pci/ice1712/ice1712.h
sound/pci/ice1712/ice1712.h
+2
-2
sound/soc/codecs/tlv320aic23.c
sound/soc/codecs/tlv320aic23.c
+2
-3
sound/soc/omap/omap3evm.c
sound/soc/omap/omap3evm.c
+1
-1
sound/soc/omap/omap3pandora.c
sound/soc/omap/omap3pandora.c
+2
-1
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+17
-3
sound/usb/usbmixer.c
sound/usb/usbmixer.c
+9
-0
No files found.
sound/arm/aaci.c
View file @
ef47bf38
...
@@ -501,6 +501,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
...
@@ -501,6 +501,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
int
err
;
int
err
;
aaci_pcm_hw_free
(
substream
);
aaci_pcm_hw_free
(
substream
);
if
(
aacirun
->
pcm_open
)
{
snd_ac97_pcm_close
(
aacirun
->
pcm
);
aacirun
->
pcm_open
=
0
;
}
err
=
devdma_hw_alloc
(
NULL
,
substream
,
err
=
devdma_hw_alloc
(
NULL
,
substream
,
params_buffer_bytes
(
params
));
params_buffer_bytes
(
params
));
...
@@ -514,7 +518,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
...
@@ -514,7 +518,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
else
else
err
=
snd_ac97_pcm_open
(
aacirun
->
pcm
,
params_rate
(
params
),
err
=
snd_ac97_pcm_open
(
aacirun
->
pcm
,
params_rate
(
params
),
params_channels
(
params
),
params_channels
(
params
),
aacirun
->
pcm
->
r
[
1
].
slots
);
aacirun
->
pcm
->
r
[
0
].
slots
);
if
(
err
)
if
(
err
)
goto
out
;
goto
out
;
...
...
sound/pci/hda/patch_conexant.c
View file @
ef47bf38
...
@@ -110,6 +110,7 @@ struct conexant_spec {
...
@@ -110,6 +110,7 @@ struct conexant_spec {
unsigned
int
dell_automute
;
unsigned
int
dell_automute
;
unsigned
int
port_d_mode
;
unsigned
int
port_d_mode
;
unsigned
char
ext_mic_bias
;
};
};
static
int
conexant_playback_pcm_open
(
struct
hda_pcm_stream
*
hinfo
,
static
int
conexant_playback_pcm_open
(
struct
hda_pcm_stream
*
hinfo
,
...
@@ -1927,6 +1928,11 @@ static hda_nid_t cxt5066_adc_nids[3] = { 0x14, 0x15, 0x16 };
...
@@ -1927,6 +1928,11 @@ static hda_nid_t cxt5066_adc_nids[3] = { 0x14, 0x15, 0x16 };
static
hda_nid_t
cxt5066_capsrc_nids
[
1
]
=
{
0x17
};
static
hda_nid_t
cxt5066_capsrc_nids
[
1
]
=
{
0x17
};
#define CXT5066_SPDIF_OUT 0x21
#define CXT5066_SPDIF_OUT 0x21
/* OLPC's microphone port is DC coupled for use with external sensors,
* therefore we use a 50% mic bias in order to center the input signal with
* the DC input range of the codec. */
#define CXT5066_OLPC_EXT_MIC_BIAS PIN_VREF50
static
struct
hda_channel_mode
cxt5066_modes
[
1
]
=
{
static
struct
hda_channel_mode
cxt5066_modes
[
1
]
=
{
{
2
,
NULL
},
{
2
,
NULL
},
};
};
...
@@ -1980,9 +1986,10 @@ static int cxt5066_hp_master_sw_put(struct snd_kcontrol *kcontrol,
...
@@ -1980,9 +1986,10 @@ static int cxt5066_hp_master_sw_put(struct snd_kcontrol *kcontrol,
/* toggle input of built-in and mic jack appropriately */
/* toggle input of built-in and mic jack appropriately */
static
void
cxt5066_automic
(
struct
hda_codec
*
codec
)
static
void
cxt5066_automic
(
struct
hda_codec
*
codec
)
{
{
static
struct
hda_verb
ext_mic_present
[]
=
{
struct
conexant_spec
*
spec
=
codec
->
spec
;
struct
hda_verb
ext_mic_present
[]
=
{
/* enable external mic, port B */
/* enable external mic, port B */
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
spec
->
ext_mic_bias
},
/* switch to external mic input */
/* switch to external mic input */
{
0x17
,
AC_VERB_SET_CONNECT_SEL
,
0
},
{
0x17
,
AC_VERB_SET_CONNECT_SEL
,
0
},
...
@@ -2235,7 +2242,7 @@ static struct hda_verb cxt5066_init_verbs_olpc[] = {
...
@@ -2235,7 +2242,7 @@ static struct hda_verb cxt5066_init_verbs_olpc[] = {
{
0x19
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/* DAC1 */
{
0x19
,
AC_VERB_SET_CONNECT_SEL
,
0x00
},
/* DAC1 */
/* Port B: external microphone */
/* Port B: external microphone */
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x1a
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
CXT5066_OLPC_EXT_MIC_BIAS
},
/* Port C: internal microphone */
/* Port C: internal microphone */
{
0x1b
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
{
0x1b
,
AC_VERB_SET_PIN_WIDGET_CONTROL
,
PIN_VREF80
},
...
@@ -2353,6 +2360,7 @@ static int patch_cxt5066(struct hda_codec *codec)
...
@@ -2353,6 +2360,7 @@ static int patch_cxt5066(struct hda_codec *codec)
spec
->
input_mux
=
&
cxt5066_capture_source
;
spec
->
input_mux
=
&
cxt5066_capture_source
;
spec
->
port_d_mode
=
PIN_HP
;
spec
->
port_d_mode
=
PIN_HP
;
spec
->
ext_mic_bias
=
PIN_VREF80
;
spec
->
num_init_verbs
=
1
;
spec
->
num_init_verbs
=
1
;
spec
->
init_verbs
[
0
]
=
cxt5066_init_verbs
;
spec
->
init_verbs
[
0
]
=
cxt5066_init_verbs
;
...
@@ -2384,6 +2392,7 @@ static int patch_cxt5066(struct hda_codec *codec)
...
@@ -2384,6 +2392,7 @@ static int patch_cxt5066(struct hda_codec *codec)
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixer_master_olpc
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixer_master_olpc
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixers
;
spec
->
mixers
[
spec
->
num_mixers
++
]
=
cxt5066_mixers
;
spec
->
port_d_mode
=
0
;
spec
->
port_d_mode
=
0
;
spec
->
ext_mic_bias
=
CXT5066_OLPC_EXT_MIC_BIAS
;
/* no S/PDIF out */
/* no S/PDIF out */
spec
->
multiout
.
dig_out_nid
=
0
;
spec
->
multiout
.
dig_out_nid
=
0
;
...
...
sound/pci/hda/patch_nvhdmi.c
View file @
ef47bf38
...
@@ -397,6 +397,7 @@ static int patch_nvhdmi_2ch(struct hda_codec *codec)
...
@@ -397,6 +397,7 @@ static int patch_nvhdmi_2ch(struct hda_codec *codec)
static
struct
hda_codec_preset
snd_hda_preset_nvhdmi
[]
=
{
static
struct
hda_codec_preset
snd_hda_preset_nvhdmi
[]
=
{
{
.
id
=
0x10de0002
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0002
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0003
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0003
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0005
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0006
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0006
,
.
name
=
"MCP78 HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0007
,
.
name
=
"MCP7A HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0007
,
.
name
=
"MCP7A HDMI"
,
.
patch
=
patch_nvhdmi_8ch
},
{
.
id
=
0x10de0067
,
.
name
=
"MCP67 HDMI"
,
.
patch
=
patch_nvhdmi_2ch
},
{
.
id
=
0x10de0067
,
.
name
=
"MCP67 HDMI"
,
.
patch
=
patch_nvhdmi_2ch
},
...
@@ -406,6 +407,7 @@ static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
...
@@ -406,6 +407,7 @@ static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
MODULE_ALIAS
(
"snd-hda-codec-id:10de0002"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0002"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0003"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0003"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0005"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0006"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0006"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0007"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0007"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0067"
);
MODULE_ALIAS
(
"snd-hda-codec-id:10de0067"
);
...
...
sound/pci/hda/patch_realtek.c
View file @
ef47bf38
...
@@ -4684,9 +4684,9 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
...
@@ -4684,9 +4684,9 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
spec
->
multiout
.
dig_out_nid
=
dig_nid
;
spec
->
multiout
.
dig_out_nid
=
dig_nid
;
else
{
else
{
spec
->
multiout
.
slave_dig_outs
=
spec
->
slave_dig_outs
;
spec
->
multiout
.
slave_dig_outs
=
spec
->
slave_dig_outs
;
spec
->
slave_dig_outs
[
i
-
1
]
=
dig_nid
;
if
(
i
>=
ARRAY_SIZE
(
spec
->
slave_dig_outs
)
-
1
)
if
(
i
==
ARRAY_SIZE
(
spec
->
slave_dig_outs
)
-
1
)
break
;
break
;
spec
->
slave_dig_outs
[
i
-
1
]
=
dig_nid
;
}
}
}
}
if
(
spec
->
autocfg
.
dig_in_pin
)
if
(
spec
->
autocfg
.
dig_in_pin
)
...
@@ -6249,7 +6249,7 @@ static struct snd_pci_quirk alc260_cfg_tbl[] = {
...
@@ -6249,7 +6249,7 @@ static struct snd_pci_quirk alc260_cfg_tbl[] = {
SND_PCI_QUIRK
(
0x1025
,
0x008f
,
"Acer"
,
ALC260_ACER
),
SND_PCI_QUIRK
(
0x1025
,
0x008f
,
"Acer"
,
ALC260_ACER
),
SND_PCI_QUIRK
(
0x1509
,
0x4540
,
"Favorit 100XS"
,
ALC260_FAVORIT100
),
SND_PCI_QUIRK
(
0x1509
,
0x4540
,
"Favorit 100XS"
,
ALC260_FAVORIT100
),
SND_PCI_QUIRK
(
0x103c
,
0x2808
,
"HP d5700"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x2808
,
"HP d5700"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x280a
,
"HP d5750"
,
ALC260_
HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x280a
,
"HP d5750"
,
ALC260_
AUTO
),
/* no quirk */
SND_PCI_QUIRK
(
0x103c
,
0x3010
,
"HP"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x3010
,
"HP"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x3011
,
"HP"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x3011
,
"HP"
,
ALC260_HP_3013
),
SND_PCI_QUIRK
(
0x103c
,
0x3012
,
"HP"
,
ALC260_HP_DC7600
),
SND_PCI_QUIRK
(
0x103c
,
0x3012
,
"HP"
,
ALC260_HP_DC7600
),
...
@@ -8911,10 +8911,11 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
...
@@ -8911,10 +8911,11 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
SND_PCI_QUIRK
(
0x106b
,
0x3800
,
"MacbookPro 4,1"
,
ALC885_MBP3
),
SND_PCI_QUIRK
(
0x106b
,
0x3800
,
"MacbookPro 4,1"
,
ALC885_MBP3
),
SND_PCI_QUIRK
(
0x106b
,
0x3e00
,
"iMac 24 Aluminum"
,
ALC885_IMAC24
),
SND_PCI_QUIRK
(
0x106b
,
0x3e00
,
"iMac 24 Aluminum"
,
ALC885_IMAC24
),
SND_PCI_QUIRK
(
0x106b
,
0x3f00
,
"Macbook 5,1"
,
ALC885_MB5
),
SND_PCI_QUIRK
(
0x106b
,
0x3f00
,
"Macbook 5,1"
,
ALC885_MB5
),
/* FIXME: HP jack sense seems not working for MBP 5,1
, so apparently
/* FIXME: HP jack sense seems not working for MBP 5,1
or 5,2,
* no perfect solution yet
*
so apparently
no perfect solution yet
*/
*/
SND_PCI_QUIRK
(
0x106b
,
0x4000
,
"MacbookPro 5,1"
,
ALC885_MB5
),
SND_PCI_QUIRK
(
0x106b
,
0x4000
,
"MacbookPro 5,1"
,
ALC885_MB5
),
SND_PCI_QUIRK
(
0x106b
,
0x4600
,
"MacbookPro 5,2"
,
ALC885_MB5
),
{}
/* terminator */
{}
/* terminator */
};
};
...
@@ -9813,9 +9814,9 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
...
@@ -9813,9 +9814,9 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
spec
->
multiout
.
dig_out_nid
=
dig_nid
;
spec
->
multiout
.
dig_out_nid
=
dig_nid
;
else
{
else
{
spec
->
multiout
.
slave_dig_outs
=
spec
->
slave_dig_outs
;
spec
->
multiout
.
slave_dig_outs
=
spec
->
slave_dig_outs
;
spec
->
slave_dig_outs
[
i
-
1
]
=
dig_nid
;
if
(
i
>=
ARRAY_SIZE
(
spec
->
slave_dig_outs
)
-
1
)
if
(
i
==
ARRAY_SIZE
(
spec
->
slave_dig_outs
)
-
1
)
break
;
break
;
spec
->
slave_dig_outs
[
i
-
1
]
=
dig_nid
;
}
}
}
}
if
(
spec
->
autocfg
.
dig_in_pin
)
if
(
spec
->
autocfg
.
dig_in_pin
)
...
@@ -11460,6 +11461,8 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = {
...
@@ -11460,6 +11461,8 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = {
SND_PCI_QUIRK
(
0x104d
,
0x820f
,
"Sony ASSAMD"
,
ALC262_SONY_ASSAMD
),
SND_PCI_QUIRK
(
0x104d
,
0x820f
,
"Sony ASSAMD"
,
ALC262_SONY_ASSAMD
),
SND_PCI_QUIRK
(
0x104d
,
0x9016
,
"Sony VAIO"
,
ALC262_AUTO
),
/* dig-only */
SND_PCI_QUIRK
(
0x104d
,
0x9016
,
"Sony VAIO"
,
ALC262_AUTO
),
/* dig-only */
SND_PCI_QUIRK
(
0x104d
,
0x9025
,
"Sony VAIO Z21MN"
,
ALC262_TOSHIBA_S06
),
SND_PCI_QUIRK
(
0x104d
,
0x9025
,
"Sony VAIO Z21MN"
,
ALC262_TOSHIBA_S06
),
SND_PCI_QUIRK
(
0x104d
,
0x9035
,
"Sony VAIO VGN-FW170J"
,
ALC262_AUTO
),
SND_PCI_QUIRK
(
0x104d
,
0x9047
,
"Sony VAIO Type G"
,
ALC262_AUTO
),
SND_PCI_QUIRK_MASK
(
0x104d
,
0xff00
,
0x9000
,
"Sony VAIO"
,
SND_PCI_QUIRK_MASK
(
0x104d
,
0xff00
,
0x9000
,
"Sony VAIO"
,
ALC262_SONY_ASSAMD
),
ALC262_SONY_ASSAMD
),
SND_PCI_QUIRK
(
0x1179
,
0x0001
,
"Toshiba dynabook SS RX1"
,
SND_PCI_QUIRK
(
0x1179
,
0x0001
,
"Toshiba dynabook SS RX1"
,
...
...
sound/pci/hda/patch_sigmatel.c
View file @
ef47bf38
...
@@ -1590,6 +1590,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
...
@@ -1590,6 +1590,8 @@ static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = {
"Dell Studio 17"
,
STAC_DELL_M6_DMIC
),
"Dell Studio 17"
,
STAC_DELL_M6_DMIC
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x02be
,
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x02be
,
"Dell Studio 1555"
,
STAC_DELL_M6_DMIC
),
"Dell Studio 1555"
,
STAC_DELL_M6_DMIC
),
SND_PCI_QUIRK
(
PCI_VENDOR_ID_DELL
,
0x02bd
,
"Dell Studio 1557"
,
STAC_DELL_M6_DMIC
),
{}
/* terminator */
{}
/* terminator */
};
};
...
...
sound/pci/ice1712/ice1712.h
View file @
ef47bf38
...
@@ -382,8 +382,8 @@ struct snd_ice1712 {
...
@@ -382,8 +382,8 @@ struct snd_ice1712 {
#ifdef CONFIG_PM
#ifdef CONFIG_PM
int
(
*
pm_suspend
)(
struct
snd_ice1712
*
);
int
(
*
pm_suspend
)(
struct
snd_ice1712
*
);
int
(
*
pm_resume
)(
struct
snd_ice1712
*
);
int
(
*
pm_resume
)(
struct
snd_ice1712
*
);
int
pm_suspend_enabled
:
1
;
unsigned
int
pm_suspend_enabled
:
1
;
int
pm_saved_is_spdif_master
:
1
;
unsigned
int
pm_saved_is_spdif_master
:
1
;
unsigned
int
pm_saved_spdif_ctrl
;
unsigned
int
pm_saved_spdif_ctrl
;
unsigned
char
pm_saved_spdif_cfg
;
unsigned
char
pm_saved_spdif_cfg
;
unsigned
int
pm_saved_route
;
unsigned
int
pm_saved_route
;
...
...
sound/soc/codecs/tlv320aic23.c
View file @
ef47bf38
...
@@ -265,8 +265,8 @@ static const int bosr_usb_divisor_table[] = {
...
@@ -265,8 +265,8 @@ static const int bosr_usb_divisor_table[] = {
#define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15))
#define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15))
static
const
unsigned
short
sr_valid_mask
[]
=
{
static
const
unsigned
short
sr_valid_mask
[]
=
{
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 0*/
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 0*/
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 1*/
LOWER_GROUP
,
/* Usb, bosr - 0*/
LOWER_GROUP
,
/* Usb, bosr - 0*/
LOWER_GROUP
|
UPPER_GROUP
,
/* Normal, bosr - 1*/
UPPER_GROUP
,
/* Usb, bosr - 1*/
UPPER_GROUP
,
/* Usb, bosr - 1*/
};
};
/*
/*
...
@@ -625,11 +625,10 @@ static int tlv320aic23_resume(struct platform_device *pdev)
...
@@ -625,11 +625,10 @@ static int tlv320aic23_resume(struct platform_device *pdev)
{
{
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_codec
*
codec
=
socdev
->
card
->
codec
;
struct
snd_soc_codec
*
codec
=
socdev
->
card
->
codec
;
int
i
;
u16
reg
;
u16
reg
;
/* Sync reg_cache with the hardware */
/* Sync reg_cache with the hardware */
for
(
reg
=
0
;
reg
<
ARRAY_SIZE
(
tlv320aic23_reg
);
i
++
)
{
for
(
reg
=
0
;
reg
<
TLV320AIC23_RESET
;
reg
++
)
{
u16
val
=
tlv320aic23_read_reg_cache
(
codec
,
reg
);
u16
val
=
tlv320aic23_read_reg_cache
(
codec
,
reg
);
tlv320aic23_write
(
codec
,
reg
,
val
);
tlv320aic23_write
(
codec
,
reg
,
val
);
}
}
...
...
sound/soc/omap/omap3evm.c
View file @
ef47bf38
...
@@ -144,4 +144,4 @@ module_exit(omap3evm_soc_exit);
...
@@ -144,4 +144,4 @@ module_exit(omap3evm_soc_exit);
MODULE_AUTHOR
(
"Anuj Aggarwal <anuj.aggarwal@ti.com>"
);
MODULE_AUTHOR
(
"Anuj Aggarwal <anuj.aggarwal@ti.com>"
);
MODULE_DESCRIPTION
(
"ALSA SoC OMAP3 EVM"
);
MODULE_DESCRIPTION
(
"ALSA SoC OMAP3 EVM"
);
MODULE_LICENSE
(
"GPLv2"
);
MODULE_LICENSE
(
"GPL
v2"
);
sound/soc/omap/omap3pandora.c
View file @
ef47bf38
...
@@ -134,7 +134,7 @@ static int omap3pandora_hp_event(struct snd_soc_dapm_widget *w,
...
@@ -134,7 +134,7 @@ static int omap3pandora_hp_event(struct snd_soc_dapm_widget *w,
* |P| <--- TWL4030 <--------- Line In and MICs
* |P| <--- TWL4030 <--------- Line In and MICs
*/
*/
static
const
struct
snd_soc_dapm_widget
omap3pandora_out_dapm_widgets
[]
=
{
static
const
struct
snd_soc_dapm_widget
omap3pandora_out_dapm_widgets
[]
=
{
SND_SOC_DAPM_DAC
(
"PCM DAC"
,
"Playback"
,
SND_SOC_NOPM
,
0
,
0
),
SND_SOC_DAPM_DAC
(
"PCM DAC"
,
"
HiFi
Playback"
,
SND_SOC_NOPM
,
0
,
0
),
SND_SOC_DAPM_PGA_E
(
"Headphone Amplifier"
,
SND_SOC_NOPM
,
SND_SOC_DAPM_PGA_E
(
"Headphone Amplifier"
,
SND_SOC_NOPM
,
0
,
0
,
NULL
,
0
,
omap3pandora_hp_event
,
0
,
0
,
NULL
,
0
,
omap3pandora_hp_event
,
SND_SOC_DAPM_POST_PMU
|
SND_SOC_DAPM_PRE_PMD
),
SND_SOC_DAPM_POST_PMU
|
SND_SOC_DAPM_PRE_PMD
),
...
@@ -181,6 +181,7 @@ static int omap3pandora_out_init(struct snd_soc_codec *codec)
...
@@ -181,6 +181,7 @@ static int omap3pandora_out_init(struct snd_soc_codec *codec)
snd_soc_dapm_nc_pin
(
codec
,
"CARKITR"
);
snd_soc_dapm_nc_pin
(
codec
,
"CARKITR"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFL"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFL"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFR"
);
snd_soc_dapm_nc_pin
(
codec
,
"HFR"
);
snd_soc_dapm_nc_pin
(
codec
,
"VIBRA"
);
ret
=
snd_soc_dapm_new_controls
(
codec
,
omap3pandora_out_dapm_widgets
,
ret
=
snd_soc_dapm_new_controls
(
codec
,
omap3pandora_out_dapm_widgets
,
ARRAY_SIZE
(
omap3pandora_out_dapm_widgets
));
ARRAY_SIZE
(
omap3pandora_out_dapm_widgets
));
...
...
sound/soc/soc-dapm.c
View file @
ef47bf38
...
@@ -973,9 +973,19 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
...
@@ -973,9 +973,19 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
if
(
!
w
->
power_check
)
if
(
!
w
->
power_check
)
continue
;
continue
;
power
=
w
->
power_check
(
w
);
/* If we're suspending then pull down all the
if
(
power
)
* power. */
sys_power
=
1
;
switch
(
event
)
{
case
SND_SOC_DAPM_STREAM_SUSPEND
:
power
=
0
;
break
;
default:
power
=
w
->
power_check
(
w
);
if
(
power
)
sys_power
=
1
;
break
;
}
if
(
w
->
power
==
power
)
if
(
w
->
power
==
power
)
continue
;
continue
;
...
@@ -999,8 +1009,12 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
...
@@ -999,8 +1009,12 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
case
SND_SOC_DAPM_STREAM_RESUME
:
case
SND_SOC_DAPM_STREAM_RESUME
:
sys_power
=
1
;
sys_power
=
1
;
break
;
break
;
case
SND_SOC_DAPM_STREAM_SUSPEND
:
sys_power
=
0
;
break
;
case
SND_SOC_DAPM_STREAM_NOP
:
case
SND_SOC_DAPM_STREAM_NOP
:
sys_power
=
codec
->
bias_level
!=
SND_SOC_BIAS_STANDBY
;
sys_power
=
codec
->
bias_level
!=
SND_SOC_BIAS_STANDBY
;
break
;
default:
default:
break
;
break
;
}
}
...
...
sound/usb/usbmixer.c
View file @
ef47bf38
...
@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
...
@@ -1071,6 +1071,15 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, unsig
channels
=
(
ftr
[
0
]
-
7
)
/
csize
-
1
;
channels
=
(
ftr
[
0
]
-
7
)
/
csize
-
1
;
master_bits
=
snd_usb_combine_bytes
(
ftr
+
6
,
csize
);
master_bits
=
snd_usb_combine_bytes
(
ftr
+
6
,
csize
);
/* master configuration quirks */
switch
(
state
->
chip
->
usb_id
)
{
case
USB_ID
(
0x08bb
,
0x2702
):
snd_printk
(
KERN_INFO
"usbmixer: master volume quirk for PCM2702 chip
\n
"
);
/* disable non-functional volume control */
master_bits
&=
~
(
1
<<
(
USB_FEATURE_VOLUME
-
1
));
break
;
}
if
(
channels
>
0
)
if
(
channels
>
0
)
first_ch_bits
=
snd_usb_combine_bytes
(
ftr
+
6
+
csize
,
csize
);
first_ch_bits
=
snd_usb_combine_bytes
(
ftr
+
6
+
csize
,
csize
);
else
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment