From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4ADA6EC78 for ; Thu, 24 Jun 2021 18:33:22 +0000 (UTC) Date: Thu, 24 Jun 2021 11:33:11 -0700 Message-ID: <87h7hnjeoo.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" In-Reply-To: References: <20210511090000.1521342-1-maarten.lankhorst@linux.intel.com> <87r1gsjbh3.wl-ashutosh.dixit@intel.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Subject: Re: [igt-dev] [PATCH i-g-t] i915: Handle the case where legacy mmap is not available List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Maarten Lankhorst Cc: igt-dev@lists.freedesktop.org List-ID: On Thu, 24 Jun 2021 02:02:04 -0700, Maarten Lankhorst wrote: > > Op 24-06-2021 om 03:30 schreef Dixit, Ashutosh: > > On Tue, 11 May 2021 02:00:00 -0700, Maarten Lankhorst wrote: > >> @@ -84,10 +93,14 @@ void *__gem_mmap__gtt(int fd, uint32_t handle, uin= t64_t size, unsigned prot) > >> { > >> struct drm_i915_gem_mmap_gtt mmap_arg; > >> void *ptr; > >> + int ret; > >> > >> memset(&mmap_arg, 0, sizeof(mmap_arg)); > >> mmap_arg.handle =3D handle; > >> - if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_MMAP_GTT, &mmap_arg)) > >> + ret =3D igt_ioctl(fd, DRM_IOCTL_I915_GEM_MMAP_GTT, &mmap_arg); > >> + if (ret =3D=3D -1 && errno =3D=3D EOPNOTSUPP) > > What is the handler for DRM_IOCTL_I915_GEM_MMAP_GTT ioctl in i915 (in t= he > > kernel)? I am unable to find it so for now I am just assuming that it w= ill > > just get routed to the handler for DRM_IOCTL_I915_GEM_MMAP and return > > EOPNOTSUPP for Gen12+ which is what the code above seems to be assuming. > > tools/include/uapi/drm/i915_drm.h:#define DRM_IOCTL_I915_GEM_MMAP=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_G= EM_MMAP, struct drm_i915_gem_mmap) > tools/include/uapi/drm/i915_drm.h:#define DRM_IOCTL_I915_GEM_MMAP_GTT=A0= =A0 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_= mmap_gtt) > tools/include/uapi/drm/i915_drm.h:#define DRM_IOCTL_I915_GEM_MMAP_OFFSET= =A0=A0=A0=A0=A0=A0=A0 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, st= ruct drm_i915_gem_mmap_offset) > > I wasn't aware of that, even.. > > MMAP_GTT is MMAP_OFFSET with flags and extensions set to 0. Which means > flags =3D I915_MMAP_OFFSET_GTT. Ah, got it! Thanks! _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev