Skip to content
Permalink
Thomas-Hellstr…
Switch branches/tags

Commits on Dec 15, 2021

  1. drm/i915: Use struct vma_resource instead of struct vma_snapshot

    There is always a struct vma_resource guaranteed to be alive when we
    access a corresponding struct vma_snapshot.
    
    So ditch the latter and instead of allocating vma_snapshots, reference
    the already existning vma_resource.
    
    This requires a couple of extra members in struct vma_resource but that's
    a small price to pay for the simplification.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  2. drm/i915: Use vma resources for async unbinding

    Implement async (non-blocking) unbinding by not syncing the vma before
    calling unbind on the vma_resource.
    Add the resulting unbind fence to the object's dma_resv from where it is
    picked up by the ttm migration code.
    Ideally these unbind fences should be coalesced with the migration blit
    fence to avoid stalling the migration blit waiting for unbind, as they
    can certainly go on in parallel, but since we don't yet have a
    reasonable data structure to use to coalesce fences and attach the
    resulting fence to a timeline, we defer that for now.
    
    Note that with async unbinding, even while the unbind waits for the
    preceding bind to complete before unbinding, the vma itself might have been
    destroyed in the process, clearing the vma pages. Therefore we can
    only allow async unbinding if we have a refcounted sg-list and keep a
    refcount on that for the vma resource pages to stay intact until
    binding occurs. If this condition is not met, a request for an async
    unbind is diverted to a sync unbind.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  3. drm/i915: Use the vma resource as argument for gtt binding / unbinding

    When introducing asynchronous unbinding, the vma itself may no longer
    be alive when the actual binding or unbinding takes place.
    
    Update the gtt i915_vma_ops accordingly to take a struct i915_vma_resource
    instead of a struct i915_vma for the bind_vma() and unbind_vma() ops.
    Similarly change the insert_entries() op for struct i915_address_space.
    
    Replace a couple of i915_vma_snapshot members with their newly introduced
    i915_vma_resource counterparts, since they have the same lifetime.
    
    Also make sure to avoid changing the struct i915_vma_flags (in particular
    the bind flags) async. That should now only be done sync under the
    vm mutex.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  4. drm/i915: Initial introduction of vma resources

    Introduce vma resources, sort of similar to TTM resources,  needed for
    asynchronous bind management. Initially we will use them to hold
    completion of unbinding when we capture data from a vma, but they will
    be used extensively in upcoming patches for asynchronous vma unbinding.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  5. drm/i915: Require the vm mutex for i915_vma_bind()

    Protect updates of struct i915_vma flags and async binding / unbinding
    with the vm::mutex. This means that i915_vma_bind() needs to assert
    vm::mutex held. In order to make that possible drop the caching of
    kmap_atomic() maps around i915_vma_bind().
    
    An alternative would be to use kmap_local() but since we block cpu
    unplugging during sleeps inside kmap_local() sections this may have
    unwanted side-effects. Particularly since we might wait for gpu while
    holding the vm mutex.
    
    This change may theoretically increase execbuf cpu-usage on snb, but
    at least on non-highmem systems that increase should be very small.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  6. drm/i915: Break out the i915_deps utility

    Since it's starting to be used outside the i915 TTM move code, move it
    to a separate set of files.
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021
  7. drm/i915: Avoid using the i915_fence_array when collecting dependencies

    Since the gt migration code was using only a single fence for
    dependencies, these were collected in a dma_fence_array. However, it
    turns out that it's illegal to use some dma_fences in a dma_fence_array,
    in particular other dma_fence_arrays and dma_fence_chains, and this
    causes trouble for us moving forward.
    
    Have the gt migration code instead take a const struct i915_deps for
    dependencies. This means we can skip the dma_fence_array creation
    and instead pass the struct i915_deps instead to circumvent the
    problem.
    
    Fixes: 5652df8 ("drm/i915/ttm: Update i915_gem_obj_copy_ttm() to be asynchronous")
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Thomas Hellström authored and intel-lab-lkp committed Dec 15, 2021

