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
1450da3c
Commit
1450da3c
authored
May 22, 2014
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
parents
0f4019e6
15b8e94f
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
29 additions
and
81 deletions
+29
-81
include/sound/soc-dai.h
include/sound/soc-dai.h
+0
-2
include/sound/soc.h
include/sound/soc.h
+13
-4
sound/soc/atmel/atmel-pcm-pdc.c
sound/soc/atmel/atmel-pcm-pdc.c
+0
-63
sound/soc/soc-compress.c
sound/soc/soc-compress.c
+3
-3
sound/soc/soc-core.c
sound/soc/soc-core.c
+13
-8
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+0
-1
No files found.
include/sound/soc-dai.h
View file @
1450da3c
...
...
@@ -252,7 +252,6 @@ struct snd_soc_dai {
unsigned
int
symmetric_rates
:
1
;
unsigned
int
symmetric_channels
:
1
;
unsigned
int
symmetric_samplebits
:
1
;
struct
snd_pcm_runtime
*
runtime
;
unsigned
int
active
;
unsigned
char
probed
:
1
;
...
...
@@ -277,7 +276,6 @@ struct snd_soc_dai {
struct
snd_soc_card
*
card
;
struct
list_head
list
;
struct
list_head
card_list
;
};
static
inline
void
*
snd_soc_dai_get_dma_data
(
const
struct
snd_soc_dai
*
dai
,
...
...
include/sound/soc.h
View file @
1450da3c
...
...
@@ -266,6 +266,13 @@
{.base = xbase, .num_regs = xregs, \
.mask = xmask }) }
#define SND_SOC_BYTES_EXT(xname, xcount, xhandler_get, xhandler_put) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
.info = snd_soc_bytes_info_ext, \
.get = xhandler_get, .put = xhandler_put, \
.private_value = (unsigned long)&(struct soc_bytes_ext) \
{.max = xcount} }
#define SOC_SINGLE_XR_SX(xname, xregbase, xregcount, xnbits, \
xmin, xmax, xinvert) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
...
...
@@ -532,6 +539,8 @@ int snd_soc_bytes_get(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_bytes_put
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_bytes_info_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
ucontrol
);
int
snd_soc_info_xr_sx
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_get_xr_sx
(
struct
snd_kcontrol
*
kcontrol
,
...
...
@@ -692,7 +701,6 @@ struct snd_soc_codec {
struct
snd_soc_card
*
card
;
struct
list_head
list
;
struct
list_head
card_list
;
int
num_dai
;
/* runtime */
struct
snd_ac97
*
ac97
;
/* for ad-hoc ac97 devices */
...
...
@@ -949,7 +957,6 @@ struct snd_soc_card {
struct
snd_card
*
snd_card
;
struct
module
*
owner
;
struct
list_head
list
;
struct
mutex
mutex
;
struct
mutex
dapm_mutex
;
...
...
@@ -1012,7 +1019,6 @@ struct snd_soc_card {
/* lists of probed devices belonging to this card */
struct
list_head
codec_dev_list
;
struct
list_head
platform_dev_list
;
struct
list_head
dai_dev_list
;
struct
list_head
widgets
;
struct
list_head
paths
;
...
...
@@ -1082,6 +1088,10 @@ struct soc_bytes {
u32
mask
;
};
struct
soc_bytes_ext
{
int
max
;
};
/* multi register control */
struct
soc_mreg_control
{
long
min
,
max
;
...
...
@@ -1194,7 +1204,6 @@ static inline void *snd_soc_pcm_get_drvdata(struct snd_soc_pcm_runtime *rtd)
static
inline
void
snd_soc_initialize_card_lists
(
struct
snd_soc_card
*
card
)
{
INIT_LIST_HEAD
(
&
card
->
dai_dev_list
);
INIT_LIST_HEAD
(
&
card
->
codec_dev_list
);
INIT_LIST_HEAD
(
&
card
->
platform_dev_list
);
INIT_LIST_HEAD
(
&
card
->
widgets
);
...
...
sound/soc/atmel/atmel-pcm-pdc.c
View file @
1450da3c
...
...
@@ -76,12 +76,6 @@ struct atmel_runtime_data {
size_t
period_size
;
dma_addr_t
period_ptr
;
/* physical address of next period */
/* PDC register save */
u32
pdc_xpr_save
;
u32
pdc_xcr_save
;
u32
pdc_xnpr_save
;
u32
pdc_xncr_save
;
};
/*--------------------------------------------------------------------------*\
...
...
@@ -320,67 +314,10 @@ static struct snd_pcm_ops atmel_pcm_ops = {
.
mmap
=
atmel_pcm_mmap
,
};
/*--------------------------------------------------------------------------*\
* ASoC platform driver
\*--------------------------------------------------------------------------*/
#ifdef CONFIG_PM
static
int
atmel_pcm_suspend
(
struct
snd_soc_dai
*
dai
)
{
struct
snd_pcm_runtime
*
runtime
=
dai
->
runtime
;
struct
atmel_runtime_data
*
prtd
;
struct
atmel_pcm_dma_params
*
params
;
if
(
!
runtime
)
return
0
;
prtd
=
runtime
->
private_data
;
params
=
prtd
->
params
;
/* disable the PDC and save the PDC registers */
ssc_writel
(
params
->
ssc
->
regs
,
PDC_PTCR
,
params
->
mask
->
pdc_disable
);
prtd
->
pdc_xpr_save
=
ssc_readx
(
params
->
ssc
->
regs
,
params
->
pdc
->
xpr
);
prtd
->
pdc_xcr_save
=
ssc_readx
(
params
->
ssc
->
regs
,
params
->
pdc
->
xcr
);
prtd
->
pdc_xnpr_save
=
ssc_readx
(
params
->
ssc
->
regs
,
params
->
pdc
->
xnpr
);
prtd
->
pdc_xncr_save
=
ssc_readx
(
params
->
ssc
->
regs
,
params
->
pdc
->
xncr
);
return
0
;
}
static
int
atmel_pcm_resume
(
struct
snd_soc_dai
*
dai
)
{
struct
snd_pcm_runtime
*
runtime
=
dai
->
runtime
;
struct
atmel_runtime_data
*
prtd
;
struct
atmel_pcm_dma_params
*
params
;
if
(
!
runtime
)
return
0
;
prtd
=
runtime
->
private_data
;
params
=
prtd
->
params
;
/* restore the PDC registers and enable the PDC */
ssc_writex
(
params
->
ssc
->
regs
,
params
->
pdc
->
xpr
,
prtd
->
pdc_xpr_save
);
ssc_writex
(
params
->
ssc
->
regs
,
params
->
pdc
->
xcr
,
prtd
->
pdc_xcr_save
);
ssc_writex
(
params
->
ssc
->
regs
,
params
->
pdc
->
xnpr
,
prtd
->
pdc_xnpr_save
);
ssc_writex
(
params
->
ssc
->
regs
,
params
->
pdc
->
xncr
,
prtd
->
pdc_xncr_save
);
ssc_writel
(
params
->
ssc
->
regs
,
PDC_PTCR
,
params
->
mask
->
pdc_enable
);
return
0
;
}
#else
#define atmel_pcm_suspend NULL
#define atmel_pcm_resume NULL
#endif
static
struct
snd_soc_platform_driver
atmel_soc_platform
=
{
.
ops
=
&
atmel_pcm_ops
,
.
pcm_new
=
atmel_pcm_new
,
.
pcm_free
=
atmel_pcm_free
,
.
suspend
=
atmel_pcm_suspend
,
.
resume
=
atmel_pcm_resume
,
};
int
atmel_pcm_pdc_platform_register
(
struct
device
*
dev
)
...
...
sound/soc/soc-compress.c
View file @
1450da3c
...
...
@@ -203,7 +203,6 @@ static int soc_compr_free(struct snd_compr_stream *cstream)
if
(
platform
->
driver
->
compr_ops
&&
platform
->
driver
->
compr_ops
->
free
)
platform
->
driver
->
compr_ops
->
free
(
cstream
);
cpu_dai
->
runtime
=
NULL
;
if
(
cstream
->
direction
==
SND_COMPRESS_PLAYBACK
)
{
if
(
snd_soc_runtime_ignore_pmdown_time
(
rtd
))
{
...
...
@@ -318,7 +317,8 @@ static int soc_compr_trigger_fe(struct snd_compr_stream *cstream, int cmd)
if
(
platform
->
driver
->
compr_ops
&&
platform
->
driver
->
compr_ops
->
trigger
)
return
platform
->
driver
->
compr_ops
->
trigger
(
cstream
,
cmd
);
return
platform
->
driver
->
compr_ops
->
trigger
(
cstream
,
cmd
);
}
if
(
cstream
->
direction
==
SND_COMPRESS_PLAYBACK
)
...
...
sound/soc/soc-core.c
View file @
1450da3c
...
...
@@ -1017,7 +1017,6 @@ static void soc_remove_codec_dai(struct snd_soc_dai *codec_dai, int order)
codec_dai
->
name
,
err
);
}
codec_dai
->
probed
=
0
;
list_del
(
&
codec_dai
->
card_list
);
}
}
...
...
@@ -1049,7 +1048,6 @@ static void soc_remove_link_dais(struct snd_soc_card *card, int num, int order)
cpu_dai
->
name
,
err
);
}
cpu_dai
->
probed
=
0
;
list_del
(
&
cpu_dai
->
card_list
);
if
(
!
cpu_dai
->
codec
)
{
snd_soc_dapm_free
(
&
cpu_dai
->
dapm
);
...
...
@@ -1405,7 +1403,6 @@ static int soc_probe_codec_dai(struct snd_soc_card *card,
/* mark codec_dai as probed and add to card dai list */
codec_dai
->
probed
=
1
;
list_add
(
&
codec_dai
->
card_list
,
&
card
->
dai_dev_list
);
}
return
0
;
...
...
@@ -1490,8 +1487,6 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
}
}
cpu_dai
->
probed
=
1
;
/* mark cpu_dai as probed and add to card dai list */
list_add
(
&
cpu_dai
->
card_list
,
&
card
->
dai_dev_list
);
}
/* probe the CODEC DAI */
...
...
@@ -3205,6 +3200,18 @@ int snd_soc_bytes_put(struct snd_kcontrol *kcontrol,
}
EXPORT_SYMBOL_GPL
(
snd_soc_bytes_put
);
int
snd_soc_bytes_info_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
ucontrol
)
{
struct
soc_bytes_ext
*
params
=
(
void
*
)
kcontrol
->
private_value
;
ucontrol
->
type
=
SNDRV_CTL_ELEM_TYPE_BYTES
;
ucontrol
->
count
=
params
->
max
;
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_bytes_info_ext
);
/**
* snd_soc_info_xr_sx - signed multi register info callback
* @kcontrol: mreg control
...
...
@@ -3738,7 +3745,6 @@ int snd_soc_register_card(struct snd_soc_card *card)
for
(
i
=
0
;
i
<
card
->
num_links
;
i
++
)
card
->
rtd
[
i
].
dai_link
=
&
card
->
dai_link
[
i
];
INIT_LIST_HEAD
(
&
card
->
list
);
INIT_LIST_HEAD
(
&
card
->
dapm_dirty
);
card
->
instantiated
=
0
;
mutex_init
(
&
card
->
mutex
);
...
...
@@ -4271,7 +4277,6 @@ int snd_soc_register_codec(struct device *dev,
codec
->
dapm
.
stream_event
=
codec_drv
->
stream_event
;
codec
->
dev
=
dev
;
codec
->
driver
=
codec_drv
;
codec
->
num_dai
=
num_dai
;
codec
->
component
.
val_bytes
=
codec_drv
->
reg_word_size
;
mutex_init
(
&
codec
->
mutex
);
...
...
@@ -4697,7 +4702,7 @@ int snd_soc_of_get_dai_name(struct device_node *of_node,
if
(
id
<
0
||
id
>=
pos
->
num_dai
)
{
ret
=
-
EINVAL
;
break
;
continue
;
}
ret
=
0
;
...
...
sound/soc/soc-pcm.c
View file @
1450da3c
...
...
@@ -555,7 +555,6 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
if
(
platform
->
driver
->
ops
&&
platform
->
driver
->
ops
->
close
)
platform
->
driver
->
ops
->
close
(
substream
);
cpu_dai
->
runtime
=
NULL
;
if
(
substream
->
stream
==
SNDRV_PCM_STREAM_PLAYBACK
)
{
if
(
snd_soc_runtime_ignore_pmdown_time
(
rtd
))
{
...
...
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