drm/msm: Add per-instance submit queues
authorJordan Crouse <jcrouse@codeaurora.org>
Fri, 20 Oct 2017 17:06:55 +0000 (11:06 -0600)
committerRob Clark <robdclark@gmail.com>
Sat, 28 Oct 2017 15:01:35 +0000 (11:01 -0400)
commitf7de15450e906ed6586b29bde609a5686cd0d034
tree2ab062113790ccb8b21eac7dff55cb0ba225f5c2
parent0033e1b523f6d6a60ff7beaaa923cd7656a72959
drm/msm: Add per-instance submit queues

Currently the behavior of a command stream is provided by the user
application during submission and the application is expected to internally
maintain the settings for each 'context' or 'rendering queue' and specify
the correct ones.

This works okay for simple cases but as applications become more
complex we will want to set context specific flags and do various
permission checks to allow certain contexts to enable additional
privileges.

Add kernel-side submit queues to be analogous to 'contexts' or
'rendering queues' on the application side. Each file descriptor
instance will maintain its own list of queues. Queues cannot be
shared between file descriptors.

For backwards compatibility context id '0' is defined as a default
context specifying no priority and no special flags. This is
intended to be the usual configuration for 99% of applications so
that a garden variety application can function correctly without
creating a queue. Only those applications requiring the specific
benefit of different queues need create one.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/Makefile
drivers/gpu/drm/msm/msm_drv.c
drivers/gpu/drm/msm/msm_drv.h
drivers/gpu/drm/msm/msm_gem.h
drivers/gpu/drm/msm/msm_gem_submit.c
drivers/gpu/drm/msm/msm_gpu.h
drivers/gpu/drm/msm/msm_submitqueue.c [new file with mode: 0644]
include/uapi/drm/msm_drm.h