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
Kirill Smelkov
linux
Commits
7d1794e8
Commit
7d1794e8
authored
Nov 16, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into topic/hda
parents
01a1796b
8ef5837a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
14 deletions
+33
-14
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+8
-4
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
+9
-7
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+2
-0
No files found.
sound/pci/hda/hda_intel.c
View file @
7d1794e8
...
@@ -722,9 +722,10 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
...
@@ -722,9 +722,10 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
chip
->
last_cmd
[
addr
]);
chip
->
last_cmd
[
addr
]);
chip
->
single_cmd
=
1
;
chip
->
single_cmd
=
1
;
bus
->
response_reset
=
0
;
bus
->
response_reset
=
0
;
/* re
-initializ
e CORB/RIRB */
/* re
leas
e CORB/RIRB */
azx_free_cmd_io
(
chip
);
azx_free_cmd_io
(
chip
);
azx_init_cmd_io
(
chip
);
/* disable unsolicited responses */
azx_writel
(
chip
,
GCTL
,
azx_readl
(
chip
,
GCTL
)
&
~
ICH6_GCTL_UNSOL
);
return
-
1
;
return
-
1
;
}
}
...
@@ -865,7 +866,9 @@ static int azx_reset(struct azx *chip)
...
@@ -865,7 +866,9 @@ static int azx_reset(struct azx *chip)
}
}
/* Accept unsolicited responses */
/* Accept unsolicited responses */
azx_writel
(
chip
,
GCTL
,
azx_readl
(
chip
,
GCTL
)
|
ICH6_GCTL_UNSOL
);
if
(
!
chip
->
single_cmd
)
azx_writel
(
chip
,
GCTL
,
azx_readl
(
chip
,
GCTL
)
|
ICH6_GCTL_UNSOL
);
/* detect codecs */
/* detect codecs */
if
(
!
chip
->
codec_mask
)
{
if
(
!
chip
->
codec_mask
)
{
...
@@ -980,7 +983,8 @@ static void azx_init_chip(struct azx *chip)
...
@@ -980,7 +983,8 @@ static void azx_init_chip(struct azx *chip)
azx_int_enable
(
chip
);
azx_int_enable
(
chip
);
/* initialize the codec command I/O */
/* initialize the codec command I/O */
azx_init_cmd_io
(
chip
);
if
(
!
chip
->
single_cmd
)
azx_init_cmd_io
(
chip
);
/* program the position buffer */
/* program the position buffer */
azx_writel
(
chip
,
DPLBASE
,
(
u32
)
chip
->
posbuf
.
addr
);
azx_writel
(
chip
,
DPLBASE
,
(
u32
)
chip
->
posbuf
.
addr
);
...
...
sound/pci/hda/patch_conexant.c
View file @
7d1794e8
...
@@ -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 @
7d1794e8
...
@@ -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 @
7d1794e8
...
@@ -4688,9 +4688,9 @@ static int alc880_parse_auto_config(struct hda_codec *codec)
...
@@ -4688,9 +4688,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
)
...
@@ -6250,7 +6250,7 @@ static struct snd_pci_quirk alc260_cfg_tbl[] = {
...
@@ -6250,7 +6250,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
),
...
@@ -8912,10 +8912,11 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
...
@@ -8912,10 +8912,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 */
};
};
...
@@ -9814,9 +9815,9 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
...
@@ -9814,9 +9815,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
)
...
@@ -11457,6 +11458,7 @@ static struct snd_pci_quirk alc262_cfg_tbl[] = {
...
@@ -11457,6 +11458,7 @@ 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_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 @
7d1794e8
...
@@ -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 */
};
};
...
...
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