Skip to content
Permalink
Maxime-Ripard/…
Switch branches/tags

Commits on Mar 19, 2021

  1. drm/vc4: Add HDR metadata property to the VC5 HDMI connectors

    Now that we can export deeper colour depths, add in the signalling
    for HDR metadata.
    
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    6by9 authored and intel-lab-lkp committed Mar 19, 2021
  2. drm/connector: Add helper to compare HDR metadata

    All the drivers that support the HDR metadata property have a similar
    function to compare the metadata from one connector state to the next,
    and force a mode change if they differ.
    
    All these functions run pretty much the same code, so let's turn it into
    an helper that can be shared across those drivers.
    
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    mripard authored and intel-lab-lkp committed Mar 19, 2021
  3. drm/connector: Create a helper to attach the hdr_output_metadata prop…

    …erty
    
    All the drivers that implement HDR output call pretty much the same
    function to initialise the hdr_output_metadata property, and while the
    creation of that property is in a helper, every driver uses the same
    code to attach it.
    
    Provide a helper for it as well
    
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    mripard authored and intel-lab-lkp committed Mar 19, 2021
  4. drm/i915/display: Fix a typo

    s/nothign/nothing/
    
    Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210319043701.14105-1-unixbhaskar@gmail.com
    unixbhaskar authored and jnikula committed Mar 19, 2021

