Skip to content
Permalink
Christian-K-ni…
Switch branches/tags

Commits on Mar 15, 2021

  1. drm/ttm: switch to per device LRU lock

    Instead of having a global lock.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Christian König authored and intel-lab-lkp committed Mar 15, 2021
  2. drm/ttm: remove swap LRU v2

    Instead evict round robin from each devices SYSTEM and TT domain.
    
    v2: reorder num_pages access reported by Dan's script
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Christian König authored and intel-lab-lkp committed Mar 15, 2021
  3. drm/ttm: move swapout logic around

    Move the iteration of the global lru into the new function
    ttm_global_swapout() and use that instead in drivers.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Christian König authored and intel-lab-lkp committed Mar 15, 2021
  4. Merge remote-tracking branch 'drm-intel/drm-intel-gt-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/gt/intel_engine_cs.c
    #	drivers/gpu/drm/i915/gvt/cmd_parser.c
    #	drivers/gpu/drm/i915/i915_drv.h
    jnikula committed Mar 15, 2021
  5. Merge remote-tracking branch 'drm-intel/drm-intel-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/display/intel_sprite.c
    jnikula committed Mar 15, 2021
  6. Merge remote-tracking branch 'drm-misc/drm-misc-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/drm_dp_mst_topology.c
    #	drivers/gpu/drm/gma500/Kconfig
    #	drivers/gpu/drm/gma500/Makefile
    #	drivers/gpu/drm/gma500/psb_drv.c
    #	drivers/gpu/drm/ttm/ttm_pool.c
    jnikula committed Mar 15, 2021
  7. 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
  8. 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
  9. 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 14, 2021

  1. ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air

    There is another fix for headset-mic problem on Redmibook (1d72:1602),
    it also works on Redmibook Air (1d72:1947), which has the same issue.
    
    Signed-off-by: Xiaoliang Yu <yxl_22@outlook.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/TYBP286MB02856DC016849DEA0F9B6A37EE6F9@TYBP286MB0285.JPNP286.PROD.OUTLOOK.COM
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    black2996 authored and tiwai committed Mar 14, 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
  7. fb_defio: Remove custom address_space_operations

    There's no need to give the page an address_space.  Leaving the
    page->mapping as NULL will cause the VM to handle set_page_dirty()
    the same way that it's handled now, and that was the only reason to
    set the address_space in the first place.
    
    Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: William Kucharski <william.kucharski@oracle.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310185530.1053320-1-willy@infradead.org
    Matthew Wilcox (Oracle) authored and danvet committed Mar 12, 2021
  8. dma-fence: Document recoverable page fault implications

    Recently there was a fairly long thread about recoreable hardware page
    faults, how they can deadlock, and what to do about that.
    
    While the discussion is still fresh I figured good time to try and
    document the conclusions a bit. This documentation section explains
    what's the potential problem, and the remedies we've discussed,
    roughly ordered from best to worst.
    
    v2: Linus -> Linux typoe (Dave)
    
    v3:
    - Make it clear drivers only need to implement one option (Christian)
    - Make it clearer that implicit sync is out the window with exclusive
      fences (Christian)
    - Add the fairly theoretical option of segementing the memory (either
      statically or through dynamic checks at runtime for which piece of
      memory is managed how) and explain why it's not a great idea (Felix)
    
    References: https://lore.kernel.org/dri-devel/20210107030127.20393-1-Felix.Kuehling@amd.com/
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
    c: Dave Airlie <airlied@gmail.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Thomas Hellström <thomas.hellstrom@intel.com>
    Cc: "Christian König" <christian.koenig@amd.com>
    Cc: Jerome Glisse <jglisse@redhat.com>
    Cc: Felix Kuehling <felix.kuehling@amd.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Cc: linux-media@vger.kernel.org
    Cc: linaro-mm-sig@lists.linaro.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20210203152921.2429937-1-daniel.vetter@ffwll.ch
    danvet committed Mar 12, 2021
  9. ALSA: dice: fix null pointer dereference when node is disconnected

    When node is removed from IEEE 1394 bus, any transaction fails to the node.
    In the case, ALSA dice driver doesn't stop isochronous contexts even if
    they are running. As a result, null pointer dereference occurs in callback
    from the running context.
    
    This commit fixes the bug to release isochronous contexts always.
    
    Cc: <stable@vger.kernel.org> # v5.4 or later
    Fixes: e9f2112 ("ALSA: dice: support AMDTP domain")
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20210312093407.23437-1-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    takaswie authored and tiwai committed Mar 12, 2021
  10. ALSA: hda: generic: Fix the micmute led init state

    Recently we found the micmute led init state is not correct after
    freshly installing the ubuntu linux on a Lenovo AIO machine. The
    internal mic is not muted, but the micmute led is on and led mode is
    'follow mute'. If we mute internal mic, the led is keeping on, then
    unmute the internal mic, the led is off. And from then on, the
    micmute led will work correctly.
    
    So the micmute led init state is not correct. The led is controlled
    by codec gpio (ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), in the
    patch_realtek, the gpio data is set to 0x4 initially and the led is
    on with this data. In the hda_generic, the led_value is set to
    0 initially, suppose users set the 'capture switch' to on from
    user space and the micmute led should change to be off with this
    operation, but the check "if (val == spec->micmute_led.led_value)" in
    the call_micmute_led_update() will skip the led setting.
    
    To guarantee the led state will be set by the 1st time of changing
    "Capture Switch", set -1 to the init led_value.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Hui Wang <hui.wang@canonical.com>
    Link: https://lore.kernel.org/r/20210312041408.3776-1-hui.wang@canonical.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    jason77-wang authored and tiwai committed Mar 12, 2021
  11. drm/nouveau: fix dma syncing for loops (v2)

    The index variable should only be increased in one place.
    
    Noticed this while trying to track down another oops.
    
    v2: use while loop.
    
    Fixes: f295c8c ("drm/nouveau: fix dma syncing warning with debugging on.")
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210311043527.5376-1-airlied@gmail.com
    airlied committed Mar 12, 2021
  12. drm/i915: Wedge the GPU if command parser setup fails

    Commit 311a50e ("drm/i915: Add support for mandatory cmdparsing")
    introduced mandatory command parsing but setup failures were not
    translated into wedging the GPU which was probably the intent.
    
    Possible errors come in two categories. Either the sanity check on
    internal tables has failed, which should be caught in CI unless an
    affected platform would be missed in testing; or memory allocation failure
    happened during driver load, which should be extremely unlikely but for
    correctness should still be handled.
    
    v2:
     * Tidy coding style. (Chris)
    
    [airlied: cherry-picked to avoid rc1 base]
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Fixes: 311a50e ("drm/i915: Add support for mandatory cmdparsing")
    Cc: Jon Bloomfield <jon.bloomfield@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Chris Wilson <chris.p.wilson@intel.com>
    Reviewed-by: Chris Wilson <chris.p.wilson@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210302114213.1102223-1-tvrtko.ursulin@linux.intel.com
    (cherry picked from commit 5a1a659)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    tursulin authored and airlied committed Mar 12, 2021
  13. Merge tag 'amd-drm-fixes-5.12-2021-03-10' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-5.12-2021-03-10:
    
    amdgpu:
    - Fix aux backlight control
    - Add a backlight override parameter
    - Various display fixes
    - PCIe DPM fix for vega
    - Polaris watermark fixes
    - Additional S0ix fix
    
    radeon:
    - Fix GEM regression
    - Fix AGP dependency handling
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210310221141.3974-1-alexander.deucher@amd.com
    airlied committed Mar 12, 2021
  14. Merge tag 'drm-misc-fixes-2021-03-11' of git://anongit.freedesktop.or…

    …g/drm/drm-misc into drm-fixes
    
    drm-misc-fixes for rc3, rebased on rc2:
    - Fix oops in drm_fbdev_cleanup()
    - unpin qxl bos created as pinned when freeing them,
      and make ttm only warn once on this behavior.
    - Use LCD management for atyfb on PPC_MAC.
    - Use gitlab for drm bugzilla now.
    - Fix ttm page pool accounting.
    - Zero head.surface_id correctly in qxl.
    - Assorted fixes for shmem helpers.
    - Shutdown kms poll helper in meson correctly.
    - Clear holes when converting compat ioctl's between 32-bits and 64-bits.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/4606f08e-d0e8-c543-5e96-cee2fd728a41@linux.intel.com
    airlied 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. drm: panel: simple: Set enable delay for BOE NV110WTM-N61

    Panel power sequence says timing T8 (time from link idle to turn on
    the backlight) should be at least 50 ms.  This is what the .enable
    delay in simple-panel is for, so set it.  NOTE: this overlaps with the
    80 ms .prepare_to_enable delay on purpose.  The data sheet says that
    at least 80 ms needs to pass between HPD going high and turning on the
    backlight and that at least 50 ms needs to pass between the link idle
    and the backlight going on.  Thus it works like this on the system in
    front of me:
    * In bridge chip pre_enable call drm_panel_prepare()
    * drm_panel_prepare() -> panel_simple_prepare()
    * Wait for HPD GPIO to go high.
    * Start counting for 80 ms (store in prepared_time)
    * In bridge chip enable, train link then call drm_panel_enable()
    * drm_panel_enable() -> panel_simple_enable()
    * panel_simple_enable() does hardcoded 50 ms delay then enforces 80 ms
      from HPD going high (in case the bridge took less than 30 ms to
      enable / link train).
    * drm_panel_enable() -> backlight_enable().
    
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210222081716.1.I1a45aece5d2ac6a2e73bbec50da2086e43e0862b@changeid
    dianders authored and linusw committed Mar 11, 2021
  3. drm/panel-simple: Add N116BCA-EA1

    This panel is quite similar to the similarly named N116BGE panel (the
    nominal timings are, in fact identical).  However, let's add a new
    entry because the full range of clocks listed for N116BGE aren't
    supported for N116BCA-EA1, at least according to the datasheet.
    
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210115144345.v2.5.I3c01f3aab8335cb509da7009d8938c1a27a266dc@changeid
    dianders authored and linusw committed Mar 11, 2021
  4. dt-bindings: dt-bindings: display: simple: Add N116BCA-EA1

    Another simple eDP panel.
    
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Acked-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210115144345.v2.4.I6889e21811df6adaff5c5b8a8c80fda0669ab3a5@changeid
    dianders authored and linusw committed Mar 11, 2021
  5. drm/panel-simple: Retry if we timeout waiting for HPD

    On an Innolux N116BCA panel that I have in front of me, sometimes HPD
    simply doesn't assert no matter how long you wait for it. As per the
    very wise advice of The IT Crowd ("Have you tried turning it off and
    on again?") it appears that power cycling is enough to kick this panel
    back into a sane state.
    
    >From tests on this panel, it appears that leaving it powered off for a
    while stimulates the problem. Adding a 6 second sleep at the start of
    panel_simple_prepare_once() makes it happen fairly reliably and, with
    this delay, I saw up to 3 retries needed sometimes. Without the 6
    second sleep, however, the panel came up much more reliably the first
    time or after only 1 retry.
    
    While it's unknown what the problems are with this panel (and probably
    the hardware should be debugged), adding a few retries to the power on
    routine doesn't seem insane. Even if this panel's problems are
    attributed to the fact that it's pre-production and/or can be fixed,
    retries clearly can help in some cases and really don't hurt.
    
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Stephen Boyd <swboyd@chromium.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210115144345.v2.3.I6916959daa7c5c915e889442268d23338de17923@changeid
    dianders authored and linusw committed Mar 11, 2021
Older