/linux/drivers/gpu/drm/panfrost/ |
H A D | panfrost_gpu.c | 24 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 D | panfrost_device.c | 21 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 D | panfrost_perfcnt.c | 38 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 D | panfrost_mmu.c | 71 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 D | panfrost_gem_shrinker.c | 21 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 D | panfrost_gpu.h | 10 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 D | panfrost_device.h | 105 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 D | panfrost_devfreq.c | 32 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 D | panfrost_mmu.h | 14 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 D | panfrost_gem.c | 16 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 D | panfrost_perfcnt.h | 8 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 D | panfrost_devfreq.h | 36 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 D | panfrost_features.h | 124 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 D | panfrost_issues.h | 268 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 D | panfrost_gem.h | 154 void panfrost_gem_debugfs_print_bos(struct panfrost_device *pfdev,
|
/linux/drivers/gpu/drm/panthor/ |
H A D | panthor_gem.h | 210 void panthor_gem_debugfs_print_bos(struct panthor_device *pfdev,
|
/linux/drivers/media/pci/ddbridge/ |
H A D | ddbridge.h | 312 struct platform_device *pfdev; member
|
/linux/drivers/net/wireless/mediatek/mt76/mt7915/ |
H A D | soc.c | 1198 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()
|