Home
last modified time | relevance | path

Searched refs:rtd (Results 1 – 25 of 311) sorted by relevance

12345678910>>...13

/linux/sound/soc/
A Dsoc-link.c11 #define soc_link_ret(rtd, ret) _soc_link_ret(rtd, __func__, ret) argument
25 dev_err(rtd->dev, in _soc_link_ret()
37 #define soc_link_mark_push(rtd, substream, tgt) ((rtd)->mark_##tgt = substream) argument
38 #define soc_link_mark_pop(rtd, substream, tgt) ((rtd)->mark_##tgt = NULL) argument
39 #define soc_link_mark_match(rtd, substream, tgt) ((rtd)->mark_##tgt == substream) argument
45 if (rtd->dai_link->init) in snd_soc_link_init()
46 ret = rtd->dai_link->init(rtd); in snd_soc_link_init()
53 if (rtd->dai_link->exit) in snd_soc_link_exit()
54 rtd->dai_link->exit(rtd); in snd_soc_link_exit()
63 ret = rtd->dai_link->be_hw_params_fixup(rtd, params); in snd_soc_link_be_hw_params_fixup()
[all …]
A Dsoc-compress.c65 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_clean()
110 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_open()
257 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_trigger()
335 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_set_params()
359 rtd->pop_wait = 0; in soc_compr_set_params()
429 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_get_params()
447 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_ack()
466 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in soc_compr_pointer()
617 rtd->pcm = be_pcm; in snd_soc_new_compress()
618 rtd->fe_compr = 1; in snd_soc_new_compress()
[all …]
A Dsoc-pcm.c34 return (rtd)->num_cpus == 1 ? asoc_rtd_to_cpu(rtd, 0)->name : "multicpu"; in soc_cpu_dai_name()
174 rtd->debugfs_dpcm_root = debugfs_create_dir(rtd->dai_link->name, in soc_dpcm_debugfs_add()
281 if (!rtd->pmdown_time || rtd->dai_link->ignore_pmdown_time) in snd_soc_runtime_ignore_pmdown_time()
770 if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) in soc_pcm_open()
1273 if (rtd) in dpcm_end_walk_at_be()
2600 if (rtd->dai_link->dynamic && rtd->num_cpus > 1) { in soc_get_playback_capture()
2606 if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) { in soc_get_playback_capture()
2654 } else if (rtd->num_cpus == rtd->num_codecs) { in soc_get_playback_capture()
2748 rtd->pcm = pcm; in soc_new_pcm()
2752 if (rtd->dai_link->no_pcm || rtd->dai_link->params) { in soc_new_pcm()
[all …]
A Dsoc-core.c105 if (!rtd) in soc_dev_attr_is_visible()
254 rtd->components[rtd->num_components] = component; in snd_soc_rtd_add_component()
334 return rtd; in snd_soc_get_pcm_runtime()
379 if (!rtd) in soc_free_pcm_runtime()
415 rtd->close_delayed_work_func(rtd); in close_delayed_work()
454 if (!rtd) { in soc_new_pcm_runtime()
459 rtd->dev = dev; in soc_new_pcm_runtime()
474 if (!rtd->dais) in soc_new_pcm_runtime()
498 return rtd; in soc_new_pcm_runtime()
993 if (!rtd) in snd_soc_add_pcm_runtime()
[all …]
A Dsoc-component.c533 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in snd_soc_component_compr_get_caps()
544 mutex_unlock(&rtd->card->pcm_mutex); in snd_soc_component_compr_get_caps()
557 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in snd_soc_component_compr_get_codec_caps()
568 mutex_unlock(&rtd->card->pcm_mutex); in snd_soc_component_compr_get_codec_caps()
621 mutex_lock_nested(&rtd->card->pcm_mutex, rtd->card->pcm_subclass); in snd_soc_component_compr_copy()
632 mutex_unlock(&rtd->card->pcm_mutex); in snd_soc_component_compr_copy()
928 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_pointer()
943 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_ioctl()
980 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_copy_user()
1020 for_each_rtd_components(rtd, i, component) in snd_soc_pcm_component_mmap()
[all …]
/linux/sound/soc/amd/
A Dacp-pcm-dma.c348 rtd->direction, rtd->pte_offset, in config_acp_dma()
353 rtd->direction, rtd->sram_bank, in config_acp_dma()
1007 if (!rtd) in acp_dma_pointer()
1045 if (!rtd) in acp_dma_prepare()
1074 if (!rtd) in acp_dma_trigger()
1080 rtd->bytescount = acp_get_byte_count(rtd); in acp_dma_trigger()
1094 acp_dma_start(rtd->acp_mmio, rtd->ch1, true); in acp_dma_trigger()
1096 acp_dma_start(rtd->acp_mmio, rtd->ch1, true); in acp_dma_trigger()
1097 acp_dma_start(rtd->acp_mmio, rtd->ch2, true); in acp_dma_trigger()
1104 acp_dma_stop(rtd->acp_mmio, rtd->ch2); in acp_dma_trigger()
[all …]
A Dacp-da7219-max98357a.c42 struct snd_soc_card *card = rtd->card; in cz_da7219_init()
120 struct snd_soc_card *card = rtd->card; in cz_rt5682_init()
231 struct snd_soc_card *card = rtd->card; in cz_da7219_play_startup()
252 struct snd_soc_card *card = rtd->card; in cz_da7219_cap_startup()
274 struct snd_soc_card *card = rtd->card; in cz_max_startup()
295 struct snd_soc_card *card = rtd->card; in cz_dmic0_startup()
316 struct snd_soc_card *card = rtd->card; in cz_dmic1_startup()
343 struct snd_soc_card *card = rtd->card; in cz_rt5682_play_startup()
364 struct snd_soc_card *card = rtd->card; in cz_rt5682_cap_startup()
386 struct snd_soc_card *card = rtd->card; in cz_rt5682_max_startup()
[all …]
/linux/drivers/rtc/
A Drtc-test.c45 timeout -= rtd->offset; in test_rtc_set_alarm()
47 del_timer(&rtd->alarm); in test_rtc_set_alarm()
56 add_timer(&rtd->alarm); in test_rtc_set_alarm()
85 rtd->alarm_en = enable; in test_rtc_alarm_irq_enable()
87 add_timer(&rtd->alarm); in test_rtc_alarm_irq_enable()
89 del_timer(&rtd->alarm); in test_rtc_alarm_irq_enable()
110 struct rtc_test_data *rtd = from_timer(rtd, t, alarm); in test_rtc_alarm_handler() local
119 rtd = devm_kzalloc(&plat_dev->dev, sizeof(*rtd), GFP_KERNEL); in test_probe()
120 if (!rtd) in test_probe()
126 if (IS_ERR(rtd->rtc)) in test_probe()
[all …]
/linux/sound/soc/amd/raven/
A Dacp3x-i2s.c75 struct i2s_stream_instance *rtd; in acp3x_i2s_hwparams() local
99 rtd->xfer_resolution = 0x0; in acp3x_i2s_hwparams()
102 rtd->xfer_resolution = 0x02; in acp3x_i2s_hwparams()
105 rtd->xfer_resolution = 0x04; in acp3x_i2s_hwparams()
108 rtd->xfer_resolution = 0x05; in acp3x_i2s_hwparams()
114 switch (rtd->i2s_instance) { in acp3x_i2s_hwparams()
125 switch (rtd->i2s_instance) { in acp3x_i2s_hwparams()
164 rtd->bytescount = acp_get_byte_count(rtd, in acp3x_i2s_trigger()
167 switch (rtd->i2s_instance) { in acp3x_i2s_trigger()
184 switch (rtd->i2s_instance) { in acp3x_i2s_trigger()
[all …]
A Dacp3x-pcm-dma.c114 addr = rtd->dma_addr; in config_acp3x_dma()
117 switch (rtd->i2s_instance) { in config_acp3x_dma()
126 switch (rtd->i2s_instance) { in config_acp3x_dma()
156 switch (rtd->i2s_instance) { in config_acp3x_dma()
178 switch (rtd->i2s_instance) { in config_acp3x_dma()
260 if (!rtd) in acp3x_dma_hw_params()
266 switch (rtd->i2s_instance) { in acp3x_dma_hw_params()
276 switch (rtd->i2s_instance) { in acp3x_dma_hw_params()
309 bytescount -= rtd->bytescount; in acp3x_dma_pointer()
446 switch (rtd->i2s_instance) { in acp3x_resume()
[all …]
/linux/sound/soc/amd/vangogh/
A Dacp5x-i2s.c86 struct i2s_stream_instance *rtd; in acp5x_i2s_hwparams() local
115 rtd->xfer_resolution = 0x0; in acp5x_i2s_hwparams()
118 rtd->xfer_resolution = 0x02; in acp5x_i2s_hwparams()
121 rtd->xfer_resolution = 0x04; in acp5x_i2s_hwparams()
124 rtd->xfer_resolution = 0x05; in acp5x_i2s_hwparams()
130 switch (rtd->i2s_instance) { in acp5x_i2s_hwparams()
141 switch (rtd->i2s_instance) { in acp5x_i2s_hwparams()
163 switch (rtd->i2s_instance) { in acp5x_i2s_hwparams()
264 rtd->bytescount = acp_get_byte_count(rtd, in acp5x_i2s_trigger()
267 switch (rtd->i2s_instance) { in acp5x_i2s_trigger()
[all …]
A Dacp5x-pcm-dma.c110 addr = rtd->dma_addr; in config_acp5x_dma()
112 switch (rtd->i2s_instance) { in config_acp5x_dma()
121 switch (rtd->i2s_instance) { in config_acp5x_dma()
150 switch (rtd->i2s_instance) { in config_acp5x_dma()
172 switch (rtd->i2s_instance) { in config_acp5x_dma()
254 if (!rtd) in acp5x_dma_hw_params()
260 switch (rtd->i2s_instance) { in acp5x_dma_hw_params()
270 switch (rtd->i2s_instance) { in acp5x_dma_hw_params()
303 bytescount -= rtd->bytescount; in acp5x_dma_pointer()
439 switch (rtd->i2s_instance) { in acp5x_pcm_resume()
[all …]
/linux/sound/soc/amd/yc/
A Dacp6x-pdm-dma.c153 addr = rtd->dma_addr; in acp6x_config_dma()
213 struct pdm_stream_instance *rtd; in acp6x_pdm_dma_hw_params() local
217 if (!rtd) in acp6x_pdm_dma_hw_params()
244 struct pdm_stream_instance *rtd; in acp6x_pdm_dma_pointer() local
248 rtd = stream->runtime->private_data; in acp6x_pdm_dma_pointer()
252 if (bytescount > rtd->bytescount) in acp6x_pdm_dma_pointer()
253 bytescount -= rtd->bytescount; in acp6x_pdm_dma_pointer()
281 struct pdm_stream_instance *rtd; in acp6x_pdm_dai_trigger() local
302 rtd->bytescount = acp6x_pdm_get_byte_count(rtd, substream->stream); in acp6x_pdm_dai_trigger()
394 struct pdm_stream_instance *rtd; in acp6x_pdm_resume() local
[all …]
/linux/sound/soc/qcom/
A Dsc7180.c46 struct snd_soc_card *card = rtd->card; in sc7180_headset_init()
81 struct snd_soc_card *card = rtd->card; in sc7180_hdmi_init()
105 static int sc7180_init(struct snd_soc_pcm_runtime *rtd) in sc7180_init() argument
107 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sc7180_init()
111 return sc7180_headset_init(rtd); in sc7180_init()
115 return sc7180_hdmi_init(rtd); in sc7180_init()
127 struct snd_soc_card *card = rtd->card; in sc7180_snd_startup()
129 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sc7180_snd_startup()
151 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in sc7180_snd_startup()
200 struct snd_soc_card *card = rtd->card; in sc7180_snd_shutdown()
[all …]
A Dsdm845.c58 for_each_rtd_codec_dais(rtd, i, codec_dai) { in sdm845_slim_snd_hw_params()
140 for_each_rtd_codec_dais(rtd, j, codec_dai) { in sdm845_tdm_snd_hw_params()
148 dev_err(rtd->dev, in sdm845_tdm_snd_hw_params()
160 dev_err(rtd->dev, in sdm845_tdm_snd_hw_params()
194 dev_err(rtd->dev, in sdm845_snd_hw_params()
223 struct snd_soc_card *card = rtd->card; in sdm845_dai_init()
279 for_each_rtd_codec_dais(rtd, i, codec_dai) { in sdm845_dai_init()
314 struct snd_soc_card *card = rtd->card; in sdm845_snd_startup()
373 dev_err(rtd->dev, in sdm845_snd_startup()
384 dev_err(rtd->dev, in sdm845_snd_startup()
[all …]
A Dsm8250.c27 static int sm8250_snd_init(struct snd_soc_pcm_runtime *rtd) in sm8250_snd_init() argument
30 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sm8250_snd_init()
31 struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); in sm8250_snd_init()
32 struct snd_soc_card *card = rtd->card; in sm8250_snd_init()
65 for_each_rtd_codec_dais(rtd, i, codec_dai) { in sm8250_snd_init()
102 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sm8250_snd_startup()
125 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sm8250_snd_hw_params()
138 for_each_rtd_codec_dais(rtd, i, codec_dai) { in sm8250_snd_hw_params()
154 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sm8250_snd_wsa_dma_prepare()
193 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in sm8250_snd_prepare()
[all …]
/linux/sound/soc/amd/renoir/
A Dacp3x-pdm-dma.c176 addr = rtd->dma_addr; in config_acp_dma()
237 struct pdm_stream_instance *rtd; in acp_pdm_dma_hw_params() local
241 if (!rtd) in acp_pdm_dma_hw_params()
249 rtd->acp_base); in acp_pdm_dma_hw_params()
259 rn_readl(rtd->acp_base + in acp_pdm_get_byte_count()
262 rn_readl(rtd->acp_base + in acp_pdm_get_byte_count()
270 struct pdm_stream_instance *rtd; in acp_pdm_dma_pointer() local
279 bytescount -= rtd->bytescount; in acp_pdm_dma_pointer()
307 struct pdm_stream_instance *rtd; in acp_pdm_dai_trigger() local
328 rtd->bytescount = acp_pdm_get_byte_count(rtd, in acp_pdm_dai_trigger()
[all …]
/linux/sound/soc/tegra/
A Dtegra_pcm.c73 struct snd_soc_pcm_runtime *rtd = substream->private_data; in tegra_pcm_open() local
76 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in tegra_pcm_open()
79 if (rtd->dai_link->no_pcm) in tegra_pcm_open()
91 dev_err(rtd->dev, "failed to set constraint %d\n", ret); in tegra_pcm_open()
105 dev_err(rtd->dev, in tegra_pcm_open()
121 struct snd_soc_pcm_runtime *rtd = substream->private_data; in tegra_pcm_close() local
123 if (rtd->dai_link->no_pcm) in tegra_pcm_close()
142 if (rtd->dai_link->no_pcm) in tegra_pcm_hw_params()
188 struct snd_pcm *pcm = rtd->pcm; in tegra_pcm_dma_allocate()
199 struct snd_soc_pcm_runtime *rtd) in tegra_pcm_construct() argument
[all …]
/linux/sound/soc/amd/acp/
A Dacp-mach-common.c77 struct snd_soc_card *card = rtd->card; in acp_card_rt5682_init()
79 struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); in acp_card_rt5682_init()
98 dev_err(rtd->dev, "Failed to set codec PLL: %d\n", ret); in acp_card_rt5682_init()
147 struct snd_soc_card *card = rtd->card; in acp_card_hs_startup()
175 struct snd_soc_card *card = rtd->card; in acp_card_shutdown()
198 struct snd_soc_card *card = rtd->card; in acp_card_rt5682s_init()
292 struct snd_soc_card *card = rtd->card; in acp_card_rt1019_init()
306 struct snd_soc_card *card = rtd->card; in acp_card_rt1019_hw_params()
316 for_each_rtd_codec_dais(rtd, i, codec_dai) { in acp_card_rt1019_hw_params()
338 struct snd_soc_card *card = rtd->card; in acp_card_amp_startup()
[all …]
/linux/sound/soc/intel/boards/
A Dsof_sdw_rt1308.c38 static int first_spk_init(struct snd_soc_pcm_runtime *rtd) in first_spk_init() argument
40 struct snd_soc_card *card = rtd->card; in first_spk_init()
65 dev_err(rtd->dev, "failed to add first SPK map: %d\n", ret); in first_spk_init()
70 static int second_spk_init(struct snd_soc_pcm_runtime *rtd) in second_spk_init() argument
72 struct snd_soc_card *card = rtd->card; in second_spk_init()
77 dev_err(rtd->dev, "failed to add second SPK map: %d\n", ret); in second_spk_init()
82 static int all_spk_init(struct snd_soc_pcm_runtime *rtd) in all_spk_init() argument
86 ret = first_spk_init(rtd); in all_spk_init()
90 return second_spk_init(rtd); in all_spk_init()
97 struct snd_soc_card *card = rtd->card; in rt1308_i2s_hw_params()
[all …]
A Dsof_maxim_common.c48 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); in max_98373_hw_params() local
52 for_each_rtd_codec_dais(rtd, j, codec_dai) { in max_98373_hw_params()
67 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); in max_98373_trigger() local
77 cpu_dai = asoc_rtd_to_cpu(rtd, 0); in max_98373_trigger()
78 for_each_rtd_codec_dais(rtd, j, codec_dai) { in max_98373_trigger()
116 int max_98373_spk_codec_init(struct snd_soc_pcm_runtime *rtd) in max_98373_spk_codec_init() argument
118 struct snd_soc_card *card = rtd->card; in max_98373_spk_codec_init()
124 dev_err(rtd->dev, "Speaker map addition failed: %d\n", ret); in max_98373_spk_codec_init()
166 static int max_98357a_init(struct snd_soc_pcm_runtime *rtd) in max_98357a_init() argument
168 struct snd_soc_card *card = rtd->card; in max_98357a_init()
[all …]
/linux/sound/soc/uniphier/
A Daio-compress.c26 struct snd_compr *compr = rtd->compr; in uniphier_aio_comprdma_new()
59 struct snd_compr *compr = rtd->compr; in uniphier_aio_comprdma_free()
78 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_open() local
90 ret = uniphier_aio_comprdma_new(rtd); in uniphier_aio_compr_open()
104 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_free() local
112 ret = uniphier_aio_comprdma_free(rtd); in uniphier_aio_compr_free()
125 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_get_params() local
138 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_set_params() local
174 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_hw_free() local
186 struct snd_soc_pcm_runtime *rtd = cstream->private_data; in uniphier_aio_compr_prepare() local
[all …]
/linux/sound/soc/samsung/
A Dlittlemill.c21 struct snd_soc_pcm_runtime *rtd; in littlemill_set_bias_level() local
25 rtd = snd_soc_get_pcm_runtime(card, &card->dai_link[0]); in littlemill_set_bias_level()
26 aif1_dai = asoc_rtd_to_codec(rtd, 0); in littlemill_set_bias_level()
68 struct snd_soc_pcm_runtime *rtd; in littlemill_set_bias_level_post() local
73 aif1_dai = asoc_rtd_to_codec(rtd, 0); in littlemill_set_bias_level_post()
179 struct snd_soc_pcm_runtime *rtd; in bbclk_ev() local
184 aif2_dai = asoc_rtd_to_cpu(rtd, 0); in bbclk_ev()
260 struct snd_soc_pcm_runtime *rtd; in littlemill_late_probe() local
267 component = asoc_rtd_to_codec(rtd, 0)->component; in littlemill_late_probe()
268 aif1_dai = asoc_rtd_to_codec(rtd, 0); in littlemill_late_probe()
[all …]
A Ds3c24xx_uda134x.c52 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); in s3c24xx_uda134x_startup() local
53 struct s3c24xx_uda134x *priv = snd_soc_card_get_drvdata(rtd->card); in s3c24xx_uda134x_startup()
54 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in s3c24xx_uda134x_startup()
60 priv->xtal = clk_get(rtd->dev, "xtal"); in s3c24xx_uda134x_startup()
62 dev_err(rtd->dev, "%s cannot get xtal\n", __func__); in s3c24xx_uda134x_startup()
67 dev_err(rtd->dev, "%s cannot get pclk\n", in s3c24xx_uda134x_startup()
95 dev_err(rtd->dev, "%s cannot set constraints\n", in s3c24xx_uda134x_startup()
104 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); in s3c24xx_uda134x_shutdown() local
122 struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); in s3c24xx_uda134x_hw_params()
123 struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); in s3c24xx_uda134x_hw_params()
[all …]
/linux/sound/soc/mediatek/mt8195/
A Dmt8195-mt6359-rt1011-rt5682.c68 struct snd_soc_card *card = rtd->card; in mt8195_rt5682_etdm_hw_params()
114 struct snd_soc_card *card = rtd->card; in mt8195_rt1011_etdm_hw_params()
150 asoc_rtd_to_codec(rtd, 0)->component; in mt8195_mt6359_mtkaif_calibration()
311 asoc_rtd_to_codec(rtd, 0)->component; in mt8195_mt6359_init()
318 mt8195_mt6359_mtkaif_calibration(rtd); in mt8195_mt6359_init()
326 asoc_rtd_to_codec(rtd, 0)->component; in mt8195_rt5682_init()
328 snd_soc_card_get_drvdata(rtd->card); in mt8195_rt5682_init()
431 snd_soc_card_get_drvdata(rtd->card); in mt8195_dptx_codec_init()
433 asoc_rtd_to_codec(rtd, 0)->component; in mt8195_dptx_codec_init()
447 snd_soc_card_get_drvdata(rtd->card); in mt8195_hdmi_codec_init()
[all …]

Completed in 77 milliseconds

12345678910>>...13