mirror_ubuntu-kernels/drivers/gpu/drm/i915
John Harrison aaeb1ba041 drm/i915: Zero fill the request structure
There is a general theory that kzmalloc is better/safer than kmalloc, especially
for interesting data structures. This change updates the request structure
allocation to be zero filled.

This also fixes crashes in the reset code. Quoting Mika's patch:

"Clean the request structure on alloc. Otherwise we might end up
referencing uninitialized fields.  This is apparent when we try to
cleanup the preallocated request on ring reset, before any request has
been submitted to the ring.  The request->ctx is foobar and we end up
freeing the foobarness."

Note that this fixes a regression introduced in

commit 9eba5d4a1d
Author: John Harrison <John.C.Harrison@Intel.com>
Date:   Mon Nov 24 18:49:23 2014 +0000

    drm/i915: Ensure OLS & PLR are always in sync

References: https://bugs.freedesktop.org/show_bug.cgi?id=86959
References: https://bugs.freedesktop.org/show_bug.cgi?id=86962
References: https://bugs.freedesktop.org/show_bug.cgi?id=86992
Change-Id: I68715ef758025fab8db763941ef63bf60d7031e2
For: VIZ-4377
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Thomas Daniel <Thomas.Daniel@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-12-06 01:46:26 +01:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915: Check pixel clock in ns2501 mode_valid hook 2014-09-03 11:05:21 +02:00
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Flatten engine init control flow 2014-12-03 09:35:29 +01:00
i915_debugfs.c drm/i915: Don't display nonsensical values in i915_ddb_info on gen < 9 2014-12-04 12:01:14 +01:00
i915_dma.c drm/i915: Remove user pinning code 2014-12-03 09:35:11 +01:00
i915_drv.c drm/i915: Deal with video overlay on GPU reset 2014-12-03 09:35:24 +01:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20141205 2014-12-05 15:59:16 +01:00
i915_gem_context.c drm/i915: Fix startup failure in LRC mode after recent init changes 2014-12-03 09:35:30 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: fix another use-after-free in i915_gem_evict_everything 2014-09-19 14:41:16 +02:00
i915_gem_execbuffer.c drm/i915: Convert trace functions from seqno to request 2014-12-03 09:35:21 +01:00
i915_gem_gtt.c drm/i915: Stop putting GGTT VMA at the head of the list 2014-12-04 11:51:36 +01:00
i915_gem_gtt.h drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
i915_gem_stolen.c drm/i915: Move flags describing VMA mappings into the VMA 2014-11-04 14:04:51 +01:00
i915_gem_tiling.c drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_userptr.c drm/i915: Do not leak pages when freeing userptr objects 2014-09-29 15:31:01 +02:00
i915_gem.c drm/i915: release struct_mutex on the i915_gem_init_hw fail path 2014-12-05 15:03:44 +01:00
i915_gpu_error.c drm/i915: Remove the now redundant 'obj->ring' 2014-12-03 09:35:23 +01:00
i915_ioc32.c drm/i915: remove redundant #ifdef CONFIG_COMPAT 2014-10-24 16:34:07 +02:00
i915_irq.c drm/i915: Convert 'i915_seqno_passed' calls into 'i915_gem_request_completed' 2014-12-03 09:35:22 +01:00
i915_params.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
i915_reg.h drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
i915_suspend.c drm/i915: unify remaining register save/restore code a bit 2014-11-14 10:29:28 +01:00
i915_sysfs.c drm/i915: Do not export RC6p and RC6pp if they don't exist 2014-10-24 16:34:00 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Convert 'trace_irq' to use requests rather than seqnos 2014-12-03 09:35:24 +01:00
i915_ums.c drm/i915: don't save/restore backlight hist ctl registers 2014-11-14 10:29:28 +01:00
intel_acpi.c
intel_audio.c drm/i915/audio: fix monitor presence indication after disable 2014-11-18 11:17:37 +01:00
intel_bios.c drm/i915: Parse VBT PSR block. 2014-12-03 09:35:05 +01:00
intel_bios.h drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
intel_crt.c drm/i915: Don't claim that we're resetting PCH ADPA register 2014-10-24 16:34:10 +02:00
intel_ddi.c drm/i915/skl: Update the DDI translation values for DP/eDP 1.3 2014-12-03 17:56:37 +01:00
intel_display.c drm/i915: Fix up seqno -> request merge issues 2014-12-06 01:46:26 +01:00
intel_dp_mst.c drm: Miscellaneous fixes for v3.19-rc1 2014-11-15 09:37:20 +10:00
intel_dp.c drm/i915: Enable PSR for Baytrail and Braswell. 2014-12-03 09:35:10 +01:00
intel_drv.h drm/i915: Make all plane disables use 'update_plane' (v5) 2014-12-06 01:46:26 +01:00
intel_dsi_cmd.c drm/i915: Dual link needs Shutdown and Turn on packet for both ports 2014-12-05 15:28:26 +01:00
intel_dsi_cmd.h drm/i915: Added port as parameter to the functions which does read/write of DSI Controller 2014-12-04 12:21:58 +01:00
intel_dsi_panel_vbt.c drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
intel_dsi_pll.c drm/i915: cck reg used for checking DSI Pll locked 2014-12-05 15:28:56 +01:00
intel_dsi.c drm/i915: Update the DSI enable path to support dual 2014-12-05 15:32:14 +01:00
intel_dsi.h drm/i915: Pixel Clock changes for DSI dual link 2014-12-05 15:28:20 +01:00
intel_dvo.c drm/i915: Don't call DVO mode_set hook on DPMS changes 2014-09-03 11:05:14 +02:00
intel_fbdev.c drm/i915: Make intel_pin_and_fence_fb_obj take plane and framebuffer 2014-11-07 18:41:51 +01:00
intel_fifo_underrun.c drm/i915: kerneldoc for intel_fifo_underrun.c 2014-10-24 16:33:55 +02:00
intel_frontbuffer.c drm/i915: Introduce intel_psr.c 2014-11-17 19:12:28 +01:00
intel_hdmi.c drm/i915/chv: Enable AVI, SPD and HDMI infoframes for CHV. 2014-12-03 09:29:34 +01:00
intel_i2c.c
intel_lrc.c drm/i915: Zero fill the request structure 2014-12-06 01:46:26 +01:00
intel_lrc.h drm/i915/bdw: Pin the context backing objects to GGTT on-demand 2014-11-19 19:32:58 +01:00
intel_lvds.c drm/i915: Pass the current pipe from eDP init to backlight setup 2014-11-14 10:29:20 +01:00
intel_modes.c
intel_opregion.c ACPI / i915: Update the condition to ignore firmware backlight change request 2014-09-30 01:11:18 +02:00
intel_overlay.c drm/i915: Deal with video overlay on GPU reset 2014-12-03 09:35:24 +01:00
intel_panel.c Linux 3.18-rc7 2014-12-02 10:58:33 +10:00
intel_pm.c drm/i915: Convert pxvid to extvid lookup table to a function 2014-12-03 09:35:29 +01:00
intel_psr.c drm/i915: VLV/CHV PSR Software timer mode 2014-12-03 09:35:08 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c drm/i915 Update Gen8 golden context batch buffer 2014-11-04 14:04:54 +01:00
intel_renderstate_gen9.c drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
intel_renderstate.h drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
intel_ringbuffer.c drm/i915: Zero fill the request structure 2014-12-06 01:46:26 +01:00
intel_ringbuffer.h drm/i915: s/init()/init_hw()/ in intel_engine_cs 2014-12-03 09:35:27 +01:00
intel_runtime_pm.c drm/i915: Fix short description of intel_display_power_is_enabled() 2014-12-03 09:35:12 +01:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Don't destroy DRM properties in the driver 2014-10-31 18:38:17 +01:00
intel_sideband.c
intel_sprite.c drm/i915: Make all plane disables use 'update_plane' (v5) 2014-12-06 01:46:26 +01:00
intel_tv.c drm/i915: Clarify irq_lock locking, intel_tv_detect 2014-09-19 14:43:19 +02:00
intel_uncore.c drm/i915/skl: Update in Gen9 multi-engine forcewake range 2014-12-03 09:29:41 +01:00
Kconfig
Makefile drm/i915: Introduce intel_psr.c 2014-11-17 19:12:28 +01:00