Commits on Mar 18, 2021

  1. drm/i915/display: Remove FRL related code from disable DP sequence fo…

    …r older platforms
    
    Remove code for resetting frl related members from intel_disable_dp, as
    this is not applicable for older platforms.
    
    Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210309043915.1921-3-ankit.k.nautiyal@intel.com
    aknautiyal authored and vsyrjala committed Mar 18, 2021
  2. drm/i915/bios: add intel_bios_encoder_data to encoder, use for iboost

    Add intel_bios_encoder_data pointer to encoder, and use it for hdmi and
    dp iboost. For starters, we only set the encoder->devdata for DDI
    encoders, i.e. we can only use it for data that is used by DDI encoders.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/4bc49244ce68e136e5b21db4c4e6554bec9ac0fb.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  3. drm/i915/bios: start using intel_bios_encoder_data for Type-C USB and…

    … TBT
    
    Stop caching the information in ddi_port_info. We're phasing out
    ddi_port_info usage completely, and prefer using the VBT child device
    information directly using the provided helpers.
    
    v2:
    - Remove supports_typec_usb & supports_tbt from ddi_vbt_port_info (Lucas)
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/b04bd183e7554aeb4bc3962af90d63171aa32fc2.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  4. drm/i915/bios: start using the intel_bios_encoder_data directly

    Start using struct intel_bios_encoder_data directly. We'll start
    sanitizing the child device data directly as well, instead of the cached
    data in ddi_port_info[]. The one downside here is having to store a
    non-const pointer back to intel_bios_encoder_data.
    
    Eventually we'll be able to have a direct pointer from encoder to
    intel_bios_encoder_data, removing the need to go through the
    ddi_port_info[] array altogether. And we'll be able to remove all the
    cached data in ddi_port_info[].
    
    v2:
    - Remove supports_dp and supports_edp from ddi_port_info too
    - Add devdata != NULL check in intel_bios_is_port_edp()
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> # v1
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/061df32a012ff640060920fcd730fb23f8717ee8.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  5. drm/i915/bios: save a higher level pointer in ddi_vbt_port_info[]

    We'll be needing the intel_bios_encoder_data pointer going forward, and
    it's just easier to store the higher level pointer in the
    ddi_vbt_port_info[] array.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/89717516e99afccfecf1a7c6c938b8349f65e985.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  6. drm/i915/bios: add helper functions to check output support

    These will be exposed to the rest of the driver and replace other
    functions. Everything will operate on the child devices.
    
    v2:
    - Rebased, removed stray blank line
    - Also abstracted intel_bios_encoder_supports_crt (Lucas)
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/2bd40ccc093796d16300742d1789d78ffac3c450.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  7. drm/i915/bios: add i915 backpointer to intel_bios_encoder_data

    We'll be needing it in the future.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/026b737b122273d256f4247e9b0c84529aa391fd.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  8. drm/i915/bios: rename display_device_data to intel_bios_encoder_data

    Make the naming suitable for exposing to the rest of the driver as an
    opaque type. No functional changes.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/cb97c858de6e6afa96092db6d96e685fda006984.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  9. drm/i915/bios: create fake child devices on missing VBT

    Instead of initialing data directly in ddi_port_info array, create fake
    child devices for default outputs when the VBT is missing. This makes
    further unification of output handling easier.
    
    This will make intel_bios_is_port_present() return true for the fake
    child devices. This may cause subtle changes in a handful of places.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/91675b40a78bd04bf138598d979661257181880d.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  10. drm/i915/bios: limit default outputs to ports A through F

    There are two main cases where the default outputs are useful when the
    VBT is missing:
    
    - There are some DDI-platform Chromebooks out there that do not have a
      VBT, which worked by coincidence because of the default outputs. The
      machines need to continue to work.
    
    - Early platform enabling when the VBT might not be available. (This
      could be circumvented by using the i915.vbt_firmware parameter.)
    
    Prepare for generating fake child devices for the default outputs by
    limiting the number of outputs. We don't want to generate excessive
    amounts of fake child devices. This could be perhaps be limited even
    more in the future, but match what's possible on all DDI platforms.
    
    Note that limiting the defaults to non-TypeC ports in commit
    828ccb3 ("drm/i915/icl: Add TypeC ports only if VBT is present") is
    a more strict limit, and makes this a no-op on recent platforms.
    
    v2: Rewrote commit message
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: 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/5c9c9743af1c7265a2c976d582b7a6685ec0c414.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  11. drm/i915/bios: limit default outputs by platform on missing VBT

    Pre-DDI and non-CHV aren't using the information created here anyway, so
    don't bother setting the defaults for them. This should be a
    non-functional change, but is separated here to catch any regressions in
    a single commit.
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/41526a4eee5fb0de8d7f1ffe4c09965b63ccbaa8.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  12. drm/i915/bios: move aux ch and ddc checks at a lower level

    Unify the code paths at the higher level.
    
    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/44559ef456015f65a863c3d89a9bea9157d13a05.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  13. drm/i915/bios: reduce indent in sanitize_ddc_pin and sanitize_aux_ch

    Reduce indent with an early return. No functional changes.
    
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
    [Jani: fixed a couple of comment typos while applying.]
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/17288137452f731a820e737582672f836660a26f.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  14. drm/i915/bios: store bdb version in i915

    We'll be needing the version in more places in the future, so avoid the
    need to pass it around. No functional changes.
    
    v2: Rebased
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> # v1
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/c2a4189241bf0946d27e12804b1ba7d098c7d483.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021
  15. drm/i915/bios: mass convert dev_priv to i915

    Time to just yank out the bandage. No functional changes.
    
    v2: Rebased
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> # v1
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/93fe9e8be2e6120b085d09e49aafdf52f5ccd725.1615998927.git.jani.nikula@intel.com
    jnikula committed Mar 18, 2021

Commits on Mar 17, 2021

  1. drm/i915: remove unused ADLS_REVID_* macros

    It's the adls_revid_step_tbl array indexes that matter.
    
    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/996274d28cf939186a748b4714872b1c31b23adb.1615211711.git.jani.nikula@intel.com
    jnikula committed Mar 17, 2021

Commits on Mar 16, 2021

  1. Merge tag 'gvt-next-2021-03-16' of https://github.com/intel/gvt-linux

    …into drm-intel-next
    
    gvt-next-2021-03-16
    
    - Parse accurate vGPU virtual display rate (Colin)
    - Convert vblank timer as per-vGPU based on current rate (Colin)
    - spelling fix (Bhaskar)
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    From: Zhenyu Wang <zhenyuw@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210316074330.GC1551@zhen-hp.sh.intel.com
    jnikula committed Mar 16, 2021

