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
1dcb1859
Commit
1dcb1859
authored
Feb 12, 2018
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/fixes' into for-linus
Signed-off-by:
Takashi Iwai
<
tiwai@suse.de
>
parents
7928b2cb
7c74866b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
79 additions
and
11 deletions
+79
-11
include/sound/ac97/regs.h
include/sound/ac97/regs.h
+1
-1
sound/ac97/Kconfig
sound/ac97/Kconfig
+0
-1
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+53
-0
sound/usb/mixer.c
sound/usb/mixer.c
+11
-7
sound/usb/pcm.c
sound/usb/pcm.c
+9
-0
sound/usb/quirks.c
sound/usb/quirks.c
+5
-2
No files found.
include/sound/ac97/regs.h
View file @
1dcb1859
...
...
@@ -31,7 +31,7 @@
#define AC97_HEADPHONE 0x04
/* Headphone Volume (optional) */
#define AC97_MASTER_MONO 0x06
/* Master Volume Mono (optional) */
#define AC97_MASTER_TONE 0x08
/* Master Tone (Bass & Treble) (optional) */
#define AC97_PC_BEEP 0x0a
/* PC Beep Volume (optinal) */
#define AC97_PC_BEEP 0x0a
/* PC Beep Volume (opti
o
nal) */
#define AC97_PHONE 0x0c
/* Phone Volume (optional) */
#define AC97_MIC 0x0e
/* MIC Volume */
#define AC97_LINE 0x10
/* Line In Volume */
...
...
sound/ac97/Kconfig
View file @
1dcb1859
...
...
@@ -5,7 +5,6 @@
config AC97_BUS_NEW
tristate
select AC97
help
This is the new AC97 bus type, successor of AC97_BUS. The ported
drivers which benefit from the AC97 automatic probing should "select"
...
...
sound/pci/hda/patch_realtek.c
View file @
1dcb1859
...
...
@@ -4972,6 +4972,28 @@ static void alc_fixup_tpt440_dock(struct hda_codec *codec,
}
}
static
void
alc_fixup_tpt470_dock
(
struct
hda_codec
*
codec
,
const
struct
hda_fixup
*
fix
,
int
action
)
{
static
const
struct
hda_pintbl
pincfgs
[]
=
{
{
0x17
,
0x21211010
},
/* dock headphone */
{
0x19
,
0x21a11010
},
/* dock mic */
{
}
};
struct
alc_spec
*
spec
=
codec
->
spec
;
if
(
action
==
HDA_FIXUP_ACT_PRE_PROBE
)
{
spec
->
parse_flags
=
HDA_PINCFG_NO_HP_FIXUP
;
/* Enable DOCK device */
snd_hda_codec_write
(
codec
,
0x17
,
0
,
AC_VERB_SET_CONFIG_DEFAULT_BYTES_3
,
0
);
/* Enable DOCK device */
snd_hda_codec_write
(
codec
,
0x19
,
0
,
AC_VERB_SET_CONFIG_DEFAULT_BYTES_3
,
0
);
snd_hda_apply_pincfgs
(
codec
,
pincfgs
);
}
}
static
void
alc_shutup_dell_xps13
(
struct
hda_codec
*
codec
)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
...
...
@@ -5446,6 +5468,7 @@ enum {
ALC700_FIXUP_INTEL_REFERENCE
,
ALC274_FIXUP_DELL_BIND_DACS
,
ALC274_FIXUP_DELL_AIO_LINEOUT_VERB
,
ALC298_FIXUP_TPT470_DOCK
,
};
static
const
struct
hda_fixup
alc269_fixups
[]
=
{
...
...
@@ -6271,6 +6294,12 @@ static const struct hda_fixup alc269_fixups[] = {
.
chained
=
true
,
.
chain_id
=
ALC274_FIXUP_DELL_BIND_DACS
},
[
ALC298_FIXUP_TPT470_DOCK
]
=
{
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
alc_fixup_tpt470_dock
,
.
chained
=
true
,
.
chain_id
=
ALC293_FIXUP_LENOVO_SPK_NOISE
},
};
static
const
struct
snd_pci_quirk
alc269_fixup_tbl
[]
=
{
...
...
@@ -6321,6 +6350,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x1028
,
0x075d
,
"Dell AIO"
,
ALC298_FIXUP_SPK_VOLUME
),
SND_PCI_QUIRK
(
0x1028
,
0x0798
,
"Dell Inspiron 17 7000 Gaming"
,
ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER
),
SND_PCI_QUIRK
(
0x1028
,
0x082a
,
"Dell XPS 13 9360"
,
ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE
),
SND_PCI_QUIRK
(
0x1028
,
0x084b
,
"Dell"
,
ALC274_FIXUP_DELL_AIO_LINEOUT_VERB
),
SND_PCI_QUIRK
(
0x1028
,
0x084e
,
"Dell"
,
ALC274_FIXUP_DELL_AIO_LINEOUT_VERB
),
SND_PCI_QUIRK
(
0x1028
,
0x164a
,
"Dell"
,
ALC293_FIXUP_DELL1_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x1028
,
0x164b
,
"Dell"
,
ALC293_FIXUP_DELL1_MIC_NO_PRESENCE
),
SND_PCI_QUIRK
(
0x103c
,
0x1586
,
"HP"
,
ALC269_FIXUP_HP_MUTE_LED_MIC2
),
...
...
@@ -6450,8 +6481,16 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x17aa
,
0x2218
,
"Thinkpad X1 Carbon 2nd"
,
ALC292_FIXUP_TPT440_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x2223
,
"ThinkPad T550"
,
ALC292_FIXUP_TPT440_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x2226
,
"ThinkPad X250"
,
ALC292_FIXUP_TPT440_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x222d
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x222e
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x2231
,
"Thinkpad T560"
,
ALC292_FIXUP_TPT460
),
SND_PCI_QUIRK
(
0x17aa
,
0x2233
,
"Thinkpad"
,
ALC292_FIXUP_TPT460
),
SND_PCI_QUIRK
(
0x17aa
,
0x2245
,
"Thinkpad T470"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x2246
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x2247
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x224b
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x224c
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x224d
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x30bb
,
"ThinkCentre AIO"
,
ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY
),
SND_PCI_QUIRK
(
0x17aa
,
0x30e2
,
"ThinkCentre AIO"
,
ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY
),
SND_PCI_QUIRK
(
0x17aa
,
0x310c
,
"ThinkCentre Station"
,
ALC294_FIXUP_LENOVO_MIC_LOCATION
),
...
...
@@ -6472,7 +6511,12 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK
(
0x17aa
,
0x5050
,
"Thinkpad T560p"
,
ALC292_FIXUP_TPT460
),
SND_PCI_QUIRK
(
0x17aa
,
0x5051
,
"Thinkpad L460"
,
ALC292_FIXUP_TPT460
),
SND_PCI_QUIRK
(
0x17aa
,
0x5053
,
"Thinkpad T460"
,
ALC292_FIXUP_TPT460
),
SND_PCI_QUIRK
(
0x17aa
,
0x505d
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x505f
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x5062
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x5109
,
"Thinkpad"
,
ALC269_FIXUP_LIMIT_INT_MIC_BOOST
),
SND_PCI_QUIRK
(
0x17aa
,
0x511e
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x511f
,
"Thinkpad"
,
ALC298_FIXUP_TPT470_DOCK
),
SND_PCI_QUIRK
(
0x17aa
,
0x3bf8
,
"Quanta FL1"
,
ALC269_FIXUP_PCM_44K
),
SND_PCI_QUIRK
(
0x17aa
,
0x9e54
,
"LENOVO NB"
,
ALC269_FIXUP_LENOVO_EAPD
),
SND_PCI_QUIRK
(
0x1b7d
,
0xa831
,
"Ordissimo EVE2 "
,
ALC269VB_FIXUP_ORDISSIMO_EVE2
),
/* Also known as Malata PC-B1303 */
...
...
@@ -6734,6 +6778,11 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
{
0x12
,
0xb7a60130
},
{
0x14
,
0x90170110
},
{
0x21
,
0x02211020
}),
SND_HDA_PIN_QUIRK
(
0x10ec0256
,
0x1028
,
"Dell"
,
ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
,
{
0x12
,
0x90a60130
},
{
0x14
,
0x90170110
},
{
0x14
,
0x01011020
},
{
0x21
,
0x0221101f
}),
SND_HDA_PIN_QUIRK
(
0x10ec0256
,
0x1028
,
"Dell"
,
ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
,
ALC256_STANDARD_PINS
),
SND_HDA_PIN_QUIRK
(
0x10ec0256
,
0x1043
,
"ASUS"
,
ALC256_FIXUP_ASUS_MIC
,
...
...
@@ -6803,6 +6852,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
{
0x12
,
0x90a60120
},
{
0x14
,
0x90170110
},
{
0x21
,
0x0321101f
}),
SND_HDA_PIN_QUIRK
(
0x10ec0289
,
0x1028
,
"Dell"
,
ALC225_FIXUP_DELL1_MIC_NO_PRESENCE
,
{
0x12
,
0xb7a60130
},
{
0x14
,
0x90170110
},
{
0x21
,
0x04211020
}),
SND_HDA_PIN_QUIRK
(
0x10ec0290
,
0x103c
,
"HP"
,
ALC269_FIXUP_HP_MUTE_LED_MIC1
,
ALC290_STANDARD_PINS
,
{
0x15
,
0x04211040
},
...
...
sound/usb/mixer.c
View file @
1dcb1859
...
...
@@ -347,17 +347,20 @@ static int get_ctl_value_v2(struct usb_mixer_elem_info *cval, int request,
int
validx
,
int
*
value_ret
)
{
struct
snd_usb_audio
*
chip
=
cval
->
head
.
mixer
->
chip
;
unsigned
char
buf
[
4
+
3
*
sizeof
(
__u32
)];
/* enough space for one range */
/* enough space for one range */
unsigned
char
buf
[
sizeof
(
__u16
)
+
3
*
sizeof
(
__u32
)];
unsigned
char
*
val
;
int
idx
=
0
,
ret
,
size
;
int
idx
=
0
,
ret
,
val_size
,
size
;
__u8
bRequest
;
val_size
=
uac2_ctl_value_size
(
cval
->
val_type
);
if
(
request
==
UAC_GET_CUR
)
{
bRequest
=
UAC2_CS_CUR
;
size
=
uac2_ctl_value_size
(
cval
->
val_type
)
;
size
=
val_size
;
}
else
{
bRequest
=
UAC2_CS_RANGE
;
size
=
sizeof
(
buf
)
;
size
=
sizeof
(
__u16
)
+
3
*
val_size
;
}
memset
(
buf
,
0
,
sizeof
(
buf
));
...
...
@@ -390,16 +393,17 @@ static int get_ctl_value_v2(struct usb_mixer_elem_info *cval, int request,
val
=
buf
+
sizeof
(
__u16
);
break
;
case
UAC_GET_MAX
:
val
=
buf
+
sizeof
(
__u16
)
*
2
;
val
=
buf
+
sizeof
(
__u16
)
+
val_size
;
break
;
case
UAC_GET_RES
:
val
=
buf
+
sizeof
(
__u16
)
*
3
;
val
=
buf
+
sizeof
(
__u16
)
+
val_size
*
2
;
break
;
default:
return
-
EINVAL
;
}
*
value_ret
=
convert_signed_value
(
cval
,
snd_usb_combine_bytes
(
val
,
sizeof
(
__u16
)));
*
value_ret
=
convert_signed_value
(
cval
,
snd_usb_combine_bytes
(
val
,
val_size
));
return
0
;
}
...
...
sound/usb/pcm.c
View file @
1dcb1859
...
...
@@ -352,6 +352,15 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
ep
=
0x86
;
iface
=
usb_ifnum_to_if
(
dev
,
2
);
if
(
!
iface
||
iface
->
num_altsetting
==
0
)
return
-
EINVAL
;
alts
=
&
iface
->
altsetting
[
1
];
goto
add_sync_ep
;
case
USB_ID
(
0x1397
,
0x0002
):
ep
=
0x81
;
iface
=
usb_ifnum_to_if
(
dev
,
1
);
if
(
!
iface
||
iface
->
num_altsetting
==
0
)
return
-
EINVAL
;
...
...
sound/usb/quirks.c
View file @
1dcb1859
...
...
@@ -1363,8 +1363,11 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
return
SNDRV_PCM_FMTBIT_DSD_U32_BE
;
break
;
/* Amanero Combo384 USB interface with native DSD support */
case
USB_ID
(
0x16d0
,
0x071a
):
/* Amanero Combo384 USB based DACs with native DSD support */
case
USB_ID
(
0x16d0
,
0x071a
):
/* Amanero - Combo384 */
case
USB_ID
(
0x2ab6
,
0x0004
):
/* T+A DAC8DSD-V2.0, MP1000E-V2.0, MP2000R-V2.0, MP2500R-V2.0, MP3100HV-V2.0 */
case
USB_ID
(
0x2ab6
,
0x0005
):
/* T+A USB HD Audio 1 */
case
USB_ID
(
0x2ab6
,
0x0006
):
/* T+A USB HD Audio 2 */
if
(
fp
->
altsetting
==
2
)
{
switch
(
le16_to_cpu
(
chip
->
dev
->
descriptor
.
bcdDevice
))
{
case
0x199
:
...
...
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