18 Jul, 2018

1 commit

  • For allowing other drivers to use the DRM audio component, rename the
    i915_audio_component_* with drm_audio_component_*, and split the
    generic part into drm_audio_component.h. The i915 specific stuff
    remains in struct i915_audio_component, which contains
    drm_audio_component as the base.

    The license of drm_audio_component.h is kept to MIT as same as the the
    original i915_component.h.

    This is a preliminary change for further development, and no
    functional changes by this patch itself, merely code-split and
    renames.

    v1->v2: Use SPDX for drm_audio_component.h, fix remaining i915
    argument in drm_audio_component.h

    Reviewed-by: Rodrigo Vivi
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

20 Jan, 2018

1 commit

  • Some Cannonlake SKUs will come with a full split between
    port A and port E. This will be called port F although it
    is not a 6th port, but only a split.

    Note this patch alone is not sufficient for port F enabling,
    it's just the first step.

    v2: Fix size of dvo_ports found by Ander.
    v3: Adding missing cases from intel_bios.c for Port_F
    v4: Adding other missing cases and fix the commit message.
    v5: Rebase on top of display headers rework.
    v6 (from Paulo): improve commit message, bikeshed bit definitions.

    Cc: Lucas De Marchi
    Cc: Manasi Navare
    Acked-by: Rodrigo Vivi
    Reviewed-by: Paulo Zanoni
    Signed-off-by: Rodrigo Vivi
    Signed-off-by: Paulo Zanoni
    Link: https://patchwork.freedesktop.org/patch/msgid/20180111180010.24357-2-paulo.r.zanoni@intel.com

    Rodrigo Vivi
     

23 Sep, 2016

1 commit

  • DP MST provides the capability to send multiple video and audio streams
    through a single port. This requires the API's between i915 and audio
    drivers to distinguish between multiple audio capable displays that can be
    connected to a port. Currently only the port identity is shared in the
    APIs. This patch adds support for MST with an additional parameter
    'int pipe'. The existing parameter 'port' does not change it's meaning.

    pipe =
    MST : display pipe that the stream originates from
    Non-MST : -1

    Affected APIs:
    struct i915_audio_component_ops
    - int (*sync_audio_rate)(struct device *, int port, int rate);
    + int (*sync_audio_rate)(struct device *, int port, int pipe,
    + int rate);

    - int (*get_eld)(struct device *, int port, bool *enabled,
    - unsigned char *buf, int max_bytes);
    + int (*get_eld)(struct device *, int port, int pipe,
    + bool *enabled, unsigned char *buf, int max_bytes);

    struct i915_audio_component_audio_ops
    - void (*pin_eld_notify)(void *audio_ptr, int port);
    + void (*pin_eld_notify)(void *audio_ptr, int port, int pipe);

    This patch makes dummy changes in the audio drivers (thanks Libin) for
    build to succeed. The audio side drivers will send the right 'pipe' values
    for MST in patches that will follow.

    v2:
    Renamed the new API parameter from 'dev_id' to 'pipe'. (Jim, Ville)
    Included Asoc driver API compatibility changes from Jeeja.
    Added WARN_ON() for invalid pipe in get_saved_encoder(). (Takashi)
    Added comment for av_enc_map[] definition. (Takashi)

    v3:
    Fixed logic error introduced while renaming 'dev_id' as 'pipe' (Ville)
    Renamed get_saved_encoder() to get_saved_enc() to reduce line length

    v4:
    Rebased.
    Parameter check for pipe < -1 values in get_saved_enc() (Ville)
    Switched to for_each_pipe() in get_saved_enc() (Ville)
    Renamed 'pipe' to 'dev_id' in audio side code (Takashi)

    v5:
    Included a comment for the dev_id arg. (Libin)

    Signed-off-by: Dhinakaran Pandiyan
    Reviewed-by: Takashi Iwai
    Reviewed-by: Ville Syrjälä
    Signed-off-by: Rodrigo Vivi
    Link: http://patchwork.freedesktop.org/patch/msgid/1474488168-2343-1-git-send-email-dhinakaran.pandiyan@intel.com

    Pandiyan, Dhinakaran
     

10 Dec, 2015

1 commit

  • Implement a new i915_audio_component_ops, get_eld(). It's called by
    the audio driver to fetch the current audio status and ELD of the
    given HDMI/DP port. It returns the size of expected ELD bytes if it's
    valid, zero if no valid ELD is found, or a negative error code. The
    current state of audio on/off is stored in the given pointer, too.

    Note that the returned size isn't limited to the given max bytes. If
    the size is greater than the max bytes, it means that only a part of
    ELD has been copied back.

    For achieving this implementation, a new field audio_connector is
    added to struct intel_digital_port. It points to the connector
    assigned to the given digital port. It's set/reset at each audio
    enable/disable call in intel_audio.c, and protected with av_mutex.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

19 Oct, 2015

1 commit


07 Oct, 2015

1 commit


25 Sep, 2015

2 commits


03 Sep, 2015

1 commit

  • The port_mst_index parameter was reserved for future use, but
    maintainers prefer to add it later when it is actually used.

    [Note: this is an update patch to commit [51e1d83cab99: drm/i915: Call
    audio pin/ELD notify function] where I mistakenly applied the older
    version. Jani and Daniel's review tags were to the latest version,
    so I add them below, too -- tiwai]

    Signed-off-by: David Henningsson
    Reviewed-by: Jani Nikula
    Acked-by: Daniel Vetter
    Signed-off-by: Takashi Iwai

    David Henningsson
     

02 Sep, 2015

1 commit

  • This callback will be called by the i915 driver to notify the hda
    driver that its HDMI information needs to be refreshed, i e,
    that audio output is now available (or unavailable) - usually as a
    result of a monitor being plugged in (or unplugged).

    Signed-off-by: David Henningsson
    Reviewed-by: Jani Nikula
    Acked-by: Daniel Vetter
    Signed-off-by: Takashi Iwai

    David Henningsson
     

05 May, 2015

1 commit

  • Add support for enabling codec wakeup override signal to allow
    re-enumeration of the controller on SKL after resume from low power state.

    In SKL, HDMI/DP codec and PCH HD Audio Controller are in different power
    wells, so it's necessary to reset display audio codecs when power well on,
    otherwise display audio codecs will disappear when resume from low power
    state.
    Reset steps when power on:
    enable codec wakeup -> azx_init_chip() -> disable codec wakeup

    v3 by Jani: Simplify to only support toggling the appropriate chicken bit.

    v4 by Han: add explanation and specify the hw swquence.

    Signed-off-by: Lu, Han
    Signed-off-by: Jani Nikula
    Acked-by: Daniel Vetter
    Signed-off-by: Takashi Iwai

    Lu, Han
     

12 Jan, 2015

1 commit

  • Register a component to be used to interface with the snd_hda_intel
    driver. This is meant to replace the same interface that is currently
    based on module symbol lookup.

    v2:
    - change roles between the hda and i915 components (Daniel)
    - add the implementation to a new file (Jani)
    - use better namespacing (Jani)
    v3:
    - move the implementation to intel_audio.c (Daniel)
    - rename display_component to audio_component (Daniel)
    - add kerneldoc (Daniel)
    v4:
    - run forgotten git rm i915_component.c (Jani)

    Signed-off-by: Imre Deak
    Reviewed-by: Takashi Iwai
    Signed-off-by: Daniel Vetter

    Imre Deak