/* SPDX-License-Identifier: MIT */ #ifndef __NVKM_FALCON_QMGR_H__ #define __NVKM_FALCON_QMGR_H__ #include <core/falcon.h>
#define HDR_SIZE sizeof(struct nvfw_falcon_msg) #define QUEUE_ALIGNMENT 4 /* max size of the messages we can receive */ #define MSG_BUF_SIZE 128
/** * struct nvkm_falcon_qmgr_seq - keep track of ongoing commands * * Every time a command is sent, a sequence is assigned to it so the * corresponding message can be matched. Upon receiving the message, a callback * can be called and/or a completion signaled. * * @id: sequence ID * @state: current state * @callback: callback to call upon receiving matching message * @completion: completion to signal after callback is called
*/ struct nvkm_falcon_qmgr_seq {
u16 id; enum {
SEQ_STATE_FREE = 0,
SEQ_STATE_PENDING,
SEQ_STATE_USED,
SEQ_STATE_CANCELLED
} state; bool async;
nvkm_falcon_qmgr_callback callback; void *priv; struct completion done; int result;
};
/* * We can have an arbitrary number of sequences, but realistically we will * probably not use that much simultaneously.
*/ #define NVKM_FALCON_QMGR_SEQ_NUM 16
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.