diff options
-rw-r--r-- | sound/x86/intel_hdmi_audio.c | 127 |
1 files changed, 60 insertions, 67 deletions
diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c index 0a9c82aca05f..57042ef3a480 100644 --- a/sound/x86/intel_hdmi_audio.c +++ b/sound/x86/intel_hdmi_audio.c @@ -130,7 +130,7 @@ static const struct channel_map_table map_tables[] = { }; /* hardware capability structure */ -static const struct snd_pcm_hardware snd_intel_hadstream = { +static const struct snd_pcm_hardware had_pcm_hardware = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_DOUBLE | SNDRV_PCM_INFO_MMAP| @@ -213,9 +213,9 @@ static void had_write_register(struct snd_intelhad *ctx, u32 reg, u32 val) * bad audio. The fix is to always write the AUD_CONFIG[6:4] with * appropriate value when doing read-modify of AUD_CONFIG register. */ -static void snd_intelhad_enable_audio(struct snd_pcm_substream *substream, - struct snd_intelhad *intelhaddata, - bool enable) +static void had_enable_audio(struct snd_pcm_substream *substream, + struct snd_intelhad *intelhaddata, + bool enable) { union aud_cfg cfg_val = {.regval = 0}; u8 channels; @@ -240,7 +240,7 @@ static void snd_intelhad_enable_audio(struct snd_pcm_substream *substream, } /* enable / disable the audio interface */ -static void snd_intelhad_enable_audio_int(struct snd_intelhad *ctx, bool enable) +static void had_enable_audio_int(struct snd_intelhad *ctx, bool enable) { u32 status_reg; @@ -332,8 +332,8 @@ static int had_prog_status_reg(struct snd_pcm_substream *substream, * registers and buffer confgiuration registers * This function is called in the prepare callback */ -static int snd_intelhad_audio_ctrl(struct snd_pcm_substream *substream, - struct snd_intelhad *intelhaddata) +static int had_init_audio_ctrl(struct snd_pcm_substream *substream, + struct snd_intelhad *intelhaddata) { union aud_cfg cfg_val = {.regval = 0}; union aud_buf_config buf_cfg = {.regval = 0}; @@ -393,8 +393,8 @@ static void init_channel_allocations(void) * * TODO: it could select the wrong CA from multiple candidates. */ -static int snd_intelhad_channel_allocation(struct snd_intelhad *intelhaddata, - int channels) +static int had_channel_allocation(struct snd_intelhad *intelhaddata, + int channels) { int i; int ca = 0; @@ -573,8 +573,8 @@ static int had_register_chmap_ctls(struct snd_intelhad *intelhaddata, * Initialize Data Island Packets registers * This function is called in the prepare callback */ -static void snd_intelhad_prog_dip(struct snd_pcm_substream *substream, - struct snd_intelhad *intelhaddata) +static void had_prog_dip(struct snd_pcm_substream *substream, + struct snd_intelhad *intelhaddata) { int i; union aud_ctrl_st ctrl_state = {.regval = 0}; @@ -589,7 +589,7 @@ static void snd_intelhad_prog_dip(struct snd_pcm_substream *substream, had_write_register(intelhaddata, AUD_CNTL_ST, ctrl_state.regval); - ca = snd_intelhad_channel_allocation(intelhaddata, channels); + ca = had_channel_allocation(intelhaddata, channels); if (intelhaddata->dp_output) { info_frame = DP_INFO_FRAME_WORD1; frame2.regval = (substream->runtime->channels - 1) | (ca << 24); @@ -782,14 +782,14 @@ static int had_calculate_maud_value(u32 aud_samp_freq, u32 link_rate) * * @aud_samp_freq: sampling frequency of audio data * @tmds: sampling frequency of the display data + * @link_rate: DP link rate * @n_param: N value, depends on aud_samp_freq - * @intelhaddata:substream private data + * @intelhaddata: substream private data * * Program CTS register based on the audio and display sampling frequency */ -static void snd_intelhad_prog_cts(u32 aud_samp_freq, u32 tmds, - u32 link_rate, u32 n_param, - struct snd_intelhad *intelhaddata) +static void had_prog_cts(u32 aud_samp_freq, u32 tmds, u32 link_rate, + u32 n_param, struct snd_intelhad *intelhaddata) { u32 cts_val; u64 dividend, divisor; @@ -854,13 +854,13 @@ static int had_calculate_n_value(u32 aud_samp_freq) * * @aud_samp_freq: sampling frequency of audio data * @n_param: N value, depends on aud_samp_freq - * @intelhaddata:substream private data + * @intelhaddata: substream private data * * This function is called in the prepare callback. * It programs based on the audio and display sampling frequency */ -static int snd_intelhad_prog_n(u32 aud_samp_freq, u32 *n_param, - struct snd_intelhad *intelhaddata) +static int had_prog_n(u32 aud_samp_freq, u32 *n_param, + struct snd_intelhad *intelhaddata) { int n_val; @@ -917,7 +917,7 @@ static void snd_intelhad_handle_underrun(struct snd_intelhad *intelhaddata) /* * ALSA PCM open callback */ -static int snd_intelhad_open(struct snd_pcm_substream *substream) +static int had_pcm_open(struct snd_pcm_substream *substream) { struct snd_intelhad *intelhaddata; struct snd_pcm_runtime *runtime; @@ -936,7 +936,7 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream) } /* set the runtime hw parameter with local snd_pcm_hardware struct */ - runtime->hw = snd_intel_hadstream; + runtime->hw = had_pcm_hardware; retval = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); @@ -971,7 +971,7 @@ static int snd_intelhad_open(struct snd_pcm_substream *substream) /* * ALSA PCM close callback */ -static int snd_intelhad_close(struct snd_pcm_substream *substream) +static int had_pcm_close(struct snd_pcm_substream *substream) { struct snd_intelhad *intelhaddata; @@ -995,8 +995,8 @@ static int snd_intelhad_close(struct snd_pcm_substream *substream) /* * ALSA PCM hw_params callback */ -static int snd_intelhad_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *hw_params) +static int had_pcm_hw_params(struct snd_pcm_substream *substream, + struct snd_pcm_hw_params *hw_params) { struct snd_intelhad *intelhaddata; unsigned long addr; @@ -1026,7 +1026,7 @@ static int snd_intelhad_hw_params(struct snd_pcm_substream *substream, /* * ALSA PCM hw_free callback */ -static int snd_intelhad_hw_free(struct snd_pcm_substream *substream) +static int had_pcm_hw_free(struct snd_pcm_substream *substream) { unsigned long addr; u32 pages; @@ -1045,8 +1045,7 @@ static int snd_intelhad_hw_free(struct snd_pcm_substream *substream) /* * ALSA PCM trigger callback */ -static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream, - int cmd) +static int had_pcm_trigger(struct snd_pcm_substream *substream, int cmd) { int retval = 0; struct snd_intelhad *intelhaddata; @@ -1068,8 +1067,8 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream, intelhaddata->stream_info.running = true; /* Enable Audio */ - snd_intelhad_enable_audio_int(intelhaddata, true); - snd_intelhad_enable_audio(substream, intelhaddata, true); + had_enable_audio_int(intelhaddata, true); + had_enable_audio(substream, intelhaddata, true); break; case SNDRV_PCM_TRIGGER_STOP: @@ -1082,11 +1081,11 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream, intelhaddata->stream_info.running = false; spin_unlock(&intelhaddata->had_spinlock); /* Disable Audio */ - snd_intelhad_enable_audio_int(intelhaddata, false); - snd_intelhad_enable_audio(substream, intelhaddata, false); + had_enable_audio_int(intelhaddata, false); + had_enable_audio(substream, intelhaddata, false); /* Reset buffer pointers */ had_reset_audio(intelhaddata); - snd_intelhad_enable_audio_int(intelhaddata, false); + had_enable_audio_int(intelhaddata, false); break; default: @@ -1098,7 +1097,7 @@ static int snd_intelhad_pcm_trigger(struct snd_pcm_substream *substream, /* * ALSA PCM prepare callback */ -static int snd_intelhad_pcm_prepare(struct snd_pcm_substream *substream) +static int had_pcm_prepare(struct snd_pcm_substream *substream) { int retval; u32 disp_samp_freq, n_param; @@ -1131,8 +1130,7 @@ static int snd_intelhad_pcm_prepare(struct snd_pcm_substream *substream) /* Get N value in KHz */ disp_samp_freq = intelhaddata->tmds_clock_speed; - retval = snd_intelhad_prog_n(substream->runtime->rate, &n_param, - intelhaddata); + retval = had_prog_n(substream->runtime->rate, &n_param, intelhaddata); if (retval) { dev_err(intelhaddata->dev, "programming N value failed %#x\n", retval); @@ -1142,13 +1140,12 @@ static int snd_intelhad_pcm_prepare(struct snd_pcm_substream *substream) if (intelhaddata->dp_output) link_rate = intelhaddata->link_rate; - snd_intelhad_prog_cts(substream->runtime->rate, - disp_samp_freq, link_rate, - n_param, intelhaddata); + had_prog_cts(substream->runtime->rate, disp_samp_freq, link_rate, + n_param, intelhaddata); - snd_intelhad_prog_dip(substream, intelhaddata); + had_prog_dip(substream, intelhaddata); - retval = snd_intelhad_audio_ctrl(substream, intelhaddata); + retval = had_init_audio_ctrl(substream, intelhaddata); /* Prog buffer address */ retval = snd_intelhad_prog_buffer(substream, intelhaddata, @@ -1168,8 +1165,7 @@ prep_end: /* * ALSA PCM pointer callback */ -static snd_pcm_uframes_t -snd_intelhad_pcm_pointer(struct snd_pcm_substream *substream) +static snd_pcm_uframes_t had_pcm_pointer(struct snd_pcm_substream *substream) { struct snd_intelhad *intelhaddata; u32 bytes_rendered = 0; @@ -1219,8 +1215,8 @@ snd_intelhad_pcm_pointer(struct snd_pcm_substream *substream) /* * ALSA PCM mmap callback */ -static int snd_intelhad_pcm_mmap(struct snd_pcm_substream *substream, - struct vm_area_struct *vma) +static int had_pcm_mmap(struct snd_pcm_substream *substream, + struct vm_area_struct *vma) { vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); return remap_pfn_range(vma, vma->vm_start, @@ -1231,20 +1227,20 @@ static int snd_intelhad_pcm_mmap(struct snd_pcm_substream *substream, /* * ALSA PCM ops */ -static const struct snd_pcm_ops snd_intelhad_playback_ops = { - .open = snd_intelhad_open, - .close = snd_intelhad_close, +static const struct snd_pcm_ops had_pcm_ops = { + .open = had_pcm_open, + .close = had_pcm_close, .ioctl = snd_pcm_lib_ioctl, - .hw_params = snd_intelhad_hw_params, - .hw_free = snd_intelhad_hw_free, - .prepare = snd_intelhad_pcm_prepare, - .trigger = snd_intelhad_pcm_trigger, - .pointer = snd_intelhad_pcm_pointer, - .mmap = snd_intelhad_pcm_mmap, + .hw_params = had_pcm_hw_params, + .hw_free = had_pcm_hw_free, + .prepare = had_pcm_prepare, + .trigger = had_pcm_trigger, + .pointer = had_pcm_pointer, + .mmap = had_pcm_mmap, }; /* process mode change of the running stream; called in mutex */ -static int hdmi_audio_mode_change(struct snd_intelhad *intelhaddata) +static int had_process_mode_change(struct snd_intelhad *intelhaddata) { struct snd_pcm_substream *substream; int retval = 0; @@ -1256,13 +1252,12 @@ static int hdmi_audio_mode_change(struct snd_intelhad *intelhaddata) return 0; /* Disable Audio */ - snd_intelhad_enable_audio(substream, intelhaddata, false); + had_enable_audio(substream, intelhaddata, false); /* Update CTS value */ disp_samp_freq = intelhaddata->tmds_clock_speed; - retval = snd_intelhad_prog_n(substream->runtime->rate, &n_param, - intelhaddata); + retval = had_prog_n(substream->runtime->rate, &n_param, intelhaddata); if (retval) { dev_err(intelhaddata->dev, "programming N value failed %#x\n", retval); @@ -1272,12 +1267,11 @@ static int hdmi_audio_mode_change(struct snd_intelhad *intelhaddata) if (intelhaddata->dp_output) link_rate = intelhaddata->link_rate; - snd_intelhad_prog_cts(substream->runtime->rate, - disp_samp_freq, link_rate, - n_param, intelhaddata); + had_prog_cts(substream->runtime->rate, disp_samp_freq, link_rate, + n_param, intelhaddata); /* Enable Audio */ - snd_intelhad_enable_audio(substream, intelhaddata, true); + had_enable_audio(substream, intelhaddata, true); out: had_substream_put(intelhaddata); @@ -1510,8 +1504,8 @@ static void had_process_hot_unplug(struct snd_intelhad *intelhaddata) } /* Disable Audio */ - snd_intelhad_enable_audio_int(intelhaddata, false); - snd_intelhad_enable_audio(substream, intelhaddata, false); + had_enable_audio_int(intelhaddata, false); + had_enable_audio(substream, intelhaddata, false); intelhaddata->connected = false; dev_dbg(intelhaddata->dev, @@ -1712,7 +1706,7 @@ static void had_audio_wq(struct work_struct *work) had_process_hot_plug(ctx); /* Process mode change if stream is active */ - hdmi_audio_mode_change(ctx); + had_process_mode_change(ctx); } mutex_unlock(&ctx->mutex); pm_runtime_put(ctx->dev); @@ -1862,8 +1856,7 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev) pcm->info_flags = 0; strncpy(pcm->name, card->shortname, strlen(card->shortname)); /* setup the ops for playabck */ - snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, - &snd_intelhad_playback_ops); + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops); /* only 32bit addressable */ dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); @@ -1923,7 +1916,7 @@ static int hdmi_lpe_audio_remove(struct platform_device *pdev) struct snd_intelhad *ctx = platform_get_drvdata(pdev); if (ctx->connected) - snd_intelhad_enable_audio_int(ctx, false); + had_enable_audio_int(ctx, false); snd_card_free(ctx->card); return 0; } |