Hi Lyude, > On 30 Sep 2024, at 20:10, Lyude Paul <lyude@xxxxxxxxxx> wrote: > > A binding for checking drm_crtc_state.active. > > Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx> > --- > rust/kernel/drm/kms/crtc.rs | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/rust/kernel/drm/kms/crtc.rs b/rust/kernel/drm/kms/crtc.rs > index 43c7264402b07..ec9b58763dcca 100644 > --- a/rust/kernel/drm/kms/crtc.rs > +++ b/rust/kernel/drm/kms/crtc.rs > @@ -496,6 +496,14 @@ fn crtc(&self) -> &Self::Crtc { > // state > unsafe { <Self::Crtc as AsRawCrtc>::from_raw((*self.as_raw()).crtc) } > } > + > + /// Returns whether or not the CRTC is active in this atomic state. > + fn active(&self) -> bool { > + // SAFETY: `active` and the rest of its containing bitfield can only be modified from the > + // atomic check context, and are invariant beyond that point - so our interface can ensure > + // this access is serialized > + unsafe { (*self.as_raw()).active } > + } > } > impl<T: AsRawCrtcState> RawCrtcState for T {} > > -- > 2.46.1 > > LGTM. — Daniel