Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions autotools/m4/drm_gem_dmabuf_mmap.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
dnl #
dnl # 0adec22702d4
dnl # drm: Remove struct drm_driver.gem_prime_mmap
dnl #
AC_DEFUN([AC_DRM_DRIVER_GEM_PRIME_MMAP_NOT_PRESENT], [
AC_KERNEL_DO_BACKGROUND([
AC_KERNEL_TRY_COMPILE([
#include <drm/drm_device.h>
#include <drm/drm_drv.h>
],[
struct drm_driver drv;
drv.gem_prime_mmap = NULL;
(void)drv;
],[
],[
AC_DEFINE(BPM_DRM_DRIVER_GEM_PRIME_MMAP_NOT_PRESENT, 1,
[struct drm_driver does not have gem_prime_mmap callback])
])
])
])
1 change: 1 addition & 0 deletions autotools/m4/xe.m4
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ AC_DEFUN([AC_XE_CONFIG], [
AC_MEI_CLASS_BUS_REGISTER_CONST_ARGS_NOT_PRESENT
AC_PCI_RESIZE_RESOURCE_VF_BARS_NOT_PRESENT
AC_DEV_PM_SMART_SUSPEND_NOT_PRESENT
AC_DRM_DRIVER_GEM_PRIME_MMAP_NOT_PRESENT

dnl # SVM-related probes
AC_SHRINKER_ALLOC_NOT_PRESENT
Expand Down
22 changes: 22 additions & 0 deletions backport/backport-include/drm/drm_prime.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef _DRM_PRIME_H
#define _DRM_PRIME_H

#include_next <drm/drm_prime.h>
#include <linux/dma-buf.h>

#ifdef BPM_DRM_DRIVER_GEM_PRIME_MMAP_NOT_PRESENT
static inline int backport_drm_gem_dmabuf_mmap(struct dma_buf *dma_buf,
struct vm_area_struct *vma)
{
struct drm_gem_object *obj = dma_buf->priv;
return drm_gem_prime_mmap(obj, vma);
}
#undef drm_gem_dmabuf_mmap
#define drm_gem_dmabuf_mmap(dma_buf, vma) \
backport_drm_gem_dmabuf_mmap((dma_buf), (vma))

#endif /* BPM_DRM_DRIVER_GEM_PRIME_MMAP_NOT_PRESENT */

#endif /* _DRM_PRIME_H */