Chris Wilson
4c9613ce55
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: 0a97015d45ee ("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
(cherry picked from commit 83bc0f5b432f60394466deef16fc753e27371d0b)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-10-03 08:02:42 -07:00
..
2018-09-18 10:39:44 +08:00
2018-08-15 13:41:08 -07:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-02-06 11:41:40 -08:00
2018-08-06 11:18:01 -07:00
2018-07-20 12:29:24 +10:00
2018-08-06 11:18:01 -07:00
2018-03-09 22:21:41 +00:00
2018-03-09 22:21:41 +00:00
2018-02-16 14:12:48 +00:00
2017-07-27 22:07:24 +02:00
2018-07-06 14:05:23 +01:00
2018-05-25 08:21:19 +01:00
2018-06-20 15:59:34 +02:00
2018-07-09 13:55:41 +01:00
2018-07-06 18:22:41 +01:00
2018-02-09 22:29:02 +00:00
2018-07-20 12:29:24 +10:00
2018-07-13 16:12:03 +01:00
2018-02-16 14:12:48 +00:00
2017-08-15 15:46:57 +01:00
2018-07-13 16:18:15 +01:00
2018-07-06 18:22:37 +01:00
2018-02-21 20:57:22 +00:00
2018-07-11 13:56:16 +01:00
2018-07-10 16:29:56 -07:00
2017-12-07 23:26:55 +00:00
2018-08-22 10:52:44 -07:00
2018-07-18 14:49:55 +01:00
2018-06-28 22:55:10 +01:00
2017-11-30 10:11:49 +02:00
2017-10-07 10:11:41 +01:00
2018-10-03 08:02:42 -07:00
2018-10-03 08:02:42 -07:00
2018-02-15 16:22:21 +00:00
2018-10-01 10:19:05 -07:00
2017-12-22 11:12:15 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-09-18 19:46:36 +01:00
2018-02-12 23:34:50 -08:00
2017-11-13 15:59:03 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-02-12 23:34:55 -08:00
2017-11-13 15:59:24 +00:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-03-29 13:25:30 +01:00
2018-03-29 13:25:30 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2017-11-02 14:52:58 +00:00
2017-08-03 18:18:05 +01:00
2018-07-19 18:39:31 +03:00
2018-07-19 18:39:31 +03:00
2018-10-01 10:18:41 -07:00
2018-07-09 13:55:41 +01:00
2018-08-15 17:39:07 -07:00
2018-06-05 16:45:01 +01:00
2018-06-07 10:24:50 +08:00
2018-05-29 13:53:07 +03:00
2018-03-08 10:07:18 +00:00
2018-09-03 21:31:36 -07:00
2018-07-09 13:55:41 +01:00
2018-07-06 18:22:43 +01:00
2018-04-18 21:09:11 +01:00
2018-07-16 11:23:45 +01:00
2017-09-29 12:30:17 +01:00
2018-01-15 10:29:18 +00:00
2017-07-09 18:48:37 -07:00
2018-02-08 15:08:51 +00:00
2017-05-03 11:08:48 +01:00
2018-03-12 11:24:49 -07:00
2018-05-02 23:57:18 +01:00
2018-07-07 08:09:43 +01:00
2017-11-02 11:10:55 +01:00
2018-06-11 14:03:47 +01:00
2018-08-22 17:31:34 -07:00
2018-06-05 21:11:20 +01:00
2018-06-05 16:57:01 +03:00
2018-08-29 14:11:53 -07:00
2018-07-06 18:23:07 +01:00
2018-07-06 12:14:16 +03:00
2018-06-14 15:59:09 +03:00
2018-06-28 13:10:44 +10:00
2018-06-28 13:10:44 +10:00
2018-08-29 14:11:53 -07:00
2018-06-20 12:00:31 -07:00
2018-06-28 20:56:35 +01:00
2018-07-05 16:40:51 +03:00
2018-03-21 09:40:55 -04:00
2018-06-19 17:18:24 +03:00
2018-05-02 13:05:01 +03:00
2018-09-03 21:34:36 -07:00
2018-07-06 14:05:23 +01:00
2018-07-06 14:05:23 +01:00
2018-09-10 10:18:42 -07:00
2018-08-20 15:38:44 -07:00
2018-06-18 14:46:04 +03:00
2018-06-14 14:58:22 -07:00
2018-09-03 21:34:36 -07:00
2018-09-03 21:31:28 -07:00
2018-04-10 13:12:22 +03:00
2018-07-19 05:46:30 +10:00
2018-06-21 19:01:40 +03:00
2018-08-20 15:38:44 -07:00
2017-08-16 18:02:00 +03:00
2018-07-06 10:54:05 +03:00
2018-07-06 10:54:05 +03:00
2018-06-19 15:47:49 +03:00
2018-07-13 22:32:20 +01:00
2018-06-29 10:06:31 +02:00
2018-05-22 09:44:02 +01:00
2017-09-25 16:54:09 +03:00
2018-05-24 16:05:19 +03:00
2018-03-15 10:00:03 +00:00
2018-04-30 16:01:13 +01:00
2018-01-03 14:02:10 +00:00
2018-04-10 17:15:29 +01:00
2018-03-28 20:35:17 +01:00
2018-03-23 17:03:24 +00:00
2017-12-06 14:41:47 +00:00
2018-06-12 15:44:45 +01:00
2018-06-12 15:44:45 +01:00
2018-06-12 15:44:47 +01:00
2018-03-14 15:35:37 +02:00
2018-07-19 10:13:26 +01:00
2017-12-14 08:06:54 +00:00
2018-07-14 19:21:20 +01:00
2018-06-28 22:51:32 +01:00
2018-07-10 16:46:09 +01:00
2017-05-30 15:59:47 +03:00
2018-06-14 19:20:33 +01:00
2018-06-12 16:19:22 -07:00
2018-08-28 12:50:43 -07:00
2018-07-13 18:22:22 +03:00
2018-03-23 17:03:24 +00:00
2018-03-02 09:04:45 +00:00
2018-06-28 22:51:33 +01:00
2018-06-28 22:51:33 +01:00
2018-07-12 17:31:28 +02:00
2018-08-15 17:39:07 -07:00
2018-03-07 15:07:39 +02:00
2018-07-19 13:23:43 +01:00
2018-07-19 10:13:26 +01:00
2018-08-29 14:11:53 -07:00
2018-07-20 12:29:24 +10:00
2018-05-03 16:41:04 -07:00
2018-02-21 20:57:22 +00:00
2018-07-13 18:40:27 +02:00
2018-06-14 13:48:10 +03:00
2018-06-14 13:48:10 +03:00
2018-09-11 08:24:03 -07:00
2018-07-19 18:39:31 +03:00
2018-07-06 14:33:35 +02:00
2018-08-06 11:18:01 -07:00
2018-07-12 23:33:38 -07:00
2017-08-14 12:15:49 +03:00
2018-08-15 13:41:01 -07:00
2018-07-16 17:17:27 +01:00
2018-07-05 16:40:51 +03:00
2018-07-20 10:46:49 +10:00
2017-10-11 08:56:56 +01:00
2018-07-20 12:29:24 +10:00
2018-07-12 10:18:19 +01:00
2018-03-23 17:03:24 +00:00
2018-05-02 13:40:17 -07:00
2018-06-28 22:51:33 +01:00
2018-03-23 17:03:24 +00:00
2018-08-15 13:41:05 -07:00
2018-08-15 13:41:05 -07:00
2018-06-18 14:44:52 +03:00
2018-03-28 14:42:56 +03:00
2018-03-14 15:35:37 +02:00
2018-08-06 11:18:04 -07:00
2018-04-14 18:36:45 +01:00
2018-08-20 15:38:44 -07:00
2018-07-19 05:46:30 +10:00
2018-07-06 12:13:34 +03:00
2018-07-06 10:54:05 +03:00
2018-07-06 10:54:10 +03:00