Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
1dcb1859
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1dcb1859
编写于
2月 12, 2018
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'topic/fixes' into for-linus
Signed-off-by:
N
Takashi Iwai
<
tiwai@suse.de
>
上级
7928b2cb
7c74866b
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
79 addition
and
11 deletion
+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
未找到文件。
include/sound/ac97/regs.h
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录