Symbol: spdif
drivers/clk/mxs/clk-imx23.c
147
clks[spdif] = mxs_clk_gate("spdif", "spdif_div", SPDIF, 31);
drivers/clk/mxs/clk-imx28.c
218
clks[spdif] = mxs_clk_gate("spdif", "spdif_div", SPDIF, 31);
drivers/clk/tegra/clk-tegra-audio.c
110
AUDIO(spdif, AUDIO_SYNC_CLK_SPDIF),
drivers/clk/tegra/clk-tegra-audio.c
125
AUDIO2X(spdif, 118, 29),
drivers/gpu/drm/bridge/sii902x.c
861
.spdif = 0,
drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c
158
.spdif = 0,
drivers/gpu/drm/bridge/tda998x_drv.c
1070
bool spdif = daifmt->fmt == HDMI_SPDIF;
drivers/gpu/drm/bridge/tda998x_drv.c
1098
if (!spdif &&
drivers/gpu/drm/bridge/tda998x_drv.c
1108
ret = tda998x_derive_routing(priv, &audio, AUDIO_ROUTE_I2S + spdif);
drivers/gpu/drm/bridge/tda998x_drv.c
1112
bclk_ratio = spdif ? 64 : params->sample_width * 2;
drivers/gpu/drm/bridge/tda998x_drv.c
1185
codec_data.spdif = 1;
drivers/gpu/drm/display/drm_hdmi_audio_helper.c
169
.spdif = spdif_playback,
drivers/gpu/drm/tegra/hdmi.c
1532
codec_data.spdif = 1;
drivers/pinctrl/actions/pinctrl-s500.c
1372
[S500_MUX_SPDIF] = FUNCTION(spdif),
drivers/pinctrl/actions/pinctrl-s700.c
1587
[S700_MUX_SPDIF] = FUNCTION(spdif),
drivers/pinctrl/actions/pinctrl-s900.c
1436
[S900_MUX_SPDIF] = FUNCTION(spdif),
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
527
CYGNUS_PIN_GROUP(spdif, 0xc, 20, 1),
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
656
CYGNUS_PIN_FUNCTION(spdif),
drivers/pinctrl/meson/pinctrl-meson8.c
1051
FUNCTION(spdif),
drivers/pinctrl/qcom/pinctrl-ipq8064.c
501
IPQ_PIN_FUNCTION(spdif),
drivers/pinctrl/qcom/pinctrl-ipq8064.c
542
PINGROUP(10, gsbi4, spdif, sata, ssbi, mdio, spmi, NA, NA, NA, NA),
drivers/pinctrl/qcom/pinctrl-ipq8064.c
580
PINGROUP(48, pcie2_rst, spdif, NA, NA, NA, NA, NA, NA, NA, NA),
drivers/pinctrl/realtek/pinctrl-rtd1315e.c
727
RTD1315E_FUNC(spdif),
drivers/pinctrl/realtek/pinctrl-rtd1319d.c
783
RTD1319D_FUNC(spdif),
drivers/pinctrl/realtek/pinctrl-rtd1619b.c
722
RTD1619B_FUNC(spdif),
drivers/pinctrl/tegra/pinctrl-tegra114.c
1512
FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra124.c
1676
FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra186.c
1293
TEGRA_PIN_FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra194.c
1214
TEGRA_PIN_FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra20.c
1943
FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra210.c
1243
FUNCTION(spdif),
drivers/pinctrl/tegra/pinctrl-tegra30.c
2070
FUNCTION(spdif),
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
129
if (spdif) {
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
325
u32 numchannels, bool spdif)
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
337
if (!spdif) {
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
344
spdif ? &snd_bcm2835_playback_spdif_ops :
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
350
if (spdif)
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
85
static int snd_bcm2835_playback_open_generic(struct snd_pcm_substream *substream, int spdif)
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
96
if (spdif && chip->opened) {
drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c
99
} else if (!spdif && (chip->opened & (1 << idx))) {
drivers/staging/vc04_services/bcm2835-audio/bcm2835.h
88
u32 numchannels, bool spdif);
include/sound/ac97_codec.h
391
spdif: 1; /* spdif pcm */
include/sound/hdmi-codec.h
127
uint spdif:1;
sound/aoa/codecs/onyx.c
411
SINGLE_BIT(spdif,
sound/hda/codecs/hdmi/hdmi.c
1626
struct hda_spdif_out *spdif;
sound/hda/codecs/hdmi/hdmi.c
1629
spdif = snd_hda_spdif_out_of_nid(codec, cvt_nid);
sound/hda/codecs/hdmi/hdmi.c
1633
if (WARN_ON(spdif == NULL))
sound/hda/codecs/hdmi/hdmi.c
1635
return !!(spdif->status & IEC958_AES0_NONAUDIO);
sound/hda/codecs/hdmi/nvhdmi-mcp.c
131
struct hda_spdif_out *spdif;
sound/hda/codecs/hdmi/nvhdmi-mcp.c
136
spdif = snd_hda_spdif_out_of_nid(codec, per_cvt->cvt_nid);
sound/hda/codecs/hdmi/nvhdmi-mcp.c
143
if (codec->spdif_status_reset && (spdif->ctls & AC_DIG1_ENABLE))
sound/hda/codecs/hdmi/nvhdmi-mcp.c
148
spdif->ctls & ~AC_DIG1_ENABLE & 0xff);
sound/hda/codecs/hdmi/nvhdmi-mcp.c
160
if (codec->spdif_status_reset && (spdif->ctls & AC_DIG1_ENABLE)) {
sound/hda/codecs/hdmi/nvhdmi-mcp.c
165
spdif->ctls & 0xff);
sound/hda/codecs/hdmi/nvhdmi-mcp.c
182
(spdif->ctls & AC_DIG1_ENABLE))
sound/hda/codecs/hdmi/nvhdmi-mcp.c
187
spdif->ctls & ~AC_DIG1_ENABLE & 0xff);
sound/hda/codecs/hdmi/nvhdmi-mcp.c
203
(spdif->ctls & AC_DIG1_ENABLE)) {
sound/hda/codecs/hdmi/nvhdmi-mcp.c
208
spdif->ctls & 0xff);
sound/hda/common/codec.c
2167
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2172
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2173
ucontrol->value.iec958.status[0] = spdif->status & 0xff;
sound/hda/common/codec.c
2174
ucontrol->value.iec958.status[1] = (spdif->status >> 8) & 0xff;
sound/hda/common/codec.c
2175
ucontrol->value.iec958.status[2] = (spdif->status >> 16) & 0xff;
sound/hda/common/codec.c
2176
ucontrol->value.iec958.status[3] = (spdif->status >> 24) & 0xff;
sound/hda/common/codec.c
2272
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2280
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2281
nid = spdif->nid;
sound/hda/common/codec.c
2282
spdif->status = ucontrol->value.iec958.status[0] |
sound/hda/common/codec.c
2286
val = convert_from_spdif_status(spdif->status);
sound/hda/common/codec.c
2287
val |= spdif->ctls & 1;
sound/hda/common/codec.c
2288
change = spdif->ctls != val;
sound/hda/common/codec.c
2289
spdif->ctls = val;
sound/hda/common/codec.c
2302
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2307
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2308
ucontrol->value.integer.value[0] = spdif->ctls & AC_DIG1_ENABLE;
sound/hda/common/codec.c
2328
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2336
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2337
nid = spdif->nid;
sound/hda/common/codec.c
2338
val = spdif->ctls & ~AC_DIG1_ENABLE;
sound/hda/common/codec.c
2341
change = spdif->ctls != val;
sound/hda/common/codec.c
2342
spdif->ctls = val;
sound/hda/common/codec.c
2402
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2433
spdif = snd_array_new(&codec->spdif_out);
sound/hda/common/codec.c
2434
if (!spdif)
sound/hda/common/codec.c
2446
spdif->nid = cvt_nid;
sound/hda/common/codec.c
2449
spdif->ctls = val;
sound/hda/common/codec.c
2450
spdif->status = convert_to_spdif_status(spdif->ctls);
sound/hda/common/codec.c
2465
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2468
snd_array_for_each(&codec->spdif_out, i, spdif) {
sound/hda/common/codec.c
2469
if (spdif->nid == nid)
sound/hda/common/codec.c
2470
return spdif;
sound/hda/common/codec.c
2485
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2490
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2491
spdif->nid = (u16)-1;
sound/hda/common/codec.c
2505
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
2511
spdif = snd_array_elem(&codec->spdif_out, idx);
sound/hda/common/codec.c
2512
if (spdif->nid != nid) {
sound/hda/common/codec.c
2513
spdif->nid = nid;
sound/hda/common/codec.c
2514
val = spdif->ctls;
sound/hda/common/codec.c
3596
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
3600
spdif = snd_hda_spdif_out_of_nid(codec, nid);
sound/hda/common/codec.c
3604
if (WARN_ON(spdif == NULL))
sound/hda/common/codec.c
3610
(spdif->ctls & AC_DIG1_ENABLE) &&
sound/hda/common/codec.c
3617
spdif->ctls & ~AC_DIG1_ENABLE & 0xff,
sound/hda/common/codec.c
3629
spdif->ctls & 0xff, -1);
sound/hda/common/codec.c
3784
struct hda_spdif_out *spdif;
sound/hda/common/codec.c
3788
spdif = snd_hda_spdif_out_of_nid(codec, mout->dig_out_nid);
sound/hda/common/codec.c
3791
if (chs == 2 && spdif != NULL &&
sound/hda/common/codec.c
3794
!(spdif->status & IEC958_AES0_NONAUDIO)) {
sound/hda/common/controller.c
163
struct hda_spdif_out *spdif =
sound/hda/common/controller.c
165
unsigned short ctls = spdif ? spdif->ctls : 0;
sound/pci/ac97/ac97_pcm.c
151
if (pcm->spdif)
sound/pci/ac97/ac97_pcm.c
474
rpcm->spdif = pcm->spdif;
sound/pci/ac97/ac97_pcm.c
483
if (pcm->spdif && pcm->stream == 0)
sound/pci/ali5451/ali5451.c
2104
err = snd_ali_create(card, pci, pcm_channels, spdif);
sound/pci/ali5451/ali5451.c
36
static bool spdif;
sound/pci/ali5451/ali5451.c
44
module_param(spdif, bool, 0444);
sound/pci/ali5451/ali5451.c
45
MODULE_PARM_DESC(spdif, "Support SPDIF I/O");
sound/pci/atiixp.c
1185
.spdif = 1,
sound/pci/ens1370.c
1094
if (ensoniq->spdif && ensoniq->playback2_substream == NULL)
sound/pci/ens1370.c
1117
if (ensoniq->spdif && ensoniq->playback1_substream == NULL)
sound/pci/ens1370.c
2301
err = snd_ensoniq_1371_mixer(ensoniq, spdif[dev], lineio[dev]);
sound/pci/ens1370.c
412
unsigned int spdif;
sound/pci/ens1370.c
75
static int spdif[SNDRV_CARDS];
sound/pci/ens1370.c
95
module_param_array(spdif, int, NULL, 0444);
sound/pci/ens1370.c
96
MODULE_PARM_DESC(spdif, "S/PDIF output (-1 = none, 0 = auto, 1 = force).");
sound/pci/ice1712/delta.c
196
snd_cs8403_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_bits);
sound/pci/ice1712/delta.c
206
change = ice->spdif.cs8403_bits != val;
sound/pci/ice1712/delta.c
207
ice->spdif.cs8403_bits = val;
sound/pci/ice1712/delta.c
217
snd_cs8403_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_stream_bits);
sound/pci/ice1712/delta.c
227
change = ice->spdif.cs8403_stream_bits != val;
sound/pci/ice1712/delta.c
228
ice->spdif.cs8403_stream_bits = val;
sound/pci/ice1712/delta.c
368
ice->spdif.cs8403_stream_bits = ice->spdif.cs8403_bits;
sound/pci/ice1712/delta.c
378
tmp = ice->spdif.cs8403_stream_bits;
sound/pci/ice1712/delta.c
387
change = ice->spdif.cs8403_stream_bits != tmp;
sound/pci/ice1712/delta.c
388
ice->spdif.cs8403_stream_bits = tmp;
sound/pci/ice1712/delta.c
391
snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &ice->spdif.stream_ctl->id);
sound/pci/ice1712/delta.c
579
snd_ice1712_delta_cs8403_spdif_write(ice, ice->spdif.cs8403_bits);
sound/pci/ice1712/delta.c
689
ice->spdif.ops.open = delta_open_spdif;
sound/pci/ice1712/delta.c
690
ice->spdif.ops.setup_rate = delta_setup_spdif;
sound/pci/ice1712/delta.c
691
ice->spdif.ops.default_get = delta_spdif_default_get;
sound/pci/ice1712/delta.c
692
ice->spdif.ops.default_put = delta_spdif_default_put;
sound/pci/ice1712/delta.c
693
ice->spdif.ops.stream_get = delta_spdif_stream_get;
sound/pci/ice1712/delta.c
694
ice->spdif.ops.stream_put = delta_spdif_stream_put;
sound/pci/ice1712/delta.c
696
snd_ice1712_delta_cs8403_spdif_write(ice, ice->spdif.cs8403_bits);
sound/pci/ice1712/ews.c
254
snd_cs8404_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_bits);
sound/pci/ice1712/ews.c
264
change = ice->spdif.cs8403_bits != val;
sound/pci/ice1712/ews.c
265
ice->spdif.cs8403_bits = val;
sound/pci/ice1712/ews.c
275
snd_cs8404_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_stream_bits);
sound/pci/ice1712/ews.c
285
change = ice->spdif.cs8403_stream_bits != val;
sound/pci/ice1712/ews.c
286
ice->spdif.cs8403_stream_bits = val;
sound/pci/ice1712/ews.c
298
ice->spdif.cs8403_stream_bits = ice->spdif.cs8403_bits;
sound/pci/ice1712/ews.c
308
tmp = ice->spdif.cs8403_stream_bits;
sound/pci/ice1712/ews.c
317
change = ice->spdif.cs8403_stream_bits != tmp;
sound/pci/ice1712/ews.c
318
ice->spdif.cs8403_stream_bits = tmp;
sound/pci/ice1712/ews.c
321
snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &ice->spdif.stream_ctl->id);
sound/pci/ice1712/ews.c
515
ice->spdif.ops.open = ews88_open_spdif;
sound/pci/ice1712/ews.c
516
ice->spdif.ops.setup_rate = ews88_setup_spdif;
sound/pci/ice1712/ews.c
517
ice->spdif.ops.default_get = ews88_spdif_default_get;
sound/pci/ice1712/ews.c
518
ice->spdif.ops.default_put = ews88_spdif_default_put;
sound/pci/ice1712/ews.c
519
ice->spdif.ops.stream_get = ews88_spdif_stream_get;
sound/pci/ice1712/ews.c
520
ice->spdif.ops.stream_put = ews88_spdif_stream_put;
sound/pci/ice1712/ews.c
522
snd_ice1712_ews_cs8404_spdif_write(ice, ice->spdif.cs8403_bits);
sound/pci/ice1712/ice1712.c
1124
if (ice->spdif.ops.open)
sound/pci/ice1712/ice1712.c
1125
ice->spdif.ops.open(ice, substream);
sound/pci/ice1712/ice1712.c
1155
if (ice->spdif.ops.close)
sound/pci/ice1712/ice1712.c
1156
ice->spdif.ops.close(ice, substream);
sound/pci/ice1712/ice1712.c
1584
if (ice->spdif.ops.default_get)
sound/pci/ice1712/ice1712.c
1585
ice->spdif.ops.default_get(ice, ucontrol);
sound/pci/ice1712/ice1712.c
1593
if (ice->spdif.ops.default_put)
sound/pci/ice1712/ice1712.c
1594
return ice->spdif.ops.default_put(ice, ucontrol);
sound/pci/ice1712/ice1712.c
1611
if (ice->spdif.ops.default_get) {
sound/pci/ice1712/ice1712.c
1633
if (ice->spdif.ops.default_get) {
sound/pci/ice1712/ice1712.c
1671
if (ice->spdif.ops.stream_get)
sound/pci/ice1712/ice1712.c
1672
ice->spdif.ops.stream_get(ice, ucontrol);
sound/pci/ice1712/ice1712.c
1680
if (ice->spdif.ops.stream_put)
sound/pci/ice1712/ice1712.c
1681
return ice->spdif.ops.stream_put(ice, ucontrol);
sound/pci/ice1712/ice1712.c
2376
ice->spdif.stream_ctl = kctl;
sound/pci/ice1712/ice1712.c
2474
ice->spdif.cs8403_bits =
sound/pci/ice1712/ice1712.c
2475
ice->spdif.cs8403_stream_bits = (0x01 | /* consumer format */
sound/pci/ice1712/ice1712.c
379
ice->spdif.ops.open = open_cs8427;
sound/pci/ice1712/ice1712.c
380
ice->spdif.ops.close = close_cs8427;
sound/pci/ice1712/ice1712.c
381
ice->spdif.ops.setup_rate = setup_cs8427;
sound/pci/ice1712/ice1712.c
996
if (ice->spdif.ops.setup_rate)
sound/pci/ice1712/ice1712.c
997
ice->spdif.ops.setup_rate(ice, rate);
sound/pci/ice1712/ice1712.h
342
struct snd_ice1712_spdif spdif;
sound/pci/ice1712/ice1724.c
1204
if (ice->spdif.ops.open)
sound/pci/ice1712/ice1724.c
1205
ice->spdif.ops.open(ice, substream);
sound/pci/ice1712/ice1724.c
1216
if (ice->spdif.ops.close)
sound/pci/ice1712/ice1724.c
1217
ice->spdif.ops.close(ice, substream);
sound/pci/ice1712/ice1724.c
1241
if (ice->spdif.ops.open)
sound/pci/ice1712/ice1724.c
1242
ice->spdif.ops.open(ice, substream);
sound/pci/ice1712/ice1724.c
1253
if (ice->spdif.ops.close)
sound/pci/ice1712/ice1724.c
1254
ice->spdif.ops.close(ice, substream);
sound/pci/ice1712/ice1724.c
2417
ice->spdif.stream_ctl = kctl;
sound/pci/ice1712/ice1724.c
672
if (ice->spdif.ops.setup_rate)
sound/pci/ice1712/ice1724.c
673
ice->spdif.ops.setup_rate(ice, rate);
sound/pci/ice1712/juli.c
615
ice->spdif.ops.open = juli_spdif_in_open;
sound/pci/ice1712/quartet.c
987
ice->spdif.ops.open = ice->pro_open = qtet_spdif_in_open;
sound/pci/intel8x0.c
1748
.spdif = 1,
sound/pci/rme32.c
950
int spdif = 0;
sound/pci/rme32.c
955
spdif = (rme32->wcreg & RME32_WCR_ADAT) == 0;
sound/pci/rme32.c
957
if (spdif) {
sound/pci/rme96.c
1281
int spdif = 0;
sound/pci/rme96.c
1288
spdif = (rme96->wcreg & RME96_WCR_ADAT) == 0;
sound/pci/rme96.c
1290
if (spdif) {
sound/pci/trident/trident.h
301
spdif: 1,
sound/pci/trident/trident.h
380
struct snd_pcm *spdif; /* SPDIF PCM */
sound/pci/trident/trident_main.c
1530
if (voice->spdif)
sound/pci/trident/trident_main.c
1849
voice->spdif = 1;
sound/pci/trident/trident_main.c
2211
struct snd_pcm *spdif;
sound/pci/trident/trident_main.c
2214
err = snd_pcm_new(trident->card, "trident_dx_nx IEC958", device, 1, 0, &spdif);
sound/pci/trident/trident_main.c
2218
spdif->private_data = trident;
sound/pci/trident/trident_main.c
2220
snd_pcm_set_ops(spdif, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_spdif_ops);
sound/pci/trident/trident_main.c
2222
snd_pcm_set_ops(spdif, SNDRV_PCM_STREAM_PLAYBACK, &snd_trident_spdif_7018_ops);
sound/pci/trident/trident_main.c
2224
spdif->info_flags = 0;
sound/pci/trident/trident_main.c
2225
strscpy(spdif->name, "Trident 4DWave IEC958");
sound/pci/trident/trident_main.c
2226
trident->spdif = spdif;
sound/pci/trident/trident_main.c
2228
snd_pcm_set_managed_buffer_all(spdif, SNDRV_DMA_TYPE_DEV,
sound/pci/trident/trident_main.c
2277
if (trident->spdif == NULL) {
sound/pci/trident/trident_main.c
2344
if (trident->spdif == NULL)
sound/pci/trident/trident_main.c
2433
if (trident->spdif != NULL) {
sound/pci/trident/trident_main.c
3726
pvoice->spdif = 0;
sound/pci/trident/trident_main.c
3766
voice->capture = voice->spdif = 0;
sound/soc/adi/axi-spdif.c
101
regmap_write(spdif->regmap, AXI_SPDIF_REG_STAT, stat);
sound/soc/adi/axi-spdif.c
102
regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL,
sound/soc/adi/axi-spdif.c
110
struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/adi/axi-spdif.c
112
snd_soc_dai_init_dma_data(dai, &spdif->dma_data, NULL);
sound/soc/adi/axi-spdif.c
120
struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/adi/axi-spdif.c
125
&spdif->rate_constraints);
sound/soc/adi/axi-spdif.c
129
ret = clk_prepare_enable(spdif->clk_ref);
sound/soc/adi/axi-spdif.c
133
regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL,
sound/soc/adi/axi-spdif.c
142
struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/adi/axi-spdif.c
144
regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL,
sound/soc/adi/axi-spdif.c
147
clk_disable_unprepare(spdif->clk_ref);
sound/soc/adi/axi-spdif.c
182
struct axi_spdif *spdif;
sound/soc/adi/axi-spdif.c
187
spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL);
sound/soc/adi/axi-spdif.c
188
if (!spdif)
sound/soc/adi/axi-spdif.c
191
platform_set_drvdata(pdev, spdif);
sound/soc/adi/axi-spdif.c
197
spdif->regmap = devm_regmap_init_mmio(&pdev->dev, base,
sound/soc/adi/axi-spdif.c
199
if (IS_ERR(spdif->regmap))
sound/soc/adi/axi-spdif.c
200
return PTR_ERR(spdif->regmap);
sound/soc/adi/axi-spdif.c
202
spdif->clk = devm_clk_get(&pdev->dev, "axi");
sound/soc/adi/axi-spdif.c
203
if (IS_ERR(spdif->clk))
sound/soc/adi/axi-spdif.c
204
return PTR_ERR(spdif->clk);
sound/soc/adi/axi-spdif.c
206
spdif->clk_ref = devm_clk_get(&pdev->dev, "ref");
sound/soc/adi/axi-spdif.c
207
if (IS_ERR(spdif->clk_ref))
sound/soc/adi/axi-spdif.c
208
return PTR_ERR(spdif->clk_ref);
sound/soc/adi/axi-spdif.c
210
ret = clk_prepare_enable(spdif->clk);
sound/soc/adi/axi-spdif.c
214
spdif->dma_data.addr = res->start + AXI_SPDIF_REG_TX_FIFO;
sound/soc/adi/axi-spdif.c
215
spdif->dma_data.addr_width = 4;
sound/soc/adi/axi-spdif.c
216
spdif->dma_data.maxburst = 1;
sound/soc/adi/axi-spdif.c
218
spdif->ratnum.num = clk_get_rate(spdif->clk_ref) / 128;
sound/soc/adi/axi-spdif.c
219
spdif->ratnum.den_step = 1;
sound/soc/adi/axi-spdif.c
220
spdif->ratnum.den_min = 1;
sound/soc/adi/axi-spdif.c
221
spdif->ratnum.den_max = 64;
sound/soc/adi/axi-spdif.c
223
spdif->rate_constraints.rats = &spdif->ratnum;
sound/soc/adi/axi-spdif.c
224
spdif->rate_constraints.nrats = 1;
sound/soc/adi/axi-spdif.c
238
clk_disable_unprepare(spdif->clk);
sound/soc/adi/axi-spdif.c
244
struct axi_spdif *spdif = platform_get_drvdata(pdev);
sound/soc/adi/axi-spdif.c
246
clk_disable_unprepare(spdif->clk);
sound/soc/adi/axi-spdif.c
51
struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/adi/axi-spdif.c
69
regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL,
sound/soc/adi/axi-spdif.c
78
struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/adi/axi-spdif.c
97
clkdiv = DIV_ROUND_CLOSEST(clk_get_rate(spdif->clk_ref),
sound/soc/codecs/hdmi-codec.c
1138
dai_count = hcd->i2s + hcd->spdif;
sound/soc/codecs/hdmi-codec.c
1178
if (hcd->spdif) {
sound/soc/codecs/sti-sas.c
264
drvdata->spdif.mclk = freq;
sound/soc/codecs/sti-sas.c
284
if ((drvdata->spdif.mclk / runtime->rate) != 128) {
sound/soc/codecs/sti-sas.c
441
drvdata->spdif.regmap = drvdata->dac.regmap;
sound/soc/codecs/sti-sas.c
73
struct sti_spdif_audio spdif;
sound/soc/fsl/fsl_spdif.c
214
static inline bool fsl_spdif_can_set_clk_rate(struct fsl_spdif_priv *spdif, int clk)
sound/soc/fsl/fsl_spdif.c
216
return (clk == STC_TXCLK_SPDIF_ROOT) && !spdif->soc->shared_root_clock;
sound/soc/img/img-spdif-in.c
101
struct img_spdif_in *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-in.c
104
ret = clk_prepare_enable(spdif->clk_sys);
sound/soc/img/img-spdif-in.c
113
static inline void img_spdif_in_writel(struct img_spdif_in *spdif,
sound/soc/img/img-spdif-in.c
116
writel(val, spdif->base + reg);
sound/soc/img/img-spdif-in.c
119
static inline u32 img_spdif_in_readl(struct img_spdif_in *spdif, u32 reg)
sound/soc/img/img-spdif-in.c
121
return readl(spdif->base + reg);
sound/soc/img/img-spdif-in.c
124
static inline void img_spdif_in_aclkgen_writel(struct img_spdif_in *spdif,
sound/soc/img/img-spdif-in.c
127
img_spdif_in_writel(spdif, spdif->aclkgen_regs[index],
sound/soc/img/img-spdif-in.c
131
static int img_spdif_in_check_max_rate(struct img_spdif_in *spdif,
sound/soc/img/img-spdif-in.c
139
freq_t = clk_get_rate(spdif->clk_sys);
sound/soc/img/img-spdif-in.c
178
static int img_spdif_in_do_clkgen_single(struct img_spdif_in *spdif,
sound/soc/img/img-spdif-in.c
186
ret = img_spdif_in_check_max_rate(spdif, rate, &clk_rate);
sound/soc/img/img-spdif-in.c
199
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
201
if (spdif->active)
sound/soc/img/img-spdif-in.c
204
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CLKGEN);
sound/soc/img/img-spdif-in.c
206
spdif->single_freq = rate;
sound/soc/img/img-spdif-in.c
211
static int img_spdif_in_do_clkgen_multi(struct img_spdif_in *spdif,
sound/soc/img/img-spdif-in.c
223
ret = img_spdif_in_check_max_rate(spdif, max_rate, &clk_rate);
sound/soc/img/img-spdif-in.c
241
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
243
if (spdif->active)
sound/soc/img/img-spdif-in.c
246
trk_reg = spdif->trk << IMG_SPDIF_IN_ACLKGEN_TRK_SHIFT;
sound/soc/img/img-spdif-in.c
249
spdif->aclkgen_regs[i] = temp_regs[i] | trk_reg;
sound/soc/img/img-spdif-in.c
250
img_spdif_in_aclkgen_writel(spdif, i);
sound/soc/img/img-spdif-in.c
253
spdif->multi_freq = true;
sound/soc/img/img-spdif-in.c
254
spdif->multi_freqs[0] = multi_freqs[0];
sound/soc/img/img-spdif-in.c
255
spdif->multi_freqs[1] = multi_freqs[1];
sound/soc/img/img-spdif-in.c
256
spdif->multi_freqs[2] = multi_freqs[2];
sound/soc/img/img-spdif-in.c
257
spdif->multi_freqs[3] = multi_freqs[3];
sound/soc/img/img-spdif-in.c
287
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
290
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CSL);
sound/soc/img/img-spdif-in.c
295
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CSH);
sound/soc/img/img-spdif-in.c
317
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
319
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
320
if (spdif->multi_freq) {
sound/soc/img/img-spdif-in.c
321
ucontrol->value.integer.value[0] = spdif->multi_freqs[0];
sound/soc/img/img-spdif-in.c
322
ucontrol->value.integer.value[1] = spdif->multi_freqs[1];
sound/soc/img/img-spdif-in.c
323
ucontrol->value.integer.value[2] = spdif->multi_freqs[2];
sound/soc/img/img-spdif-in.c
324
ucontrol->value.integer.value[3] = spdif->multi_freqs[3];
sound/soc/img/img-spdif-in.c
339
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
357
return img_spdif_in_do_clkgen_multi(spdif, multi_freqs);
sound/soc/img/img-spdif-in.c
359
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
361
if (spdif->active)
sound/soc/img/img-spdif-in.c
364
spdif->multi_freq = false;
sound/soc/img/img-spdif-in.c
384
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
388
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
390
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_STATUS);
sound/soc/img/img-spdif-in.c
392
if (spdif->multi_freq) {
sound/soc/img/img-spdif-in.c
395
uc->value.integer.value[0] = spdif->multi_freqs[i];
sound/soc/img/img-spdif-in.c
397
uc->value.integer.value[0] = spdif->single_freq;
sound/soc/img/img-spdif-in.c
421
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
423
ucontrol->value.integer.value[0] = spdif->trk;
sound/soc/img/img-spdif-in.c
432
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
436
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
438
if (spdif->active)
sound/soc/img/img-spdif-in.c
441
spdif->trk = ucontrol->value.integer.value[0];
sound/soc/img/img-spdif-in.c
443
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
445
reg |= spdif->trk << IMG_SPDIF_IN_CTL_TRK_SHIFT;
sound/soc/img/img-spdif-in.c
446
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
449
spdif->aclkgen_regs[i] = (spdif->aclkgen_regs[i] &
sound/soc/img/img-spdif-in.c
451
(spdif->trk << IMG_SPDIF_IN_ACLKGEN_TRK_SHIFT);
sound/soc/img/img-spdif-in.c
453
img_spdif_in_aclkgen_writel(spdif, i);
sound/soc/img/img-spdif-in.c
474
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
476
ucontrol->value.integer.value[0] = spdif->lock_acquire;
sound/soc/img/img-spdif-in.c
485
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
488
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
490
if (spdif->active)
sound/soc/img/img-spdif-in.c
493
spdif->lock_acquire = ucontrol->value.integer.value[0];
sound/soc/img/img-spdif-in.c
495
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
497
reg |= (spdif->lock_acquire << IMG_SPDIF_IN_CTL_LOCKHI_SHIFT) &
sound/soc/img/img-spdif-in.c
499
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
508
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
510
ucontrol->value.integer.value[0] = spdif->lock_release;
sound/soc/img/img-spdif-in.c
519
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-in.c
522
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
524
if (spdif->active)
sound/soc/img/img-spdif-in.c
527
spdif->lock_release = ucontrol->value.integer.value[0];
sound/soc/img/img-spdif-in.c
529
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
531
reg |= (spdif->lock_release << IMG_SPDIF_IN_CTL_LOCKLO_SHIFT) &
sound/soc/img/img-spdif-in.c
533
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
595
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-in.c
599
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-in.c
605
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
606
if (spdif->multi_freq)
sound/soc/img/img-spdif-in.c
611
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
612
spdif->active = true;
sound/soc/img/img-spdif-in.c
617
reg = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
619
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
620
spdif->active = false;
sound/soc/img/img-spdif-in.c
632
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-in.c
646
return img_spdif_in_do_clkgen_single(spdif, rate);
sound/soc/img/img-spdif-in.c
651
struct img_spdif_in *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-in.c
653
snd_soc_dai_init_dma_data(dai, NULL, &spdif->dma_data);
sound/soc/img/img-spdif-in.c
684
struct img_spdif_in *spdif;
sound/soc/img/img-spdif-in.c
692
spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL);
sound/soc/img/img-spdif-in.c
693
if (!spdif)
sound/soc/img/img-spdif-in.c
696
platform_set_drvdata(pdev, spdif);
sound/soc/img/img-spdif-in.c
698
spdif->dev = &pdev->dev;
sound/soc/img/img-spdif-in.c
704
spdif->base = base;
sound/soc/img/img-spdif-in.c
706
spdif->clk_sys = devm_clk_get(dev, "sys");
sound/soc/img/img-spdif-in.c
707
if (IS_ERR(spdif->clk_sys))
sound/soc/img/img-spdif-in.c
708
return dev_err_probe(dev, PTR_ERR(spdif->clk_sys),
sound/soc/img/img-spdif-in.c
728
img_spdif_in_writel(spdif, IMG_SPDIF_IN_SOFT_RESET_MASK,
sound/soc/img/img-spdif-in.c
730
img_spdif_in_writel(spdif, 0, IMG_SPDIF_IN_SOFT_RESET);
sound/soc/img/img-spdif-in.c
736
spin_lock_init(&spdif->lock);
sound/soc/img/img-spdif-in.c
738
spdif->dma_data.addr = res->start + IMG_SPDIF_IN_RX_FIFO_OFFSET;
sound/soc/img/img-spdif-in.c
739
spdif->dma_data.addr_width = 4;
sound/soc/img/img-spdif-in.c
740
spdif->dma_data.maxburst = 4;
sound/soc/img/img-spdif-in.c
741
spdif->trk = 0x80;
sound/soc/img/img-spdif-in.c
742
spdif->lock_acquire = 4;
sound/soc/img/img-spdif-in.c
743
spdif->lock_release = -128;
sound/soc/img/img-spdif-in.c
745
reg = (spdif->lock_acquire << IMG_SPDIF_IN_CTL_LOCKHI_SHIFT) &
sound/soc/img/img-spdif-in.c
747
reg |= (spdif->lock_release << IMG_SPDIF_IN_CTL_LOCKLO_SHIFT) &
sound/soc/img/img-spdif-in.c
749
reg |= (spdif->trk << IMG_SPDIF_IN_CTL_TRK_SHIFT) &
sound/soc/img/img-spdif-in.c
751
img_spdif_in_writel(spdif, reg, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
786
struct img_spdif_in *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-in.c
795
spdif->suspend_clkgen = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CLKGEN);
sound/soc/img/img-spdif-in.c
796
spdif->suspend_ctl = img_spdif_in_readl(spdif, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
805
struct img_spdif_in *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-in.c
813
img_spdif_in_aclkgen_writel(spdif, i);
sound/soc/img/img-spdif-in.c
815
img_spdif_in_writel(spdif, spdif->suspend_clkgen, IMG_SPDIF_IN_CLKGEN);
sound/soc/img/img-spdif-in.c
816
img_spdif_in_writel(spdif, spdif->suspend_ctl, IMG_SPDIF_IN_CTL);
sound/soc/img/img-spdif-in.c
92
struct img_spdif_in *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-in.c
94
clk_disable_unprepare(spdif->clk_sys);
sound/soc/img/img-spdif-out.c
100
status_low = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
101
status_high = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
103
reset_control_assert(spdif->rst);
sound/soc/img/img-spdif-out.c
104
reset_control_deassert(spdif->rst);
sound/soc/img/img-spdif-out.c
106
img_spdif_out_writel(spdif, ctl, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
107
img_spdif_out_writel(spdif, status_low, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
108
img_spdif_out_writel(spdif, status_high, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
136
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-out.c
139
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-out.c
141
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
147
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
159
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/img/img-spdif-out.c
167
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/img/img-spdif-out.c
169
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
171
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
175
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
200
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-out.c
207
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
209
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
214
scoped_guard(spinlock_irqsave, &spdif->lock)
sound/soc/img/img-spdif-out.c
215
img_spdif_out_reset(spdif);
sound/soc/img/img-spdif-out.c
227
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-out.c
237
dev_dbg(spdif->dev, "hw_params rate %ld channels %u format %u\n",
sound/soc/img/img-spdif-out.c
246
pre_div_a = clk_round_rate(spdif->clk_ref, rate * 256);
sound/soc/img/img-spdif-out.c
249
pre_div_b = clk_round_rate(spdif->clk_ref, rate * 384);
sound/soc/img/img-spdif-out.c
258
clk_set_rate(spdif->clk_ref, pre_div_b);
sound/soc/img/img-spdif-out.c
260
clk_set_rate(spdif->clk_ref, pre_div_a);
sound/soc/img/img-spdif-out.c
267
clk_rate = clk_get_rate(spdif->clk_ref);
sound/soc/img/img-spdif-out.c
272
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
277
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
284
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/img/img-spdif-out.c
286
snd_soc_dai_init_dma_data(dai, &spdif->dma_data, NULL);
sound/soc/img/img-spdif-out.c
317
struct img_spdif_out *spdif;
sound/soc/img/img-spdif-out.c
323
spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL);
sound/soc/img/img-spdif-out.c
324
if (!spdif)
sound/soc/img/img-spdif-out.c
327
platform_set_drvdata(pdev, spdif);
sound/soc/img/img-spdif-out.c
329
spdif->dev = &pdev->dev;
sound/soc/img/img-spdif-out.c
335
spdif->base = base;
sound/soc/img/img-spdif-out.c
337
spdif->rst = devm_reset_control_get_exclusive(&pdev->dev, "rst");
sound/soc/img/img-spdif-out.c
338
if (IS_ERR(spdif->rst))
sound/soc/img/img-spdif-out.c
339
return dev_err_probe(&pdev->dev, PTR_ERR(spdif->rst),
sound/soc/img/img-spdif-out.c
342
spdif->clk_sys = devm_clk_get(&pdev->dev, "sys");
sound/soc/img/img-spdif-out.c
343
if (IS_ERR(spdif->clk_sys))
sound/soc/img/img-spdif-out.c
344
return dev_err_probe(dev, PTR_ERR(spdif->clk_sys),
sound/soc/img/img-spdif-out.c
347
spdif->clk_ref = devm_clk_get(&pdev->dev, "ref");
sound/soc/img/img-spdif-out.c
348
if (IS_ERR(spdif->clk_ref))
sound/soc/img/img-spdif-out.c
349
return dev_err_probe(dev, PTR_ERR(spdif->clk_ref),
sound/soc/img/img-spdif-out.c
362
img_spdif_out_writel(spdif, IMG_SPDIF_OUT_CTL_FS_MASK,
sound/soc/img/img-spdif-out.c
365
img_spdif_out_reset(spdif);
sound/soc/img/img-spdif-out.c
368
spin_lock_init(&spdif->lock);
sound/soc/img/img-spdif-out.c
370
spdif->dma_data.addr = res->start + IMG_SPDIF_OUT_TX_FIFO;
sound/soc/img/img-spdif-out.c
371
spdif->dma_data.addr_width = 4;
sound/soc/img/img-spdif-out.c
372
spdif->dma_data.maxburst = 4;
sound/soc/img/img-spdif-out.c
406
struct img_spdif_out *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-out.c
415
spdif->suspend_ctl = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
416
spdif->suspend_csl = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
417
spdif->suspend_csh = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
426
struct img_spdif_out *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-out.c
433
img_spdif_out_writel(spdif, spdif->suspend_ctl, IMG_SPDIF_OUT_CTL);
sound/soc/img/img-spdif-out.c
434
img_spdif_out_writel(spdif, spdif->suspend_csl, IMG_SPDIF_OUT_CSL);
sound/soc/img/img-spdif-out.c
435
img_spdif_out_writel(spdif, spdif->suspend_csh, IMG_SPDIF_OUT_CSH_UV);
sound/soc/img/img-spdif-out.c
54
struct img_spdif_out *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-out.c
56
clk_disable_unprepare(spdif->clk_ref);
sound/soc/img/img-spdif-out.c
57
clk_disable_unprepare(spdif->clk_sys);
sound/soc/img/img-spdif-out.c
64
struct img_spdif_out *spdif = dev_get_drvdata(dev);
sound/soc/img/img-spdif-out.c
67
ret = clk_prepare_enable(spdif->clk_sys);
sound/soc/img/img-spdif-out.c
73
ret = clk_prepare_enable(spdif->clk_ref);
sound/soc/img/img-spdif-out.c
76
clk_disable_unprepare(spdif->clk_sys);
sound/soc/img/img-spdif-out.c
83
static inline void img_spdif_out_writel(struct img_spdif_out *spdif, u32 val,
sound/soc/img/img-spdif-out.c
86
writel(val, spdif->base + reg);
sound/soc/img/img-spdif-out.c
89
static inline u32 img_spdif_out_readl(struct img_spdif_out *spdif, u32 reg)
sound/soc/img/img-spdif-out.c
91
return readl(spdif->base + reg);
sound/soc/img/img-spdif-out.c
94
static void img_spdif_out_reset(struct img_spdif_out *spdif)
sound/soc/img/img-spdif-out.c
98
ctl = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CTL) &
sound/soc/meson/aiu-encoder-spdif.c
144
ret = clk_set_rate(aiu->spdif.clks[MCLK].clk, mrate);
sound/soc/meson/aiu-encoder-spdif.c
183
ret = clk_set_parent(aiu->spdif.clks[MCLK].clk,
sound/soc/meson/aiu-encoder-spdif.c
188
ret = clk_bulk_prepare_enable(aiu->spdif.clk_num, aiu->spdif.clks);
sound/soc/meson/aiu-encoder-spdif.c
200
clk_bulk_disable_unprepare(aiu->spdif.clk_num, aiu->spdif.clks);
sound/soc/meson/aiu-fifo-spdif.c
189
fifo->pclk = aiu->spdif.clks[PCLK].clk;
sound/soc/meson/aiu-fifo-spdif.c
190
fifo->irq = aiu->spdif.irq;
sound/soc/meson/aiu.c
233
&aiu->spdif);
sound/soc/meson/aiu.c
277
aiu->spdif.irq = platform_get_irq_byname(pdev, "spdif");
sound/soc/meson/aiu.c
278
if (aiu->spdif.irq < 0)
sound/soc/meson/aiu.c
279
return aiu->spdif.irq;
sound/soc/meson/aiu.h
38
struct aiu_interface spdif;
sound/soc/renesas/fsi.c
1931
fsi->spdif = 1;
sound/soc/renesas/fsi.c
261
unsigned int spdif:1;
sound/soc/renesas/fsi.c
387
return fsi->spdif;
sound/soc/renesas/siu_dai.c
52
u32 spdif;
sound/soc/renesas/siu_dai.c
68
.spdif = 0x80000000, /* not on all SIU versions */
sound/soc/renesas/siu_dai.c
74
.spdif = 0x08000000,
sound/soc/renesas/siu_dai.c
82
.spdif = 0, /* impossible - turn off */
sound/soc/renesas/siu_dai.c
88
.spdif = 0, /* impossible - turn off */
sound/soc/rockchip/rockchip_spdif.c
109
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/rockchip/rockchip_spdif.c
110
unsigned int mclk_rate = clk_get_rate(spdif->mclk);
sound/soc/rockchip/rockchip_spdif.c
122
regmap_write(spdif->regmap, SPDIF_CHNSRn(i), CS_FRAME(fc[i]));
sound/soc/rockchip/rockchip_spdif.c
124
regmap_update_bits(spdif->regmap, SPDIF_CFGR, SPDIF_CFGR_CSE_MASK,
sound/soc/rockchip/rockchip_spdif.c
158
regmap_update_bits(spdif->regmap, SPDIF_CFGR, SPDIF_CFGR_CLR_MASK,
sound/soc/rockchip/rockchip_spdif.c
162
ret = regmap_update_bits(spdif->regmap, SPDIF_CFGR,
sound/soc/rockchip/rockchip_spdif.c
174
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/rockchip/rockchip_spdif.c
181
ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR,
sound/soc/rockchip/rockchip_spdif.c
190
ret = regmap_update_bits(spdif->regmap, SPDIF_XFER,
sound/soc/rockchip/rockchip_spdif.c
197
ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR,
sound/soc/rockchip/rockchip_spdif.c
204
ret = regmap_update_bits(spdif->regmap, SPDIF_XFER,
sound/soc/rockchip/rockchip_spdif.c
218
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/rockchip/rockchip_spdif.c
220
snd_soc_dai_dma_data_set_playback(dai, &spdif->playback_dma_data);
sound/soc/rockchip/rockchip_spdif.c
228
struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai);
sound/soc/rockchip/rockchip_spdif.c
234
ret = clk_set_rate(spdif->mclk, freq);
sound/soc/rockchip/rockchip_spdif.c
236
dev_err(spdif->dev, "Failed to set mclk: %d\n", ret);
sound/soc/rockchip/rockchip_spdif.c
337
struct rk_spdif_dev *spdif;
sound/soc/rockchip/rockchip_spdif.c
357
spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL);
sound/soc/rockchip/rockchip_spdif.c
358
if (!spdif)
sound/soc/rockchip/rockchip_spdif.c
361
spdif->hclk = devm_clk_get(&pdev->dev, "hclk");
sound/soc/rockchip/rockchip_spdif.c
362
if (IS_ERR(spdif->hclk))
sound/soc/rockchip/rockchip_spdif.c
363
return PTR_ERR(spdif->hclk);
sound/soc/rockchip/rockchip_spdif.c
365
spdif->mclk = devm_clk_get(&pdev->dev, "mclk");
sound/soc/rockchip/rockchip_spdif.c
366
if (IS_ERR(spdif->mclk))
sound/soc/rockchip/rockchip_spdif.c
367
return PTR_ERR(spdif->mclk);
sound/soc/rockchip/rockchip_spdif.c
373
spdif->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "hclk", regs,
sound/soc/rockchip/rockchip_spdif.c
375
if (IS_ERR(spdif->regmap))
sound/soc/rockchip/rockchip_spdif.c
376
return PTR_ERR(spdif->regmap);
sound/soc/rockchip/rockchip_spdif.c
378
spdif->playback_dma_data.addr = res->start + SPDIF_SMPDR;
sound/soc/rockchip/rockchip_spdif.c
379
spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
sound/soc/rockchip/rockchip_spdif.c
380
spdif->playback_dma_data.maxburst = 4;
sound/soc/rockchip/rockchip_spdif.c
382
spdif->dev = &pdev->dev;
sound/soc/rockchip/rockchip_spdif.c
383
dev_set_drvdata(&pdev->dev, spdif);
sound/soc/rockchip/rockchip_spdif.c
65
struct rk_spdif_dev *spdif = dev_get_drvdata(dev);
sound/soc/rockchip/rockchip_spdif.c
67
regcache_cache_only(spdif->regmap, true);
sound/soc/rockchip/rockchip_spdif.c
68
clk_disable_unprepare(spdif->mclk);
sound/soc/rockchip/rockchip_spdif.c
69
clk_disable_unprepare(spdif->hclk);
sound/soc/rockchip/rockchip_spdif.c
76
struct rk_spdif_dev *spdif = dev_get_drvdata(dev);
sound/soc/rockchip/rockchip_spdif.c
79
ret = clk_prepare_enable(spdif->hclk);
sound/soc/rockchip/rockchip_spdif.c
81
dev_err(spdif->dev, "hclk clock enable failed %d\n", ret);
sound/soc/rockchip/rockchip_spdif.c
85
ret = clk_prepare_enable(spdif->mclk);
sound/soc/rockchip/rockchip_spdif.c
87
clk_disable_unprepare(spdif->hclk);
sound/soc/rockchip/rockchip_spdif.c
88
dev_err(spdif->dev, "mclk clock enable failed %d\n", ret);
sound/soc/rockchip/rockchip_spdif.c
92
regcache_cache_only(spdif->regmap, false);
sound/soc/rockchip/rockchip_spdif.c
93
regcache_mark_dirty(spdif->regmap);
sound/soc/rockchip/rockchip_spdif.c
95
ret = regcache_sync(spdif->regmap);
sound/soc/rockchip/rockchip_spdif.c
97
regcache_cache_only(spdif->regmap, true);
sound/soc/rockchip/rockchip_spdif.c
98
clk_disable_unprepare(spdif->mclk);
sound/soc/rockchip/rockchip_spdif.c
99
clk_disable_unprepare(spdif->hclk);
sound/soc/samsung/smdk_spdif.c
145
SND_SOC_DAILINK_DEFS(spdif,
sound/soc/samsung/smdk_spdif.c
154
SND_SOC_DAILINK_REG(spdif),
sound/soc/samsung/spdif.c
105
static void spdif_snd_txctrl(struct samsung_spdif_info *spdif, int on)
sound/soc/samsung/spdif.c
107
void __iomem *regs = spdif->regs;
sound/soc/samsung/spdif.c
110
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
122
struct samsung_spdif_info *spdif = to_info(cpu_dai);
sound/soc/samsung/spdif.c
125
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
127
clkcon = readl(spdif->regs + CLKCON);
sound/soc/samsung/spdif.c
134
writel(clkcon, spdif->regs + CLKCON);
sound/soc/samsung/spdif.c
136
spdif->clk_rate = freq;
sound/soc/samsung/spdif.c
145
struct samsung_spdif_info *spdif = to_info(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/samsung/spdif.c
147
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
153
scoped_guard(spinlock_irqsave, &spdif->lock)
sound/soc/samsung/spdif.c
154
spdif_snd_txctrl(spdif, 1);
sound/soc/samsung/spdif.c
159
scoped_guard(spinlock_irqsave, &spdif->lock)
sound/soc/samsung/spdif.c
160
spdif_snd_txctrl(spdif, 0);
sound/soc/samsung/spdif.c
178
struct samsung_spdif_info *spdif = to_info(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/samsung/spdif.c
179
void __iomem *regs = spdif->regs;
sound/soc/samsung/spdif.c
184
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
187
dma_data = spdif->dma_playback;
sound/soc/samsung/spdif.c
189
dev_err(spdif->dev, "Capture is not supported\n");
sound/soc/samsung/spdif.c
195
guard(spinlock_irqsave)(&spdif->lock);
sound/soc/samsung/spdif.c
212
dev_err(spdif->dev, "Unsupported data size.\n");
sound/soc/samsung/spdif.c
216
ratio = spdif->clk_rate / params_rate(params);
sound/soc/samsung/spdif.c
221
dev_err(spdif->dev, "Invalid clock ratio %ld/%d\n",
sound/soc/samsung/spdif.c
222
spdif->clk_rate, params_rate(params));
sound/soc/samsung/spdif.c
254
dev_err(spdif->dev, "Invalid sampling rate %d\n",
sound/soc/samsung/spdif.c
274
struct samsung_spdif_info *spdif = to_info(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/samsung/spdif.c
275
void __iomem *regs = spdif->regs;
sound/soc/samsung/spdif.c
278
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
292
struct samsung_spdif_info *spdif = component_to_info(component);
sound/soc/samsung/spdif.c
293
u32 con = spdif->saved_con;
sound/soc/samsung/spdif.c
295
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
297
spdif->saved_clkcon = readl(spdif->regs + CLKCON) & CLKCTL_MASK;
sound/soc/samsung/spdif.c
298
spdif->saved_con = readl(spdif->regs + CON) & CON_MASK;
sound/soc/samsung/spdif.c
299
spdif->saved_cstas = readl(spdif->regs + CSTAS) & CSTAS_MASK;
sound/soc/samsung/spdif.c
301
writel(con | CON_SW_RESET, spdif->regs + CON);
sound/soc/samsung/spdif.c
309
struct samsung_spdif_info *spdif = component_to_info(component);
sound/soc/samsung/spdif.c
311
dev_dbg(spdif->dev, "Entered %s\n", __func__);
sound/soc/samsung/spdif.c
313
writel(spdif->saved_clkcon, spdif->regs + CLKCON);
sound/soc/samsung/spdif.c
314
writel(spdif->saved_con, spdif->regs + CON);
sound/soc/samsung/spdif.c
315
writel(spdif->saved_cstas, spdif->regs + CSTAS);
sound/soc/samsung/spdif.c
356
struct samsung_spdif_info *spdif;
sound/soc/samsung/spdif.c
376
spdif = &spdif_info;
sound/soc/samsung/spdif.c
377
spdif->dev = &pdev->dev;
sound/soc/samsung/spdif.c
379
spin_lock_init(&spdif->lock);
sound/soc/samsung/spdif.c
381
spdif->pclk = devm_clk_get(&pdev->dev, "spdif");
sound/soc/samsung/spdif.c
382
if (IS_ERR(spdif->pclk)) {
sound/soc/samsung/spdif.c
387
ret = clk_prepare_enable(spdif->pclk);
sound/soc/samsung/spdif.c
391
spdif->sclk = devm_clk_get(&pdev->dev, "sclk_spdif");
sound/soc/samsung/spdif.c
392
if (IS_ERR(spdif->sclk)) {
sound/soc/samsung/spdif.c
397
ret = clk_prepare_enable(spdif->sclk);
sound/soc/samsung/spdif.c
401
spdif->regs = devm_ioremap_resource(&pdev->dev, mem_res);
sound/soc/samsung/spdif.c
402
if (IS_ERR(spdif->regs)) {
sound/soc/samsung/spdif.c
403
ret = PTR_ERR(spdif->regs);
sound/soc/samsung/spdif.c
414
spdif->dma_playback = &spdif_stereo_out;
sound/soc/samsung/spdif.c
423
dev_set_drvdata(&pdev->dev, spdif);
sound/soc/samsung/spdif.c
434
clk_disable_unprepare(spdif->sclk);
sound/soc/samsung/spdif.c
436
clk_disable_unprepare(spdif->pclk);
sound/soc/samsung/spdif.c
443
struct samsung_spdif_info *spdif = &spdif_info;
sound/soc/samsung/spdif.c
445
clk_disable_unprepare(spdif->sclk);
sound/soc/samsung/spdif.c
446
clk_disable_unprepare(spdif->pclk);
sound/soc/stm/stm32_sai_sub.c
120
bool spdif;
sound/soc/stm/stm32_sai_sub.c
1543
sai->spdif = false;
sound/soc/stm/stm32_sai_sub.c
1551
sai->spdif = true;
sound/soc/stm/stm32_sai_sub.c
53
#define STM_SAI_PROTOCOL_IS_SPDIF(ip) ((ip)->spdif)
sound/soc/tegra/tegra20_spdif.c
100
regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_DATA_FIFO_CSR,
sound/soc/tegra/tegra20_spdif.c
130
ret = clk_set_rate(spdif->clk_spdif_out, spdifclock);
sound/soc/tegra/tegra20_spdif.c
136
rate = clk_get_rate(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
145
static void tegra20_spdif_start_playback(struct tegra20_spdif *spdif)
sound/soc/tegra/tegra20_spdif.c
147
regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL,
sound/soc/tegra/tegra20_spdif.c
152
static void tegra20_spdif_stop_playback(struct tegra20_spdif *spdif)
sound/soc/tegra/tegra20_spdif.c
154
regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL,
sound/soc/tegra/tegra20_spdif.c
161
struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev);
sound/soc/tegra/tegra20_spdif.c
167
tegra20_spdif_start_playback(spdif);
sound/soc/tegra/tegra20_spdif.c
172
tegra20_spdif_stop_playback(spdif);
sound/soc/tegra/tegra20_spdif.c
186
struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev);
sound/soc/tegra/tegra20_spdif.c
187
struct clk *parent = clk_get_parent(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
235
struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev);
sound/soc/tegra/tegra20_spdif.c
237
snd_soc_dai_init_dma_data(dai, &spdif->playback_dma_data, NULL);
sound/soc/tegra/tegra20_spdif.c
29
struct tegra20_spdif *spdif = dev_get_drvdata(dev);
sound/soc/tegra/tegra20_spdif.c
31
regcache_cache_only(spdif->regmap, true);
sound/soc/tegra/tegra20_spdif.c
33
clk_disable_unprepare(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
344
struct tegra20_spdif *spdif;
sound/soc/tegra/tegra20_spdif.c
349
spdif = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_spdif),
sound/soc/tegra/tegra20_spdif.c
351
if (!spdif)
sound/soc/tegra/tegra20_spdif.c
354
dev_set_drvdata(&pdev->dev, spdif);
sound/soc/tegra/tegra20_spdif.c
356
spdif->reset = devm_reset_control_get_exclusive(&pdev->dev, NULL);
sound/soc/tegra/tegra20_spdif.c
357
if (IS_ERR(spdif->reset)) {
sound/soc/tegra/tegra20_spdif.c
359
return PTR_ERR(spdif->reset);
sound/soc/tegra/tegra20_spdif.c
362
spdif->clk_spdif_out = devm_clk_get(&pdev->dev, "out");
sound/soc/tegra/tegra20_spdif.c
363
if (IS_ERR(spdif->clk_spdif_out)) {
sound/soc/tegra/tegra20_spdif.c
365
return PTR_ERR(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
372
spdif->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
sound/soc/tegra/tegra20_spdif.c
374
if (IS_ERR(spdif->regmap)) {
sound/soc/tegra/tegra20_spdif.c
376
return PTR_ERR(spdif->regmap);
sound/soc/tegra/tegra20_spdif.c
379
spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
sound/soc/tegra/tegra20_spdif.c
380
spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
sound/soc/tegra/tegra20_spdif.c
381
spdif->playback_dma_data.maxburst = 4;
sound/soc/tegra/tegra20_spdif.c
40
struct tegra20_spdif *spdif = dev_get_drvdata(dev);
sound/soc/tegra/tegra20_spdif.c
43
ret = reset_control_assert(spdif->reset);
sound/soc/tegra/tegra20_spdif.c
47
ret = clk_prepare_enable(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
55
ret = reset_control_deassert(spdif->reset);
sound/soc/tegra/tegra20_spdif.c
59
regcache_cache_only(spdif->regmap, false);
sound/soc/tegra/tegra20_spdif.c
60
regcache_mark_dirty(spdif->regmap);
sound/soc/tegra/tegra20_spdif.c
62
ret = regcache_sync(spdif->regmap);
sound/soc/tegra/tegra20_spdif.c
69
clk_disable_unprepare(spdif->clk_spdif_out);
sound/soc/tegra/tegra20_spdif.c
78
struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev);
sound/soc/tegra/tegra20_spdif.c
94
regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL, mask, val);