| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
Sometimes such "malformed" runlists appear on the TX2, yet they
seem to work fine, so support printing them in full.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Using this may be hazardous---we don't know if some of the GPU drivers
use this after initial bring-up. If they do, and we race with them in
setting it, or we unexpectedly change it under them, arbitrary state
corruption could occur.
This is only entirely safe to use if you don't trust the GPU state
after the first use of this fallback. In limited experiments vs the
`nvgpu` (Tegra) and `nvidia` (closed-source discrete) drivers, no
ill side effects have yet been observed, but still please use with
caution.
|
| |
|
|
|
|
| |
Previously, unloading the module could cause a segfault on Tegra,
as pcid would be unitilized and possibly non-zero, causing us to
attempt PCIe-device-style deinitialization on a non-PCEe device.
|
| |
|
|
|
| |
Fixes the build for some kernel versions where this is no longer
transatively included.
|
| |
|
|
|
| |
Also add instructions for updating `include/`. These files are now
only needed to build on Linux 4.9-based Tegra platforms.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Also check for read success in get_runlist_iter().
|
| |
|
|
|
|
|
|
|
| |
- Including missing dereference to finish getting the address of
the control register range
- Add zero-initialization to the proc_ops structure in copat_ops to
insure that all intentionally unset fields remain unset
- Set .llseek in all the file_operations structures, as recent
kernels require this to be explictly set
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Works around change in parameters to proc initialization functions
via a hacky function which rewrites the layout. This also required
making all the struct file_operations writable.
Also start reducing dependency on nvgpu headers.
Known issues:
- Incorrect message printed in log after module is loaded. Unclear
if this is because the register detection logic is broken, or if
the layout of the data at NV_MC_BOOT_0 has changed.
- Not tested
|
| | |
|
| |
|
|
|
|
| |
These are needed to build on NVIDIA's Jetson boards for the time
being. Only a couple structs are required, so it should be fairly
easy to remove this dependency at some point in the future.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Adds:
- /proc/preempt_tsg which takes a TSG ID
- /proc/disable_channel which takes a channel ID
- /proc/enable_channel which takes a channel ID
- /proc/switch_to_tsg which takes a TSG ID
Also significantly expands documentation and structs available in
nvdebug.h.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- The sequence file infrastructure prior to kernel version 4.19
has a bug in the retry code when the write buffer overflows that
causes our private iterator state to be corrupted. Work around
this by tracking some info out-of-band.
- Now supports including detailed channel status information from
channel RAM when printing the runlist.
- Adds helper function to probe for and return struct gk20a*.
|
| |
|
|
|
|
|
| |
`cat /proc/runlist` to print the current runlist.
Also break nvdebug.c into nvdebug_entry.c, runlist.c, and
runlist_procfs.c.
|
|
|
Supports accessing and printing the runlist on the Jetson Xavier to
dmesg. May work on other Jetson boards. Currently requires the nvgpu
headers from NVIDIA's Linux4Tegra (L4T) source tree.
|