Message ID | 20220525183702.490989-10-matthew.auld@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t,1/9] lib/i915_drm_local: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS | expand |
Patch 6 is missing commit message, with that and the GitLab.Pipeline warning fix the series LGTM Reviewed-by: Nirmoy Das <nirmoy.das@intel.com> On 5/25/2022 8:37 PM, Matthew Auld wrote: > kms_frontbuffer_tracking@basic falls over if the fb needs to be migrated > from non-mappable device memory, to the mappable part, due to being > temporarily pinned for scanout, when hitting the CPU fault handler, > which just gives us SIGBUS. If the device has a small BAR let's attempt > to use the mappable portion, if possible. > > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> > --- > lib/ioctl_wrappers.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c > index 09eb3ce7..7713e78b 100644 > --- a/lib/ioctl_wrappers.c > +++ b/lib/ioctl_wrappers.c > @@ -635,7 +635,8 @@ uint32_t gem_buffer_create_fb_obj(int fd, uint64_t size) > uint32_t handle; > > if (gem_has_lmem(fd)) > - handle = gem_create_in_memory_regions(fd, size, REGION_LMEM(0)); > + handle = gem_create_with_cpu_access_in_memory_regions(fd, size, > + REGION_LMEM(0)); > else > handle = gem_create(fd, size); >
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index 09eb3ce7..7713e78b 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c @@ -635,7 +635,8 @@ uint32_t gem_buffer_create_fb_obj(int fd, uint64_t size) uint32_t handle; if (gem_has_lmem(fd)) - handle = gem_create_in_memory_regions(fd, size, REGION_LMEM(0)); + handle = gem_create_with_cpu_access_in_memory_regions(fd, size, + REGION_LMEM(0)); else handle = gem_create(fd, size);
kms_frontbuffer_tracking@basic falls over if the fb needs to be migrated from non-mappable device memory, to the mappable part, due to being temporarily pinned for scanout, when hitting the CPU fault handler, which just gives us SIGBUS. If the device has a small BAR let's attempt to use the mappable portion, if possible. Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> --- lib/ioctl_wrappers.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)