mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
drm/i915: Fix slightly botched merge in __reloc_entry_gpu
This function should be an int, not a bool. Presumably because we had the same 2 reverts in a slightly different way, git got confused. Thanks to Dan for reporting. :) The conflict is between the 3 reverts in drm-fixes:4993a8a378
("Revert "drm/i915: Remove i915_gem_object_get_dirty_page()"")ad5d95e4d5
("Revert "drm/i915/gem: Async GPU relocations only"")20561da3a2
("Revert "drm/i915/gem: Delete unused code"") And the slightly different combined revert in drm-intel-gt-next, but with the same goal:102a0a9051
("Revert "drm/i915/gem: Async GPU relocations only"") In the merge commit1f4b2aca79
("Merge tag 'drm-intel-gt-next-2020-09-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-next") things went wrong, but the merge commit view now doesn't show any conflict anymore (as git tends to do when the resolution picks one or the other branch). The need to handle other than just true/false error codes in __reloc_entry_gpu was added in the dma_resv locking changes inc43ce12328
("drm/i915: Use per object locking in execbuf, v12.") Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Cc: Dave Airlie <airlied@redhat.com> [danvet: Explain this entire saga a lot better, adding tons of commit references. Also note that this was merged before full intel-gfx-CI results, only after BAT, since the breakage at the BAT run is already severe enough to block all pre-merge testing.] Fixes:1f4b2aca79
("Merge tag 'drm-intel-gt-next-2020-09-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-next") Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20200910111225.2184193-1-maarten.lankhorst@linux.intel.com
This commit is contained in:
parent
877d8c0743
commit
166774a2c2
@ -1437,7 +1437,7 @@ static unsigned long vma_phys_addr(struct i915_vma *vma, u32 offset)
|
|||||||
return addr + offset_in_page(offset);
|
return addr + offset_in_page(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool __reloc_entry_gpu(struct i915_execbuffer *eb,
|
static int __reloc_entry_gpu(struct i915_execbuffer *eb,
|
||||||
struct i915_vma *vma,
|
struct i915_vma *vma,
|
||||||
u64 offset,
|
u64 offset,
|
||||||
u64 target_addr)
|
u64 target_addr)
|
||||||
@ -1456,7 +1456,7 @@ static bool __reloc_entry_gpu(struct i915_execbuffer *eb,
|
|||||||
|
|
||||||
batch = reloc_gpu(eb, vma, len);
|
batch = reloc_gpu(eb, vma, len);
|
||||||
if (batch == ERR_PTR(-EDEADLK))
|
if (batch == ERR_PTR(-EDEADLK))
|
||||||
return (s64)-EDEADLK;
|
return -EDEADLK;
|
||||||
else if (IS_ERR(batch))
|
else if (IS_ERR(batch))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user