]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Retain default context state across shrinking
authorVenkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Fri, 27 Nov 2020 12:07:16 +0000 (12:07 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 3 Dec 2020 01:05:58 +0000 (17:05 -0800)
commit9d5b5930b7959308176efd0abc36886d9577fb85
treefbca4cd0a78cd06ccf1ce93c2db932fdfc14b33c
parent537ee18edb29c49a19da1d025cbc1bc1c1a9c42d
drm/i915/gt: Retain default context state across shrinking

As we use a shmemfs file to hold the context state, when not in use it
may be swapped out, such as across suspend. Since we wrote into the
shmemfs without marking the pages as dirty, the contents may be dropped
instead of being written back to swap. On re-using the shmemfs file,
such as creating a new context after resume, the contents of that file
were likely garbage and so the new context could then hang the GPU.

Simply mark the page as being written when copying into the shmemfs
file, and it the new contents will be retained across swapout.

Fixes: f94aa9517137 ("drm/i915/gt: Keep a no-frills swappable copy of the default context state")
Cc: Sudeep Dutt <sudeep.dutt@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: CQ Tang <cq.tang@intel.com>
Signed-off-by: Venkata Ramana Nayana <venkata.ramana.nayana@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: <stable@vger.kernel.org> # v5.8+
Link: https://patchwork.freedesktop.org/patch/msgid/20201127120718.454037-161-matthew.auld@intel.com
(cherry picked from commit a9d71f76ccfd309f3bd5f7c9b60e91a4decae792)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gt/shmem_utils.c