History log of /linux-master/drivers/gpu/drm/nouveau/nvkm/falcon/msgq.c
Revision Date Author Comments
# 2541626c 01-Jun-2022 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/acr: use common falcon HS FW code for ACR FWs

Adds context binding and support for FWs with a bootloader to the code
that was added to load VPR scrubber HS binaries, and ports ACR over to
using all of it.

- gv100 split from gp108 to handle FW exit status differences

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>


# 3b330f08 01-Jun-2022 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/sec2: unload RTOS before tearing down WPR

Reset regs won't be available on Ampere while SEC2 RTOS is running, and
we're apparently supposed to be doing this on earlier GPUs too.

v2:
- fixed some excessive indentation

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>


# b448a266 09-Jun-2020 Timur Tabi <ttabi@nvidia.com>

drm/nouveau/nvfw: firmware structures should begin with nvfw_

Rename all structures that are used directly by firmware to have a nvfw_
prefix.

This makes it easier to identify structures that have a fixed, specific
layout. A future patch will define several more such structures, so it's
important to be consistent now.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 91a4e83a 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: rename msgq-related nvkm_msgqueue_queue to nvkm_falcon_msgq

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# e1cc5798 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: pass explicit message queue pointer to recv()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# d114a139 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: move handling of init message to subdevs

When the PMU/SEC2 LS FWs have booted, they'll send a message to the host
with various information, including the configuration of message/command
queues that are available.

Move the handling for this to the relevant subdevs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 2d063981 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: drop nvkm_msgqueue argument to functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 77b1ab61 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: switch to falcon queue printk macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# e9602a1b 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: simplify msg_queue_pop() error handling

We always want at least requested size, make anything less a more direct
error condition.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# f09a3ee3 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: remove error handling for msg_queue_open(), it can't fail

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# a15d8f58 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/qmgr: rename remaining nvkm_msgqueue bits to nvkm_falcon_qmgr

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 8e90a98d 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/qmgr: support syncronous command submission from common code

Functions implementing FW commands had to implement this themselves, let's
move that to common code and plumb the return code from callbacks through.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# c80157a2 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/qmgr: allow arbtrary priv + return code for callbacks

Code to interface with LS firmwares is being moved to the subdevs where it
belongs, rather than living in the common falcon code.

Arbitrary private data passed to callbacks is to allow for something other
than struct nvkm_msgqueue to be passed into the callback (like the pointer
to the subdev itself, for example), and the return code will be used where
we'd like to detect failure from synchronous messages.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 0ae59432 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/qmgr: move sequence tracking from nvkm_msgqueue to nvkm_falcon_qmgr

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 22431189 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn/msgq: explicitly create message queue from subdevs

Code to interface with LS firmwares is being moved to the subdevs where it
belongs, rather than living in the common falcon code.

This is an incremental step towards that goal.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>


# 7e1659cc 14-Jan-2020 Ben Skeggs <bskeggs@redhat.com>

drm/nouveau/flcn: split msgqueue into multiple pieces

To make things clearer while modifying the interfaces, split msgqueue into
Queue Manager, Command Queue, and Message Queue.

There should be no code changes here, these will be done incrementally.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>