--- a/kernel/nvidia-drm/nvidia-drm-fb.c +++ b/kernel/nvidia-drm/nvidia-drm-fb.c @@ -77,7 +77,7 @@ static struct drm_framebuffer *internal_framebuffer_create ( struct drm_device *dev, - struct drm_file *file, struct drm_mode_fb_cmd2 *cmd, + struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd, uint64_t nvkms_params_ptr, uint64_t nvkms_params_size ) @@ -199,7 +199,7 @@ struct drm_framebuffer *nvidia_drm_framebuffer_create ( struct drm_device *dev, - struct drm_file *file, struct drm_mode_fb_cmd2 *cmd + struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd ) { return internal_framebuffer_create(dev, file, cmd, 0, 0); --- a/kernel/nvidia-drm/nvidia-drm-fb.h +++ b/kernel/nvidia-drm/nvidia-drm-fb.h @@ -45,7 +45,7 @@ struct drm_framebuffer *nvidia_drm_framebuffer_create ( struct drm_device *dev, - struct drm_file *file, struct drm_mode_fb_cmd2 *cmd + struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd ); int nvidia_drm_add_nvkms_fb( --- a/kernel/nvidia-drm/nvidia-drm-linux.c +++ b/kernel/nvidia-drm/nvidia-drm-linux.c @@ -31,6 +31,7 @@ #if defined(NV_DRM_AVAILABLE) +#include "nv-mm.h" #include "nv-pgprot.h" MODULE_PARM_DESC( @@ -121,8 +122,7 @@ down_read(&mm->mmap_sem); - pages_pinned = get_user_pages(current, mm, - address, pages_count, write, force, + pages_pinned = NV_GET_USER_PAGES(address, pages_count, write, force, user_pages, NULL); up_read(&mm->mmap_sem);