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
fb66ebd8
Commit
fb66ebd8
authored
Oct 13, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into for-linus
parents
29a4f2d3
491dc043
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
8 deletions
+55
-8
Documentation/sound/alsa/HD-Audio-Models.txt
Documentation/sound/alsa/HD-Audio-Models.txt
+1
-0
sound/pci/hda/patch_nvhdmi.c
sound/pci/hda/patch_nvhdmi.c
+25
-6
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+1
-1
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+28
-1
No files found.
Documentation/sound/alsa/HD-Audio-Models.txt
View file @
fb66ebd8
...
...
@@ -359,6 +359,7 @@ STAC9227/9228/9229/927x
5stack-no-fp D965 5stack without front panel
dell-3stack Dell Dimension E520
dell-bios Fixes with Dell BIOS setup
volknob Fixes with volume-knob widget 0x24
auto BIOS setup (default)
STAC92HD71B*
...
...
sound/pci/hda/patch_nvhdmi.c
View file @
fb66ebd8
...
...
@@ -29,6 +29,9 @@
#include "hda_codec.h"
#include "hda_local.h"
/* define below to restrict the supported rates and formats */
/* #define LIMITED_RATE_FMT_SUPPORT */
struct
nvhdmi_spec
{
struct
hda_multi_out
multiout
;
...
...
@@ -60,6 +63,22 @@ static struct hda_verb nvhdmi_basic_init[] = {
{}
/* terminator */
};
#ifdef LIMITED_RATE_FMT_SUPPORT
/* support only the safe format and rate */
#define SUPPORTED_RATES SNDRV_PCM_RATE_48000
#define SUPPORTED_MAXBPS 16
#define SUPPORTED_FORMATS SNDRV_PCM_FMTBIT_S16_LE
#else
/* support all rates and formats */
#define SUPPORTED_RATES \
(SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |\
SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |\
SNDRV_PCM_RATE_192000)
#define SUPPORTED_MAXBPS 24
#define SUPPORTED_FORMATS \
(SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE)
#endif
/*
* Controls
*/
...
...
@@ -258,9 +277,9 @@ static struct hda_pcm_stream nvhdmi_pcm_digital_playback_8ch = {
.
channels_min
=
2
,
.
channels_max
=
8
,
.
nid
=
Nv_Master_Convert_nid
,
.
rates
=
S
NDRV_PCM_RATE_48000
,
.
maxbps
=
16
,
.
formats
=
S
NDRV_PCM_FMTBIT_S16_LE
,
.
rates
=
S
UPPORTED_RATES
,
.
maxbps
=
SUPPORTED_MAXBPS
,
.
formats
=
S
UPPORTED_FORMATS
,
.
ops
=
{
.
open
=
nvhdmi_dig_playback_pcm_open
,
.
close
=
nvhdmi_dig_playback_pcm_close_8ch
,
...
...
@@ -273,9 +292,9 @@ static struct hda_pcm_stream nvhdmi_pcm_digital_playback_2ch = {
.
channels_min
=
2
,
.
channels_max
=
2
,
.
nid
=
Nv_Master_Convert_nid
,
.
rates
=
S
NDRV_PCM_RATE_48000
,
.
maxbps
=
16
,
.
formats
=
S
NDRV_PCM_FMTBIT_S16_LE
,
.
rates
=
S
UPPORTED_RATES
,
.
maxbps
=
SUPPORTED_MAXBPS
,
.
formats
=
S
UPPORTED_FORMATS
,
.
ops
=
{
.
open
=
nvhdmi_dig_playback_pcm_open
,
.
close
=
nvhdmi_dig_playback_pcm_close_2ch
,
...
...
sound/pci/hda/patch_realtek.c
View file @
fb66ebd8
...
...
@@ -275,7 +275,7 @@ struct alc_spec {
struct
snd_kcontrol_new
*
cap_mixer
;
/* capture mixer */
unsigned
int
beep_amp
;
/* beep amp value, set via set_beep_amp() */
const struct hda_verb *init_verbs[
5
]; /* initialization verbs
const
struct
hda_verb
*
init_verbs
[
10
];
/* initialization verbs
* don't forget NULL
* termination!
*/
...
...
sound/pci/hda/patch_sigmatel.c
View file @
fb66ebd8
...
...
@@ -158,6 +158,7 @@ enum {
STAC_D965_5ST_NO_FP
,
STAC_DELL_3ST
,
STAC_DELL_BIOS
,
STAC_927X_VOLKNOB
,
STAC_927X_MODELS
};
...
...
@@ -907,6 +908,16 @@ static struct hda_verb d965_core_init[] = {
{}
};
static
struct
hda_verb
dell_3st_core_init
[]
=
{
/* don't set delta bit */
{
0x24
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0x7f
},
/* unmute node 0x1b */
{
0x1b
,
AC_VERB_SET_AMP_GAIN_MUTE
,
0xb000
},
/* select node 0x03 as DAC */
{
0x0b
,
AC_VERB_SET_CONNECT_SEL
,
0x01
},
{}
};
static
struct
hda_verb
stac927x_core_init
[]
=
{
/* set master volume and direct control */
{
0x24
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0xff
},
...
...
@@ -915,6 +926,14 @@ static struct hda_verb stac927x_core_init[] = {
{}
};
static
struct
hda_verb
stac927x_volknob_core_init
[]
=
{
/* don't set delta bit */
{
0x24
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0x7f
},
/* enable analog pc beep path */
{
0x01
,
AC_VERB_SET_DIGI_CONVERT_2
,
1
<<
5
},
{}
};
static
struct
hda_verb
stac9205_core_init
[]
=
{
/* set master volume and direct control */
{
0x24
,
AC_VERB_SET_VOLUME_KNOB_CONTROL
,
0xff
},
...
...
@@ -1999,6 +2018,7 @@ static unsigned int *stac927x_brd_tbl[STAC_927X_MODELS] = {
[
STAC_D965_5ST_NO_FP
]
=
d965_5st_no_fp_pin_configs
,
[
STAC_DELL_3ST
]
=
dell_3st_pin_configs
,
[
STAC_DELL_BIOS
]
=
NULL
,
[
STAC_927X_VOLKNOB
]
=
NULL
,
};
static
const
char
*
stac927x_models
[
STAC_927X_MODELS
]
=
{
...
...
@@ -2010,6 +2030,7 @@ static const char *stac927x_models[STAC_927X_MODELS] = {
[
STAC_D965_5ST_NO_FP
]
=
"5stack-no-fp"
,
[
STAC_DELL_3ST
]
=
"dell-3stack"
,
[
STAC_DELL_BIOS
]
=
"dell-bios"
,
[
STAC_927X_VOLKNOB
]
=
"volknob"
,
};
static
struct
snd_pci_quirk
stac927x_cfg_tbl
[]
=
{
...
...
@@ -2045,6 +2066,8 @@ static struct snd_pci_quirk stac927x_cfg_tbl[] = {
"Intel D965"
,
STAC_D965_5ST
),
SND_PCI_QUIRK_MASK
(
PCI_VENDOR_ID_INTEL
,
0xff00
,
0x2500
,
"Intel D965"
,
STAC_D965_5ST
),
/* volume-knob fixes */
SND_PCI_QUIRK_VENDOR
(
0x10cf
,
"FSC"
,
STAC_927X_VOLKNOB
),
{}
/* terminator */
};
...
...
@@ -5612,10 +5635,14 @@ static int patch_stac927x(struct hda_codec *codec)
spec
->
dmic_nids
=
stac927x_dmic_nids
;
spec
->
num_dmics
=
STAC927X_NUM_DMICS
;
spec
->
init
=
d
965
_core_init
;
spec
->
init
=
d
ell_3st
_core_init
;
spec
->
dmux_nids
=
stac927x_dmux_nids
;
spec
->
num_dmuxes
=
ARRAY_SIZE
(
stac927x_dmux_nids
);
break
;
case
STAC_927X_VOLKNOB
:
spec
->
num_dmics
=
0
;
spec
->
init
=
stac927x_volknob_core_init
;
break
;
default:
spec
->
num_dmics
=
0
;
spec
->
init
=
stac927x_core_init
;
...
...
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