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
3383c5c3
Commit
3383c5c3
authored
Sep 29, 2016
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linus' into for-next
parents
8da08ca0
0eec8809
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
6 deletions
+32
-6
sound/pci/ali5451/ali5451.c
sound/pci/ali5451/ali5451.c
+2
-0
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_conexant.c
+10
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+4
-0
sound/usb/mixer_quirks.c
sound/usb/mixer_quirks.c
+16
-6
No files found.
sound/pci/ali5451/ali5451.c
View file @
3383c5c3
...
@@ -1408,6 +1408,7 @@ snd_ali_playback_pointer(struct snd_pcm_substream *substream)
...
@@ -1408,6 +1408,7 @@ snd_ali_playback_pointer(struct snd_pcm_substream *substream)
spin_unlock
(
&
codec
->
reg_lock
);
spin_unlock
(
&
codec
->
reg_lock
);
dev_dbg
(
codec
->
card
->
dev
,
"playback pointer returned cso=%xh.
\n
"
,
cso
);
dev_dbg
(
codec
->
card
->
dev
,
"playback pointer returned cso=%xh.
\n
"
,
cso
);
cso
%=
runtime
->
buffer_size
;
return
cso
;
return
cso
;
}
}
...
@@ -1428,6 +1429,7 @@ static snd_pcm_uframes_t snd_ali_pointer(struct snd_pcm_substream *substream)
...
@@ -1428,6 +1429,7 @@ static snd_pcm_uframes_t snd_ali_pointer(struct snd_pcm_substream *substream)
cso
=
inw
(
ALI_REG
(
codec
,
ALI_CSO_ALPHA_FMS
+
2
));
cso
=
inw
(
ALI_REG
(
codec
,
ALI_CSO_ALPHA_FMS
+
2
));
spin_unlock
(
&
codec
->
reg_lock
);
spin_unlock
(
&
codec
->
reg_lock
);
cso
%=
runtime
->
buffer_size
;
return
cso
;
return
cso
;
}
}
...
...
sound/pci/hda/patch_conexant.c
View file @
3383c5c3
...
@@ -261,6 +261,7 @@ enum {
...
@@ -261,6 +261,7 @@ enum {
CXT_FIXUP_HP_530
,
CXT_FIXUP_HP_530
,
CXT_FIXUP_CAP_MIX_AMP_5047
,
CXT_FIXUP_CAP_MIX_AMP_5047
,
CXT_FIXUP_MUTE_LED_EAPD
,
CXT_FIXUP_MUTE_LED_EAPD
,
CXT_FIXUP_HP_SPECTRE
,
};
};
/* for hda_fixup_thinkpad_acpi() */
/* for hda_fixup_thinkpad_acpi() */
...
@@ -765,6 +766,14 @@ static const struct hda_fixup cxt_fixups[] = {
...
@@ -765,6 +766,14 @@ static const struct hda_fixup cxt_fixups[] = {
.
type
=
HDA_FIXUP_FUNC
,
.
type
=
HDA_FIXUP_FUNC
,
.
v
.
func
=
cxt_fixup_mute_led_eapd
,
.
v
.
func
=
cxt_fixup_mute_led_eapd
,
},
},
[
CXT_FIXUP_HP_SPECTRE
]
=
{
.
type
=
HDA_FIXUP_PINS
,
.
v
.
pins
=
(
const
struct
hda_pintbl
[])
{
/* enable NID 0x1d for the speaker on top */
{
0x1d
,
0x91170111
},
{
}
}
},
};
};
static
const
struct
snd_pci_quirk
cxt5045_fixups
[]
=
{
static
const
struct
snd_pci_quirk
cxt5045_fixups
[]
=
{
...
@@ -814,6 +823,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
...
@@ -814,6 +823,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
SND_PCI_QUIRK
(
0x1025
,
0x0543
,
"Acer Aspire One 522"
,
CXT_FIXUP_STEREO_DMIC
),
SND_PCI_QUIRK
(
0x1025
,
0x0543
,
"Acer Aspire One 522"
,
CXT_FIXUP_STEREO_DMIC
),
SND_PCI_QUIRK
(
0x1025
,
0x054c
,
"Acer Aspire 3830TG"
,
CXT_FIXUP_ASPIRE_DMIC
),
SND_PCI_QUIRK
(
0x1025
,
0x054c
,
"Acer Aspire 3830TG"
,
CXT_FIXUP_ASPIRE_DMIC
),
SND_PCI_QUIRK
(
0x1025
,
0x054f
,
"Acer Aspire 4830T"
,
CXT_FIXUP_ASPIRE_DMIC
),
SND_PCI_QUIRK
(
0x1025
,
0x054f
,
"Acer Aspire 4830T"
,
CXT_FIXUP_ASPIRE_DMIC
),
SND_PCI_QUIRK
(
0x103c
,
0x8174
,
"HP Spectre x360"
,
CXT_FIXUP_HP_SPECTRE
),
SND_PCI_QUIRK
(
0x1043
,
0x138d
,
"Asus"
,
CXT_FIXUP_HEADPHONE_MIC_PIN
),
SND_PCI_QUIRK
(
0x1043
,
0x138d
,
"Asus"
,
CXT_FIXUP_HEADPHONE_MIC_PIN
),
SND_PCI_QUIRK
(
0x152d
,
0x0833
,
"OLPC XO-1.5"
,
CXT_FIXUP_OLPC_XO
),
SND_PCI_QUIRK
(
0x152d
,
0x0833
,
"OLPC XO-1.5"
,
CXT_FIXUP_OLPC_XO
),
SND_PCI_QUIRK
(
0x17aa
,
0x20f2
,
"Lenovo T400"
,
CXT_PINCFG_LENOVO_TP410
),
SND_PCI_QUIRK
(
0x17aa
,
0x20f2
,
"Lenovo T400"
,
CXT_PINCFG_LENOVO_TP410
),
...
...
sound/pci/hda/patch_realtek.c
View file @
3383c5c3
...
@@ -5854,6 +5854,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
...
@@ -5854,6 +5854,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
{
0x12
,
0x90a60160
},
{
0x12
,
0x90a60160
},
{
0x14
,
0x90170120
},
{
0x14
,
0x90170120
},
{
0x21
,
0x02211030
}),
{
0x21
,
0x02211030
}),
SND_HDA_PIN_QUIRK
(
0x10ec0255
,
0x1028
,
"Dell"
,
ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
,
{
0x14
,
0x90170110
},
{
0x1b
,
0x02011020
},
{
0x21
,
0x0221101f
}),
SND_HDA_PIN_QUIRK
(
0x10ec0255
,
0x1028
,
"Dell"
,
ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
,
SND_HDA_PIN_QUIRK
(
0x10ec0255
,
0x1028
,
"Dell"
,
ALC255_FIXUP_DELL1_MIC_NO_PRESENCE
,
{
0x14
,
0x90170130
},
{
0x14
,
0x90170130
},
{
0x1b
,
0x01014020
},
{
0x1b
,
0x01014020
},
...
...
sound/usb/mixer_quirks.c
View file @
3383c5c3
...
@@ -1831,6 +1831,7 @@ void snd_usb_mixer_rc_memory_change(struct usb_mixer_interface *mixer,
...
@@ -1831,6 +1831,7 @@ void snd_usb_mixer_rc_memory_change(struct usb_mixer_interface *mixer,
}
}
static
void
snd_dragonfly_quirk_db_scale
(
struct
usb_mixer_interface
*
mixer
,
static
void
snd_dragonfly_quirk_db_scale
(
struct
usb_mixer_interface
*
mixer
,
struct
usb_mixer_elem_info
*
cval
,
struct
snd_kcontrol
*
kctl
)
struct
snd_kcontrol
*
kctl
)
{
{
/* Approximation using 10 ranges based on output measurement on hw v1.2.
/* Approximation using 10 ranges based on output measurement on hw v1.2.
...
@@ -1848,10 +1849,19 @@ static void snd_dragonfly_quirk_db_scale(struct usb_mixer_interface *mixer,
...
@@ -1848,10 +1849,19 @@ static void snd_dragonfly_quirk_db_scale(struct usb_mixer_interface *mixer,
41
,
50
,
TLV_DB_MINMAX_ITEM
(
-
441
,
0
),
41
,
50
,
TLV_DB_MINMAX_ITEM
(
-
441
,
0
),
);
);
usb_audio_info
(
mixer
->
chip
,
"applying DragonFly dB scale quirk
\n
"
);
if
(
cval
->
min
==
0
&&
cval
->
max
==
50
)
{
kctl
->
tlv
.
p
=
scale
;
usb_audio_info
(
mixer
->
chip
,
"applying DragonFly dB scale quirk (0-50 variant)
\n
"
);
kctl
->
vd
[
0
].
access
|=
SNDRV_CTL_ELEM_ACCESS_TLV_READ
;
kctl
->
tlv
.
p
=
scale
;
kctl
->
vd
[
0
].
access
&=
~
SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK
;
kctl
->
vd
[
0
].
access
|=
SNDRV_CTL_ELEM_ACCESS_TLV_READ
;
kctl
->
vd
[
0
].
access
&=
~
SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK
;
}
else
if
(
cval
->
min
==
0
&&
cval
->
max
<=
1000
)
{
/* Some other clearly broken DragonFly variant.
* At least a 0..53 variant (hw v1.0) exists.
*/
usb_audio_info
(
mixer
->
chip
,
"ignoring too narrow dB range on a DragonFly device"
);
kctl
->
vd
[
0
].
access
&=
~
SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK
;
}
}
}
void
snd_usb_mixer_fu_apply_quirk
(
struct
usb_mixer_interface
*
mixer
,
void
snd_usb_mixer_fu_apply_quirk
(
struct
usb_mixer_interface
*
mixer
,
...
@@ -1860,8 +1870,8 @@ void snd_usb_mixer_fu_apply_quirk(struct usb_mixer_interface *mixer,
...
@@ -1860,8 +1870,8 @@ void snd_usb_mixer_fu_apply_quirk(struct usb_mixer_interface *mixer,
{
{
switch
(
mixer
->
chip
->
usb_id
)
{
switch
(
mixer
->
chip
->
usb_id
)
{
case
USB_ID
(
0x21b4
,
0x0081
):
/* AudioQuest DragonFly */
case
USB_ID
(
0x21b4
,
0x0081
):
/* AudioQuest DragonFly */
if
(
unitid
==
7
&&
cval
->
min
==
0
&&
cval
->
max
==
50
)
if
(
unitid
==
7
&&
cval
->
control
==
UAC_FU_VOLUME
)
snd_dragonfly_quirk_db_scale
(
mixer
,
kctl
);
snd_dragonfly_quirk_db_scale
(
mixer
,
cval
,
kctl
);
break
;
break
;
}
}
}
}
...
...
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