Skip to content
Snippets Groups Projects
Commit 02fbae62 authored by Lyude Paul's avatar Lyude Paul
Browse files

rust: drm/kms: Add Device::num_crtcs()


A binding for checking drm_device.num_crtcs. We'll need this in a moment
for vblank support, since setting it up requires knowing the number of
CRTCs that a driver has initialized.

Signed-off-by: Lyude Paul's avatarLyude Paul <lyude@redhat.com>
parent b784f9b9
No related merge requests found
......@@ -326,6 +326,20 @@ impl<T: KmsDriver> Device<T> {
// prevent errors)
unsafe { (*self.as_raw()).mode_config.num_total_plane as u32 }
}
/// Return the number of registered CRTCs
/// TODO: while `num_crtc` is of i32, that type actually makes literally no sense here and just
/// causes problems and unecessary casts. Same for num_plane(). So, fix that at some point (we
/// will never get n < 0 anyway)
#[inline]
pub fn num_crtcs(&self) -> u32 {
// SAFETY:
// * This can only be modified during the single-threaded context before registration, so
// this is safe
// * num_crtc could be >= 0, but no less - so casting to u32 is fine (and better to prevent
// errors)
unsafe { (*self.as_raw()).mode_config.num_crtc as u32 }
}
}
/// A modesetting object in DRM.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment