pub struct ContextHandle { /* private fields */ }Implementations§
Source§impl ContextHandle
impl ContextHandle
pub fn new(_amdgpu_dev: &DeviceHandle, ctx_handle: *mut amdgpu_context) -> Self
Sourcepub fn set_stable_pstate(
&self,
pstate_flag: StablePstateFlag,
) -> Result<StablePstateFlag, i32>
pub fn set_stable_pstate( &self, pstate_flag: StablePstateFlag, ) -> Result<StablePstateFlag, i32>
Examples found in repository?
examples/stable_pstate.rs (line 21)
5fn info(pci_bus: &PCI::BUS_INFO) {
6 let libdrm_amdgpu = LibDrmAmdgpu::new().unwrap();
7 let Ok(device_path) = pci_bus.get_drm_render_path() else { return };
8 let f = File::open(device_path).unwrap();
9 let (amdgpu_dev, _major, _minor) = libdrm_amdgpu.init_device_handle_with_fd(f).unwrap();
10
11 let ext_info = amdgpu_dev.device_info().unwrap();
12 println!("Marketing Name: [{}]", ext_info.find_device_name_or_default());
13
14 {
15 let ctx = amdgpu_dev.create_context().unwrap();
16 let current_stable_pstate = ctx.get_stable_pstate().unwrap();
17 println!("Current Stable PState: {current_stable_pstate:?}");
18
19 println!("Set STANDARD PState");
20
21 match ctx.set_stable_pstate(AMDGPU::StablePstateFlag::STANDARD) {
22 Ok(_) => {
23 },
24 Err(err) => println!(" Error: {err}"),
25 }
26
27 println!("Press enter to revert stable_pstate");
28
29 let mut input = String::new();
30 std::io::stdin().read_line(&mut input).unwrap();
31 }
32
33 println!(" stable_pstate is reverted.");
34}Sourcepub fn get_stable_pstate(&self) -> Result<StablePstateFlag, i32>
pub fn get_stable_pstate(&self) -> Result<StablePstateFlag, i32>
Examples found in repository?
examples/stable_pstate.rs (line 16)
5fn info(pci_bus: &PCI::BUS_INFO) {
6 let libdrm_amdgpu = LibDrmAmdgpu::new().unwrap();
7 let Ok(device_path) = pci_bus.get_drm_render_path() else { return };
8 let f = File::open(device_path).unwrap();
9 let (amdgpu_dev, _major, _minor) = libdrm_amdgpu.init_device_handle_with_fd(f).unwrap();
10
11 let ext_info = amdgpu_dev.device_info().unwrap();
12 println!("Marketing Name: [{}]", ext_info.find_device_name_or_default());
13
14 {
15 let ctx = amdgpu_dev.create_context().unwrap();
16 let current_stable_pstate = ctx.get_stable_pstate().unwrap();
17 println!("Current Stable PState: {current_stable_pstate:?}");
18
19 println!("Set STANDARD PState");
20
21 match ctx.set_stable_pstate(AMDGPU::StablePstateFlag::STANDARD) {
22 Ok(_) => {
23 },
24 Err(err) => println!(" Error: {err}"),
25 }
26
27 println!("Press enter to revert stable_pstate");
28
29 let mut input = String::new();
30 std::io::stdin().read_line(&mut input).unwrap();
31 }
32
33 println!(" stable_pstate is reverted.");
34}Trait Implementations§
Source§impl Drop for ContextHandle
impl Drop for ContextHandle
Auto Trait Implementations§
impl !Send for ContextHandle
impl !Sync for ContextHandle
impl Freeze for ContextHandle
impl RefUnwindSafe for ContextHandle
impl Unpin for ContextHandle
impl UnsafeUnpin for ContextHandle
impl UnwindSafe for ContextHandle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more