Skip to content

Commit 4993a8a

Browse files
committed
Revert "drm/i915: Remove i915_gem_object_get_dirty_page()"
These commits caused a regression on Lenovo t520 sandybridge machine belonging to reporter. We are reverting them for 5.10 for other reasons, so just do it for 5.9 as well. This reverts commit 763fedd. Reported-by: Harald Arnesen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
1 parent 8052ff4 commit 4993a8a

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

drivers/gpu/drm/i915/gem/i915_gem_object.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@ struct page *
258258
i915_gem_object_get_page(struct drm_i915_gem_object *obj,
259259
unsigned int n);
260260

261+
struct page *
262+
i915_gem_object_get_dirty_page(struct drm_i915_gem_object *obj,
263+
unsigned int n);
264+
261265
dma_addr_t
262266
i915_gem_object_get_dma_address_len(struct drm_i915_gem_object *obj,
263267
unsigned long n,

drivers/gpu/drm/i915/gem/i915_gem_pages.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,20 @@ i915_gem_object_get_page(struct drm_i915_gem_object *obj, unsigned int n)
548548
return nth_page(sg_page(sg), offset);
549549
}
550550

551+
/* Like i915_gem_object_get_page(), but mark the returned page dirty */
552+
struct page *
553+
i915_gem_object_get_dirty_page(struct drm_i915_gem_object *obj,
554+
unsigned int n)
555+
{
556+
struct page *page;
557+
558+
page = i915_gem_object_get_page(obj, n);
559+
if (!obj->mm.dirty)
560+
set_page_dirty(page);
561+
562+
return page;
563+
}
564+
551565
dma_addr_t
552566
i915_gem_object_get_dma_address_len(struct drm_i915_gem_object *obj,
553567
unsigned long n,

0 commit comments

Comments
 (0)