#include <linux/clk.h>
#include <linux/mm.h>
#include <linux/platform_device.h>
#include <linux/pm_domain.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
#include <linux/reset.h>
#include <drm/drm_drv.h>
#include <drm/drm_managed.h>
#include "panthor_devfreq.h"
#include "panthor_device.h"
#include "panthor_fw.h"
#include "panthor_gpu.h"
#include "panthor_mmu.h"
#include "panthor_regs.h"
#include "panthor_sched.h"
static int panthor_clk_init(struct panthor_device *ptdev)
{ … }
void panthor_device_unplug(struct panthor_device *ptdev)
{ … }
static void panthor_device_reset_cleanup(struct drm_device *ddev, void *data)
{ … }
static void panthor_device_reset_work(struct work_struct *work)
{ … }
static bool panthor_device_is_initialized(struct panthor_device *ptdev)
{ … }
static void panthor_device_free_page(struct drm_device *ddev, void *data)
{ … }
int panthor_device_init(struct panthor_device *ptdev)
{ … }
#define PANTHOR_EXCEPTION(id) …
struct panthor_exception_info { … };
static const struct panthor_exception_info panthor_exception_infos[] = …;
const char *panthor_exception_name(struct panthor_device *ptdev, u32 exception_code)
{ … }
static vm_fault_t panthor_mmio_vm_fault(struct vm_fault *vmf)
{ … }
static const struct vm_operations_struct panthor_mmio_vm_ops = …;
int panthor_device_mmap_io(struct panthor_device *ptdev, struct vm_area_struct *vma)
{ … }
int panthor_device_resume(struct device *dev)
{ … }
int panthor_device_suspend(struct device *dev)
{ … }