linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 83bc0f5b43 drm/i915: Handle incomplete Z_FINISH for compressed error states
The final call to zlib_deflate(Z_FINISH) may require more output
space to be allocated and so needs to re-invoked. Failure to do so in
the current code leads to incomplete zlib streams (albeit intact due to
the use of Z_SYNC_FLUSH) resulting in the occasional short object
capture.

v2: Check against overrunning our pre-allocated page array
v3: Drop Z_SYNC_FLUSH entirely

Testcase: igt/i915-error-capture.js
Fixes: 0a97015d45 ("drm/i915: Compress GPU objects in error state")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.10+
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181003082422.23214-1-chris@chris-wilson.co.uk
2018-10-03 11:39:31 +01:00
..
gvt Merge tag 'drm-intel-next-2018-09-06-2' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-09-11 11:53:12 +10:00
selftests drm/i915/selftests: Hold task_struct ref for smoking kthread 2018-10-03 09:07:23 +01:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c
i915_debugfs.c drm/i915: Show actual alongside requested frequency in debugfs/i915_rps_boost_info 2018-10-02 12:54:30 +01:00
i915_drv.c drm/i915: fix wrong error number report 2018-10-02 13:37:53 +01:00
i915_drv.h drm/i915: Add plane alpha blending support, v2. 2018-10-02 12:48:16 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_clflush.c
i915_gem_clflush.h
i915_gem_context.c drm/i915: Reserve some priority bits for internal use 2018-10-01 15:26:19 +01:00
i915_gem_context.h drm/i915: Nuke struct_mutex from context_setparam 2018-09-11 20:42:56 +01:00
i915_gem_dmabuf.c
i915_gem_evict.c
i915_gem_execbuffer.c Merge drm/drm-next into drm-intel-next-queued 2018-09-26 11:24:04 +03:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
i915_gem_gtt.h drm/i915: Explicitly mark Global GTT address spaces 2018-09-01 10:25:38 +01:00
i915_gem_internal.c
i915_gem_object.c
i915_gem_object.h
i915_gem_render_state.c
i915_gem_render_state.h
i915_gem_shrinker.c
i915_gem_stolen.c drm/i915: pass dev_priv to i915_gem_cleanup_stolen 2018-09-20 16:43:17 +01:00
i915_gem_tiling.c
i915_gem_userptr.c mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
i915_gem.c drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_gem.h drm/i915/execlists: Flush tasklet directly from reset-finish 2018-08-29 13:49:08 +01:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: Handle incomplete Z_FINISH for compressed error states 2018-10-03 11:39:31 +01:00
i915_gpu_error.h drm/i915: Handle incomplete Z_FINISH for compressed error states 2018-10-03 11:39:31 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Avoid compiler warning for maybe unused gu_misc_iir 2018-09-26 13:33:14 +01:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c
i915_oa_bdw.h
i915_oa_bxt.c
i915_oa_bxt.h
i915_oa_cflgt2.c
i915_oa_cflgt2.h
i915_oa_cflgt3.c
i915_oa_cflgt3.h
i915_oa_chv.c
i915_oa_chv.h
i915_oa_cnl.c
i915_oa_cnl.h
i915_oa_glk.c
i915_oa_glk.h
i915_oa_hsw.c
i915_oa_hsw.h
i915_oa_icl.c
i915_oa_icl.h
i915_oa_kblgt2.c
i915_oa_kblgt2.h
i915_oa_kblgt3.c
i915_oa_kblgt3.h
i915_oa_sklgt2.c
i915_oa_sklgt2.h
i915_oa_sklgt3.c
i915_oa_sklgt3.h
i915_oa_sklgt4.c
i915_oa_sklgt4.h
i915_params.c drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
i915_params.h drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
i915_pci.c drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
i915_perf.c drm/i915/execlists: Use coherent writes into the context image 2018-09-14 14:23:34 +01:00
i915_pmu.c
i915_pmu.h
i915_pvinfo.h
i915_query.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_query.h
i915_reg.h drm/i915: Add plane alpha blending support, v2. 2018-10-02 12:48:16 +02:00
i915_request.c drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_request.h drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_scheduler.c drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_scheduler.h drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_selftest.h
i915_suspend.c
i915_sw_fence.c drm/i915: Include fence-hint for timeout warning 2018-09-14 14:28:32 +01:00
i915_sw_fence.h
i915_syncmap.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_syncmap.h
i915_sysfs.c
i915_timeline.c
i915_timeline.h
i915_trace_points.c
i915_trace.h
i915_utils.h drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Stop holding a ref to the ppgtt from each vma 2018-08-29 14:11:53 -07:00
i915_vma.h drm/i915: Fix gtt_view asserts 2018-08-28 18:49:33 +03:00
icl_dsi.c drm/i915/icl: Program T_INIT_MASTER registers 2018-09-24 17:20:24 +03:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Replace call to commit_planes_on_crtc with internal update, v2. 2018-09-21 19:18:54 +02:00
intel_atomic.c drm/i915: Clean up scaler setup, v2. 2018-09-21 19:20:43 +02:00
intel_audio.c drm/i915/audio: Hook up component bindings even if displays are disabled 2018-08-29 14:11:53 -07:00
intel_bios.c
intel_bios.h
intel_breadcrumbs.c
intel_cdclk.c
intel_color.c
intel_crt.c
intel_csr.c drm/i915/csr: Added ICL Stepping info 2018-10-02 11:46:54 +03:00
intel_ddi.c drm/i915: Pass intel_encoder to infoframe functions 2018-10-01 22:17:37 +03:00
intel_device_info.c drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
intel_device_info.h drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
intel_display.c drm/i915: Add plane alpha blending support, v2. 2018-10-02 12:48:16 +02:00
intel_display.h drm-misc-next for 4.20: 2018-09-20 10:15:05 +10:00
intel_dp_aux_backlight.c
intel_dp_link_training.c
intel_dp_mst.c drm-misc-next for 4.20: 2018-09-20 10:15:05 +10:00
intel_dp.c drm/i915/dp: optimize eDP 1.4+ link config fast and narrow 2018-09-28 09:29:12 +03:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915: Fix ICL+ HDMI clock readout 2018-09-04 16:15:49 +03:00
intel_dpll_mgr.h drm/i915: Fix ICL+ HDMI clock readout 2018-09-04 16:15:49 +03:00
intel_drv.h drm/i915: Pass intel_encoder to infoframe functions 2018-10-01 22:17:37 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c
intel_dsi.h
intel_dvo.c
intel_engine_cs.c drm/i915: Combine multiple internal plists into the same i915_priolist bucket 2018-10-01 15:26:20 +01:00
intel_fbc.c drm/i915: Add plane alpha blending support, v2. 2018-10-02 12:48:16 +02:00
intel_fbdev.c drm/i915: Store ggtt_view in plane_state 2018-09-12 17:54:21 +03:00
intel_fifo_underrun.c
intel_frontbuffer.c
intel_frontbuffer.h
intel_gpu_commands.h
intel_guc_ads.c
intel_guc_ads.h
intel_guc_ct.c
intel_guc_ct.h
intel_guc_fw.c
intel_guc_fw.h
intel_guc_fwif.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_guc_log.c
intel_guc_log.h
intel_guc_reg.h
intel_guc_submission.c drm/i915: Combine multiple internal plists into the same i915_priolist bucket 2018-10-01 15:26:20 +01:00
intel_guc_submission.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_guc.c
intel_guc.h
intel_gvt.c
intel_gvt.h
intel_hangcheck.c
intel_hdcp.c
intel_hdmi.c drm/i915: Pass intel_encoder to infoframe functions 2018-10-01 22:17:37 +03:00
intel_hotplug.c
intel_huc_fw.c
intel_huc_fw.h
intel_huc.c
intel_huc.h
intel_i2c.c
intel_lpe_audio.c
intel_lrc_reg.h
intel_lrc.c drm/i915: Pull scheduling under standalone lock 2018-10-01 20:34:21 +01:00
intel_lrc.h
intel_lspcon.c drm/i915: Increase LSPCON timeout 2018-08-29 14:11:53 -07:00
intel_lvds.c
intel_mocs.c
intel_mocs.h
intel_modes.c
intel_opregion.c
intel_opregion.h
intel_overlay.c drm/i915/overlay: Use the ioctl parameters directly 2018-09-11 15:51:27 +01:00
intel_panel.c
intel_pipe_crc.c Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
intel_pm.c drm/i915: Move IPC WA #1141 to init_ipc() 2018-09-26 17:06:22 -07:00
intel_psr.c drm/i915/psr: Enable PSR1 on gen-9+ HW 2018-10-02 12:56:07 -07:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Replace some open-coded i915_coherent_map_type() 2018-10-02 12:53:44 +01:00
intel_ringbuffer.h drm/i915: Pull scheduling under standalone lock 2018-10-01 20:34:21 +01:00
intel_runtime_pm.c drm/i915: Unset reset pch handshake when PCH is not present in one place 2018-09-26 17:06:09 -07:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915/sdvo: Fix multi function encoder stuff 2018-09-18 21:05:06 +03:00
intel_sideband.c
intel_sprite.c drm/i915: Add plane alpha blending support, v2. 2018-10-02 12:48:16 +02:00
intel_tv.c
intel_uc_fw.c
intel_uc_fw.h
intel_uc.c drm/i915/guc: Update GuC power domain states 2018-09-10 20:31:55 +01:00
intel_uc.h
intel_uncore.c drm/i915: Pull intel_uncore_arm_unclaimed_mmio_detection() under the spinlock 2018-09-04 16:01:14 +01:00
intel_uncore.h
intel_vbt_defs.h
intel_wopcm.c
intel_wopcm.h
intel_workarounds.c
intel_workarounds.h
Kconfig
Kconfig.debug
Makefile drm/i915: Pull scheduling under standalone lock 2018-10-01 20:34:21 +01:00
vlv_dsi_pll.c
vlv_dsi.c