nvgpu: ga10b: gsp: implement runlist submit apis

- implemented device info cmd to send device info to the gsp for
  runlist submission. Currently GSP scheduler support only GR
  engine '0' instance.
- implemented runlist submit cmd. GSP firmware will submit the
  corresponding runlist by writing into submit registers. This
  command is direct replacement of hw_submit ga10b hal for GR engine.

NVGPU-6790

Signed-off-by: Ramesh Mylavarapu <rmylavarapu@nvidia.com>
Change-Id: I5dc573a6ad698fe20b49a3466a8e50b94cae74df
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2608923
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Ramesh Mylavarapu
2022-01-04 23:20:36 +05:30
committed by mobile promotions
parent 6c1a77dfa9
commit 2a98d20263
13 changed files with 307 additions and 5 deletions

View File

@@ -24,6 +24,7 @@
#define NVGPU_GSP_CMD_IF_H
#include <nvgpu/types.h>
#include "../gsp_runlist.h"
#include "gsp_seq.h"
struct gk20a;
@@ -35,6 +36,8 @@ struct gk20a;
#define NV_GSP_UNIT_REWIND NV_FLCN_UNIT_ID_REWIND
#define NV_GSP_UNIT_NULL 0x01U
#define NV_GSP_UNIT_INIT 0x02U
#define NV_GSP_UNIT_DEVICES_INFO 0x03U
#define NV_GSP_UNIT_SUBMIT_RUNLIST 0x04U
#define NV_GSP_UNIT_END 0x0AU
#define GSP_MSG_HDR_SIZE U32(sizeof(struct gsp_hdr))
@@ -49,6 +52,10 @@ struct gsp_hdr {
struct nv_flcn_cmd_gsp {
struct gsp_hdr hdr;
union {
struct nvgpu_gsp_device_info device;
struct nvgpu_gsp_runlist_info runlist;
} cmd;
};
u8 gsp_unit_id_is_valid(u8 id);