Skip to content
Snippets Groups Projects
Commit 305934a7 authored by Daniel Almeida's avatar Daniel Almeida
Browse files

drm: panthor-rs: rustfmt all files

parent b40b0f2d
Branches panthor-6.11
No related tags found
No related merge requests found
......@@ -3,19 +3,17 @@
//! Top-level GPU driver implementation.
use kernel::{
bindings,
str::BStr, c_str, drm, drm::drv, drm::ioctl, error::Result,
of, platform, prelude::*,
bindings, c_str, drm, drm::drv, drm::ioctl, error::Result, of, platform, prelude::*, str::BStr,
sync::Arc,
};
use core::ffi;
use kernel::macros::vtable;
use kernel::types::ARef;
use core::ffi;
extern "C" {
fn panthor_device_init(ptdev: *mut bindings::panthor_device) -> ffi::c_int;
}
}
/// Driver metadata
const INFO: drm::drv::DriverInfo = drm::drv::DriverInfo {
......@@ -106,11 +104,7 @@ impl platform::Driver for PanthorDriver {
}
/// Device probe function.
fn probe(
pdev: &mut platform::Device,
id_info: Option<&Self::IdInfo>,
) -> Result<Self::Data> {
fn probe(pdev: &mut platform::Device, id_info: Option<&Self::IdInfo>) -> Result<Self::Data> {
dev_info!(pdev.as_ref(), "Probing...\n");
let data = Arc::new(
......@@ -121,8 +115,6 @@ impl platform::Driver for PanthorDriver {
GFP_KERNEL,
)?;
// let mut ptdev: bindings::panthor_device = Default::default();
let drm = drm::device::Device::<PanthorDriver>::new(pdev.as_ref(), data.clone())?;
unsafe {
......@@ -139,4 +131,3 @@ impl platform::Driver for PanthorDriver {
// Export the OF ID table as a module ID table, to make modpost/autoloading work.
//kernel::module_of_id_table!(MOD_TABLE, PANTHOR_ID_TABLE);
......@@ -13,26 +13,39 @@ use crate::driver::PanthorDriver;
//use crate::{alloc, buffer, driver, gem, mmu, queue, util::RangeExt};
//use kernel::drm::gem::BaseObject;
//use kernel::io_buffer::{IoBufferReader, IoBufferWriter};
use core;
use core::ffi;
use core::ptr;
use kernel::prelude::*;
use kernel::{
drm::{self, device::Device as DrmDevice},
bindings,
drm::file::GenericFile,
uapi,
drm::{self, device::Device as DrmDevice},
error::to_result,
bindings,
uapi,
};
use core;
use core::ptr;
use core::ffi;
/// Convenience type alias for our DRM `File` type.
pub(crate) type DrmFile = drm::file::File<File>;
extern "C" {
fn _panthor_ioctl_dev_query(ptdev: *mut bindings::panthor_device, args: *mut uapi::drm_panthor_dev_query) -> ffi::c_int;
fn _panthor_ioctl_vm_create(ptdev: *mut bindings::panthor_device, data: *mut uapi::drm_panthor_vm_create, file: *const bindings::drm_file) -> ffi::c_int;
fn panthor_ioctl_vm_bind_async(args: *mut uapi::drm_panthor_vm_bind, file: *mut bindings::drm_file) -> ffi::c_int;
fn panthor_ioctl_vm_bind_sync(args: *mut uapi::drm_panthor_vm_bind, file: *mut bindings::drm_file) -> ffi::c_int;
fn _panthor_ioctl_dev_query(
ptdev: *mut bindings::panthor_device,
args: *mut uapi::drm_panthor_dev_query,
) -> ffi::c_int;
fn _panthor_ioctl_vm_create(
ptdev: *mut bindings::panthor_device,
data: *mut uapi::drm_panthor_vm_create,
file: *const bindings::drm_file,
) -> ffi::c_int;
fn panthor_ioctl_vm_bind_async(
args: *mut uapi::drm_panthor_vm_bind,
file: *mut bindings::drm_file,
) -> ffi::c_int;
fn panthor_ioctl_vm_bind_sync(
args: *mut uapi::drm_panthor_vm_bind,
file: *mut bindings::drm_file,
) -> ffi::c_int;
fn panthor_group_submit(
ddev: *mut bindings::drm_device,
args: *mut uapi::drm_panthor_group_submit,
......@@ -73,11 +86,14 @@ impl drm::file::DriverFile for File {
pr_info!("DRM Device :: open()\n");
// TODO allocation error handling
Ok(Box::into_pin(Box::new(Self {
ptdev,
vms: unsafe { bindings::panthor_vm_pool_create() },
groups: unsafe { bindings::panthor_group_pool_create() }
}, GFP_KERNEL)?))
Ok(Box::into_pin(Box::new(
Self {
ptdev,
vms: unsafe { bindings::panthor_vm_pool_create() },
groups: unsafe { bindings::panthor_group_pool_create() },
},
GFP_KERNEL,
)?))
}
}
......@@ -90,9 +106,7 @@ impl File {
) -> Result<u32> {
let devdata = device.data();
to_result(unsafe {
_panthor_ioctl_dev_query(devdata.ptdev, data)
})?;
to_result(unsafe { _panthor_ioctl_dev_query(devdata.ptdev, data) })?;
Ok(0)
}
......@@ -104,9 +118,7 @@ impl File {
) -> Result<u32> {
let devdata = device.data();
to_result(unsafe {
_panthor_ioctl_vm_create(devdata.ptdev, data, file.raw())
})?;
to_result(unsafe { _panthor_ioctl_vm_create(devdata.ptdev, data, file.raw()) })?;
Ok(0)
}
......@@ -136,9 +148,9 @@ impl File {
//TODO: drm_dev_enter(device., &cookie))
if data.flags == uapi::drm_panthor_vm_bind_flags_DRM_PANTHOR_VM_BIND_ASYNC {
to_result(unsafe {panthor_ioctl_vm_bind_async(data, file.raw() as *mut _)})?;
to_result(unsafe { panthor_ioctl_vm_bind_async(data, file.raw() as *mut _) })?;
} else {
to_result(unsafe {panthor_ioctl_vm_bind_sync(data, file.raw() as *mut _)})?;
to_result(unsafe { panthor_ioctl_vm_bind_sync(data, file.raw() as *mut _) })?;
}
Ok(0)
}
......@@ -149,20 +161,20 @@ impl File {
data: &mut uapi::drm_panthor_vm_get_state,
file: &DrmFile,
) -> Result<u32> {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
let vm = unsafe { bindings::panthor_vm_pool_get_vm((*pfile).vms, data.vm_id) };
if vm.is_null() {
return Err(EINVAL);
}
if unsafe {bindings::panthor_vm_is_unusable(vm)} {
if unsafe { bindings::panthor_vm_is_unusable(vm) } {
data.state = uapi::drm_panthor_vm_state_DRM_PANTHOR_VM_STATE_UNUSABLE;
} else {
data.state = uapi::drm_panthor_vm_state_DRM_PANTHOR_VM_STATE_USABLE;
}
unsafe {bindings::panthor_vm_put(vm)};
unsafe { bindings::panthor_vm_put(vm) };
Ok(0)
}
......@@ -175,14 +187,16 @@ impl File {
//TODO if (!drm_dev_enter(ddev, &cookie))
// return -ENODEV;
if data.size == 0 || data.pad != 0 ||
(data.flags & !uapi::drm_panthor_bo_flags_DRM_PANTHOR_BO_NO_MMAP != 0) {
if data.size == 0
|| data.pad != 0
|| (data.flags & !uapi::drm_panthor_bo_flags_DRM_PANTHOR_BO_NO_MMAP != 0)
{
return Err(EINVAL);
}
let mut vm = ptr::null_mut();
if data.exclusive_vm_id != 0 {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
vm = unsafe { bindings::panthor_vm_pool_get_vm((*pfile).vms, data.exclusive_vm_id) };
if vm.is_null() {
......@@ -192,10 +206,16 @@ impl File {
let ret = unsafe {
let ptdev = device.data().ptdev;
bindings::panthor_gem_create_with_handle(file.raw() as *mut _, (*ptdev).base,
vm, &mut data.size as *mut _, data.flags, &mut data.handle as *mut _)
bindings::panthor_gem_create_with_handle(
file.raw() as *mut _,
(*ptdev).base,
vm,
&mut data.size as *mut _,
data.flags,
&mut data.handle as *mut _,
)
};
unsafe {bindings::panthor_vm_put(vm)};
unsafe { bindings::panthor_vm_put(vm) };
to_result(ret)?;
Ok(0)
......@@ -216,9 +236,9 @@ impl File {
data: &mut uapi::drm_panthor_group_create,
file: &DrmFile,
) -> Result<u32> {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
to_result(unsafe {_panthor_group_create(data, pfile)})?;
to_result(unsafe { _panthor_group_create(data, pfile) })?;
Ok(0)
}
......@@ -229,12 +249,12 @@ impl File {
file: &DrmFile,
) -> Result<u32> {
if data.pad != 0 {
return Err(EINVAL)
return Err(EINVAL);
}
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
to_result(unsafe {bindings::panthor_group_destroy(pfile, data.group_handle)})?;
to_result(unsafe { bindings::panthor_group_destroy(pfile, data.group_handle) })?;
Ok(0)
}
......@@ -244,9 +264,9 @@ impl File {
data: &mut uapi::drm_panthor_group_get_state,
file: &DrmFile,
) -> Result<u32> {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
to_result(unsafe {panthor_group_get_state(pfile, data)})?;
to_result(unsafe { panthor_group_get_state(pfile, data) })?;
Ok(0)
}
......@@ -256,9 +276,9 @@ impl File {
data: &mut uapi::drm_panthor_tiler_heap_create,
file: &DrmFile,
) -> Result<u32> {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
to_result(unsafe {panthor_tiler_heap_create(pfile, data)})?;
to_result(unsafe { panthor_tiler_heap_create(pfile, data) })?;
Ok(0)
}
......@@ -268,9 +288,9 @@ impl File {
data: &mut uapi::drm_panthor_tiler_heap_destroy,
file: &DrmFile,
) -> Result<u32> {
let pfile: *mut bindings::panthor_file = unsafe {(*file.raw()).driver_priv as *mut _};
let pfile: *mut bindings::panthor_file = unsafe { (*file.raw()).driver_priv as *mut _ };
to_result(unsafe {panthor_tiler_heap_destroy(pfile, data)})?;
to_result(unsafe { panthor_tiler_heap_destroy(pfile, data) })?;
Ok(0)
}
......@@ -289,6 +309,5 @@ impl File {
}
impl Drop for File {
fn drop(&mut self) {
}
fn drop(&mut self) {}
}
......@@ -8,8 +8,8 @@
#![allow(unused_variables)]
mod driver;
mod gem;
mod file;
mod gem;
use kernel::module_platform_driver;
......
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