Skip to content

Commit

Permalink
drm/i915/audio: name the audio sub-struct in drm_i915_private
Browse files Browse the repository at this point in the history
Add name to the audio sub-struct in drm_i915_private, and remove the
tautologies and other inconsistencies in the member names.

v2: Call the mutex member mutex, not lock. (Ville)

Cc: Dave Airlie <airlied@redhat.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211104161858.21786-2-jani.nikula@intel.com
  • Loading branch information
Jani Nikula committed Nov 5, 2021
1 parent fe9b286 commit ca3cfb9
Showing 4 changed files with 77 additions and 79 deletions.
90 changes: 45 additions & 45 deletions drivers/gpu/drm/i915/display/intel_audio.c
Original file line number Diff line number Diff line change
@@ -388,7 +388,7 @@ hsw_dp_audio_config_update(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct i915_audio_component *acomp = dev_priv->audio_component;
struct i915_audio_component *acomp = dev_priv->audio.component;
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
enum port port = encoder->port;
const struct dp_aud_n_m *nm;
@@ -436,7 +436,7 @@ hsw_hdmi_audio_config_update(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct i915_audio_component *acomp = dev_priv->audio_component;
struct i915_audio_component *acomp = dev_priv->audio.component;
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
enum port port = encoder->port;
int n, rate;
@@ -494,7 +494,7 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
transcoder_name(cpu_transcoder));

mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);

/* Disable timestamps */
tmp = intel_de_read(dev_priv, HSW_AUD_CFG(cpu_transcoder));
@@ -512,7 +512,7 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder,
tmp &= ~AUDIO_OUTPUT_ENABLE(cpu_transcoder);
intel_de_write(dev_priv, HSW_AUD_PIN_ELD_CP_VLD, tmp);

mutex_unlock(&dev_priv->av_mutex);
mutex_unlock(&dev_priv->audio.mutex);
}

static unsigned int calc_hblank_early_prog(struct intel_encoder *encoder,
@@ -641,7 +641,7 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
"Enable audio codec on transcoder %s, %u bytes ELD\n",
transcoder_name(cpu_transcoder), drm_eld_size(eld));

mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);

/* Enable Audio WA for 4k DSC usecases */
if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP))
@@ -679,7 +679,7 @@ static void hsw_audio_codec_enable(struct intel_encoder *encoder,
/* Enable timestamps */
hsw_audio_config_update(encoder, crtc_state);

mutex_unlock(&dev_priv->av_mutex);
mutex_unlock(&dev_priv->audio.mutex);
}

