/Linux-v5.4/drivers/gpu/drm/panfrost/ |
D | panfrost_device.c | 18 static int panfrost_reset_init(struct panfrost_device *pfdev) in panfrost_reset_init() argument 22 pfdev->rstc = devm_reset_control_array_get(pfdev->dev, false, true); in panfrost_reset_init() 23 if (IS_ERR(pfdev->rstc)) { in panfrost_reset_init() 24 dev_err(pfdev->dev, "get reset failed %ld\n", PTR_ERR(pfdev->rstc)); in panfrost_reset_init() 25 return PTR_ERR(pfdev->rstc); in panfrost_reset_init() 28 err = reset_control_deassert(pfdev->rstc); in panfrost_reset_init() 35 static void panfrost_reset_fini(struct panfrost_device *pfdev) in panfrost_reset_fini() argument 37 reset_control_assert(pfdev->rstc); in panfrost_reset_fini() 40 static int panfrost_clk_init(struct panfrost_device *pfdev) in panfrost_clk_init() argument 45 pfdev->clock = devm_clk_get(pfdev->dev, NULL); in panfrost_clk_init() [all …]
|
D | panfrost_gpu.c | 23 struct panfrost_device *pfdev = data; in panfrost_gpu_irq_handler() local 24 u32 state = gpu_read(pfdev, GPU_INT_STAT); in panfrost_gpu_irq_handler() 25 u32 fault_status = gpu_read(pfdev, GPU_FAULT_STATUS); in panfrost_gpu_irq_handler() 31 u64 address = (u64) gpu_read(pfdev, GPU_FAULT_ADDRESS_HI) << 32; in panfrost_gpu_irq_handler() 32 address |= gpu_read(pfdev, GPU_FAULT_ADDRESS_LO); in panfrost_gpu_irq_handler() 34 dev_warn(pfdev->dev, "GPU Fault 0x%08x (%s) at 0x%016llx\n", in panfrost_gpu_irq_handler() 35 fault_status & 0xFF, panfrost_exception_name(pfdev, fault_status), in panfrost_gpu_irq_handler() 39 dev_warn(pfdev->dev, "There were multiple GPU faults - some have not been reported\n"); in panfrost_gpu_irq_handler() 41 gpu_write(pfdev, GPU_INT_MASK, 0); in panfrost_gpu_irq_handler() 45 panfrost_perfcnt_sample_done(pfdev); in panfrost_gpu_irq_handler() [all …]
|
D | panfrost_devfreq.c | 16 static void panfrost_devfreq_update_utilization(struct panfrost_device *pfdev, int slot); 21 struct panfrost_device *pfdev = platform_get_drvdata(to_platform_device(dev)); in panfrost_devfreq_target() local 23 unsigned long old_clk_rate = pfdev->devfreq.cur_freq; in panfrost_devfreq_target() 43 err = regulator_set_voltage(pfdev->regulator, target_volt, in panfrost_devfreq_target() 52 err = clk_set_rate(pfdev->clock, target_rate); in panfrost_devfreq_target() 56 regulator_set_voltage(pfdev->regulator, pfdev->devfreq.cur_volt, in panfrost_devfreq_target() 57 pfdev->devfreq.cur_volt); in panfrost_devfreq_target() 62 err = regulator_set_voltage(pfdev->regulator, target_volt, in panfrost_devfreq_target() 68 pfdev->devfreq.cur_freq = target_rate; in panfrost_devfreq_target() 69 pfdev->devfreq.cur_volt = target_volt; in panfrost_devfreq_target() [all …]
|
D | panfrost_perfcnt.c | 36 void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev) in panfrost_perfcnt_clean_cache_done() argument 38 complete(&pfdev->perfcnt->dump_comp); in panfrost_perfcnt_clean_cache_done() 41 void panfrost_perfcnt_sample_done(struct panfrost_device *pfdev) in panfrost_perfcnt_sample_done() argument 43 gpu_write(pfdev, GPU_CMD, GPU_CMD_CLEAN_CACHES); in panfrost_perfcnt_sample_done() 46 static int panfrost_perfcnt_dump_locked(struct panfrost_device *pfdev) in panfrost_perfcnt_dump_locked() argument 51 reinit_completion(&pfdev->perfcnt->dump_comp); in panfrost_perfcnt_dump_locked() 52 gpuva = pfdev->perfcnt->bo->node.start << PAGE_SHIFT; in panfrost_perfcnt_dump_locked() 53 gpu_write(pfdev, GPU_PERFCNT_BASE_LO, gpuva); in panfrost_perfcnt_dump_locked() 54 gpu_write(pfdev, GPU_PERFCNT_BASE_HI, gpuva >> 32); in panfrost_perfcnt_dump_locked() 55 gpu_write(pfdev, GPU_INT_CLEAR, in panfrost_perfcnt_dump_locked() [all …]
|
D | panfrost_mmu.c | 26 static int wait_ready(struct panfrost_device *pfdev, u32 as_nr) in wait_ready() argument 33 ret = readl_relaxed_poll_timeout_atomic(pfdev->iomem + AS_STATUS(as_nr), in wait_ready() 37 dev_err(pfdev->dev, "AS_ACTIVE bit stuck\n"); in wait_ready() 42 static int write_cmd(struct panfrost_device *pfdev, u32 as_nr, u32 cmd) in write_cmd() argument 47 status = wait_ready(pfdev, as_nr); in write_cmd() 49 mmu_write(pfdev, AS_COMMAND(as_nr), cmd); in write_cmd() 54 static void lock_region(struct panfrost_device *pfdev, u32 as_nr, in lock_region() argument 77 mmu_write(pfdev, AS_LOCKADDR_LO(as_nr), region & 0xFFFFFFFFUL); in lock_region() 78 mmu_write(pfdev, AS_LOCKADDR_HI(as_nr), (region >> 32) & 0xFFFFFFFFUL); in lock_region() 79 write_cmd(pfdev, as_nr, AS_COMMAND_LOCK); in lock_region() [all …]
|
D | panfrost_job.c | 84 static struct dma_fence *panfrost_fence_create(struct panfrost_device *pfdev, int js_num) in panfrost_fence_create() argument 87 struct panfrost_job_slot *js = pfdev->js; in panfrost_fence_create() 93 fence->dev = pfdev->ddev; in panfrost_fence_create() 115 (job->pfdev->features.nr_core_groups == 2)) in panfrost_job_get_slot() 117 if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987)) in panfrost_job_get_slot() 124 static void panfrost_job_write_affinity(struct panfrost_device *pfdev, in panfrost_job_write_affinity() argument 135 affinity = pfdev->features.shader_present; in panfrost_job_write_affinity() 137 job_write(pfdev, JS_AFFINITY_NEXT_LO(js), affinity & 0xFFFFFFFF); in panfrost_job_write_affinity() 138 job_write(pfdev, JS_AFFINITY_NEXT_HI(js), affinity >> 32); in panfrost_job_write_affinity() 143 struct panfrost_device *pfdev = job->pfdev; in panfrost_job_hw_submit() local [all …]
|
D | panfrost_gem_shrinker.c | 21 struct panfrost_device *pfdev = in panfrost_gem_shrinker_count() local 26 if (!mutex_trylock(&pfdev->shrinker_lock)) in panfrost_gem_shrinker_count() 29 list_for_each_entry(shmem, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_count() 34 mutex_unlock(&pfdev->shrinker_lock); in panfrost_gem_shrinker_count() 56 struct panfrost_device *pfdev = in panfrost_gem_shrinker_scan() local 61 if (!mutex_trylock(&pfdev->shrinker_lock)) in panfrost_gem_shrinker_scan() 64 list_for_each_entry_safe(shmem, tmp, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_scan() 74 mutex_unlock(&pfdev->shrinker_lock); in panfrost_gem_shrinker_scan() 90 struct panfrost_device *pfdev = dev->dev_private; in panfrost_gem_shrinker_init() local 91 pfdev->shrinker.count_objects = panfrost_gem_shrinker_count; in panfrost_gem_shrinker_init() [all …]
|
D | panfrost_drv.c | 30 struct panfrost_device *pfdev = ddev->dev_private; in panfrost_ioctl_get_param() local 37 param->value = pfdev->features.member; \ in panfrost_ioctl_get_param() 42 param->value = pfdev->features.member[param->param - \ in panfrost_ioctl_get_param() 204 struct panfrost_device *pfdev = dev->dev_private; in panfrost_ioctl_submit() local 230 job->pfdev = pfdev; in panfrost_ioctl_submit() 233 job->flush_id = panfrost_gpu_get_latest_flush_id(pfdev); in panfrost_ioctl_submit() 341 struct panfrost_device *pfdev = dev->dev_private; in panfrost_ioctl_madvise() local 355 mutex_lock(&pfdev->shrinker_lock); in panfrost_ioctl_madvise() 358 list_add_tail(&bo->base.madv_list, &pfdev->shrinker_list); in panfrost_ioctl_madvise() 362 mutex_unlock(&pfdev->shrinker_lock); in panfrost_ioctl_madvise() [all …]
|
D | panfrost_device.h | 111 struct panfrost_device *pfdev; member 125 static inline int panfrost_model_cmp(struct panfrost_device *pfdev, s32 id) in panfrost_model_cmp() argument 127 s32 match_id = pfdev->features.id; in panfrost_model_cmp() 134 static inline bool panfrost_model_is_bifrost(struct panfrost_device *pfdev) in panfrost_model_is_bifrost() argument 136 return panfrost_model_cmp(pfdev, 0x1000) >= 0; in panfrost_model_is_bifrost() 139 static inline bool panfrost_model_eq(struct panfrost_device *pfdev, s32 id) in panfrost_model_eq() argument 141 return !panfrost_model_cmp(pfdev, id); in panfrost_model_eq() 146 int panfrost_device_init(struct panfrost_device *pfdev); 147 void panfrost_device_fini(struct panfrost_device *pfdev); 148 void panfrost_device_reset(struct panfrost_device *pfdev); [all …]
|
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);
|
D | panfrost_devfreq.h | 7 int panfrost_devfreq_init(struct panfrost_device *pfdev); 8 void panfrost_devfreq_fini(struct panfrost_device *pfdev); 10 void panfrost_devfreq_resume(struct panfrost_device *pfdev); 11 void panfrost_devfreq_suspend(struct panfrost_device *pfdev); 13 void panfrost_devfreq_record_transition(struct panfrost_device *pfdev, int slot);
|
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); 18 u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu); 19 void panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
|
D | panfrost_job.h | 19 struct panfrost_device *pfdev; member 42 int panfrost_job_init(struct panfrost_device *pfdev); 43 void panfrost_job_fini(struct panfrost_device *pfdev); 48 void panfrost_job_enable_interrupts(struct panfrost_device *pfdev); 49 int panfrost_job_is_idle(struct panfrost_device *pfdev);
|
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);
|
D | panfrost_gem.c | 20 struct panfrost_device *pfdev = obj->dev->dev_private; in panfrost_gem_free_object() local 28 dma_unmap_sg(pfdev->dev, bo->sgts[i].sgl, in panfrost_gem_free_object() 36 mutex_lock(&pfdev->shrinker_lock); in panfrost_gem_free_object() 39 mutex_unlock(&pfdev->shrinker_lock); in panfrost_gem_free_object()
|
D | panfrost_issues.h | 170 static inline bool panfrost_has_hw_issue(struct panfrost_device *pfdev, in panfrost_has_hw_issue() argument 173 return test_bit(issue, pfdev->features.hw_issues); in panfrost_has_hw_issue()
|
D | panfrost_features.h | 303 static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev, in panfrost_has_hw_feature() argument 306 return test_bit(feat, pfdev->features.hw_features); in panfrost_has_hw_feature()
|
/Linux-v5.4/sound/drivers/ |
D | ml403-ac97cr.c | 352 struct platform_device *pfdev; member 773 struct platform_device *pfdev; in snd_ml403_ac97cr_irq() local 780 pfdev = ml403_ac97cr->pfdev; in snd_ml403_ac97cr_irq() 783 cmp_irq = platform_get_irq(pfdev, 0); in snd_ml403_ac97cr_irq() 795 cmp_irq = platform_get_irq(pfdev, 1); in snd_ml403_ac97cr_irq() 1097 snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev, argument 1115 ml403_ac97cr->pfdev = pfdev; 1124 resource = platform_get_resource(pfdev, IORESOURCE_MEM, 0); 1140 irq = platform_get_irq(pfdev, 0); 1142 dev_name(&pfdev->dev), (void *)ml403_ac97cr)) { [all …]
|
/Linux-v5.4/drivers/media/pci/ddbridge/ |
D | ddbridge.h | 321 struct platform_device *pfdev; member
|