mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
gpu: nvgpu: add compatibility version
Add compatibility version to page table and dma mapping structure.
Bug 200438879
Change-Id: I04b4601f71ae2b3e75843f39f5445ecca2b16677
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2029086
(cherry picked from commit 8bbbd09caa)
Reviewed-on: https://git-master.nvidia.com/r/2071427
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
4269d56d02
commit
77ee4144ce
@@ -30,6 +30,23 @@
|
||||
#define NVIDIA_P2P_PINNED 0x1
|
||||
#define NVIDIA_P2P_MAPPED 0x2
|
||||
|
||||
#define NVIDIA_P2P_MAJOR_VERSION_MASK 0xffff0000
|
||||
#define NVIDIA_P2P_MINOR_VERSION_MASK 0x0000ffff
|
||||
|
||||
#define NVIDIA_P2P_MAJOR_VERSION(v) \
|
||||
(((v) & NVIDIA_P2P_MAJOR_VERSION_MASK) >> 16)
|
||||
|
||||
#define NVIDIA_P2P_MINOR_VERSION(v) \
|
||||
(((v) & NVIDIA_P2P_MINOR_VERSION_MASK))
|
||||
|
||||
#define NVIDIA_P2P_MAJOR_VERSION_MATCHES(p, v) \
|
||||
(NVIDIA_P2P_MAJOR_VERSION((p)->version) == NVIDIA_P2P_MAJOR_VERSION(v))
|
||||
|
||||
#define NVIDIA_P2P_VERSION_COMPATIBLE(p, v) \
|
||||
(NVIDIA_P2P_MAJOR_VERSION_MATCHES(p, v) && \
|
||||
(NVIDIA_P2P_MINOR_VERSION((p)->version) >= \
|
||||
(NVIDIA_P2P_MINOR_VERSION(v))))
|
||||
|
||||
enum nvidia_p2p_page_size_type {
|
||||
NVIDIA_P2P_PAGE_SIZE_4KB = 0,
|
||||
NVIDIA_P2P_PAGE_SIZE_64KB,
|
||||
@@ -38,6 +55,7 @@ enum nvidia_p2p_page_size_type {
|
||||
};
|
||||
|
||||
struct nvidia_p2p_page_table {
|
||||
u32 version;
|
||||
u32 page_size;
|
||||
u64 size;
|
||||
u32 entries;
|
||||
@@ -54,6 +72,7 @@ struct nvidia_p2p_page_table {
|
||||
};
|
||||
|
||||
struct nvidia_p2p_dma_mapping {
|
||||
u32 version;
|
||||
dma_addr_t *hw_address;
|
||||
u32 *hw_len;
|
||||
u32 entries;
|
||||
@@ -64,6 +83,11 @@ struct nvidia_p2p_dma_mapping {
|
||||
enum dma_data_direction direction;
|
||||
};
|
||||
|
||||
#define NVIDIA_P2P_PAGE_TABLE_VERSION 0x00010000
|
||||
|
||||
#define NVIDIA_P2P_PAGE_TABLE_VERSION_COMPATIBLE(p) \
|
||||
NVIDIA_P2P_VERSION_COMPATIBLE(p, NVIDIA_P2P_PAGE_TABLE_VERSION)
|
||||
|
||||
/*
|
||||
* @brief
|
||||
* Make the pages underlying a range of GPU virtual memory
|
||||
@@ -124,6 +148,11 @@ int nvidia_p2p_put_pages(struct nvidia_p2p_page_table *page_table);
|
||||
*/
|
||||
int nvidia_p2p_free_page_table(struct nvidia_p2p_page_table *page_table);
|
||||
|
||||
#define NVIDIA_P2P_DMA_MAPPING_VERSION 0x00010000
|
||||
|
||||
#define NVIDIA_P2P_DMA_MAPPING_VERSION_COMPATIBLE(p) \
|
||||
NVIDIA_P2P_VERSION_COMPATIBLE(p, NVIDIA_P2P_DMA_MAPPING_VERSION)
|
||||
|
||||
/*
|
||||
* @brief
|
||||
* Map the pages retrieved using nvidia_p2p_get_pages and
|
||||
|
||||
Reference in New Issue
Block a user