static void ilk_audio_codec_disable(struct intel_encoder *encoder,
@@ -826,7 +826,7 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct i915_audio_component *acomp = dev_priv->audio_component;
struct i915_audio_component *acomp = dev_priv->audio.component;
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_connector *connector = conn_state->connector;
const struct drm_display_mode *adjusted_mode =
@@ -848,17 +848,17 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,

connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;

if (dev_priv->audio_funcs)
dev_priv->audio_funcs->audio_codec_enable(encoder,
if (dev_priv->audio.funcs)
dev_priv->audio.funcs->audio_codec_enable(encoder,
crtc_state,
conn_state);

mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);
encoder->audio_connector = connector;

/* referred in audio callbacks */
dev_priv->av_enc_map[pipe] = encoder;
mutex_unlock(&dev_priv->av_mutex);
dev_priv->audio.encoder_map[pipe] = encoder;
mutex_unlock(&dev_priv->audio.mutex);

if (acomp && acomp->base.audio_ops &&
acomp->base.audio_ops->pin_eld_notify) {
@@ -888,20 +888,20 @@ void intel_audio_codec_disable(struct intel_encoder *encoder,
const struct drm_connector_state *old_conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct i915_audio_component *acomp = dev_priv->audio_component;
struct i915_audio_component *acomp = dev_priv->audio.component;
struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
enum port port = encoder->port;
enum pipe pipe = crtc->pipe;

if (dev_priv->audio_funcs)
dev_priv->audio_funcs->audio_codec_disable(encoder,
if (dev_priv->audio.funcs)
dev_priv->audio.funcs->audio_codec_disable(encoder,
old_crtc_state,
old_conn_state);

mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);
encoder->audio_connector = NULL;
dev_priv->av_enc_map[pipe] = NULL;
mutex_unlock(&dev_priv->av_mutex);
dev_priv->audio.encoder_map[pipe] = NULL;
mutex_unlock(&dev_priv->audio.mutex);

if (acomp && acomp->base.audio_ops &&
acomp->base.audio_ops->pin_eld_notify) {
@@ -937,13 +937,13 @@ static const struct intel_audio_funcs hsw_audio_funcs = {
void intel_init_audio_hooks(struct drm_i915_private *dev_priv)
{
if (IS_G4X(dev_priv)) {
dev_priv->audio_funcs = &g4x_audio_funcs;
dev_priv->audio.funcs = &g4x_audio_funcs;
} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
dev_priv->audio_funcs = &ilk_audio_funcs;
dev_priv->audio.funcs = &ilk_audio_funcs;
} else if (IS_HASWELL(dev_priv) || DISPLAY_VER(dev_priv) >= 8) {
dev_priv->audio_funcs = &hsw_audio_funcs;
dev_priv->audio.funcs = &hsw_audio_funcs;
} else if (HAS_PCH_SPLIT(dev_priv)) {
dev_priv->audio_funcs = &ilk_audio_funcs;
dev_priv->audio.funcs = &ilk_audio_funcs;
}
}

@@ -1048,13 +1048,13 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)

ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO_PLAYBACK);

if (dev_priv->audio_power_refcount++ == 0) {
if (dev_priv->audio.power_refcount++ == 0) {
if (DISPLAY_VER(dev_priv) >= 9) {
intel_de_write(dev_priv, AUD_FREQ_CNTRL,
dev_priv->audio_freq_cntrl);
dev_priv->audio.freq_cntrl);
drm_dbg_kms(&dev_priv->drm,
"restored AUD_FREQ_CNTRL to 0x%x\n",
dev_priv->audio_freq_cntrl);
dev_priv->audio.freq_cntrl);
}

/* Force CDCLK to 2*BCLK as long as we need audio powered. */
@@ -1075,7 +1075,7 @@ static void i915_audio_component_put_power(struct device *kdev,
struct drm_i915_private *dev_priv = kdev_to_i915(kdev);

/* Stop forcing CDCLK to 2*BCLK if no need for audio to be powered. */
if (--dev_priv->audio_power_refcount == 0)
if (--dev_priv->audio.power_refcount == 0)
if (IS_GEMINILAKE(dev_priv))
glk_force_audio_cdclk(dev_priv, false);

@@ -1127,7 +1127,7 @@ static int i915_audio_component_get_cdclk_freq(struct device *kdev)
/*
* get the intel_encoder according to the parameter port and pipe
* intel_encoder is saved by the index of pipe
* MST & (pipe >= 0): return the av_enc_map[pipe],
* MST & (pipe >= 0): return the audio.encoder_map[pipe],
* when port is matched
* MST & (pipe < 0): this is invalid
* Non-MST & (pipe >= 0): only pipe = 0 (the first device entry)
@@ -1142,10 +1142,10 @@ static struct intel_encoder *get_saved_enc(struct drm_i915_private *dev_priv,
/* MST */
if (pipe >= 0) {
if (drm_WARN_ON(&dev_priv->drm,
pipe >= ARRAY_SIZE(dev_priv->av_enc_map)))
pipe >= ARRAY_SIZE(dev_priv->audio.encoder_map)))
return NULL;

encoder = dev_priv->av_enc_map[pipe];
encoder = dev_priv->audio.encoder_map[pipe];
/*
* when bootup, audio driver may not know it is
* MST or not. So it will poll all the port & pipe
@@ -1161,7 +1161,7 @@ static struct intel_encoder *get_saved_enc(struct drm_i915_private *dev_priv,
return NULL;

for_each_pipe(dev_priv, pipe) {
encoder = dev_priv->av_enc_map[pipe];
encoder = dev_priv->audio.encoder_map[pipe];
if (encoder == NULL)
continue;

@@ -1179,7 +1179,7 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
int pipe, int rate)
{
struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
struct i915_audio_component *acomp = dev_priv->audio_component;
struct i915_audio_component *acomp = dev_priv->audio.component;
struct intel_encoder *encoder;
struct intel_crtc *crtc;
unsigned long cookie;
@@ -1189,7 +1189,7 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
return 0;

cookie = i915_audio_component_get_power(kdev);
mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);

/* 1. get the pipe */
encoder = get_saved_enc(dev_priv, port, pipe);
@@ -1208,7 +1208,7 @@ static int i915_audio_component_sync_audio_rate(struct device *kdev, int port,
hsw_audio_config_update(encoder, crtc->config);

unlock:
mutex_unlock(&dev_priv->av_mutex);
mutex_unlock(&dev_priv->audio.mutex);
i915_audio_component_put_power(kdev, cookie);
return err;
}
@@ -1222,13 +1222,13 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,
const u8 *eld;
int ret = -EINVAL;

mutex_lock(&dev_priv->av_mutex);
mutex_lock(&dev_priv->audio.mutex);

intel_encoder = get_saved_enc(dev_priv, port, pipe);
if (!intel_encoder) {
drm_dbg_kms(&dev_priv->drm, "Not valid for port %c\n",
port_name(port));
mutex_unlock(&dev_priv->av_mutex);
mutex_unlock(&dev_priv->audio.mutex);
return ret;
}

@@ -1240,7 +1240,7 @@ static int i915_audio_component_get_eld(struct device *kdev, int port,
memcpy(buf, eld, min(max_bytes, ret));
}

mutex_unlock(&dev_priv->av_mutex);
mutex_unlock(&dev_priv->audio.mutex);
return ret;
}

@@ -1275,7 +1275,7 @@ static int i915_audio_component_bind(struct device *i915_kdev,
BUILD_BUG_ON(MAX_PORTS != I915_MAX_PORTS);
for (i = 0; i < ARRAY_SIZE(acomp->aud_sample_rate); i++)
acomp->aud_sample_rate[i] = 0;
dev_priv->audio_component = acomp;
dev_priv->audio.component = acomp;
drm_modeset_unlock_all(&dev_priv->drm);

return 0;
@@ -1290,14 +1290,14 @@ static void i915_audio_component_unbind(struct device *i915_kdev,
drm_modeset_lock_all(&dev_priv->drm);
acomp->base.ops = NULL;
acomp->base.dev = NULL;
dev_priv->audio_component = NULL;
dev_priv->audio.component = NULL;
drm_modeset_unlock_all(&dev_priv->drm);

device_link_remove(hda_kdev, i915_kdev);

if (dev_priv->audio_power_refcount)
if (dev_priv->audio.power_refcount)
drm_err(&dev_priv->drm, "audio power refcount %d after unbind\n",
dev_priv->audio_power_refcount);
dev_priv->audio.power_refcount);
}

static const struct component_ops i915_audio_component_bind_ops = {
@@ -1361,13 +1361,13 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
drm_dbg_kms(&dev_priv->drm, "use AUD_FREQ_CNTRL of 0x%x (init value 0x%x)\n",
aud_freq, aud_freq_init);

dev_priv->audio_freq_cntrl = aud_freq;
dev_priv->audio.freq_cntrl = aud_freq;
}

/* init with current cdclk */
intel_audio_cdclk_change_post(dev_priv);

dev_priv->audio_component_registered = true;
dev_priv->audio.component_registered = true;
}

/**
@@ -1379,11 +1379,11 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
*/
static void i915_audio_component_cleanup(struct drm_i915_private *dev_priv)
{
if (!dev_priv->audio_component_registered)
if (!dev_priv->audio.component_registered)
return;

component_del(dev_priv->drm.dev, &i915_audio_component_bind_ops);
dev_priv->audio_component_registered = false;
dev_priv->audio.component_registered = false;
}

/**
@@ -1405,7 +1405,7 @@ void intel_audio_init(struct drm_i915_private *dev_priv)
*/
void intel_audio_deinit(struct drm_i915_private *dev_priv)
{
if ((dev_priv)->lpe_audio.platdev != NULL)
if ((dev_priv)->audio.lpe.platdev != NULL)
intel_lpe_audio_teardown(dev_priv);
else
i915_audio_component_cleanup(dev_priv);
Loading

0 comments on commit ca3cfb9

Please sign in to comment.