Skip to content

Commit 654a046

Browse files
authored
Merge pull request #24 from dasteihn/phil/nova
Users: add Nova driver
2 parents 4d4b9fe + 1f4e2c3 commit 654a046

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
- [Android Binder Driver](Android-Binder-Driver.md)
3636
- [PuzzleFS filesystem driver](PuzzleFS-filesystem-driver.md)
3737
- [Apple AGX GPU driver](Apple-AGX-GPU-driver.md)
38+
- [Nova GPU Driver](Nova-GPU-Driver.md)
3839

3940
# Links
4041

src/Nova-GPU-Driver.md

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Nova GPU Driver
2+
3+
Nova is a driver for GSP-based Nvidia GPUs that is currently under development
4+
and is being written in Rust.
5+
6+
Currently, the objective is to upstream Rust abstractions for the relevant
7+
subsystems a prerequisite for the actual driver. Hence, the first mainline
8+
version of Nova will be a stub driver which helps establishing the necessary
9+
infrastructure in other subsystems (notably PCI and DRM).
10+
11+
## Contact
12+
13+
To contact the team and / or participate in development, please use the mailing
14+
15+
16+
17+
## Resources
18+
19+
- [Official Source Tree](https://gitlab.freedesktop.org/drm/nova)
20+
- [Announcement E-Mail](https://lore.kernel.org/dri-devel/Zfsj0_tb-0-tNrJy@cassiopeiae/)
21+
22+
In the source tree, the driver lives in `drivers/gpu/drm/nova`.
23+
24+
25+
## Status
26+
27+
Currently, Nova is just a stub driver intended to lift the bindings necessary
28+
for a real GPU driver into the (mainline) kernel.
29+
30+
Currently, those efforts are mostly focused on getting bindings for PCI, DRM
31+
and the Device (driver) model upstream.
32+
33+
It can be expected that, as the driver continues to grow, various other abstractions
34+
will be needed.
35+
36+
37+
## Utilized Common Rust Infrastructure
38+
39+
Nova depends on the Rust for Linux `staging/*` [branches](Branches.md).
40+
41+
42+
## Contributing
43+
44+
As with every real open source program, help and participation is highly welcome!
45+
46+
As the driver is very young, however, it is currently difficult to assign tasks
47+
to people. Many things still have to settle until a steadily paced workflow
48+
produces atomic work topics a new one can work on.
49+
50+
If you really want to jump in immediately regardless, here are a few things you
51+
can consider:
52+
53+
- Most work to do right now is with more bindings for Rust. Notably, this
54+
includes the device driver model, DRM and PCI. If you have expertise there,
55+
have a look at the existing code in the [topic branches](Branches.md) and see
56+
if there's something you can add or improve.
57+
- Feel free to go over Nova's code base and make suggestions or send patches,
58+
for example for improved comments, grammar fixes, improving code readability
59+
etc.
60+
61+
62+
Happy hacking!

0 commit comments

Comments
 (0)