Commits on Dec 14, 2021

  1. Merge remote-tracking branch 'drm-intel/drm-intel-gt-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/i915_pci.c
    lucasdemarchi committed Dec 14, 2021
  2. drm/i915: replace X86_FEATURE_PAT with pat_enabled()

    PAT can be disabled on boot with "nopat" in the command line. Replace
    one x86-ism with another, which is slightly more correct to prepare for
    supporting other architectures.
    
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211202003048.1015511-1-lucas.demarchi@intel.com
    lucasdemarchi committed Dec 14, 2021
  3. drm/i915/cdclk: move struct intel_cdclk_funcs to intel_cdclk.c

    The funcs struct can be opaque, make it internal to intel_cdclk.c.
    
    Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211213114106.296017-2-jani.nikula@intel.com
    jnikula committed Dec 14, 2021
  4. drm/i915/cdclk: turn around i915_drv.h and intel_cdclk.h dependency

    intel_cdclk.h only needs i915_drv.h for struct intel_cdclk_config. Move
    the definition to intel_cdclk.h and turn the includes around to avoid
    including i915_drv.h from other headers.
    
    The intel cdclk state macros in intel_cdclk.h still reference struct
    drm_i915_private, but as macros they don't strictly require the
    definition until they are used.
    
    v2: Expand on the commit message wrt cdclk state macros
    
    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/20211213114106.296017-1-jani.nikula@intel.com
    jnikula committed Dec 14, 2021
  5. drm/i915/debugfs: add noreclaim annotations

    We have a debugfs hook to directly call into i915_gem_shrink() with the
    fs_reclaim acquire annotations to simulate hitting direct reclaim.
    However we should also annotate this with memalloc_noreclaim, which will
    set PF_MEMALLOC for us on the current context, to ensure we can't
    re-enter direct reclaim(just like "real" direct reclaim does). This is
    an issue now that ttm_bo_validate could potentially be called here,
    which might try to allocate a tiny amount of memory to hold the new
    ttm_resource struct, as per the below splat:
    
    [ 2507.913844] WARNING: possible recursive locking detected
    [ 2507.913848] 5.16.0-rc4+ #5 Tainted: G U
    [ 2507.913853] --------------------------------------------
    [ 2507.913856] gem_exec_captur/1825 is trying to acquire lock:
    [ 2507.913861] ffffffffb9df2500 (fs_reclaim){..}-{0:0}, at: kmem_cache_alloc_trace+0x30/0x390
    [ 2507.913875]
    but task is already holding lock:
    [ 2507.913879] ffffffffb9df2500 (fs_reclaim){..}-{0:0}, at: i915_drop_caches_set+0x1c9/0x2c0 [i915]
    [ 2507.913962]
    other info that might help us debug this:
    [ 2507.913966] Possible unsafe locking scenario:
    
    [ 2507.913970] CPU0
    [ 2507.913973] ----
    [ 2507.913975] lock(fs_reclaim);
    [ 2507.913979] lock(fs_reclaim);
    [ 2507.913983]
    
                DEADLOCK ***
    
    [ 2507.913988] May be due to missing lock nesting notation
    
    [ 2507.913992] 4 locks held by gem_exec_captur/1825:
    [ 2507.913997] #0: ffff888101f6e460 (sb_writers#17){..}-{0:0}, at: ksys_write+0xe9/0x1b0
    [ 2507.914009] #1: ffff88812d99e2b8 (&attr->mutex){..}-{3:3}, at: simple_attr_write+0xbb/0x220
    [ 2507.914019] #2: ffffffffb9df2500 (fs_reclaim){..}-{0:0}, at: i915_drop_caches_set+0x1c9/0x2c0 [i915]
    [ 2507.914085] #3: ffff8881b4a11b20 (reservation_ww_class_mutex){..}-{3:3}, at: ww_mutex_trylock+0x43f/0xcb0
    [ 2507.914097]
    stack backtrace:
    [ 2507.914102] CPU: 0 PID: 1825 Comm: gem_exec_captur Tainted: G U 5.16.0-rc4+ #5
    [ 2507.914109] Hardware name: ASUS System Product Name/PRIME B560M-A AC, BIOS 0403 01/26/2021
    [ 2507.914115] Call Trace:
    [ 2507.914118] <TASK>
    [ 2507.914121] dump_stack_lvl+0x59/0x73
    [ 2507.914128] __lock_acquire.cold+0x227/0x3b0
    [ 2507.914135] ? lockdep_hardirqs_on_prepare+0x410/0x410
    [ 2507.914141] ? __lock_acquire+0x23ca/0x5000
    [ 2507.914147] lock_acquire+0x19c/0x4b0
    [ 2507.914152] ? kmem_cache_alloc_trace+0x30/0x390
    [ 2507.914157] ? lock_release+0x690/0x690
    [ 2507.914163] ? lock_is_held_type+0xe4/0x140
    [ 2507.914170] ? ttm_sys_man_alloc+0x47/0xb0 [ttm]
    [ 2507.914178] fs_reclaim_acquire+0x11a/0x160
    [ 2507.914183] ? kmem_cache_alloc_trace+0x30/0x390
    [ 2507.914188] kmem_cache_alloc_trace+0x30/0x390
    [ 2507.914192] ? lock_release+0x37f/0x690
    [ 2507.914198] ttm_sys_man_alloc+0x47/0xb0 [ttm]
    [ 2507.914206] ttm_bo_pipeline_gutting+0x70/0x440 [ttm]
    [ 2507.914214] ? ttm_mem_io_free+0x150/0x150 [ttm]
    [ 2507.914221] ? lock_is_held_type+0xe4/0x140
    [ 2507.914227] ttm_bo_validate+0x2fb/0x370 [ttm]
    [ 2507.914234] ? lock_acquire+0x19c/0x4b0
    [ 2507.914239] ? ttm_bo_bounce_temp_buffer.constprop.0+0xf0/0xf0 [ttm]
    [ 2507.914246] ? lock_acquire+0x131/0x4b0
    [ 2507.914251] ? lock_is_held_type+0xe4/0x140
    [ 2507.914257] i915_ttm_shrinker_release_pages+0x2bc/0x490 [i915]
    [ 2507.914339] ? i915_ttm_swap_notify+0x130/0x130 [i915]
    [ 2507.914429] ? i915_gem_object_release_mmap_offset+0x32/0x250 [i915]
    [ 2507.914529] i915_gem_shrink+0xb14/0x1290 [i915]
    [ 2507.914616] ? ___i915_gem_object_make_shrinkable+0x3e0/0x3e0 [i915]
    [ 2507.914698] ? _raw_spin_unlock_irqrestore+0x2d/0x60
    [ 2507.914705] ? track_intel_runtime_pm_wakeref+0x180/0x230 [i915]
    [ 2507.914777] i915_gem_shrink_all+0x4b/0x70 [i915]
    [ 2507.914857] i915_drop_caches_set+0x227/0x2c0 [i915]
    
    Reported-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211213125530.3960007-1-matthew.auld@intel.com
    matt-auld committed Dec 14, 2021
  6. drm/i915/ttm: fix large buffer population trucation

    ttm->num_pages is uint32_t which was causing very large buffers to
    only populate a truncated size.
    
    This fixes gem_create@create-clear igt test on large memory systems.
    
    Fixes: 7ae0345 ("drm/i915/ttm: add tt shmem backend")
    Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211210195005.2582884-1-bob.beckett@collabora.com
    BobBeckett authored and matt-auld committed Dec 14, 2021
  7. drm: document DRM_IOCTL_MODE_GETFB2

    There are a few details specific to the GETFB2 IOCTL.
    
    It's not immediately clear how user-space should check for the
    number of planes. Suggest using the handles field or the pitches
    field.
    
    The modifier array is filled with zeroes, ie. DRM_FORMAT_MOD_LINEAR.
    So explicitly tell user-space to not look at it unless the flag is
    set.
    
    Changes in v2 (Daniel):
    - Mention that handles should be used to compute the number of planes,
      and only refer to pitches as a fallback.
    - Reword bit about undefined modifier.
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    Acked-by: Daniel Vetter <daniel@ffwll.ch>
    Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
    Acked-by: Daniel Stone <daniels@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211123112400.22245-1-contact@emersion.fr
    emersion committed Dec 14, 2021
  8. drm/i915: Test all device memory on probing

    This extends the previous sanitychecking of device memory to read/write
    all the memory on the device during the device probe, ala memtest86,
    as an optional module parameter: i915.memtest=1. This is not expected to
    be fast, but a reasonably thorough verfification that the device memory
    is accessible and doesn't return bit errors.
    
    v2: Rebased.
    
    Suggested-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211208153404.27546-4-ramalingam.c@intel.com
    ickle authored and ramalingamc committed Dec 14, 2021
  9. drm/i915: Sanitycheck device iomem on probe

    As we setup the memory regions for the device, give each a quick test to
    verify that we can read and write to the full iomem range. This ensures
    that our physical addressing for the device's memory is correct, and
    some reassurance that the memory is functional.
    
    v2: wrapper for memtest [Chris]
    
    v3: Removed the unused ptr i915 [Chris]
    
    v4: used the %pa for the resource_size_t.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211209162620.5218-1-ramalingam.c@intel.com
    ickle authored and ramalingamc committed Dec 14, 2021
  10. drm/i915: Exclude reserved stolen from driver use

    Remove the portion of stolen memory reserved for private use from driver
    access.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    cc: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211208153404.27546-2-ramalingam.c@intel.com
    ickle authored and ramalingamc committed Dec 14, 2021
  11. Merge v5.16-rc5 into drm-next

    Thomas Zimmermann requested a fixes backmerge, specifically also for
    96c5f82 ("drm/vc4: fix error code in vc4_create_object()")
    
    Just a bunch of adjacent changes conflicts, even the big pile of them
    in vc4.
    
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    danvet committed Dec 14, 2021
  12. drm/i915/display: Fix an unsigned subtraction which can never be nega…

    …tive.
    
    smatch warning:
    drivers/gpu/drm/i915/display/intel_dmc.c:601 parse_dmc_fw() warn:
    unsigned 'fw->size - offset' is never less than zero
    
    Firmware size is size_t and offset is u32. So the subtraction is
    unsigned which can never be less than zero.
    
    Fixes: 3d5928a ("drm/i915/xelpd: Pipe A DMC plugging")
    Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
    Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211210044129.12422-1-harshit.m.mogalapalli@oracle.com
    (cherry picked from commit 87bb2a4)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Harshit Mogalapalli authored and rodrigovivi committed Dec 14, 2021
  13. drm/i915: Fix implicit use of struct pci_dev

    intel_device_info.h references struct pci_dev but does not ensure that
    the struct has been declared, causing build failures if something in
    other headers changes so that the implicit dependency it is relying on
    is no longer satisfied:
    
    In file included from drivers/gpu/drm/i915/intel_device_info.h:32,
                     from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:11,
                     from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:11:
    drivers/gpu/drm/i915/display/intel_display.h:643:39: error: 'struct pci_dev' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
      643 | bool intel_modeset_probe_defer(struct pci_dev *pdev);
          |                                       ^~~~~~~
    cc1: all warnings being treated as errors
    
    Add a declaration of the struct to fix this.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Fixes: 94b541f ("drm/i915: Add intel_modeset_probe_defer() helper")
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211213170753.3680209-1-broonie@kernel.org
    broonie authored and jnikula committed Dec 14, 2021
  14. drm/ast: potential dereference of null pointer

    The return value of kzalloc() needs to be checked.
    To avoid use of null pointer '&ast_state->base' in case of the
    failure of alloc.
    
    Fixes: f0adbc3 ("drm/ast: Allocate initial CRTC state of the correct size")
    Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211214014126.2211535-1-jiasheng@iscas.ac.cn
    JiangJias authored and Thomas Zimmermann committed Dec 14, 2021

