Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
7f5a466f
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7f5a466f
编写于
5月 06, 2019
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'asoc-5.1' into asoc-linus
上级
e93c9c99
f47b9ad9
变更
13
显示空白变更内容
内联
并排
Showing
13 changed file
with
63 addition
and
16 deletion
+63
-16
sound/soc/codecs/da7213.c
sound/soc/codecs/da7213.c
+4
-1
sound/soc/codecs/da7213.h
sound/soc/codecs/da7213.h
+2
-0
sound/soc/codecs/da7219.c
sound/soc/codecs/da7219.c
+8
-2
sound/soc/codecs/hdac_hdmi.c
sound/soc/codecs/hdac_hdmi.c
+11
-0
sound/soc/codecs/hdmi-codec.c
sound/soc/codecs/hdmi-codec.c
+5
-1
sound/soc/codecs/rt5682.c
sound/soc/codecs/rt5682.c
+1
-1
sound/soc/mediatek/common/mtk-btcvsd.c
sound/soc/mediatek/common/mtk-btcvsd.c
+2
-2
sound/soc/sh/rcar/core.c
sound/soc/sh/rcar/core.c
+13
-5
sound/soc/sh/rcar/rsnd.h
sound/soc/sh/rcar/rsnd.h
+1
-0
sound/soc/sh/rcar/ssi.c
sound/soc/sh/rcar/ssi.c
+2
-0
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+3
-0
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+8
-2
sound/soc/stm/stm32_i2s.c
sound/soc/stm/stm32_i2s.c
+3
-2
未找到文件。
sound/soc/codecs/da7213.c
浏览文件 @
7f5a466f
...
...
@@ -1305,7 +1305,10 @@ static int da7213_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
/* By default only 64 BCLK per WCLK is supported */
dai_clk_mode
|=
DA7213_DAI_BCLKS_PER_WCLK_64
;
snd_soc_component_write
(
component
,
DA7213_DAI_CLK_MODE
,
dai_clk_mode
);
snd_soc_component_update_bits
(
component
,
DA7213_DAI_CLK_MODE
,
DA7213_DAI_BCLKS_PER_WCLK_MASK
|
DA7213_DAI_CLK_POL_MASK
|
DA7213_DAI_WCLK_POL_MASK
,
dai_clk_mode
);
snd_soc_component_update_bits
(
component
,
DA7213_DAI_CTRL
,
DA7213_DAI_FORMAT_MASK
,
dai_ctrl
);
snd_soc_component_write
(
component
,
DA7213_DAI_OFFSET
,
dai_offset
);
...
...
sound/soc/codecs/da7213.h
浏览文件 @
7f5a466f
...
...
@@ -181,7 +181,9 @@
#define DA7213_DAI_BCLKS_PER_WCLK_256 (0x3 << 0)
#define DA7213_DAI_BCLKS_PER_WCLK_MASK (0x3 << 0)
#define DA7213_DAI_CLK_POL_INV (0x1 << 2)
#define DA7213_DAI_CLK_POL_MASK (0x1 << 2)
#define DA7213_DAI_WCLK_POL_INV (0x1 << 3)
#define DA7213_DAI_WCLK_POL_MASK (0x1 << 3)
#define DA7213_DAI_CLK_EN_MASK (0x1 << 7)
/* DA7213_DAI_CTRL = 0x29 */
...
...
sound/soc/codecs/da7219.c
浏览文件 @
7f5a466f
...
...
@@ -1583,20 +1583,26 @@ static const struct snd_soc_dai_ops da7219_dai_ops = {
#define DA7219_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
#define DA7219_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |\
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |\
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |\
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |\
SNDRV_PCM_RATE_96000)
static
struct
snd_soc_dai_driver
da7219_dai
=
{
.
name
=
"da7219-hifi"
,
.
playback
=
{
.
stream_name
=
"Playback"
,
.
channels_min
=
1
,
.
channels_max
=
DA7219_DAI_CH_NUM_MAX
,
.
rates
=
SNDRV_PCM_RATE_8000_96000
,
.
rates
=
DA7219_RATES
,
.
formats
=
DA7219_FORMATS
,
},
.
capture
=
{
.
stream_name
=
"Capture"
,
.
channels_min
=
1
,
.
channels_max
=
DA7219_DAI_CH_NUM_MAX
,
.
rates
=
SNDRV_PCM_RATE_8000_96000
,
.
rates
=
DA7219_RATES
,
.
formats
=
DA7219_FORMATS
,
},
.
ops
=
&
da7219_dai_ops
,
...
...
sound/soc/codecs/hdac_hdmi.c
浏览文件 @
7f5a466f
...
...
@@ -1854,6 +1854,17 @@ static int hdmi_codec_probe(struct snd_soc_component *component)
/* Imp: Store the card pointer in hda_codec */
hdmi
->
card
=
dapm
->
card
->
snd_card
;
/*
* Setup a device_link between card device and HDMI codec device.
* The card device is the consumer and the HDMI codec device is
* the supplier. With this setting, we can make sure that the audio
* domain in display power will be always turned on before operating
* on the HDMI audio codec registers.
* Let's use the flag DL_FLAG_AUTOREMOVE_CONSUMER. This can make
* sure the device link is freed when the machine driver is removed.
*/
device_link_add
(
component
->
card
->
dev
,
&
hdev
->
dev
,
DL_FLAG_RPM_ACTIVE
|
DL_FLAG_AUTOREMOVE_CONSUMER
);
/*
* hdac_device core already sets the state to active and calls
* get_noresume. So enable runtime and set the device to suspend.
...
...
sound/soc/codecs/hdmi-codec.c
浏览文件 @
7f5a466f
...
...
@@ -439,9 +439,13 @@ static int hdmi_codec_startup(struct snd_pcm_substream *substream,
if
(
!
ret
)
{
ret
=
snd_pcm_hw_constraint_eld
(
substream
->
runtime
,
hcp
->
eld
);
if
(
ret
)
if
(
ret
)
{
mutex_lock
(
&
hcp
->
current_stream_lock
);
hcp
->
current_stream
=
NULL
;
mutex_unlock
(
&
hcp
->
current_stream_lock
);
return
ret
;
}
}
/* Select chmap supported */
hdmi_codec_eld_chmap
(
hcp
);
}
...
...
sound/soc/codecs/rt5682.c
浏览文件 @
7f5a466f
...
...
@@ -2588,6 +2588,7 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
rt5682_reset
(
rt5682
->
regmap
);
mutex_init
(
&
rt5682
->
calibrate_mutex
);
rt5682_calibrate
(
rt5682
);
ret
=
regmap_multi_reg_write
(
rt5682
->
regmap
,
patch_list
,
...
...
@@ -2654,7 +2655,6 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
INIT_DELAYED_WORK
(
&
rt5682
->
jd_check_work
,
rt5682_jd_check_handler
);
mutex_init
(
&
rt5682
->
calibrate_mutex
);
if
(
i2c
->
irq
)
{
ret
=
devm_request_threaded_irq
(
&
i2c
->
dev
,
i2c
->
irq
,
NULL
,
...
...
sound/soc/mediatek/common/mtk-btcvsd.c
浏览文件 @
7f5a466f
...
...
@@ -193,13 +193,13 @@ static const u8 table_msbc_silence[SCO_PACKET_180] = {
static
void
mtk_btcvsd_snd_irq_enable
(
struct
mtk_btcvsd_snd
*
bt
)
{
regmap_update_bits
(
bt
->
infra
,
bt
->
infra_misc_offset
,
bt
->
conn_bt_cvsd_mask
,
bt
->
conn_bt_cvsd_mask
);
bt
->
conn_bt_cvsd_mask
,
0
);
}
static
void
mtk_btcvsd_snd_irq_disable
(
struct
mtk_btcvsd_snd
*
bt
)
{
regmap_update_bits
(
bt
->
infra
,
bt
->
infra_misc_offset
,
bt
->
conn_bt_cvsd_mask
,
0
);
bt
->
conn_bt_cvsd_mask
,
bt
->
conn_bt_cvsd_mask
);
}
static
void
mtk_btcvsd_snd_set_state
(
struct
mtk_btcvsd_snd
*
bt
,
...
...
sound/soc/sh/rcar/core.c
浏览文件 @
7f5a466f
...
...
@@ -300,6 +300,18 @@ int rsnd_runtime_channel_after_ctu_with_params(struct rsnd_dai_stream *io,
return
chan
;
}
int
rsnd_channel_normalization
(
int
chan
)
{
if
((
chan
>
8
)
||
(
chan
<
0
))
return
0
;
/* TDM Extend Mode needs 8ch */
if
(
chan
==
6
)
chan
=
8
;
return
chan
;
}
int
rsnd_runtime_channel_for_ssi_with_params
(
struct
rsnd_dai_stream
*
io
,
struct
snd_pcm_hw_params
*
params
)
{
...
...
@@ -312,11 +324,7 @@ int rsnd_runtime_channel_for_ssi_with_params(struct rsnd_dai_stream *io,
if
(
rsnd_runtime_is_multi_ssi
(
io
))
chan
/=
rsnd_rdai_ssi_lane_get
(
rdai
);
/* TDM Extend Mode needs 8ch */
if
(
chan
==
6
)
chan
=
8
;
return
chan
;
return
rsnd_channel_normalization
(
chan
);
}
int
rsnd_runtime_is_multi_ssi
(
struct
rsnd_dai_stream
*
io
)
...
...
sound/soc/sh/rcar/rsnd.h
浏览文件 @
7f5a466f
...
...
@@ -446,6 +446,7 @@ void rsnd_parse_connect_common(struct rsnd_dai *rdai,
struct
device_node
*
playback
,
struct
device_node
*
capture
);
int
rsnd_channel_normalization
(
int
chan
);
#define rsnd_runtime_channel_original(io) \
rsnd_runtime_channel_original_with_params(io, NULL)
int
rsnd_runtime_channel_original_with_params
(
struct
rsnd_dai_stream
*
io
,
...
...
sound/soc/sh/rcar/ssi.c
浏览文件 @
7f5a466f
...
...
@@ -303,6 +303,8 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod,
if
(
rsnd_runtime_is_tdm_split
(
io
))
chan
=
rsnd_io_converted_chan
(
io
);
chan
=
rsnd_channel_normalization
(
chan
);
main_rate
=
rsnd_ssi_clk_query
(
rdai
,
rate
,
chan
,
&
idx
);
if
(
!
main_rate
)
{
dev_err
(
dev
,
"unsupported clock rate
\n
"
);
...
...
sound/soc/soc-dapm.c
浏览文件 @
7f5a466f
...
...
@@ -883,6 +883,7 @@ static int dapm_create_or_share_kcontrol(struct snd_soc_dapm_widget *w,
case
snd_soc_dapm_switch
:
case
snd_soc_dapm_mixer
:
case
snd_soc_dapm_pga
:
case
snd_soc_dapm_effect
:
case
snd_soc_dapm_out_drv
:
wname_in_long_name
=
true
;
kcname_in_long_name
=
true
;
...
...
@@ -2370,6 +2371,7 @@ static ssize_t dapm_widget_show_component(struct snd_soc_component *cmpnt,
case
snd_soc_dapm_dac
:
case
snd_soc_dapm_adc
:
case
snd_soc_dapm_pga
:
case
snd_soc_dapm_effect
:
case
snd_soc_dapm_out_drv
:
case
snd_soc_dapm_mixer
:
case
snd_soc_dapm_mixer_named_ctl
:
...
...
@@ -3197,6 +3199,7 @@ int snd_soc_dapm_new_widgets(struct snd_soc_card *card)
dapm_new_mux
(
w
);
break
;
case
snd_soc_dapm_pga
:
case
snd_soc_dapm_effect
:
case
snd_soc_dapm_out_drv
:
dapm_new_pga
(
w
);
break
;
...
...
sound/soc/soc-pcm.c
浏览文件 @
7f5a466f
...
...
@@ -43,8 +43,8 @@ static bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int stream)
else
codec_stream
=
&
dai
->
driver
->
capture
;
/* If the codec specifies any
rate at all, it supports the stream.
*/
return
codec_stream
->
rates
;
/* If the codec specifies any
channels at all, it supports the stream
*/
return
codec_stream
->
channels_min
;
}
/**
...
...
@@ -1033,6 +1033,9 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream,
codec_err:
for_each_rtd_codec_dai_rollback
(
rtd
,
i
,
codec_dai
)
{
if
(
!
snd_soc_dai_stream_valid
(
codec_dai
,
substream
->
stream
))
continue
;
if
(
codec_dai
->
driver
->
ops
->
hw_free
)
codec_dai
->
driver
->
ops
->
hw_free
(
substream
,
codec_dai
);
codec_dai
->
rate
=
0
;
...
...
@@ -1090,6 +1093,9 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
/* now free hw params for the DAIs */
for_each_rtd_codec_dai
(
rtd
,
i
,
codec_dai
)
{
if
(
!
snd_soc_dai_stream_valid
(
codec_dai
,
substream
->
stream
))
continue
;
if
(
codec_dai
->
driver
->
ops
->
hw_free
)
codec_dai
->
driver
->
ops
->
hw_free
(
substream
,
codec_dai
);
}
...
...
sound/soc/stm/stm32_i2s.c
浏览文件 @
7f5a466f
...
...
@@ -845,8 +845,9 @@ static int stm32_i2s_parse_dt(struct platform_device *pdev,
/* Get irqs */
irq
=
platform_get_irq
(
pdev
,
0
);
if
(
irq
<
0
)
{
if
(
irq
!=
-
EPROBE_DEFER
)
dev_err
(
&
pdev
->
dev
,
"no irq for node %s
\n
"
,
pdev
->
name
);
return
-
ENOENT
;
return
irq
;
}
ret
=
devm_request_irq
(
&
pdev
->
dev
,
irq
,
stm32_i2s_isr
,
IRQF_ONESHOT
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录