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
35ef57a4
Commit
35ef57a4
authored
Aug 08, 2018
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'asoc-4.18' into asoc-4.19 wmadsp dep
parents
0a047f07
0717edbd
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
48 additions
and
19 deletions
+48
-19
sound/soc/codecs/hdmi-codec.c
sound/soc/codecs/hdmi-codec.c
+15
-6
sound/soc/codecs/max98373.c
sound/soc/codecs/max98373.c
+1
-0
sound/soc/codecs/rt5514.c
sound/soc/codecs/rt5514.c
+4
-4
sound/soc/codecs/wm8988.c
sound/soc/codecs/wm8988.c
+2
-2
sound/soc/codecs/wm_adsp.c
sound/soc/codecs/wm_adsp.c
+8
-2
sound/soc/qcom/qdsp6/q6afe-dai.c
sound/soc/qcom/qdsp6/q6afe-dai.c
+4
-1
sound/soc/qcom/qdsp6/q6asm-dai.c
sound/soc/qcom/qdsp6/q6asm-dai.c
+3
-1
sound/soc/qcom/qdsp6/q6routing.c
sound/soc/qcom/qdsp6/q6routing.c
+1
-1
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+8
-0
sound/soc/soc-utils.c
sound/soc/soc-utils.c
+1
-1
sound/soc/tegra/tegra30_i2s.h
sound/soc/tegra/tegra30_i2s.h
+1
-1
No files found.
sound/soc/codecs/hdmi-codec.c
View file @
35ef57a4
...
@@ -291,10 +291,6 @@ static const struct snd_soc_dapm_widget hdmi_widgets[] = {
...
@@ -291,10 +291,6 @@ static const struct snd_soc_dapm_widget hdmi_widgets[] = {
SND_SOC_DAPM_OUTPUT
(
"TX"
),
SND_SOC_DAPM_OUTPUT
(
"TX"
),
};
};
static
const
struct
snd_soc_dapm_route
hdmi_routes
[]
=
{
{
"TX"
,
NULL
,
"Playback"
},
};
enum
{
enum
{
DAI_ID_I2S
=
0
,
DAI_ID_I2S
=
0
,
DAI_ID_SPDIF
,
DAI_ID_SPDIF
,
...
@@ -689,9 +685,23 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,
...
@@ -689,9 +685,23 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,
return
snd_ctl_add
(
rtd
->
card
->
snd_card
,
kctl
);
return
snd_ctl_add
(
rtd
->
card
->
snd_card
,
kctl
);
}
}
static
int
hdmi_dai_probe
(
struct
snd_soc_dai
*
dai
)
{
struct
snd_soc_dapm_context
*
dapm
;
struct
snd_soc_dapm_route
route
=
{
.
sink
=
"TX"
,
.
source
=
dai
->
driver
->
playback
.
stream_name
,
};
dapm
=
snd_soc_component_get_dapm
(
dai
->
component
);
return
snd_soc_dapm_add_routes
(
dapm
,
&
route
,
1
);
}
static
const
struct
snd_soc_dai_driver
hdmi_i2s_dai
=
{
static
const
struct
snd_soc_dai_driver
hdmi_i2s_dai
=
{
.
name
=
"i2s-hifi"
,
.
name
=
"i2s-hifi"
,
.
id
=
DAI_ID_I2S
,
.
id
=
DAI_ID_I2S
,
.
probe
=
hdmi_dai_probe
,
.
playback
=
{
.
playback
=
{
.
stream_name
=
"I2S Playback"
,
.
stream_name
=
"I2S Playback"
,
.
channels_min
=
2
,
.
channels_min
=
2
,
...
@@ -707,6 +717,7 @@ static const struct snd_soc_dai_driver hdmi_i2s_dai = {
...
@@ -707,6 +717,7 @@ static const struct snd_soc_dai_driver hdmi_i2s_dai = {
static
const
struct
snd_soc_dai_driver
hdmi_spdif_dai
=
{
static
const
struct
snd_soc_dai_driver
hdmi_spdif_dai
=
{
.
name
=
"spdif-hifi"
,
.
name
=
"spdif-hifi"
,
.
id
=
DAI_ID_SPDIF
,
.
id
=
DAI_ID_SPDIF
,
.
probe
=
hdmi_dai_probe
,
.
playback
=
{
.
playback
=
{
.
stream_name
=
"SPDIF Playback"
,
.
stream_name
=
"SPDIF Playback"
,
.
channels_min
=
2
,
.
channels_min
=
2
,
...
@@ -733,8 +744,6 @@ static int hdmi_of_xlate_dai_id(struct snd_soc_component *component,
...
@@ -733,8 +744,6 @@ static int hdmi_of_xlate_dai_id(struct snd_soc_component *component,
static
const
struct
snd_soc_component_driver
hdmi_driver
=
{
static
const
struct
snd_soc_component_driver
hdmi_driver
=
{
.
dapm_widgets
=
hdmi_widgets
,
.
dapm_widgets
=
hdmi_widgets
,
.
num_dapm_widgets
=
ARRAY_SIZE
(
hdmi_widgets
),
.
num_dapm_widgets
=
ARRAY_SIZE
(
hdmi_widgets
),
.
dapm_routes
=
hdmi_routes
,
.
num_dapm_routes
=
ARRAY_SIZE
(
hdmi_routes
),
.
of_xlate_dai_id
=
hdmi_of_xlate_dai_id
,
.
of_xlate_dai_id
=
hdmi_of_xlate_dai_id
,
.
idle_bias_on
=
1
,
.
idle_bias_on
=
1
,
.
use_pmdown_time
=
1
,
.
use_pmdown_time
=
1
,
...
...
sound/soc/codecs/max98373.c
View file @
35ef57a4
...
@@ -488,6 +488,7 @@ static const DECLARE_TLV_DB_RANGE(max98373_bde_gain_tlv,
...
@@ -488,6 +488,7 @@ static const DECLARE_TLV_DB_RANGE(max98373_bde_gain_tlv,
static
bool
max98373_readable_register
(
struct
device
*
dev
,
unsigned
int
reg
)
static
bool
max98373_readable_register
(
struct
device
*
dev
,
unsigned
int
reg
)
{
{
switch
(
reg
)
{
switch
(
reg
)
{
case
MAX98373_R2000_SW_RESET
:
case
MAX98373_R2001_INT_RAW1
...
MAX98373_R200C_INT_EN3
:
case
MAX98373_R2001_INT_RAW1
...
MAX98373_R200C_INT_EN3
:
case
MAX98373_R2010_IRQ_CTRL
:
case
MAX98373_R2010_IRQ_CTRL
:
case
MAX98373_R2014_THERM_WARN_THRESH
case
MAX98373_R2014_THERM_WARN_THRESH
...
...
sound/soc/codecs/rt5514.c
View file @
35ef57a4
...
@@ -64,8 +64,8 @@ static const struct reg_sequence rt5514_patch[] = {
...
@@ -64,8 +64,8 @@ static const struct reg_sequence rt5514_patch[] = {
{
RT5514_ANA_CTRL_LDO10
,
0x00028604
},
{
RT5514_ANA_CTRL_LDO10
,
0x00028604
},
{
RT5514_ANA_CTRL_ADCFED
,
0x00000800
},
{
RT5514_ANA_CTRL_ADCFED
,
0x00000800
},
{
RT5514_ASRC_IN_CTRL1
,
0x00000003
},
{
RT5514_ASRC_IN_CTRL1
,
0x00000003
},
{
RT5514_DOWNFILTER0_CTRL3
,
0x100003
6
2
},
{
RT5514_DOWNFILTER0_CTRL3
,
0x100003
5
2
},
{
RT5514_DOWNFILTER1_CTRL3
,
0x100003
6
2
},
{
RT5514_DOWNFILTER1_CTRL3
,
0x100003
5
2
},
};
};
static
const
struct
reg_default
rt5514_reg
[]
=
{
static
const
struct
reg_default
rt5514_reg
[]
=
{
...
@@ -92,10 +92,10 @@ static const struct reg_default rt5514_reg[] = {
...
@@ -92,10 +92,10 @@ static const struct reg_default rt5514_reg[] = {
{
RT5514_ASRC_IN_CTRL1
,
0x00000003
},
{
RT5514_ASRC_IN_CTRL1
,
0x00000003
},
{
RT5514_DOWNFILTER0_CTRL1
,
0x00020c2f
},
{
RT5514_DOWNFILTER0_CTRL1
,
0x00020c2f
},
{
RT5514_DOWNFILTER0_CTRL2
,
0x00020c2f
},
{
RT5514_DOWNFILTER0_CTRL2
,
0x00020c2f
},
{
RT5514_DOWNFILTER0_CTRL3
,
0x100003
6
2
},
{
RT5514_DOWNFILTER0_CTRL3
,
0x100003
5
2
},
{
RT5514_DOWNFILTER1_CTRL1
,
0x00020c2f
},
{
RT5514_DOWNFILTER1_CTRL1
,
0x00020c2f
},
{
RT5514_DOWNFILTER1_CTRL2
,
0x00020c2f
},
{
RT5514_DOWNFILTER1_CTRL2
,
0x00020c2f
},
{
RT5514_DOWNFILTER1_CTRL3
,
0x100003
6
2
},
{
RT5514_DOWNFILTER1_CTRL3
,
0x100003
5
2
},
{
RT5514_ANA_CTRL_LDO10
,
0x00028604
},
{
RT5514_ANA_CTRL_LDO10
,
0x00028604
},
{
RT5514_ANA_CTRL_LDO18_16
,
0x02000345
},
{
RT5514_ANA_CTRL_LDO18_16
,
0x02000345
},
{
RT5514_ANA_CTRL_ADC12
,
0x0000a2a8
},
{
RT5514_ANA_CTRL_ADC12
,
0x0000a2a8
},
...
...
sound/soc/codecs/wm8988.c
View file @
35ef57a4
...
@@ -522,7 +522,7 @@ static inline int get_coeff(int mclk, int rate)
...
@@ -522,7 +522,7 @@ static inline int get_coeff(int mclk, int rate)
/* The set of rates we can generate from the above for each SYSCLK */
/* The set of rates we can generate from the above for each SYSCLK */
static
const
unsigned
int
rates_12288
[]
=
{
static
const
unsigned
int
rates_12288
[]
=
{
8000
,
12000
,
16000
,
24000
,
24000
,
32000
,
48000
,
96000
,
8000
,
12000
,
16000
,
24000
,
32000
,
48000
,
96000
,
};
};
static
const
struct
snd_pcm_hw_constraint_list
constraints_12288
=
{
static
const
struct
snd_pcm_hw_constraint_list
constraints_12288
=
{
...
@@ -540,7 +540,7 @@ static const struct snd_pcm_hw_constraint_list constraints_112896 = {
...
@@ -540,7 +540,7 @@ static const struct snd_pcm_hw_constraint_list constraints_112896 = {
};
};
static
const
unsigned
int
rates_12
[]
=
{
static
const
unsigned
int
rates_12
[]
=
{
8000
,
11025
,
12000
,
16000
,
22050
,
2400
,
32000
,
41100
,
48000
,
8000
,
11025
,
12000
,
16000
,
22050
,
2400
0
,
32000
,
41100
,
48000
,
48000
,
88235
,
96000
,
48000
,
88235
,
96000
,
};
};
...
...
sound/soc/codecs/wm_adsp.c
View file @
35ef57a4
...
@@ -2650,7 +2650,10 @@ int wm_adsp2_preloader_get(struct snd_kcontrol *kcontrol,
...
@@ -2650,7 +2650,10 @@ int wm_adsp2_preloader_get(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
)
struct
snd_ctl_elem_value
*
ucontrol
)
{
{
struct
snd_soc_component
*
component
=
snd_soc_kcontrol_component
(
kcontrol
);
struct
snd_soc_component
*
component
=
snd_soc_kcontrol_component
(
kcontrol
);
struct
wm_adsp
*
dsp
=
snd_soc_component_get_drvdata
(
component
);
struct
wm_adsp
*
dsps
=
snd_soc_component_get_drvdata
(
component
);
struct
soc_mixer_control
*
mc
=
(
struct
soc_mixer_control
*
)
kcontrol
->
private_value
;
struct
wm_adsp
*
dsp
=
&
dsps
[
mc
->
shift
-
1
];
ucontrol
->
value
.
integer
.
value
[
0
]
=
dsp
->
preloaded
;
ucontrol
->
value
.
integer
.
value
[
0
]
=
dsp
->
preloaded
;
...
@@ -2662,10 +2665,11 @@ int wm_adsp2_preloader_put(struct snd_kcontrol *kcontrol,
...
@@ -2662,10 +2665,11 @@ int wm_adsp2_preloader_put(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
)
struct
snd_ctl_elem_value
*
ucontrol
)
{
{
struct
snd_soc_component
*
component
=
snd_soc_kcontrol_component
(
kcontrol
);
struct
snd_soc_component
*
component
=
snd_soc_kcontrol_component
(
kcontrol
);
struct
wm_adsp
*
dsp
=
snd_soc_component_get_drvdata
(
component
);
struct
wm_adsp
*
dsp
s
=
snd_soc_component_get_drvdata
(
component
);
struct
snd_soc_dapm_context
*
dapm
=
snd_soc_component_get_dapm
(
component
);
struct
snd_soc_dapm_context
*
dapm
=
snd_soc_component_get_dapm
(
component
);
struct
soc_mixer_control
*
mc
=
struct
soc_mixer_control
*
mc
=
(
struct
soc_mixer_control
*
)
kcontrol
->
private_value
;
(
struct
soc_mixer_control
*
)
kcontrol
->
private_value
;
struct
wm_adsp
*
dsp
=
&
dsps
[
mc
->
shift
-
1
];
char
preload
[
32
];
char
preload
[
32
];
snprintf
(
preload
,
ARRAY_SIZE
(
preload
),
"DSP%u Preload"
,
mc
->
shift
);
snprintf
(
preload
,
ARRAY_SIZE
(
preload
),
"DSP%u Preload"
,
mc
->
shift
);
...
@@ -2679,6 +2683,8 @@ int wm_adsp2_preloader_put(struct snd_kcontrol *kcontrol,
...
@@ -2679,6 +2683,8 @@ int wm_adsp2_preloader_put(struct snd_kcontrol *kcontrol,
snd_soc_dapm_sync
(
dapm
);
snd_soc_dapm_sync
(
dapm
);
flush_work
(
&
dsp
->
boot_work
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL_GPL
(
wm_adsp2_preloader_put
);
EXPORT_SYMBOL_GPL
(
wm_adsp2_preloader_put
);
...
...
sound/soc/qcom/qdsp6/q6afe-dai.c
View file @
35ef57a4
...
@@ -313,6 +313,9 @@ static void q6afe_dai_shutdown(struct snd_pcm_substream *substream,
...
@@ -313,6 +313,9 @@ static void q6afe_dai_shutdown(struct snd_pcm_substream *substream,
struct
q6afe_dai_data
*
dai_data
=
dev_get_drvdata
(
dai
->
dev
);
struct
q6afe_dai_data
*
dai_data
=
dev_get_drvdata
(
dai
->
dev
);
int
rc
;
int
rc
;
if
(
!
dai_data
->
is_port_started
[
dai
->
id
])
return
;
rc
=
q6afe_port_stop
(
dai_data
->
port
[
dai
->
id
]);
rc
=
q6afe_port_stop
(
dai_data
->
port
[
dai
->
id
]);
if
(
rc
<
0
)
if
(
rc
<
0
)
dev_err
(
dai
->
dev
,
"fail to close AFE port (%d)
\n
"
,
rc
);
dev_err
(
dai
->
dev
,
"fail to close AFE port (%d)
\n
"
,
rc
);
...
@@ -1332,7 +1335,7 @@ static void of_q6afe_parse_dai_data(struct device *dev,
...
@@ -1332,7 +1335,7 @@ static void of_q6afe_parse_dai_data(struct device *dev,
int
id
,
i
,
num_lines
;
int
id
,
i
,
num_lines
;
ret
=
of_property_read_u32
(
node
,
"reg"
,
&
id
);
ret
=
of_property_read_u32
(
node
,
"reg"
,
&
id
);
if
(
ret
||
id
>
AFE_PORT_MAX
)
{
if
(
ret
||
id
<
0
||
id
>=
AFE_PORT_MAX
)
{
dev_err
(
dev
,
"valid dai id not found:%d
\n
"
,
ret
);
dev_err
(
dev
,
"valid dai id not found:%d
\n
"
,
ret
);
continue
;
continue
;
}
}
...
...
sound/soc/qcom/qdsp6/q6asm-dai.c
View file @
35ef57a4
...
@@ -389,7 +389,9 @@ static int q6asm_dai_close(struct snd_pcm_substream *substream)
...
@@ -389,7 +389,9 @@ static int q6asm_dai_close(struct snd_pcm_substream *substream)
struct
q6asm_dai_rtd
*
prtd
=
runtime
->
private_data
;
struct
q6asm_dai_rtd
*
prtd
=
runtime
->
private_data
;
if
(
prtd
->
audio_client
)
{
if
(
prtd
->
audio_client
)
{
q6asm_cmd
(
prtd
->
audio_client
,
CMD_CLOSE
);
if
(
prtd
->
state
)
q6asm_cmd
(
prtd
->
audio_client
,
CMD_CLOSE
);
q6asm_unmap_memory_regions
(
substream
->
stream
,
q6asm_unmap_memory_regions
(
substream
->
stream
,
prtd
->
audio_client
);
prtd
->
audio_client
);
q6asm_audio_client_free
(
prtd
->
audio_client
);
q6asm_audio_client_free
(
prtd
->
audio_client
);
...
...
sound/soc/qcom/qdsp6/q6routing.c
View file @
35ef57a4
...
@@ -926,7 +926,7 @@ static int routing_hw_params(struct snd_pcm_substream *substream,
...
@@ -926,7 +926,7 @@ static int routing_hw_params(struct snd_pcm_substream *substream,
else
else
path_type
=
ADM_PATH_LIVE_REC
;
path_type
=
ADM_PATH_LIVE_REC
;
if
(
be_id
>
AFE_MAX_PORTS
)
if
(
be_id
>
=
AFE_MAX_PORTS
)
return
-
EINVAL
;
return
-
EINVAL
;
session
=
&
data
->
port_data
[
be_id
];
session
=
&
data
->
port_data
[
be_id
];
...
...
sound/soc/soc-pcm.c
View file @
35ef57a4
...
@@ -1712,6 +1712,14 @@ static void dpcm_runtime_merge_format(struct snd_pcm_substream *substream,
...
@@ -1712,6 +1712,14 @@ static void dpcm_runtime_merge_format(struct snd_pcm_substream *substream,
int
i
;
int
i
;
for
(
i
=
0
;
i
<
be
->
num_codecs
;
i
++
)
{
for
(
i
=
0
;
i
<
be
->
num_codecs
;
i
++
)
{
/*
* Skip CODECs which don't support the current stream
* type. See soc_pcm_init_runtime_hw() for more details
*/
if
(
!
snd_soc_dai_stream_valid
(
be
->
codec_dais
[
i
],
stream
))
continue
;
codec_dai_drv
=
be
->
codec_dais
[
i
]
->
driver
;
codec_dai_drv
=
be
->
codec_dais
[
i
]
->
driver
;
if
(
stream
==
SNDRV_PCM_STREAM_PLAYBACK
)
if
(
stream
==
SNDRV_PCM_STREAM_PLAYBACK
)
codec_stream
=
&
codec_dai_drv
->
playback
;
codec_stream
=
&
codec_dai_drv
->
playback
;
...
...
sound/soc/soc-utils.c
View file @
35ef57a4
...
@@ -375,6 +375,6 @@ int __init snd_soc_util_init(void)
...
@@ -375,6 +375,6 @@ int __init snd_soc_util_init(void)
void
__exit
snd_soc_util_exit
(
void
)
void
__exit
snd_soc_util_exit
(
void
)
{
{
platform_device_unregister
(
soc_dummy_dev
);
platform_driver_unregister
(
&
soc_dummy_driver
);
platform_driver_unregister
(
&
soc_dummy_driver
);
platform_device_unregister
(
soc_dummy_dev
);
}
}
sound/soc/tegra/tegra30_i2s.h
View file @
35ef57a4
...
@@ -173,7 +173,7 @@
...
@@ -173,7 +173,7 @@
/* Number of slots in frame, minus 1 */
/* Number of slots in frame, minus 1 */
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_SHIFT 16
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_SHIFT 16
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_MASK_US 7
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_MASK_US 7
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_MASK (TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOT
_MASK_US << TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOT
_SHIFT)
#define TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS_MASK (TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOT
S_MASK_US << TEGRA30_I2S_SLOT_CTRL_TOTAL_SLOTS
_SHIFT)
/* TDM mode slot enable bitmask */
/* TDM mode slot enable bitmask */
#define TEGRA30_I2S_SLOT_CTRL_RX_SLOT_ENABLES_SHIFT 8
#define TEGRA30_I2S_SLOT_CTRL_RX_SLOT_ENABLES_SHIFT 8
...
...
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