[Nouveau] [PATCH v2 0/2] drm/nouveau: option for staging ioctls and new GEM_SET_TILING ioctl

Alexandre Courbot acourbot at nvidia.com
Mon Jun 15 00:09:27 PDT 2015


Second version of this patchset addressing Ben's comments and fixing a few
extra things.

This patchset proposes to introduce a "staging" module option to dynamically
enable features (mostly ioctls) that are merged but may be refined before
they are declared "stable". The second patch illustrates the use of this
staging option with the SET_TILING ioctl, which can be used to specify the
tiling options of a PRIME-imported buffer.

The staging parameter will allow us (particularly, us at NVIDIA) to experiment
more freely with new features and avoid carrying out-of-tree patches for long
periods of time. To prevent abuse, the number of staging ioctls is limited to 8
(range 0x98 to 0xa0) that are to be recycled as staging ioctls become stable and
are assigned a final number.

Changes since v1:
- Use one module option per staging ioctl
- Only allow GEM_SET_TILING to be called on dma-buf imported buffers
- Move the code setting nvkm_mem::memtype into its own function to avoid
  duplicating code

Alexandre Courbot (1):
  drm/nouveau: placeholders for staging ioctls

Ari Hirvonen (1):
  drm/nouveau: add GEM_SET_TILING staging ioctl

 drm/nouveau/nouveau_bo.c           | 18 ++++++++++++
 drm/nouveau/nouveau_bo.h           |  2 ++
 drm/nouveau/nouveau_drm.c          |  7 +++++
 drm/nouveau/nouveau_gem.c          | 58 ++++++++++++++++++++++++++++++++++++++
 drm/nouveau/nouveau_gem.h          |  2 ++
 drm/nouveau/nouveau_ttm.c          | 13 +--------
 drm/nouveau/uapi/drm/nouveau_drm.h | 11 ++++++++
 7 files changed, 99 insertions(+), 12 deletions(-)

-- 
2.4.2



More information about the Nouveau mailing list