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
fc7f6a05
Commit
fc7f6a05
authored
Oct 26, 2020
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge existing fixes from asoc/for-5.10
parents
3650b228
6e5329c6
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
106 additions
and
40 deletions
+106
-40
sound/soc/codecs/cs42l51.c
sound/soc/codecs/cs42l51.c
+21
-1
sound/soc/codecs/wsa881x.c
sound/soc/codecs/wsa881x.c
+2
-0
sound/soc/intel/Kconfig
sound/soc/intel/Kconfig
+0
-18
sound/soc/intel/atom/Makefile
sound/soc/intel/atom/Makefile
+1
-1
sound/soc/intel/atom/sst/Makefile
sound/soc/intel/atom/sst/Makefile
+3
-3
sound/soc/intel/boards/kbl_rt5663_max98927.c
sound/soc/intel/boards/kbl_rt5663_max98927.c
+31
-8
sound/soc/intel/catpt/dsp.c
sound/soc/intel/catpt/dsp.c
+6
-3
sound/soc/intel/catpt/pcm.c
sound/soc/intel/catpt/pcm.c
+10
-0
sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
+25
-6
sound/soc/qcom/sdm845.c
sound/soc/qcom/sdm845.c
+2
-0
sound/soc/sof/loader.c
sound/soc/sof/loader.c
+5
-0
No files found.
sound/soc/codecs/cs42l51.c
View file @
fc7f6a05
...
...
@@ -254,8 +254,28 @@ static const struct snd_soc_dapm_widget cs42l51_dapm_widgets[] = {
&
cs42l51_adcr_mux_controls
),
};
static
int
mclk_event
(
struct
snd_soc_dapm_widget
*
w
,
struct
snd_kcontrol
*
kcontrol
,
int
event
)
{
struct
snd_soc_component
*
comp
=
snd_soc_dapm_to_component
(
w
->
dapm
);
struct
cs42l51_private
*
cs42l51
=
snd_soc_component_get_drvdata
(
comp
);
switch
(
event
)
{
case
SND_SOC_DAPM_PRE_PMU
:
return
clk_prepare_enable
(
cs42l51
->
mclk_handle
);
case
SND_SOC_DAPM_POST_PMD
:
/* Delay mclk shutdown to fulfill power-down sequence requirements */
msleep
(
20
);
clk_disable_unprepare
(
cs42l51
->
mclk_handle
);
break
;
}
return
0
;
}
static
const
struct
snd_soc_dapm_widget
cs42l51_dapm_mclk_widgets
[]
=
{
SND_SOC_DAPM_CLOCK_SUPPLY
(
"MCLK"
)
SND_SOC_DAPM_SUPPLY
(
"MCLK"
,
SND_SOC_NOPM
,
0
,
0
,
mclk_event
,
SND_SOC_DAPM_PRE_PMU
|
SND_SOC_DAPM_POST_PMD
),
};
static
const
struct
snd_soc_dapm_route
cs42l51_routes
[]
=
{
...
...
sound/soc/codecs/wsa881x.c
View file @
fc7f6a05
...
...
@@ -1026,6 +1026,8 @@ static struct snd_soc_dai_driver wsa881x_dais[] = {
.
id
=
0
,
.
playback
=
{
.
stream_name
=
"SPKR Playback"
,
.
rates
=
SNDRV_PCM_RATE_48000
,
.
formats
=
SNDRV_PCM_FMTBIT_S16_LE
,
.
rate_max
=
48000
,
.
rate_min
=
48000
,
.
channels_min
=
1
,
...
...
sound/soc/intel/Kconfig
View file @
fc7f6a05
...
...
@@ -15,22 +15,6 @@ config SND_SOC_INTEL_SST_TOPLEVEL
if SND_SOC_INTEL_SST_TOPLEVEL
config SND_SST_IPC
tristate
# This option controls the IPC core for HiFi2 platforms
config SND_SST_IPC_PCI
tristate
select SND_SST_IPC
# This option controls the PCI-based IPC for HiFi2 platforms
# (Medfield, Merrifield).
config SND_SST_IPC_ACPI
tristate
select SND_SST_IPC
# This option controls the ACPI-based IPC for HiFi2 platforms
# (Baytrail, Cherrytrail)
config SND_SOC_INTEL_SST
tristate
...
...
@@ -57,7 +41,6 @@ config SND_SST_ATOM_HIFI2_PLATFORM
config SND_SST_ATOM_HIFI2_PLATFORM_PCI
tristate "PCI HiFi2 (Merrifield) Platforms"
depends on X86 && PCI
select SND_SST_IPC_PCI
select SND_SST_ATOM_HIFI2_PLATFORM
help
If you have a Intel Merrifield/Edison platform, then
...
...
@@ -70,7 +53,6 @@ config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
default ACPI
depends on X86 && ACPI && PCI
select SND_SST_IPC_ACPI
select SND_SST_ATOM_HIFI2_PLATFORM
select SND_SOC_ACPI_INTEL_MATCH
select IOSF_MBI
...
...
sound/soc/intel/atom/Makefile
View file @
fc7f6a05
...
...
@@ -6,4 +6,4 @@ snd-soc-sst-atom-hifi2-platform-objs := sst-mfld-platform-pcm.o \
obj-$(CONFIG_SND_SST_ATOM_HIFI2_PLATFORM)
+=
snd-soc-sst-atom-hifi2-platform.o
# DSP driver
obj-$(CONFIG_SND_SST_
IPC
)
+=
sst/
obj-$(CONFIG_SND_SST_
ATOM_HIFI2_PLATFORM
)
+=
sst/
sound/soc/intel/atom/sst/Makefile
View file @
fc7f6a05
...
...
@@ -3,6 +3,6 @@ snd-intel-sst-core-objs := sst.o sst_ipc.o sst_stream.o sst_drv_interface.o sst_
snd-intel-sst-pci-objs
+=
sst_pci.o
snd-intel-sst-acpi-objs
+=
sst_acpi.o
obj-$(CONFIG_SND_SST_
IPC
)
+=
snd-intel-sst-core.o
obj-$(CONFIG_SND_SST_
IPC
_PCI)
+=
snd-intel-sst-pci.o
obj-$(CONFIG_SND_SST_
IPC
_ACPI)
+=
snd-intel-sst-acpi.o
obj-$(CONFIG_SND_SST_
ATOM_HIFI2_PLATFORM
)
+=
snd-intel-sst-core.o
obj-$(CONFIG_SND_SST_
ATOM_HIFI2_PLATFORM
_PCI)
+=
snd-intel-sst-pci.o
obj-$(CONFIG_SND_SST_
ATOM_HIFI2_PLATFORM
_ACPI)
+=
snd-intel-sst-acpi.o
sound/soc/intel/boards/kbl_rt5663_max98927.c
View file @
fc7f6a05
...
...
@@ -401,17 +401,40 @@ static int kabylake_ssp_fixup(struct snd_soc_pcm_runtime *rtd,
struct
snd_interval
*
chan
=
hw_param_interval
(
params
,
SNDRV_PCM_HW_PARAM_CHANNELS
);
struct
snd_mask
*
fmt
=
hw_param_mask
(
params
,
SNDRV_PCM_HW_PARAM_FORMAT
);
struct
snd_soc_dpcm
*
dpcm
=
container_of
(
params
,
struct
snd_soc_dpcm
,
hw_params
);
struct
snd_soc_dai_link
*
fe_dai_link
=
dpcm
->
fe
->
dai_link
;
struct
snd_soc_dai_link
*
be_dai_link
=
dpcm
->
be
->
dai_link
;
struct
snd_soc_dpcm
*
dpcm
,
*
rtd_dpcm
=
NULL
;
/*
* The following loop will be called only for playback stream
* In this platform, there is only one playback device on every SSP
*/
for_each_dpcm_fe
(
rtd
,
SNDRV_PCM_STREAM_PLAYBACK
,
dpcm
)
{
rtd_dpcm
=
dpcm
;
break
;
}
/*
* This following loop will be called only for capture stream
* In this platform, there is only one capture device on every SSP
*/
for_each_dpcm_fe
(
rtd
,
SNDRV_PCM_STREAM_CAPTURE
,
dpcm
)
{
rtd_dpcm
=
dpcm
;
break
;
}
if
(
!
rtd_dpcm
)
return
-
EINVAL
;
/*
* The above 2 loops are mutually exclusive based on the stream direction,
* thus rtd_dpcm variable will never be overwritten
*/
/*
* The ADSP will convert the FE rate to 48k, stereo, 24 bit
*/
if
(
!
strcmp
(
fe_
dai_link
->
name
,
"Kbl Audio Port"
)
||
!
strcmp
(
fe_
dai_link
->
name
,
"Kbl Audio Headset Playback"
)
||
!
strcmp
(
fe_
dai_link
->
name
,
"Kbl Audio Capture Port"
))
{
if
(
!
strcmp
(
rtd_dpcm
->
fe
->
dai_link
->
name
,
"Kbl Audio Port"
)
||
!
strcmp
(
rtd_dpcm
->
fe
->
dai_link
->
name
,
"Kbl Audio Headset Playback"
)
||
!
strcmp
(
rtd_dpcm
->
fe
->
dai_link
->
name
,
"Kbl Audio Capture Port"
))
{
rate
->
min
=
rate
->
max
=
48000
;
chan
->
min
=
chan
->
max
=
2
;
snd_mask_none
(
fmt
);
...
...
@@ -421,7 +444,7 @@ static int kabylake_ssp_fixup(struct snd_soc_pcm_runtime *rtd,
* The speaker on the SSP0 supports S16_LE and not S24_LE.
* thus changing the mask here
*/
if
(
!
strcmp
(
be_
dai_link
->
name
,
"SSP0-Codec"
))
if
(
!
strcmp
(
rtd_dpcm
->
be
->
dai_link
->
name
,
"SSP0-Codec"
))
snd_mask_set_format
(
fmt
,
SNDRV_PCM_FORMAT_S16_LE
);
return
0
;
...
...
sound/soc/intel/catpt/dsp.c
View file @
fc7f6a05
...
...
@@ -267,9 +267,12 @@ static int catpt_dsp_select_lpclock(struct catpt_dev *cdev, bool lp, bool waiti)
reg
,
(
reg
&
CATPT_ISD_DCPWM
),
500
,
10000
);
if
(
ret
)
{
dev_err
(
cdev
->
dev
,
"await WAITI timeout
\n
"
);
mutex_unlock
(
&
cdev
->
clk_mutex
);
return
ret
;
dev_warn
(
cdev
->
dev
,
"await WAITI timeout
\n
"
);
/* no signal - only high clock selection allowed */
if
(
lp
)
{
mutex_unlock
(
&
cdev
->
clk_mutex
);
return
0
;
}
}
}
...
...
sound/soc/intel/catpt/pcm.c
View file @
fc7f6a05
...
...
@@ -667,7 +667,17 @@ static int catpt_dai_pcm_new(struct snd_soc_pcm_runtime *rtm,
break
;
}
/* see if this is a new configuration */
if
(
!
memcmp
(
&
cdev
->
devfmt
[
devfmt
.
iface
],
&
devfmt
,
sizeof
(
devfmt
)))
return
0
;
pm_runtime_get_sync
(
cdev
->
dev
);
ret
=
catpt_ipc_set_device_format
(
cdev
,
&
devfmt
);
pm_runtime_mark_last_busy
(
cdev
->
dev
);
pm_runtime_put_autosuspend
(
cdev
->
dev
);
if
(
ret
)
return
CATPT_IPC_ERROR
(
ret
);
...
...
sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c
View file @
fc7f6a05
...
...
@@ -630,15 +630,34 @@ static struct snd_soc_codec_conf mt8183_da7219_rt1015_codec_conf[] = {
},
};
static
const
struct
snd_kcontrol_new
mt8183_da7219_rt1015_snd_controls
[]
=
{
SOC_DAPM_PIN_SWITCH
(
"Left Spk"
),
SOC_DAPM_PIN_SWITCH
(
"Right Spk"
),
};
static
const
struct
snd_soc_dapm_widget
mt8183_da7219_rt1015_dapm_widgets
[]
=
{
SND_SOC_DAPM_SPK
(
"Left Spk"
,
NULL
),
SND_SOC_DAPM_SPK
(
"Right Spk"
,
NULL
),
SND_SOC_DAPM_PINCTRL
(
"TDM_OUT_PINCTRL"
,
"aud_tdm_out_on"
,
"aud_tdm_out_off"
),
};
static
const
struct
snd_soc_dapm_route
mt8183_da7219_rt1015_dapm_routes
[]
=
{
{
"Left Spk"
,
NULL
,
"Left SPO"
},
{
"Right Spk"
,
NULL
,
"Right SPO"
},
{
"I2S Playback"
,
NULL
,
"TDM_OUT_PINCTRL"
},
};
static
struct
snd_soc_card
mt8183_da7219_rt1015_card
=
{
.
name
=
"mt8183_da7219_rt1015"
,
.
owner
=
THIS_MODULE
,
.
controls
=
mt8183_da7219_
max98357
_snd_controls
,
.
num_controls
=
ARRAY_SIZE
(
mt8183_da7219_
max98357
_snd_controls
),
.
dapm_widgets
=
mt8183_da7219_
max98357
_dapm_widgets
,
.
num_dapm_widgets
=
ARRAY_SIZE
(
mt8183_da7219_
max98357
_dapm_widgets
),
.
dapm_routes
=
mt8183_da7219_
max98357
_dapm_routes
,
.
num_dapm_routes
=
ARRAY_SIZE
(
mt8183_da7219_
max98357
_dapm_routes
),
.
controls
=
mt8183_da7219_
rt1015
_snd_controls
,
.
num_controls
=
ARRAY_SIZE
(
mt8183_da7219_
rt1015
_snd_controls
),
.
dapm_widgets
=
mt8183_da7219_
rt1015
_dapm_widgets
,
.
num_dapm_widgets
=
ARRAY_SIZE
(
mt8183_da7219_
rt1015
_dapm_widgets
),
.
dapm_routes
=
mt8183_da7219_
rt1015
_dapm_routes
,
.
num_dapm_routes
=
ARRAY_SIZE
(
mt8183_da7219_
rt1015
_dapm_routes
),
.
dai_link
=
mt8183_da7219_dai_links
,
.
num_links
=
ARRAY_SIZE
(
mt8183_da7219_dai_links
),
.
aux_dev
=
&
mt8183_da7219_max98357_headset_dev
,
...
...
sound/soc/qcom/sdm845.c
View file @
fc7f6a05
...
...
@@ -17,6 +17,7 @@
#include "qdsp6/q6afe.h"
#include "../codecs/rt5663.h"
#define DRIVER_NAME "sdm845"
#define DEFAULT_SAMPLE_RATE_48K 48000
#define DEFAULT_MCLK_RATE 24576000
#define TDM_BCLK_RATE 6144000
...
...
@@ -552,6 +553,7 @@ static int sdm845_snd_platform_probe(struct platform_device *pdev)
if
(
!
data
)
return
-
ENOMEM
;
card
->
driver_name
=
DRIVER_NAME
;
card
->
dapm_widgets
=
sdm845_snd_widgets
;
card
->
num_dapm_widgets
=
ARRAY_SIZE
(
sdm845_snd_widgets
);
card
->
dev
=
dev
;
...
...
sound/soc/sof/loader.c
View file @
fc7f6a05
...
...
@@ -118,6 +118,11 @@ int snd_sof_fw_parse_ext_data(struct snd_sof_dev *sdev, u32 bar, u32 offset)
case
SOF_IPC_EXT_CC_INFO
:
ret
=
get_cc_info
(
sdev
,
ext_hdr
);
break
;
case
SOF_IPC_EXT_UNUSED
:
case
SOF_IPC_EXT_PROBE_INFO
:
case
SOF_IPC_EXT_USER_ABI_INFO
:
/* They are supported but we don't do anything here */
break
;
default:
dev_warn
(
sdev
->
dev
,
"warning: unknown ext header type %d size 0x%x
\n
"
,
ext_hdr
->
type
,
ext_hdr
->
hdr
.
size
);
...
...
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