gpu: nvgpu: vgpu: add new GMMU map interface

The server now exposes a new GMMU map interface that
can accept a scatter-gather list. This is needed to support
SMMU-bypass configurations.

Bug 1677153
JIRA VFND-689

Change-Id: I7b5af145db57dcebe2c9125ec90c689798d7e69e
Signed-off-by: Aingara Paramakuru <aparamakuru@nvidia.com>
Reviewed-on: http://git-master/r/792558
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-by: Vladislav Buzov <vbuzov@nvidia.com>
This commit is contained in:
Aingara Paramakuru
2015-08-27 13:51:32 -04:00
committed by Alex Van Brunt
parent e233b0fdcd
commit 3e08593d45

View File

@@ -64,7 +64,8 @@ enum {
TEGRA_VGPU_CMD_SUBMIT_RUNLIST,
TEGRA_VGPU_CMD_GET_ZCULL_INFO,
TEGRA_VGPU_CMD_ZBC_SET_TABLE,
TEGRA_VGPU_CMD_ZBC_QUERY_TABLE
TEGRA_VGPU_CMD_ZBC_QUERY_TABLE,
TEGRA_VGPU_CMD_AS_MAP_EX
};
struct tegra_vgpu_connect_params {
@@ -136,6 +137,25 @@ struct tegra_vgpu_as_map_params {
u32 ctag_offset;
};
struct tegra_vgpu_as_map_ex_params {
u64 handle;
u64 gpu_va;
u64 size;
u32 mem_desc_count;
u8 pgsz_idx;
u8 iova;
u8 kind;
u8 cacheable;
u8 clear_ctags;
u8 prot;
u32 ctag_offset;
};
struct tegra_vgpu_mem_desc {
u64 addr;
u64 length;
};
struct tegra_vgpu_as_invalidate_params {
u64 handle;
};
@@ -236,6 +256,7 @@ struct tegra_vgpu_cmd_msg {
struct tegra_vgpu_as_share_params as_share;
struct tegra_vgpu_as_bind_share_params as_bind_share;
struct tegra_vgpu_as_map_params as_map;
struct tegra_vgpu_as_map_ex_params as_map_ex;
struct tegra_vgpu_as_invalidate_params as_invalidate;
struct tegra_vgpu_channel_config_params channel_config;
struct tegra_vgpu_ramfc_params ramfc;