Commits on Mar 15, 2021

  1. drm/i915/dp_link_training: Convert DRM_DEBUG_KMS to drm_dbg_kms

    One instance of DRM_DEBUG_KMS was leftover in dp_link_training, convert
    it to the new shiny.
    
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310214845.29021-2-sean@poorly.run
    atseanpaul authored and jnikula committed Mar 15, 2021
  2. drm/i915/dp_link_training: Add newlines to debug messages

    This patch adds some newlines which are missing from debug messages.
    This will prevent logs from being stacked up in dmesg.
    
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310214845.29021-1-sean@poorly.run
    atseanpaul authored and jnikula committed Mar 15, 2021
  3. i915/perf: Start hrtimer only if sampling the OA buffer

    SAMPLE_OA parameter enables sampling of OA buffer and results in a call
    to init the OA buffer which initializes the OA unit head/tail pointers.
    The OA_EXPONENT parameter controls the periodicity of the OA reports in
    the OA buffer and results in starting a hrtimer.
    
    Before gen12, all use cases required the use of the OA buffer and i915
    enforced this setting when vetting out the parameters passed. In these
    platforms the hrtimer was enabled if OA_EXPONENT was passed. This worked
    fine since it was implied that SAMPLE_OA is always passed.
    
    With gen12, this changed. Users can use perf without enabling the OA
    buffer as in OAR use cases. While an OAR use case should ideally not
    start the hrtimer, we see that passing an OA_EXPONENT parameter will
    start the hrtimer even though SAMPLE_OA is not specified. This results
    in an uninitialized OA buffer, so the head/tail pointers used to track
    the buffer are zero.
    
    This itself does not fail, but if we ran a use-case that SAMPLED the OA
    buffer previously, then the OA_TAIL register is still pointing to an old
    value. When the timer callback runs, it ends up calculating a
    wrong/large number of available reports. Since we do a spinlock_irq_save
    and start processing a large number of reports, NMI watchdog fires and
    causes a crash.
    
    Start the timer only if SAMPLE_OA is specified.
    
    v2:
    - Drop SAMPLE OA check when appending samples (Ashutosh)
    - Prevent read if OA buffer is not being sampled
    
    Fixes: 00a7f0d ("drm/i915/tgl: Add perf support on TGL")
    Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
    Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
    Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305210947.58751-1-umesh.nerlige.ramappa@intel.com
    unerlige authored and llandwerlin-intel committed Mar 15, 2021

Commits on Mar 12, 2021

  1. drm/i915: s/plane_res_b/blocks/ etc.

    Rename a bunch of the skl+ watermark struct members to
    have sensible names. Avoids me having to think what
    plane_res_b/etc. means.
    
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305153610.12177-7-ville.syrjala@linux.intel.com
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    vsyrjala committed Mar 12, 2021
  2. drm/i915: Extract skl_check_wm_level() and skl_check_nv12_wm_level()

    Make the code more typo proof by extracting small helpers that
    do the "do we have enough DDB for the WM level?" checks in
    a consistent manner.
    
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305153610.12177-6-ville.syrjala@linux.intel.com
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    vsyrjala committed Mar 12, 2021
  3. drm/i915: Calculate min_ddb_alloc for trans_wm

    Let's make all the "do we have enough DDB for this WM level?"
    checks use min_ddb_alloc. To achieve that we need to populate
    this for the transition watermarks as well.
    
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305153610.12177-5-ville.syrjala@linux.intel.com
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    vsyrjala committed Mar 12, 2021
  4. drm/i915: Check SAGV wm min_ddb_alloc rather than plane_res_b

    For non-transition watermarks we are supposed to check min_ddb_alloc
    rather than plane_res_b when determining if we have enough DDB space
    for it. A bit too much copy pasta made me check the wrong thing.
    
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Fixes: df4a50a ("drm/i915: Zero out SAGV wm when we don't have enough DDB for it")
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305153610.12177-4-ville.syrjala@linux.intel.com
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    vsyrjala committed Mar 12, 2021
  5. drm/i915: Tighten SAGV constraint for pre-tgl

    Say we have two planes enabled with watermarks configured
    as follows:
    plane A: wm0=enabled/can_sagv=false, wm1=enabled/can_sagv=true
    plane B: wm0=enabled/can_sagv=true,  wm1=disabled
    
    This is possible since the latency we use to calculate
    can_sagv may not be the same for both planes due to
    skl_needs_memory_bw_wa().
    
    In this case skl_crtc_can_enable_sagv() will see that
    both planes have enabled at least one watermark level
    with can_sagv==true, and thus proceeds to allow SAGV.
    However, since plane B does not have wm1 enabled
    plane A can't actually use it either. Thus we are
    now running with SAGV enabled, but plane A can't
    actually tolerate the extra latency it imposes.
    
    To remedy this only allow SAGV on if the highest common
    enabled watermark level for all active planes can tolerate
    the extra SAGV latency.
    
    Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210305153610.12177-3-ville.syrjala@linux.intel.com
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
    vsyrjala committed Mar 12, 2021
  6. drm/i915: Workaround async flip + VT-d corruption on HSW/BDW

    On HSW/BDW with VT-d active the first tile row scanned out
    after the first async flip of the frame often ends up corrupted.
    
    Whether the corruption happens or not depends on the scanline
    on which the async flip happens, but the behaviour seems very
    consistent. Ie. the same set of scanlines (which are most scanlines)
    always show the corruption. And another set of scanlines (far less
    of them) never shows the corruption.
    
    I discovered that disabling the fetch-stride stretching
    feature cures the corruption. This is some kind of TLB related
    prefetch thing AFAIK. We already disable it on SNB primary
    planes due to a documented workaround. The hardware folks
    indicated that disabling this should be fine, so let's go
    with that.
    
    And while we're here, let's document the relevant bits on all
    pre-skl platforms.
    
    Fixes: 2a636e2 ("drm/i915: Implement async flip for ivb/hsw")
    Fixes: cda195f ("drm/i915: Implement async flips for bdw")
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210220103303.3448-1-ville.syrjala@linux.intel.com
    Reviewed-by: Karthik B S <karthik.b.s@intel.com>
    vsyrjala committed Mar 12, 2021

