drm/nouveau/falcon: add msgqueue interface
authorAlexandre Courbot <acourbot@nvidia.com>
Thu, 19 Jan 2017 03:52:50 +0000 (12:52 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 7 Mar 2017 07:05:12 +0000 (17:05 +1000)
commit9b536e9d525191cab931c997556af6b9b4637164
tree7ac77c6f32f99f5ab3e52d226c6aaaca9c8abd1f
parent0117b3369f669e6f6ab9cc408358ba745dfc6d26
drm/nouveau/falcon: add msgqueue interface

A message queue firmware implements a specific protocol allowing the
host to send "commands" to a falcon, and the falcon to reply using
"messages". This patch implements the common part of this protocol and
defines the interface that the host can use.

Due to the way the firmware is developped internally at NVIDIA (where
kernel driver and firmware evolve in lockstep), firmwares taken at
different points in time can have frustratingly subtle differences that
must be taken into account. This code is architectured to make
implementing such differences as easy as possible.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/include/nvkm/core/msgqueue.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/falcon/Kbuild
drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.h [new file with mode: 0644]