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 26)
4fn info(pci_bus: &PCI::BUS_INFO) {
5 let libdrm_amdgpu = LibDrmAmdgpu::new().unwrap();
6 let Ok(device_path) = pci_bus.get_drm_render_path() else { return };
7 let (amdgpu_dev, _major, _minor) = {
8 use std::fs::File;
9 use std::os::fd::IntoRawFd;
10
11 let fd = File::open(device_path).unwrap();
12
13 libdrm_amdgpu.init_device_handle(fd.into_raw_fd()).unwrap()
14 };
15
16 let ext_info = amdgpu_dev.device_info().unwrap();
17 println!("Marketing Name: [{}]", ext_info.find_device_name_or_default());
18
19 {
20 let ctx = amdgpu_dev.create_context().unwrap();
21 let current_stable_pstate = ctx.get_stable_pstate().unwrap();
22 println!("Current Stable PState: {current_stable_pstate:?}");
23
24 println!("Set STANDARD PState");
25
26 match ctx.set_stable_pstate(AMDGPU::StablePstateFlag::STANDARD) {
27 Ok(_) => {
28 },
29 Err(err) => println!(" Error: {err}"),
30 }
31
32 println!("Press enter to revert stable_pstate");
33
34 let mut input = String::new();
35 std::io::stdin().read_line(&mut input).unwrap();
36 }
37
38 println!(" stable_pstate is reverted.");
39}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 21)
4fn info(pci_bus: &PCI::BUS_INFO) {
5 let libdrm_amdgpu = LibDrmAmdgpu::new().unwrap();
6 let Ok(device_path) = pci_bus.get_drm_render_path() else { return };
7 let (amdgpu_dev, _major, _minor) = {
8 use std::fs::File;
9 use std::os::fd::IntoRawFd;
10
11 let fd = File::open(device_path).unwrap();
12
13 libdrm_amdgpu.init_device_handle(fd.into_raw_fd()).unwrap()
14 };
15
16 let ext_info = amdgpu_dev.device_info().unwrap();
17 println!("Marketing Name: [{}]", ext_info.find_device_name_or_default());
18
19 {
20 let ctx = amdgpu_dev.create_context().unwrap();
21 let current_stable_pstate = ctx.get_stable_pstate().unwrap();
22 println!("Current Stable PState: {current_stable_pstate:?}");
23
24 println!("Set STANDARD PState");
25
26 match ctx.set_stable_pstate(AMDGPU::StablePstateFlag::STANDARD) {
27 Ok(_) => {
28 },
29 Err(err) => println!(" Error: {err}"),
30 }
31
32 println!("Press enter to revert stable_pstate");
33
34 let mut input = String::new();
35 std::io::stdin().read_line(&mut input).unwrap();
36 }
37
38 println!(" stable_pstate is reverted.");
39}Trait Implementations§
Auto Trait Implementations§
impl Freeze for ContextHandle
impl RefUnwindSafe for ContextHandle
impl !Send for ContextHandle
impl !Sync for ContextHandle
impl Unpin 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