Commits on Mar 11, 2021

  1. drm/i915: Tolerate bogus DPLL selection

    Let's check that we actually found the PLL before doing the
    port_clock readout, just in case the hardware was severly
    misprogrammed by the previous guy. Not sure the hw would
    even survive such misprogramming without hanging but no
    real harm in checking anyway.
    
    Cc: Karthik B S <karthik.b.s@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310194351.6233-1-ville.syrjala@linux.intel.com
    Reviewed-by: Karthik B S <karthik.b.s@intel.com>
    vsyrjala committed Mar 11, 2021
  2. Merge drm/drm-next into drm-intel-next

    Sync up with upstream.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    jnikula committed Mar 11, 2021

Commits on Mar 8, 2021

  1. drm/i915: Extend icl_sanitize_encoder_pll_mapping() to all DDI platforms

    Now that all the encoder clock stuff is uniformly abstracted
    for all hsw+ platforms, let's extend icl_sanitize_encoder_pll_mapping()
    to cover all of them.
    
    Not sure there is a particular benefit in doing so, but less special
    cases always makes me happy.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210224144214.24803-7-ville.syrjala@linux.intel.com
    Reviewed-by: Mika Kahola <mika.kahola@intel.com>
    vsyrjala committed Mar 8, 2021
  2. drm/i915: Add encoder->is_clock_enabled()

    Support reading out the current state of the DDI clock.
    
    Not sure we really want this. Seems a bit excessive just to
    restore the debug print to icl_sanitize_encoder_pll_mapping()?
    But maybe there's more use for it?
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210224144214.24803-6-ville.syrjala@linux.intel.com
    Reviewed-by: Mika Kahola <mika.kahola@intel.com>
    vsyrjala committed Mar 8, 2021
  3. drm/i915: Move DDI clock readout to encoder->get_config()

    Move the *_get_ddi_pll() stuff into the encodet->get_config() hook.
    There it neatly sits next to the matching .{enable,disable}_clock()
    functions.
    
    In order to avoid excessive boilerplate I changed the behaviour
    such that all platforms now do the readout via
    crtc_state->port_dpll[].
    
    ICL+ TC is still a bit special due to TBTPLL not having a functional
    .get_freq(). Should probably change that by adopting the LCPLL
    approach, but that would require a fairly substantial rework of the
    DPLL ID handling. So leave it for later.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210224144214.24803-5-ville.syrjala@linux.intel.com
    Reviewed-by: Mika Kahola <mika.kahola@intel.com>
    vsyrjala committed Mar 8, 2021
Older