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
b9566b1d
Commit
b9566b1d
authored
Jun 27, 2022
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
ASoC: Merge up fixes
Further development will need some of the fixes.
parents
658e9595
e112c42e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
40 additions
and
10 deletions
+40
-10
sound/soc/codecs/cs35l41-lib.c
sound/soc/codecs/cs35l41-lib.c
+8
-2
sound/soc/codecs/cs47l15.c
sound/soc/codecs/cs47l15.c
+4
-1
sound/soc/codecs/madera.c
sound/soc/codecs/madera.c
+10
-4
sound/soc/codecs/sgtl5000.c
sound/soc/codecs/sgtl5000.c
+9
-0
sound/soc/codecs/sgtl5000.h
sound/soc/codecs/sgtl5000.h
+1
-0
sound/soc/generic/audio-graph-card2.c
sound/soc/generic/audio-graph-card2.c
+3
-3
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+5
-0
No files found.
sound/soc/codecs/cs35l41-lib.c
View file @
b9566b1d
...
...
@@ -37,8 +37,8 @@ static const struct reg_default cs35l41_reg[] = {
{
CS35L41_DAC_PCM1_SRC
,
0x00000008
},
{
CS35L41_ASP_TX1_SRC
,
0x00000018
},
{
CS35L41_ASP_TX2_SRC
,
0x00000019
},
{
CS35L41_ASP_TX3_SRC
,
0x000000
2
0
},
{
CS35L41_ASP_TX4_SRC
,
0x000000
21
},
{
CS35L41_ASP_TX3_SRC
,
0x000000
0
0
},
{
CS35L41_ASP_TX4_SRC
,
0x000000
00
},
{
CS35L41_DSP1_RX1_SRC
,
0x00000008
},
{
CS35L41_DSP1_RX2_SRC
,
0x00000009
},
{
CS35L41_DSP1_RX3_SRC
,
0x00000018
},
...
...
@@ -644,6 +644,8 @@ static const struct reg_sequence cs35l41_reva0_errata_patch[] = {
{
CS35L41_DSP1_XM_ACCEL_PL0_PRI
,
0x00000000
},
{
CS35L41_PWR_CTRL2
,
0x00000000
},
{
CS35L41_AMP_GAIN_CTRL
,
0x00000000
},
{
CS35L41_ASP_TX3_SRC
,
0x00000000
},
{
CS35L41_ASP_TX4_SRC
,
0x00000000
},
};
static
const
struct
reg_sequence
cs35l41_revb0_errata_patch
[]
=
{
...
...
@@ -655,6 +657,8 @@ static const struct reg_sequence cs35l41_revb0_errata_patch[] = {
{
CS35L41_DSP1_XM_ACCEL_PL0_PRI
,
0x00000000
},
{
CS35L41_PWR_CTRL2
,
0x00000000
},
{
CS35L41_AMP_GAIN_CTRL
,
0x00000000
},
{
CS35L41_ASP_TX3_SRC
,
0x00000000
},
{
CS35L41_ASP_TX4_SRC
,
0x00000000
},
};
static
const
struct
reg_sequence
cs35l41_revb2_errata_patch
[]
=
{
...
...
@@ -666,6 +670,8 @@ static const struct reg_sequence cs35l41_revb2_errata_patch[] = {
{
CS35L41_DSP1_XM_ACCEL_PL0_PRI
,
0x00000000
},
{
CS35L41_PWR_CTRL2
,
0x00000000
},
{
CS35L41_AMP_GAIN_CTRL
,
0x00000000
},
{
CS35L41_ASP_TX3_SRC
,
0x00000000
},
{
CS35L41_ASP_TX4_SRC
,
0x00000000
},
};
static
const
struct
reg_sequence
cs35l41_fs_errata_patch
[]
=
{
...
...
sound/soc/codecs/cs47l15.c
View file @
b9566b1d
...
...
@@ -122,6 +122,9 @@ static int cs47l15_in1_adc_put(struct snd_kcontrol *kcontrol,
snd_soc_kcontrol_component
(
kcontrol
);
struct
cs47l15
*
cs47l15
=
snd_soc_component_get_drvdata
(
component
);
if
(
!!
ucontrol
->
value
.
integer
.
value
[
0
]
==
cs47l15
->
in1_lp_mode
)
return
0
;
switch
(
ucontrol
->
value
.
integer
.
value
[
0
])
{
case
0
:
/* Set IN1 to normal mode */
...
...
@@ -150,7 +153,7 @@ static int cs47l15_in1_adc_put(struct snd_kcontrol *kcontrol,
break
;
}
return
0
;
return
1
;
}
static
const
struct
snd_kcontrol_new
cs47l15_snd_controls
[]
=
{
...
...
sound/soc/codecs/madera.c
View file @
b9566b1d
...
...
@@ -618,7 +618,13 @@ int madera_out1_demux_put(struct snd_kcontrol *kcontrol,
end:
snd_soc_dapm_mutex_unlock
(
dapm
);
return
snd_soc_dapm_mux_update_power
(
dapm
,
kcontrol
,
mux
,
e
,
NULL
);
ret
=
snd_soc_dapm_mux_update_power
(
dapm
,
kcontrol
,
mux
,
e
,
NULL
);
if
(
ret
<
0
)
{
dev_err
(
madera
->
dev
,
"Failed to update demux power state: %d
\n
"
,
ret
);
return
ret
;
}
return
change
;
}
EXPORT_SYMBOL_GPL
(
madera_out1_demux_put
);
...
...
@@ -893,7 +899,7 @@ static int madera_adsp_rate_put(struct snd_kcontrol *kcontrol,
struct
soc_enum
*
e
=
(
struct
soc_enum
*
)
kcontrol
->
private_value
;
const
int
adsp_num
=
e
->
shift_l
;
const
unsigned
int
item
=
ucontrol
->
value
.
enumerated
.
item
[
0
];
int
ret
;
int
ret
=
0
;
if
(
item
>=
e
->
items
)
return
-
EINVAL
;
...
...
@@ -910,10 +916,10 @@ static int madera_adsp_rate_put(struct snd_kcontrol *kcontrol,
"Cannot change '%s' while in use by active audio paths
\n
"
,
kcontrol
->
id
.
name
);
ret
=
-
EBUSY
;
}
else
{
}
else
if
(
priv
->
adsp_rate_cache
[
adsp_num
]
!=
e
->
values
[
item
])
{
/* Volatile register so defer until the codec is powered up */
priv
->
adsp_rate_cache
[
adsp_num
]
=
e
->
values
[
item
];
ret
=
0
;
ret
=
1
;
}
mutex_unlock
(
&
priv
->
rate_lock
);
...
...
sound/soc/codecs/sgtl5000.c
View file @
b9566b1d
...
...
@@ -1795,6 +1795,9 @@ static int sgtl5000_i2c_remove(struct i2c_client *client)
{
struct
sgtl5000_priv
*
sgtl5000
=
i2c_get_clientdata
(
client
);
regmap_write
(
sgtl5000
->
regmap
,
SGTL5000_CHIP_DIG_POWER
,
SGTL5000_DIG_POWER_DEFAULT
);
regmap_write
(
sgtl5000
->
regmap
,
SGTL5000_CHIP_ANA_POWER
,
SGTL5000_ANA_POWER_DEFAULT
);
clk_disable_unprepare
(
sgtl5000
->
mclk
);
regulator_bulk_disable
(
sgtl5000
->
num_supplies
,
sgtl5000
->
supplies
);
regulator_bulk_free
(
sgtl5000
->
num_supplies
,
sgtl5000
->
supplies
);
...
...
@@ -1802,6 +1805,11 @@ static int sgtl5000_i2c_remove(struct i2c_client *client)
return
0
;
}
static
void
sgtl5000_i2c_shutdown
(
struct
i2c_client
*
client
)
{
sgtl5000_i2c_remove
(
client
);
}
static
const
struct
i2c_device_id
sgtl5000_id
[]
=
{
{
"sgtl5000"
,
0
},
{},
...
...
@@ -1822,6 +1830,7 @@ static struct i2c_driver sgtl5000_i2c_driver = {
},
.
probe_new
=
sgtl5000_i2c_probe
,
.
remove
=
sgtl5000_i2c_remove
,
.
shutdown
=
sgtl5000_i2c_shutdown
,
.
id_table
=
sgtl5000_id
,
};
...
...
sound/soc/codecs/sgtl5000.h
View file @
b9566b1d
...
...
@@ -80,6 +80,7 @@
/*
* SGTL5000_CHIP_DIG_POWER
*/
#define SGTL5000_DIG_POWER_DEFAULT 0x0000
#define SGTL5000_ADC_EN 0x0040
#define SGTL5000_DAC_EN 0x0020
#define SGTL5000_DAP_POWERUP 0x0010
...
...
sound/soc/generic/audio-graph-card2.c
View file @
b9566b1d
...
...
@@ -90,12 +90,12 @@ links indicates connection part of CPU side (= A).
ports@0 {
(X) (A) mcpu: port@0 { mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>; }; };
(y) port@1 { mcpu1_ep: endpoint { remote-endpoint = <&cpu1_ep>; }; };
(y) port@
1
{ mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>; }; };
(y) port@
2
{ mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>; }; };
};
ports@1 {
(X) port@0 { mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>; }; };
(y) port@
0
{ mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
(y) port@
1
{ mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
(y) port@
1
{ mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
(y) port@
2
{ mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
};
};
};
...
...
sound/soc/soc-dapm.c
View file @
b9566b1d
...
...
@@ -62,6 +62,8 @@ struct snd_soc_dapm_widget *
snd_soc_dapm_new_control_unlocked
(
struct
snd_soc_dapm_context
*
dapm
,
const
struct
snd_soc_dapm_widget
*
widget
);
static
unsigned
int
soc_dapm_read
(
struct
snd_soc_dapm_context
*
dapm
,
int
reg
);
/* dapm power sequences - make this per codec in the future */
static
int
dapm_up_seq
[]
=
{
[
snd_soc_dapm_pre
]
=
1
,
...
...
@@ -442,6 +444,9 @@ static int dapm_kcontrol_data_alloc(struct snd_soc_dapm_widget *widget,
snd_soc_dapm_add_path
(
widget
->
dapm
,
data
->
widget
,
widget
,
NULL
,
NULL
);
}
else
if
(
e
->
reg
!=
SND_SOC_NOPM
)
{
data
->
value
=
soc_dapm_read
(
widget
->
dapm
,
e
->
reg
)
&
(
e
->
mask
<<
e
->
shift_l
);
}
break
;
default:
...
...
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