Commits on Dec 13, 2021

  1. drm/i915: Don't leak the capture list items

    When we recently converted the capture code to use vma snapshots,
    we forgot to free the struct i915_capture_list list items after use.
    
    Fix that by bringing back a kfree.
    
    Fixes: ff20afc ("drm/i915: Update error capture code to avoid using the current vma state")
    Cc: Ramalingam C <ramalingam.c@intel.com>
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211209141304.393479-1-thomas.hellstrom@linux.intel.com
    Thomas Hellström committed Dec 13, 2021
  2. drm/i915/guc: support bigger RSA keys

    Some of the newer HW will use bigger RSA keys to authenticate the GuC
    binary. On those platforms the HW will read the key from memory instead
    of the RSA registers, so we need to copy it in a dedicated vma, like we
    do for the HuC. The address of the key is provided to the HW via the
    first RSA register.
    
    v2: clarify that the RSA behavior is hardcoded in the bootrom (Matt)
    
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Cc: Matthew Brost <matthew.brost@intel.com>
    Reviewed-by: Matthew Brost <matthew.brost@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211211000756.1698923-4-daniele.ceraolospurio@intel.com
    dceraolo committed Dec 13, 2021
  3. drm/i915/uc: Prepare for different firmware key sizes

    Future GuC/HuC firmwares might be signed with different key sizes.
    Don't assume that it must be always 2048 bits long.
    
    Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Reviewed-by: Matthew Brost <matthew.brost@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211211000756.1698923-3-daniele.ceraolospurio@intel.com
    mwajdecz authored and dceraolo committed Dec 13, 2021
  4. drm/i915/uc: correctly track uc_fw init failure

    The FAILURE state of uc_fw currently implies that the fw is loadable
    (i.e init completed), so we can't use it for init failures and instead
    need a dedicated error code.
    
    Note that this currently does not cause any issues because if we fail to
    init any of the firmwares we abort the load, but better be accurate
    anyway in case things change in the future.
    
    Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Reviewed-by: Matthew Brost <matthew.brost@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211211000756.1698923-2-daniele.ceraolospurio@intel.com
    dceraolo committed Dec 13, 2021
  5. drm/i915: Move pipe/transcoder/abox masks under intel_device_info.dis…

    …play
    
    Collect the dipslay related mask under the display sub-structure
    in intel_device_info.
    
    Note that there is a slight change in behaviour in that we zero
    out .display entirely when !HAS_DISPLAY (aka. pipe_mask==0), so
    now we also zero out the other masks (although cpu_transocder_mask
    should already be zero of pipe_mask is zero). abox_mask is
    only used by the display core init when HAS_DISPLAY is true, so
    the actual behaviour of the system shouldn't change despite the
    zeroing of these masks.
    
    There is a lot more display stuff directly in device info that
    could be moved over. Maybe someone else will be inspired to do it...
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211210122726.12577-1-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Dec 13, 2021
  6. drm/i915: Fix coredump of perma-pinned vmas

    When updating the error capture code and introducing vma snapshots,
    we introduced code to hold the vma in memory while capturing it,
    calling i915_active_acquire_if_busy(). Now that function isn't relevant
    for perma-pinned vmas and caused important vmas to be dropped from the
    coredump. Like for example the GuC log.
    
    Fix this by instead requiring those vmas to be pinned while capturing.
    
    Tested by running the initial subtests of the gem_exec_capture igt test
    with GuC submission enabled and verifying that a GuC log blob appears
    in the output.
    
    Fixes: ff20afc ("drm/i915: Update error capture code to avoid using the current vma state")
    Cc: Ramalingam C <ramalingam.c@intel.com>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Cc: Matthew Brost <matthew.brost@intel.com>
    Reported-by: John Harrison <John.C.Harrison@Intel.com>
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211208082245.86933-1-thomas.hellstrom@linux.intel.com
    Thomas Hellström committed Dec 13, 2021
  7. drm/i915/cdclk: hide struct intel_cdclk_vals

    The definition is not needed outside of intel_cdclk.c.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/f7e7e7fb91eae2b49a0ab5d982a235cec34e3320.1639068649.git.jani.nikula@intel.com
    jnikula committed Dec 13, 2021
Older