Lines Matching refs:ptdev

58 	struct panthor_device *ptdev;  member
231 struct panthor_device *ptdev; member
261 int panthor_device_init(struct panthor_device *ptdev);
262 void panthor_device_unplug(struct panthor_device *ptdev);
267 static inline void panthor_device_schedule_reset(struct panthor_device *ptdev) in panthor_device_schedule_reset() argument
269 if (!atomic_cmpxchg(&ptdev->reset.pending, 0, 1) && in panthor_device_schedule_reset()
270 atomic_read(&ptdev->pm.state) == PANTHOR_DEVICE_PM_STATE_ACTIVE) in panthor_device_schedule_reset()
271 queue_work(ptdev->reset.wq, &ptdev->reset.work); in panthor_device_schedule_reset()
279 static inline bool panthor_device_reset_is_pending(struct panthor_device *ptdev) in panthor_device_reset_is_pending() argument
281 return atomic_read(&ptdev->reset.pending) != 0; in panthor_device_reset_is_pending()
284 int panthor_device_mmap_io(struct panthor_device *ptdev,
290 static inline int panthor_device_resume_and_get(struct panthor_device *ptdev) in panthor_device_resume_and_get() argument
292 int ret = pm_runtime_resume_and_get(ptdev->base.dev); in panthor_device_resume_and_get()
306 if (ret && atomic_cmpxchg(&ptdev->pm.recovery_needed, 1, 0) == 1) in panthor_device_resume_and_get()
307 pm_runtime_set_suspended(ptdev->base.dev); in panthor_device_resume_and_get()
375 const char *panthor_exception_name(struct panthor_device *ptdev,
392 struct panthor_device *ptdev = pirq->ptdev; \
396 if (!gpu_read(ptdev, __reg_prefix ## _INT_STAT)) \
399 gpu_write(ptdev, __reg_prefix ## _INT_MASK, 0); \
406 struct panthor_device *ptdev = pirq->ptdev; \
410 u32 status = gpu_read(ptdev, __reg_prefix ## _INT_RAWSTAT) & pirq->mask; \
415 __handler(ptdev, status); \
420 gpu_write(ptdev, __reg_prefix ## _INT_MASK, pirq->mask); \
428 gpu_write(pirq->ptdev, __reg_prefix ## _INT_MASK, 0); \
437 gpu_write(pirq->ptdev, __reg_prefix ## _INT_CLEAR, mask); \
438 gpu_write(pirq->ptdev, __reg_prefix ## _INT_MASK, mask); \
441 static int panthor_request_ ## __name ## _irq(struct panthor_device *ptdev, \
445 pirq->ptdev = ptdev; \
449 return devm_request_threaded_irq(ptdev->base.dev, irq, \
458 static inline void gpu_write(struct panthor_device *ptdev, u32 reg, u32 data) in gpu_write() argument
460 writel(data, ptdev->iomem + reg); in gpu_write()
463 static inline u32 gpu_read(struct panthor_device *ptdev, u32 reg) in gpu_read() argument
465 return readl(ptdev->iomem + reg); in gpu_read()
468 static inline u32 gpu_read_relaxed(struct panthor_device *ptdev, u32 reg) in gpu_read_relaxed() argument
470 return readl_relaxed(ptdev->iomem + reg); in gpu_read_relaxed()
473 static inline void gpu_write64(struct panthor_device *ptdev, u32 reg, u64 data) in gpu_write64() argument
475 gpu_write(ptdev, reg, lower_32_bits(data)); in gpu_write64()
476 gpu_write(ptdev, reg + 4, upper_32_bits(data)); in gpu_write64()
479 static inline u64 gpu_read64(struct panthor_device *ptdev, u32 reg) in gpu_read64() argument
481 return (gpu_read(ptdev, reg) | ((u64)gpu_read(ptdev, reg + 4) << 32)); in gpu_read64()
484 static inline u64 gpu_read64_relaxed(struct panthor_device *ptdev, u32 reg) in gpu_read64_relaxed() argument
486 return (gpu_read_relaxed(ptdev, reg) | in gpu_read64_relaxed()
487 ((u64)gpu_read_relaxed(ptdev, reg + 4) << 32)); in gpu_read64_relaxed()
490 static inline u64 gpu_read64_counter(struct panthor_device *ptdev, u32 reg) in gpu_read64_counter() argument
494 hi1 = gpu_read(ptdev, reg + 4); in gpu_read64_counter()
495 lo = gpu_read(ptdev, reg); in gpu_read64_counter()
496 hi2 = gpu_read(ptdev, reg + 4); in gpu_read64_counter()