mirror of
https://github.com/torvalds/linux.git
synced 2026-07-29 02:31:27 +02:00
drm/i915/display: move audio funcs under audio sub-struct
Move audio related functions under audio sub-struct of struct intel_display. The funcs sub-struct of struct intel_display seems unnecessary. Instead of display->funcs.FEATURE, prefer display->FEATURE.funcs. Reviewed-by: Nemesa Garg <nemesa.garg@intel.com> Link: https://patch.msgid.link/60d626286b77c2faa9ff0518855dd083906b24be.1777537663.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
d08e46efae
commit
b784773185
|
|
@ -754,10 +754,8 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
|
|||
crtc->base.base.id, crtc->base.name,
|
||||
drm_eld_size(crtc_state->eld));
|
||||
|
||||
if (display->funcs.audio)
|
||||
display->funcs.audio->audio_codec_enable(encoder,
|
||||
crtc_state,
|
||||
conn_state);
|
||||
if (display->audio.funcs)
|
||||
display->audio.funcs->audio_codec_enable(encoder, crtc_state, conn_state);
|
||||
|
||||
mutex_lock(&display->audio.mutex);
|
||||
|
||||
|
|
@ -813,10 +811,8 @@ void intel_audio_codec_disable(struct intel_encoder *encoder,
|
|||
encoder->base.base.id, encoder->base.name,
|
||||
crtc->base.base.id, crtc->base.name);
|
||||
|
||||
if (display->funcs.audio)
|
||||
display->funcs.audio->audio_codec_disable(encoder,
|
||||
old_crtc_state,
|
||||
old_conn_state);
|
||||
if (display->audio.funcs)
|
||||
display->audio.funcs->audio_codec_disable(encoder, old_crtc_state, old_conn_state);
|
||||
|
||||
mutex_lock(&display->audio.mutex);
|
||||
|
||||
|
|
@ -864,8 +860,8 @@ void intel_audio_codec_get_config(struct intel_encoder *encoder,
|
|||
if (!crtc_state->has_audio)
|
||||
return;
|
||||
|
||||
if (display->funcs.audio)
|
||||
display->funcs.audio->audio_codec_get_config(encoder, crtc_state);
|
||||
if (display->audio.funcs)
|
||||
display->audio.funcs->audio_codec_get_config(encoder, crtc_state);
|
||||
}
|
||||
|
||||
static const struct intel_audio_funcs g4x_audio_funcs = {
|
||||
|
|
@ -893,12 +889,12 @@ static const struct intel_audio_funcs hsw_audio_funcs = {
|
|||
void intel_audio_hooks_init(struct intel_display *display)
|
||||
{
|
||||
if (display->platform.g4x)
|
||||
display->funcs.audio = &g4x_audio_funcs;
|
||||
display->audio.funcs = &g4x_audio_funcs;
|
||||
else if (display->platform.valleyview || display->platform.cherryview ||
|
||||
HAS_PCH_CPT(display) || HAS_PCH_IBX(display))
|
||||
display->funcs.audio = &ibx_audio_funcs;
|
||||
display->audio.funcs = &ibx_audio_funcs;
|
||||
else if (display->platform.haswell || DISPLAY_VER(display) >= 8)
|
||||
display->funcs.audio = &hsw_audio_funcs;
|
||||
display->audio.funcs = &hsw_audio_funcs;
|
||||
}
|
||||
|
||||
struct aud_ts_cdclk_m_n {
|
||||
|
|
|
|||
|
|
@ -100,6 +100,9 @@ struct intel_audio_state {
|
|||
};
|
||||
|
||||
struct intel_audio {
|
||||
/* internal display audio functions */
|
||||
const struct intel_audio_funcs *funcs;
|
||||
|
||||
/* hda/i915 audio component */
|
||||
struct i915_audio_component *component;
|
||||
bool component_registered;
|
||||
|
|
@ -319,9 +322,6 @@ struct intel_display {
|
|||
|
||||
/* Display internal color functions */
|
||||
const struct intel_color_funcs *color;
|
||||
|
||||
/* Display internal audio functions */
|
||||
const struct intel_audio_funcs *audio;
|
||||
} funcs;
|
||||
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -2458,6 +2458,10 @@ void dg1_de_irq_postinstall(struct intel_display *display)
|
|||
intel_de_write(display, GEN11_DISPLAY_INT_CTL, GEN11_DISPLAY_IRQ_ENABLE);
|
||||
}
|
||||
|
||||
struct intel_display_irq_funcs {
|
||||
void (*reset)(struct intel_display *display);
|
||||
};
|
||||
|
||||
void intel_display_irq_init(struct intel_display *display)
|
||||
{
|
||||
spin_lock_init(&display->irq.lock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user