#include <linux/bitfield.h>
#include <linux/bitmap.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include "panfrost_device.h"
#include "panfrost_features.h"
#include "panfrost_issues.h"
#include "panfrost_gpu.h"
#include "panfrost_perfcnt.h"
#include "panfrost_regs.h"
static irqreturn_t panfrost_gpu_irq_handler(int irq, void *data)
{ … }
int panfrost_gpu_soft_reset(struct panfrost_device *pfdev)
{ … }
void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev)
{ … }
static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)
{ … }
#define MAX_HW_REVS …
struct panfrost_model { … };
#define GPU_MODEL(_name, _id, ...) …
#define GPU_REV_EXT(name, _rev, _p, _s, stat) …
#define GPU_REV(name, r, p) …
static const struct panfrost_model gpu_models[] = …;
static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
{ … }
void panfrost_cycle_counter_get(struct panfrost_device *pfdev)
{ … }
void panfrost_cycle_counter_put(struct panfrost_device *pfdev)
{ … }
unsigned long long panfrost_cycle_counter_read(struct panfrost_device *pfdev)
{ … }
static u64 panfrost_get_core_mask(struct panfrost_device *pfdev)
{ … }
void panfrost_gpu_power_on(struct panfrost_device *pfdev)
{ … }
void panfrost_gpu_power_off(struct panfrost_device *pfdev)
{ … }
void panfrost_gpu_suspend_irq(struct panfrost_device *pfdev)
{ … }
int panfrost_gpu_init(struct panfrost_device *pfdev)
{ … }
void panfrost_gpu_fini(struct panfrost_device *pfdev)
{ … }
u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev)
{ … }