summaryrefslogtreecommitdiff
path: root/drivers/gpu/nova-core/util.rs
diff options
context:
space:
mode:
authorThomas Hellström <thomas.hellstrom@linux.intel.com>2025-03-19 11:08:52 +0100
committerThomas Hellström <thomas.hellstrom@linux.intel.com>2025-03-19 11:08:52 +0100
commit52eb8cd788f1a56a0645c1f6650e5795e04aaed0 (patch)
tree1d61fd7dbe5e7540e972069349b95ac65cd36880 /drivers/gpu/nova-core/util.rs
parent28f79ac609de2797cccdd5fa6c4d5ec8bcef92b4 (diff)
parent5da39dce1fa3c81dc6552a16a9f748ba2980d630 (diff)
Merge drm/drm-next into drm-xe-next
Backmerging to bring in the xe shrinker from drm-next. Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Diffstat (limited to 'drivers/gpu/nova-core/util.rs')
-rw-r--r--drivers/gpu/nova-core/util.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/nova-core/util.rs b/drivers/gpu/nova-core/util.rs
new file mode 100644
index 0000000000000..332a64cfc6a9d
--- /dev/null
+++ b/drivers/gpu/nova-core/util.rs
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0
+
+pub(crate) const fn to_lowercase_bytes<const N: usize>(s: &str) -> [u8; N] {
+ let src = s.as_bytes();
+ let mut dst = [0; N];
+ let mut i = 0;
+
+ while i < src.len() && i < N {
+ dst[i] = (src[i] as char).to_ascii_lowercase() as u8;
+ i += 1;
+ }
+
+ dst
+}
+
+pub(crate) const fn const_bytes_to_str(bytes: &[u8]) -> &str {
+ match core::str::from_utf8(bytes) {
+ Ok(string) => string,
+ Err(_) => kernel::build_error!("Bytes are not valid UTF-8."),
+ }
+}