Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/gpu/nova-core/falcon/gsp.rs
26481 views
1
// SPDX-License-Identifier: GPL-2.0
2
3
use crate::{
4
driver::Bar0,
5
falcon::{Falcon, FalconEngine},
6
regs,
7
};
8
9
/// Type specifying the `Gsp` falcon engine. Cannot be instantiated.
10
pub(crate) struct Gsp(());
11
12
impl FalconEngine for Gsp {
13
const BASE: usize = 0x00110000;
14
}
15
16
impl Falcon<Gsp> {
17
/// Clears the SWGEN0 bit in the Falcon's IRQ status clear register to
18
/// allow GSP to signal CPU for processing new messages in message queue.
19
pub(crate) fn clear_swgen0_intr(&self, bar: &Bar0) {
20
regs::NV_PFALCON_FALCON_IRQSCLR::default()
21
.set_swgen0(true)
22
.write(bar, Gsp::BASE);
23
}
24
}
25
26