gpu: nova-core: register sysmem flush page
authorAlexandre Courbot <acourbot@nvidia.com>
Thu, 19 Jun 2025 13:23:58 +0000 (22:23 +0900)
committerDanilo Krummrich <dakr@kernel.org>
Mon, 23 Jun 2025 17:55:53 +0000 (19:55 +0200)
commit6554ad65b5891e52689061606e277a69e44462c4
tree19aec225982b4a045250e5d637736b98f0e60d52
parent9bcc046a929f73358bf23678306b31d927a7e088
gpu: nova-core: register sysmem flush page

Reserve a page of system memory so sysmembar can perform a read on it if
a system write occurred since the last flush. Do this early as it can be
required to e.g. reset the GPU falcons.

Chipsets capabilities differ in that respect, so this commit also
introduces the FB HAL.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://lore.kernel.org/r/20250619-nova-frts-v6-14-ecf41ef99252@nvidia.com
[ * Use kernel::page::PAGE_SIZE instead of kernel::bindings::PAGE_SIZE.
  * Get rid of the Option for SysmemFlush.
  * Slightly reword SysmemFlush doc-comments.

  - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
drivers/gpu/nova-core/fb.rs [new file with mode: 0644]
drivers/gpu/nova-core/fb/hal.rs [new file with mode: 0644]
drivers/gpu/nova-core/fb/hal/ga100.rs [new file with mode: 0644]
drivers/gpu/nova-core/fb/hal/tu102.rs [new file with mode: 0644]
drivers/gpu/nova-core/gpu.rs
drivers/gpu/nova-core/nova_core.rs
drivers/gpu/nova-core/regs.rs