Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
0552f297
Commit
0552f297
authored
Oct 29, 2008
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branches 'topic/fix/hda' and 'topic/fix/misc' into for-linus
parents
0a9b8638
0cbf0098
366840d7
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
39 additions
and
4 deletions
+39
-4
sound/core/control.c
sound/core/control.c
+6
-1
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.c
+1
-0
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_intel.c
+29
-0
sound/pci/hda/patch_analog.c
sound/pci/hda/patch_analog.c
+1
-0
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+1
-3
sound/pci/intel8x0.c
sound/pci/intel8x0.c
+1
-0
No files found.
sound/core/control.c
View file @
0552f297
...
@@ -225,8 +225,13 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
...
@@ -225,8 +225,13 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
kctl
.
id
.
iface
=
ncontrol
->
iface
;
kctl
.
id
.
iface
=
ncontrol
->
iface
;
kctl
.
id
.
device
=
ncontrol
->
device
;
kctl
.
id
.
device
=
ncontrol
->
device
;
kctl
.
id
.
subdevice
=
ncontrol
->
subdevice
;
kctl
.
id
.
subdevice
=
ncontrol
->
subdevice
;
if
(
ncontrol
->
name
)
if
(
ncontrol
->
name
)
{
strlcpy
(
kctl
.
id
.
name
,
ncontrol
->
name
,
sizeof
(
kctl
.
id
.
name
));
strlcpy
(
kctl
.
id
.
name
,
ncontrol
->
name
,
sizeof
(
kctl
.
id
.
name
));
if
(
strcmp
(
ncontrol
->
name
,
kctl
.
id
.
name
)
!=
0
)
snd_printk
(
KERN_WARNING
"Control name '%s' truncated to '%s'
\n
"
,
ncontrol
->
name
,
kctl
.
id
.
name
);
}
kctl
.
id
.
index
=
ncontrol
->
index
;
kctl
.
id
.
index
=
ncontrol
->
index
;
kctl
.
count
=
ncontrol
->
count
?
ncontrol
->
count
:
1
;
kctl
.
count
=
ncontrol
->
count
?
ncontrol
->
count
:
1
;
access
=
ncontrol
->
access
==
0
?
SNDRV_CTL_ELEM_ACCESS_READWRITE
:
access
=
ncontrol
->
access
==
0
?
SNDRV_CTL_ELEM_ACCESS_READWRITE
:
...
...
sound/pci/hda/hda_codec.c
View file @
0552f297
...
@@ -64,6 +64,7 @@ static struct hda_vendor_id hda_vendor_ids[] = {
...
@@ -64,6 +64,7 @@ static struct hda_vendor_id hda_vendor_ids[] = {
{
0x14f1
,
"Conexant"
},
{
0x14f1
,
"Conexant"
},
{
0x17e8
,
"Chrontel"
},
{
0x17e8
,
"Chrontel"
},
{
0x1854
,
"LG"
},
{
0x1854
,
"LG"
},
{
0x1aec
,
"Wolfson Microelectronics"
},
{
0x434d
,
"C-Media"
},
{
0x434d
,
"C-Media"
},
{
0x8384
,
"SigmaTel"
},
{
0x8384
,
"SigmaTel"
},
{}
/* terminator */
{}
/* terminator */
...
...
sound/pci/hda/hda_intel.c
View file @
0552f297
...
@@ -45,6 +45,7 @@
...
@@ -45,6 +45,7 @@
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/mutex.h>
#include <linux/mutex.h>
#include <linux/reboot.h>
#include <sound/core.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/initval.h>
#include "hda_codec.h"
#include "hda_codec.h"
...
@@ -397,6 +398,9 @@ struct azx {
...
@@ -397,6 +398,9 @@ struct azx {
/* for pending irqs */
/* for pending irqs */
struct
work_struct
irq_pending_work
;
struct
work_struct
irq_pending_work
;
/* reboot notifier (for mysterious hangup problem at power-down) */
struct
notifier_block
reboot_notifier
;
};
};
/* driver types */
/* driver types */
...
@@ -1978,6 +1982,28 @@ static int azx_resume(struct pci_dev *pci)
...
@@ -1978,6 +1982,28 @@ static int azx_resume(struct pci_dev *pci)
#endif
/* CONFIG_PM */
#endif
/* CONFIG_PM */
/*
* reboot notifier for hang-up problem at power-down
*/
static
int
azx_halt
(
struct
notifier_block
*
nb
,
unsigned
long
event
,
void
*
buf
)
{
struct
azx
*
chip
=
container_of
(
nb
,
struct
azx
,
reboot_notifier
);
azx_stop_chip
(
chip
);
return
NOTIFY_OK
;
}
static
void
azx_notifier_register
(
struct
azx
*
chip
)
{
chip
->
reboot_notifier
.
notifier_call
=
azx_halt
;
register_reboot_notifier
(
&
chip
->
reboot_notifier
);
}
static
void
azx_notifier_unregister
(
struct
azx
*
chip
)
{
if
(
chip
->
reboot_notifier
.
notifier_call
)
unregister_reboot_notifier
(
&
chip
->
reboot_notifier
);
}
/*
/*
* destructor
* destructor
*/
*/
...
@@ -1985,6 +2011,8 @@ static int azx_free(struct azx *chip)
...
@@ -1985,6 +2011,8 @@ static int azx_free(struct azx *chip)
{
{
int
i
;
int
i
;
azx_notifier_unregister
(
chip
);
if
(
chip
->
initialized
)
{
if
(
chip
->
initialized
)
{
azx_clear_irq_pending
(
chip
);
azx_clear_irq_pending
(
chip
);
for
(
i
=
0
;
i
<
chip
->
num_streams
;
i
++
)
for
(
i
=
0
;
i
<
chip
->
num_streams
;
i
++
)
...
@@ -2348,6 +2376,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
...
@@ -2348,6 +2376,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
pci_set_drvdata
(
pci
,
card
);
pci_set_drvdata
(
pci
,
card
);
chip
->
running
=
1
;
chip
->
running
=
1
;
power_down_all_codecs
(
chip
);
power_down_all_codecs
(
chip
);
azx_notifier_register
(
chip
);
dev
++
;
dev
++
;
return
err
;
return
err
;
...
...
sound/pci/hda/patch_analog.c
View file @
0552f297
...
@@ -3860,6 +3860,7 @@ static const char *ad1884a_models[AD1884A_MODELS] = {
...
@@ -3860,6 +3860,7 @@ static const char *ad1884a_models[AD1884A_MODELS] = {
static
struct
snd_pci_quirk
ad1884a_cfg_tbl
[]
=
{
static
struct
snd_pci_quirk
ad1884a_cfg_tbl
[]
=
{
SND_PCI_QUIRK
(
0x103c
,
0x3030
,
"HP"
,
AD1884A_MOBILE
),
SND_PCI_QUIRK
(
0x103c
,
0x3030
,
"HP"
,
AD1884A_MOBILE
),
SND_PCI_QUIRK
(
0x103c
,
0x3056
,
"HP"
,
AD1884A_MOBILE
),
SND_PCI_QUIRK
(
0x17aa
,
0x20ac
,
"Thinkpad X300"
,
AD1884A_THINKPAD
),
SND_PCI_QUIRK
(
0x17aa
,
0x20ac
,
"Thinkpad X300"
,
AD1884A_THINKPAD
),
{}
{}
};
};
...
...
sound/pci/hda/patch_sigmatel.c
View file @
0552f297
...
@@ -566,10 +566,8 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
...
@@ -566,10 +566,8 @@ static int stac92xx_smux_enum_put(struct snd_kcontrol *kcontrol,
nid
=
codec
->
slave_dig_outs
[
smux_idx
-
1
];
nid
=
codec
->
slave_dig_outs
[
smux_idx
-
1
];
if
(
spec
->
cur_smux
[
smux_idx
]
==
smux
->
num_items
-
1
)
if
(
spec
->
cur_smux
[
smux_idx
]
==
smux
->
num_items
-
1
)
val
=
AMP_OUT_MUTE
;
val
=
AMP_OUT_MUTE
;
if
(
smux_idx
==
0
)
nid
=
spec
->
multiout
.
dig_out_nid
;
else
else
nid
=
codec
->
slave_dig_outs
[
smux_idx
-
1
]
;
val
=
AMP_OUT_UNMUTE
;
/* un/mute SPDIF out */
/* un/mute SPDIF out */
snd_hda_codec_write_cache
(
codec
,
nid
,
0
,
snd_hda_codec_write_cache
(
codec
,
nid
,
0
,
AC_VERB_SET_AMP_GAIN_MUTE
,
val
);
AC_VERB_SET_AMP_GAIN_MUTE
,
val
);
...
...
sound/pci/intel8x0.c
View file @
0552f297
...
@@ -2702,6 +2702,7 @@ static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
...
@@ -2702,6 +2702,7 @@ static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
SND_PCI_QUIRK
(
0x0e11
,
0x008a
,
"AD1885"
,
41000
),
SND_PCI_QUIRK
(
0x0e11
,
0x008a
,
"AD1885"
,
41000
),
SND_PCI_QUIRK
(
0x1028
,
0x00be
,
"AD1885"
,
44100
),
SND_PCI_QUIRK
(
0x1028
,
0x00be
,
"AD1885"
,
44100
),
SND_PCI_QUIRK
(
0x1028
,
0x0177
,
"AD1980"
,
48000
),
SND_PCI_QUIRK
(
0x1028
,
0x0177
,
"AD1980"
,
48000
),
SND_PCI_QUIRK
(
0x1028
,
0x01ad
,
"AD1981B"
,
48000
),
SND_PCI_QUIRK
(
0x1043
,
0x80f3
,
"AD1985"
,
48000
),
SND_PCI_QUIRK
(
0x1043
,
0x80f3
,
"AD1985"
,
48000
),
{
}
/* 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