-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'linux-4.15' of git://github.com/skeggsb/linux into drm-…
…next - Pascal temperature sensor support - Improved BAR2 handling, greatly reduces time required to suspend - Rework of the MMU code - Allows us to properly support Pascal's new MMU layout (implemented) - Lays the groundwork for improved userspace APIs later - Misc other fixes * 'linux-4.15' of git://github.com/skeggsb/linux: (151 commits) drm/nouveau/gr/gf100-: don't prevent module load if firmware missing drm/nouveau/mmu: remove old vmm frontend drm/nouveau: improve selection of GPU page size drm/nouveau: switch over to new memory and vmm interfaces drm/nouveau: remove unused nouveau_fence_work() drm/nouveau: queue delayed unmapping of VMAs on client workqueue drm/nouveau: implement per-client delayed workqueue with fence support drm/nouveau: determine memory class for each client drm/nouveau: pass handle of vmm object to channel allocation ioctls drm/nouveau: switch to vmm limit drm/nouveau: allocate vmm object for every client drm/nouveau: replace use of cpu_coherent with memory types drm/nouveau: use nvif_mmu_type to determine BAR1 caching drm/nouveau: fetch memory type indices that we care about for ttm drm/nouveau: consolidate handling of dma mask drm/nouveau: check kind validity against mmu object drm/nouveau: allocate mmu object for every client drm/nouveau: remove trivial cases of nvxx_device() usage drm/nouveau/mmu: define user interfaces to mmu vmm opertaions drm/nouveau/mmu: define user interfaces to mmu memory allocation ...
- Loading branch information
Showing
273 changed files
with
10,011 additions
and
3,397 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,6 @@ struct nv50_channel_gpfifo_v0 { | |
__u32 ilength; | ||
__u64 ioffset; | ||
__u64 pushbuf; | ||
__u64 vm; | ||
__u64 vmm; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#ifndef __NVIF_IF0008_H__ | ||
#define __NVIF_IF0008_H__ | ||
struct nvif_mmu_v0 { | ||
__u8 version; | ||
__u8 dmabits; | ||
__u8 heap_nr; | ||
__u8 type_nr; | ||
__u16 kind_nr; | ||
}; | ||
|
||
#define NVIF_MMU_V0_HEAP 0x00 | ||
#define NVIF_MMU_V0_TYPE 0x01 | ||
#define NVIF_MMU_V0_KIND 0x02 | ||
|
||
struct nvif_mmu_heap_v0 { | ||
__u8 version; | ||
__u8 index; | ||
__u8 pad02[6]; | ||
__u64 size; | ||
}; | ||
|
||
struct nvif_mmu_type_v0 { | ||
__u8 version; | ||
__u8 index; | ||
__u8 heap; | ||
__u8 vram; | ||
__u8 host; | ||
__u8 comp; | ||
__u8 disp; | ||
__u8 kind; | ||
__u8 mappable; | ||
__u8 coherent; | ||
__u8 uncached; | ||
}; | ||
|
||
struct nvif_mmu_kind_v0 { | ||
__u8 version; | ||
__u8 pad01[1]; | ||
__u16 count; | ||
__u8 data[]; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#ifndef __NVIF_IF000A_H__ | ||
#define __NVIF_IF000A_H__ | ||
struct nvif_mem_v0 { | ||
__u8 version; | ||
__u8 type; | ||
__u8 page; | ||
__u8 pad03[5]; | ||
__u64 size; | ||
__u64 addr; | ||
__u8 data[]; | ||
}; | ||
|
||
struct nvif_mem_ram_vn { | ||
}; | ||
|
||
struct nvif_mem_ram_v0 { | ||
__u8 version; | ||
__u8 pad01[7]; | ||
dma_addr_t *dma; | ||
struct scatterlist *sgl; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#ifndef __NVIF_IF000B_H__ | ||
#define __NVIF_IF000B_H__ | ||
#include "if000a.h" | ||
|
||
struct nv04_mem_vn { | ||
/* nvkm_mem_vX ... */ | ||
}; | ||
|
||
struct nv04_mem_map_vn { | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
#ifndef __NVIF_IF000C_H__ | ||
#define __NVIF_IF000C_H__ | ||
struct nvif_vmm_v0 { | ||
__u8 version; | ||
__u8 page_nr; | ||
__u8 pad02[6]; | ||
__u64 addr; | ||
__u64 size; | ||
__u8 data[]; | ||
}; | ||
|
||
#define NVIF_VMM_V0_PAGE 0x00 | ||
#define NVIF_VMM_V0_GET 0x01 | ||
#define NVIF_VMM_V0_PUT 0x02 | ||
#define NVIF_VMM_V0_MAP 0x03 | ||
#define NVIF_VMM_V0_UNMAP 0x04 | ||
|
||
struct nvif_vmm_page_v0 { | ||
__u8 version; | ||
__u8 index; | ||
__u8 shift; | ||
__u8 sparse; | ||
__u8 vram; | ||
__u8 host; | ||
__u8 comp; | ||
__u8 pad07[1]; | ||
}; | ||
|
||
struct nvif_vmm_get_v0 { | ||
__u8 version; | ||
#define NVIF_VMM_GET_V0_ADDR 0x00 | ||
#define NVIF_VMM_GET_V0_PTES 0x01 | ||
#define NVIF_VMM_GET_V0_LAZY 0x02 | ||
__u8 type; | ||
__u8 sparse; | ||
__u8 page; | ||
__u8 align; | ||
__u8 pad05[3]; | ||
__u64 size; | ||
__u64 addr; | ||
}; | ||
|
||
struct nvif_vmm_put_v0 { | ||
__u8 version; | ||
__u8 pad01[7]; | ||
__u64 addr; | ||
}; | ||
|
||
struct nvif_vmm_map_v0 { | ||
__u8 version; | ||
__u8 pad01[7]; | ||
__u64 addr; | ||
__u64 size; | ||
__u64 memory; | ||
__u64 offset; | ||
__u8 data[]; | ||
}; | ||
|
||
struct nvif_vmm_unmap_v0 { | ||
__u8 version; | ||
__u8 pad01[7]; | ||
__u64 addr; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#ifndef __NVIF_IF000D_H__ | ||
#define __NVIF_IF000D_H__ | ||
#include "if000c.h" | ||
|
||
struct nv04_vmm_vn { | ||
/* nvif_vmm_vX ... */ | ||
}; | ||
|
||
struct nv04_vmm_map_vn { | ||
/* nvif_vmm_map_vX ... */ | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#ifndef __NVIF_IF500B_H__ | ||
#define __NVIF_IF500B_H__ | ||
#include "if000a.h" | ||
|
||
struct nv50_mem_vn { | ||
/* nvif_mem_vX ... */ | ||
}; | ||
|
||
struct nv50_mem_v0 { | ||
/* nvif_mem_vX ... */ | ||
__u8 version; | ||
__u8 bankswz; | ||
__u8 contig; | ||
}; | ||
|
||
struct nv50_mem_map_vn { | ||
}; | ||
|
||
struct nv50_mem_map_v0 { | ||
__u8 version; | ||
__u8 ro; | ||
__u8 kind; | ||
__u8 comp; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#ifndef __NVIF_IF500D_H__ | ||
#define __NVIF_IF500D_H__ | ||
#include "if000c.h" | ||
|
||
struct nv50_vmm_vn { | ||
/* nvif_vmm_vX ... */ | ||
}; | ||
|
||
struct nv50_vmm_map_vn { | ||
/* nvif_vmm_map_vX ... */ | ||
}; | ||
|
||
struct nv50_vmm_map_v0 { | ||
/* nvif_vmm_map_vX ... */ | ||
__u8 version; | ||
__u8 ro; | ||
__u8 priv; | ||
__u8 kind; | ||
__u8 comp; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#ifndef __NVIF_IF900B_H__ | ||
#define __NVIF_IF900B_H__ | ||
#include "if000a.h" | ||
|
||
struct gf100_mem_vn { | ||
/* nvif_mem_vX ... */ | ||
}; | ||
|
||
struct gf100_mem_v0 { | ||
/* nvif_mem_vX ... */ | ||
__u8 version; | ||
__u8 contig; | ||
}; | ||
|
||
struct gf100_mem_map_vn { | ||
}; | ||
|
||
struct gf100_mem_map_v0 { | ||
__u8 version; | ||
__u8 ro; | ||
__u8 kind; | ||
}; | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#ifndef __NVIF_IF900D_H__ | ||
#define __NVIF_IF900D_H__ | ||
#include "if000c.h" | ||
|
||
struct gf100_vmm_vn { | ||
/* nvif_vmm_vX ... */ | ||
}; | ||
|
||
struct gf100_vmm_map_vn { | ||
/* nvif_vmm_map_vX ... */ | ||
}; | ||
|
||
struct gf100_vmm_map_v0 { | ||
/* nvif_vmm_map_vX ... */ | ||
__u8 version; | ||
__u8 vol; | ||
__u8 ro; | ||
__u8 priv; | ||
__u8 kind; | ||
}; | ||
#endif |
Oops, something went wrong.