Home
last modified time | relevance | path

Searched refs:pfdev (Results 1 – 18 of 18) sorted by relevance

/linux/drivers/gpu/drm/panfrost/
H A Dpanfrost_gpu.c24 struct panfrost_device *pfdev = data; in panfrost_gpu_irq_handler() local
27 if (test_bit(PANFROST_COMP_BIT_GPU, pfdev->is_suspended)) in panfrost_gpu_irq_handler()
30 fault_status = gpu_read(pfdev, GPU_FAULT_STATUS); in panfrost_gpu_irq_handler()
31 state = gpu_read(pfdev, GPU_INT_STAT); in panfrost_gpu_irq_handler()
36 u64 address = (u64) gpu_read(pfdev, GPU_FAULT_ADDRESS_HI) << 32; in panfrost_gpu_irq_handler()
37 address |= gpu_read(pfdev, GPU_FAULT_ADDRESS_LO); in panfrost_gpu_irq_handler()
39 dev_warn(pfdev->dev, "GPU Fault 0x%08x (%s) at 0x%016llx\n", in panfrost_gpu_irq_handler()
44 dev_warn(pfdev->dev, "There were multiple GPU faults - some have not been reported\n"); in panfrost_gpu_irq_handler()
46 gpu_write(pfdev, GPU_INT_MASK, 0); in panfrost_gpu_irq_handler()
50 panfrost_perfcnt_sample_done(pfdev); in panfrost_gpu_irq_handler()
60 panfrost_gpu_soft_reset(struct panfrost_device * pfdev) panfrost_gpu_soft_reset() argument
104 panfrost_gpu_amlogic_quirk(struct panfrost_device * pfdev) panfrost_gpu_amlogic_quirk() argument
115 panfrost_gpu_init_quirks(struct panfrost_device * pfdev) panfrost_gpu_init_quirks() argument
245 panfrost_gpu_init_features(struct panfrost_device * pfdev) panfrost_gpu_init_features() argument
352 panfrost_cycle_counter_get(struct panfrost_device * pfdev) panfrost_cycle_counter_get() argument
363 panfrost_cycle_counter_put(struct panfrost_device * pfdev) panfrost_cycle_counter_put() argument
374 panfrost_cycle_counter_read(struct panfrost_device * pfdev) panfrost_cycle_counter_read() argument
386 panfrost_timestamp_read(struct panfrost_device * pfdev) panfrost_timestamp_read() argument
398 panfrost_get_core_mask(struct panfrost_device * pfdev) panfrost_get_core_mask() argument
421 panfrost_gpu_power_on(struct panfrost_device * pfdev) panfrost_gpu_power_on() argument
452 panfrost_gpu_power_off(struct panfrost_device * pfdev) panfrost_gpu_power_off() argument
476 panfrost_gpu_suspend_irq(struct panfrost_device * pfdev) panfrost_gpu_suspend_irq() argument
484 panfrost_gpu_init(struct panfrost_device * pfdev) panfrost_gpu_init() argument
517 panfrost_gpu_fini(struct panfrost_device * pfdev) panfrost_gpu_fini() argument
522 panfrost_gpu_get_latest_flush_id(struct panfrost_device * pfdev) panfrost_gpu_get_latest_flush_id() argument
[all...]
H A Dpanfrost_device.c21 static int panfrost_reset_init(struct panfrost_device *pfdev) in panfrost_reset_init() argument
23 pfdev->rstc = devm_reset_control_array_get_optional_exclusive(pfdev->dev); in panfrost_reset_init()
24 if (IS_ERR(pfdev->rstc)) { in panfrost_reset_init()
25 dev_err(pfdev->dev, "get reset failed %ld\n", PTR_ERR(pfdev->rstc)); in panfrost_reset_init()
26 return PTR_ERR(pfdev->rstc); in panfrost_reset_init()
29 return reset_control_deassert(pfdev->rstc); in panfrost_reset_init()
32 static void panfrost_reset_fini(struct panfrost_device *pfdev) in panfrost_reset_fini() argument
34 reset_control_assert(pfdev->rstc); in panfrost_reset_fini()
37 static int panfrost_clk_init(struct panfrost_device *pfdev) in panfrost_clk_init() argument
42 pfdev->clock = devm_clk_get(pfdev->dev, NULL); in panfrost_clk_init()
[all …]
H A Dpanfrost_perfcnt.c38 void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev) in panfrost_perfcnt_clean_cache_done() argument
40 complete(&pfdev->perfcnt->dump_comp); in panfrost_perfcnt_clean_cache_done()
43 void panfrost_perfcnt_sample_done(struct panfrost_device *pfdev) in panfrost_perfcnt_sample_done() argument
45 gpu_write(pfdev, GPU_CMD, GPU_CMD_CLEAN_CACHES); in panfrost_perfcnt_sample_done()
48 static int panfrost_perfcnt_dump_locked(struct panfrost_device *pfdev) in panfrost_perfcnt_dump_locked() argument
53 reinit_completion(&pfdev->perfcnt->dump_comp); in panfrost_perfcnt_dump_locked()
54 gpuva = pfdev->perfcnt->mapping->mmnode.start << PAGE_SHIFT; in panfrost_perfcnt_dump_locked()
55 gpu_write(pfdev, GPU_PERFCNT_BASE_LO, lower_32_bits(gpuva)); in panfrost_perfcnt_dump_locked()
56 gpu_write(pfdev, GPU_PERFCNT_BASE_HI, upper_32_bits(gpuva)); in panfrost_perfcnt_dump_locked()
57 gpu_write(pfdev, GPU_INT_CLEA in panfrost_perfcnt_dump_locked()
71 panfrost_perfcnt_enable_locked(struct panfrost_device * pfdev,struct drm_file * file_priv,unsigned int counterset) panfrost_perfcnt_enable_locked() argument
182 panfrost_perfcnt_disable_locked(struct panfrost_device * pfdev,struct drm_file * file_priv) panfrost_perfcnt_disable_locked() argument
215 struct panfrost_device *pfdev = dev->dev_private; panfrost_ioctl_perfcnt_enable() local
242 struct panfrost_device *pfdev = dev->dev_private; panfrost_ioctl_perfcnt_dump() local
274 struct panfrost_device *pfdev = pfile->pfdev; panfrost_perfcnt_close() local
286 panfrost_perfcnt_init(struct panfrost_device * pfdev) panfrost_perfcnt_init() argument
342 panfrost_perfcnt_fini(struct panfrost_device * pfdev) panfrost_perfcnt_fini() argument
[all...]
H A Dpanfrost_mmu.c71 static int wait_ready(struct panfrost_device *pfdev, u32 as_nr) in wait_ready() argument
78 ret = readl_relaxed_poll_timeout_atomic(pfdev->iomem + AS_STATUS(as_nr), in wait_ready()
83 panfrost_device_schedule_reset(pfdev); in wait_ready()
84 dev_err(pfdev->dev, "AS_ACTIVE bit stuck\n"); in wait_ready()
90 static int write_cmd(struct panfrost_device *pfdev, u32 as_nr, u32 cmd) in write_cmd() argument
95 status = wait_ready(pfdev, as_nr); in write_cmd()
97 mmu_write(pfdev, AS_COMMAND(as_nr), cmd); in write_cmd()
102 static void lock_region(struct panfrost_device *pfdev, u32 as_nr, in lock_region() argument
132 mmu_write(pfdev, AS_LOCKADDR_LO(as_nr), lower_32_bits(region)); in lock_region()
133 mmu_write(pfdev, AS_LOCKADDR_H in lock_region()
138 mmu_hw_do_operation_locked(struct panfrost_device * pfdev,int as_nr,u64 iova,u64 size,u32 op) mmu_hw_do_operation_locked() argument
154 mmu_hw_do_operation(struct panfrost_device * pfdev,struct panfrost_mmu * mmu,u64 iova,u64 size,u32 op) mmu_hw_do_operation() argument
166 panfrost_mmu_enable(struct panfrost_device * pfdev,struct panfrost_mmu * mmu) panfrost_mmu_enable() argument
190 panfrost_mmu_disable(struct panfrost_device * pfdev,u32 as_nr) panfrost_mmu_disable() argument
223 struct panfrost_device *pfdev = mmu->pfdev; mmu_cfg_init_aarch64_4k() local
247 struct panfrost_device *pfdev = mmu->pfdev; panfrost_mmu_cfg_init() local
261 panfrost_mmu_as_get(struct panfrost_device * pfdev,struct panfrost_mmu * mmu) panfrost_mmu_as_get() argument
327 panfrost_mmu_as_put(struct panfrost_device * pfdev,struct panfrost_mmu * mmu) panfrost_mmu_as_put() argument
333 panfrost_mmu_reset(struct panfrost_device * pfdev) panfrost_mmu_reset() argument
377 panfrost_mmu_flush_range(struct panfrost_device * pfdev,struct panfrost_mmu * mmu,u64 iova,u64 size) panfrost_mmu_flush_range() argument
393 mmu_map_sg(struct panfrost_device * pfdev,struct panfrost_mmu * mmu,u64 iova,int prot,struct sg_table * sgt) mmu_map_sg() argument
431 struct panfrost_device *pfdev = to_panfrost_device(obj->dev); panfrost_mmu_map() local
456 struct panfrost_device *pfdev = to_panfrost_device(obj->dev); panfrost_mmu_unmap() local
508 addr_to_mapping(struct panfrost_device * pfdev,int as,u64 addr) addr_to_mapping() argument
544 panfrost_mmu_map_fault_addr(struct panfrost_device * pfdev,int as,u64 addr) panfrost_mmu_map_fault_addr() argument
661 struct panfrost_device *pfdev = mmu->pfdev; panfrost_mmu_release_ctx() local
719 panfrost_mmu_ctx_create(struct panfrost_device * pfdev) panfrost_mmu_ctx_create() argument
783 access_type_name(struct panfrost_device * pfdev,u32 fault_status) access_type_name() argument
806 struct panfrost_device *pfdev = data; panfrost_mmu_irq_handler() local
820 struct panfrost_device *pfdev = data; panfrost_mmu_irq_handler_thread() local
895 panfrost_mmu_init(struct panfrost_device * pfdev) panfrost_mmu_init() argument
917 panfrost_mmu_fini(struct panfrost_device * pfdev) panfrost_mmu_fini() argument
922 panfrost_mmu_suspend_irq(struct panfrost_device * pfdev) panfrost_mmu_suspend_irq() argument
[all...]
H A Dpanfrost_gem_shrinker.c21 struct panfrost_device *pfdev = shrinker->private_data; in panfrost_gem_shrinker_count() local
25 if (!mutex_trylock(&pfdev->shrinker_lock)) in panfrost_gem_shrinker_count()
28 list_for_each_entry(shmem, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_count()
33 mutex_unlock(&pfdev->shrinker_lock); in panfrost_gem_shrinker_count()
67 struct panfrost_device *pfdev = shrinker->private_data; in panfrost_gem_shrinker_scan() local
71 if (!mutex_trylock(&pfdev->shrinker_lock)) in panfrost_gem_shrinker_scan()
74 list_for_each_entry_safe(shmem, tmp, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_scan()
84 mutex_unlock(&pfdev->shrinker_lock); in panfrost_gem_shrinker_scan()
100 struct panfrost_device *pfdev = dev->dev_private; in panfrost_gem_shrinker_init() local
102 pfdev in panfrost_gem_shrinker_init()
123 struct panfrost_device *pfdev = dev->dev_private; panfrost_gem_shrinker_cleanup() local
[all...]
H A Dpanfrost_gpu.h10 int panfrost_gpu_init(struct panfrost_device *pfdev);
11 void panfrost_gpu_fini(struct panfrost_device *pfdev);
13 u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev);
15 int panfrost_gpu_soft_reset(struct panfrost_device *pfdev);
16 void panfrost_gpu_power_on(struct panfrost_device *pfdev);
17 void panfrost_gpu_power_off(struct panfrost_device *pfdev);
18 void panfrost_gpu_suspend_irq(struct panfrost_device *pfdev);
20 void panfrost_cycle_counter_get(struct panfrost_device *pfdev);
21 void panfrost_cycle_counter_put(struct panfrost_device *pfdev);
22 unsigned long long panfrost_cycle_counter_read(struct panfrost_device *pfdev);
[all...]
H A Dpanfrost_device.h105 void (*vendor_quirk)(struct panfrost_device *pfdev);
185 struct panfrost_device *pfdev; member
207 struct panfrost_device *pfdev; member
221 static inline int panfrost_model_cmp(struct panfrost_device *pfdev, s32 id) in panfrost_model_cmp() argument
223 s32 match_id = pfdev->features.id; in panfrost_model_cmp()
230 static inline bool panfrost_model_is_bifrost(struct panfrost_device *pfdev) in panfrost_model_is_bifrost() argument
232 return panfrost_model_cmp(pfdev, 0x1000) >= 0; in panfrost_model_is_bifrost()
235 static inline bool panfrost_model_eq(struct panfrost_device *pfdev, s32 id) in panfrost_model_eq() argument
237 return !panfrost_model_cmp(pfdev, id); in panfrost_model_eq()
242 int panfrost_device_init(struct panfrost_device *pfdev);
[all …]
H A Dpanfrost_devfreq.c32 struct panfrost_device *pfdev = dev_get_drvdata(dev); in panfrost_devfreq_target() local
43 pfdev->pfdevfreq.current_frequency = *freq; in panfrost_devfreq_target()
58 struct panfrost_device *pfdev = dev_get_drvdata(dev); in panfrost_devfreq_get_dev_status() local
59 struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq; in panfrost_devfreq_get_dev_status()
62 status->current_frequency = clk_get_rate(pfdev->clock); in panfrost_devfreq_get_dev_status()
77 dev_dbg(pfdev->dev, "busy %lu total %lu %lu %% freq %lu MHz\n", in panfrost_devfreq_get_dev_status()
117 int panfrost_devfreq_init(struct panfrost_device *pfdev) in panfrost_devfreq_init() argument
122 struct device *dev = &pfdev->pdev->dev; in panfrost_devfreq_init()
125 struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq; in panfrost_devfreq_init()
128 if (pfdev->comp->num_supplies > 1) { in panfrost_devfreq_init()
[all …]
H A Dpanfrost_mmu.h14 int panfrost_mmu_init(struct panfrost_device *pfdev);
15 void panfrost_mmu_fini(struct panfrost_device *pfdev);
16 void panfrost_mmu_reset(struct panfrost_device *pfdev);
17 void panfrost_mmu_suspend_irq(struct panfrost_device *pfdev);
19 u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
20 void panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
24 struct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev);
H A Dpanfrost_gem.c16 static void panfrost_gem_debugfs_bo_add(struct panfrost_device *pfdev, in panfrost_gem_debugfs_bo_add() argument
22 mutex_lock(&pfdev->debugfs.gems_lock); in panfrost_gem_debugfs_bo_add()
23 list_add_tail(&bo->debugfs.node, &pfdev->debugfs.gems_list); in panfrost_gem_debugfs_bo_add()
24 mutex_unlock(&pfdev->debugfs.gems_lock); in panfrost_gem_debugfs_bo_add()
29 struct panfrost_device *pfdev = bo->base.base.dev->dev_private; in panfrost_gem_debugfs_bo_rm() local
34 mutex_lock(&pfdev->debugfs.gems_lock); in panfrost_gem_debugfs_bo_rm()
36 mutex_unlock(&pfdev->debugfs.gems_lock); in panfrost_gem_debugfs_bo_rm()
39 static void panfrost_gem_debugfs_bo_add(struct panfrost_device *pfdev, in panfrost_gem_debugfs_bo_add() argument
51 struct panfrost_device *pfdev = obj->dev->dev_private; in panfrost_gem_free_object() local
59 mutex_lock(&pfdev in panfrost_gem_free_object()
287 struct panfrost_device *pfdev = dev->dev_private; panfrost_gem_create_object() local
469 panfrost_gem_debugfs_print_bos(struct panfrost_device * pfdev,struct seq_file * m) panfrost_gem_debugfs_print_bos() argument
[all...]
H A Dpanfrost_perfcnt.h8 void panfrost_perfcnt_sample_done(struct panfrost_device *pfdev);
9 void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev);
10 int panfrost_perfcnt_init(struct panfrost_device *pfdev);
11 void panfrost_perfcnt_fini(struct panfrost_device *pfdev);
H A Dpanfrost_devfreq.h36 int panfrost_devfreq_init(struct panfrost_device *pfdev);
37 void panfrost_devfreq_fini(struct panfrost_device *pfdev);
39 void panfrost_devfreq_resume(struct panfrost_device *pfdev);
40 void panfrost_devfreq_suspend(struct panfrost_device *pfdev);
H A Dpanfrost_features.h124 static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev, in panfrost_has_hw_feature() argument
127 return test_bit(feat, pfdev->features.hw_features); in panfrost_has_hw_feature()
H A Dpanfrost_issues.h268 static inline bool panfrost_has_hw_issue(const struct panfrost_device *pfdev, in panfrost_has_hw_issue() argument
271 return test_bit(issue, pfdev->features.hw_issues); in panfrost_has_hw_issue()
H A Dpanfrost_gem.h154 void panfrost_gem_debugfs_print_bos(struct panfrost_device *pfdev,
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_gem.h210 void panthor_gem_debugfs_print_bos(struct panthor_device *pfdev,
/linux/drivers/media/pci/ddbridge/
H A Dddbridge.h312 struct platform_device *pfdev; member
/linux/drivers/net/wireless/mediatek/mt76/mt7915/
H A Dsoc.c1198 struct platform_device *pfdev = to_platform_device(pdev); in mt798x_wmac_init() local
1213 dev->dcm = devm_platform_ioremap_resource(pfdev, 1); in mt798x_wmac_init()
1217 dev->sku = devm_platform_ioremap_resource(pfdev, 2); in mt798x_wmac_init()