sync code with last fixes and improvements from OpenBSD

This commit is contained in:
purplerain 2023-08-11 09:11:00 +00:00
parent 371ae113c6
commit 454dab66ed
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
95 changed files with 1784 additions and 2042 deletions

View file

@ -205,7 +205,12 @@ i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj,
int i915_gem_object_pwrite_phys(struct drm_i915_gem_object *obj,
const struct drm_i915_gem_pwrite *args)
{
#ifdef __linux__
void *vaddr = sg_page(obj->mm.pages->sgl) + args->offset;
#else
struct drm_dmamem *dmah = (void *)sg_page(obj->mm.pages->sgl);
void *vaddr = dmah->kva + args->offset;
#endif
char __user *user_data = u64_to_user_ptr(args->data_ptr);
struct drm_i915_private *i915 = to_i915(obj->base.dev);
int err;
@ -236,7 +241,12 @@ int i915_gem_object_pwrite_phys(struct drm_i915_gem_object *obj,
int i915_gem_object_pread_phys(struct drm_i915_gem_object *obj,
const struct drm_i915_gem_pread *args)
{
#ifdef __linux__
void *vaddr = sg_page(obj->mm.pages->sgl) + args->offset;
#else
struct drm_dmamem *dmah = (void *)sg_page(obj->mm.pages->sgl);
void *vaddr = dmah->kva + args->offset;
#endif
char __user *user_data = u64_to_user_ptr(args->data_ptr);
int err;