pfdev              16 drivers/gpu/drm/panfrost/panfrost_devfreq.c static void panfrost_devfreq_update_utilization(struct panfrost_device *pfdev, int slot);
pfdev              21 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	struct panfrost_device *pfdev = platform_get_drvdata(to_platform_device(dev));
pfdev              23 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	unsigned long old_clk_rate = pfdev->devfreq.cur_freq;
pfdev              43 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		err = regulator_set_voltage(pfdev->regulator, target_volt,
pfdev              52 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	err = clk_set_rate(pfdev->clock, target_rate);
pfdev              56 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		if (pfdev->regulator)
pfdev              57 drivers/gpu/drm/panfrost/panfrost_devfreq.c 			regulator_set_voltage(pfdev->regulator,
pfdev              58 drivers/gpu/drm/panfrost/panfrost_devfreq.c 					      pfdev->devfreq.cur_volt,
pfdev              59 drivers/gpu/drm/panfrost/panfrost_devfreq.c 					      pfdev->devfreq.cur_volt);
pfdev              64 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		err = regulator_set_voltage(pfdev->regulator, target_volt,
pfdev              70 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	pfdev->devfreq.cur_freq = target_rate;
pfdev              71 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	pfdev->devfreq.cur_volt = target_volt;
pfdev              76 drivers/gpu/drm/panfrost/panfrost_devfreq.c static void panfrost_devfreq_reset(struct panfrost_device *pfdev)
pfdev              82 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[i].busy_time = 0;
pfdev              83 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[i].idle_time = 0;
pfdev              84 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[i].time_last_update = now;
pfdev              91 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	struct panfrost_device *pfdev = platform_get_drvdata(to_platform_device(dev));
pfdev              95 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		panfrost_devfreq_update_utilization(pfdev, i);
pfdev              98 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	status->current_frequency = clk_get_rate(pfdev->clock);
pfdev              99 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	status->total_time = ktime_to_ns(ktime_add(pfdev->devfreq.slot[0].busy_time,
pfdev             100 drivers/gpu/drm/panfrost/panfrost_devfreq.c 						   pfdev->devfreq.slot[0].idle_time));
pfdev             104 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		status->busy_time += ktime_to_ns(pfdev->devfreq.slot[i].busy_time);
pfdev             110 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	panfrost_devfreq_reset(pfdev);
pfdev             112 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	dev_dbg(pfdev->dev, "busy %lu total %lu %lu %% freq %lu MHz\n", status->busy_time,
pfdev             122 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	struct panfrost_device *pfdev = platform_get_drvdata(to_platform_device(dev));
pfdev             124 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	*freq = pfdev->devfreq.cur_freq;
pfdev             136 drivers/gpu/drm/panfrost/panfrost_devfreq.c int panfrost_devfreq_init(struct panfrost_device *pfdev)
pfdev             141 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	ret = dev_pm_opp_of_add_table(&pfdev->pdev->dev);
pfdev             147 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	panfrost_devfreq_reset(pfdev);
pfdev             149 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	pfdev->devfreq.cur_freq = clk_get_rate(pfdev->clock);
pfdev             151 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	opp = devfreq_recommended_opp(&pfdev->pdev->dev, &pfdev->devfreq.cur_freq, 0);
pfdev             155 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	panfrost_devfreq_profile.initial_freq = pfdev->devfreq.cur_freq;
pfdev             158 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	pfdev->devfreq.devfreq = devm_devfreq_add_device(&pfdev->pdev->dev,
pfdev             161 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	if (IS_ERR(pfdev->devfreq.devfreq)) {
pfdev             162 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		DRM_DEV_ERROR(&pfdev->pdev->dev, "Couldn't initialize GPU devfreq\n");
pfdev             163 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		ret = PTR_ERR(pfdev->devfreq.devfreq);
pfdev             164 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.devfreq = NULL;
pfdev             165 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		dev_pm_opp_of_remove_table(&pfdev->pdev->dev);
pfdev             172 drivers/gpu/drm/panfrost/panfrost_devfreq.c void panfrost_devfreq_fini(struct panfrost_device *pfdev)
pfdev             174 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	dev_pm_opp_of_remove_table(&pfdev->pdev->dev);
pfdev             177 drivers/gpu/drm/panfrost/panfrost_devfreq.c void panfrost_devfreq_resume(struct panfrost_device *pfdev)
pfdev             181 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	if (!pfdev->devfreq.devfreq)
pfdev             184 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	panfrost_devfreq_reset(pfdev);
pfdev             186 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[i].busy = false;
pfdev             188 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	devfreq_resume_device(pfdev->devfreq.devfreq);
pfdev             191 drivers/gpu/drm/panfrost/panfrost_devfreq.c void panfrost_devfreq_suspend(struct panfrost_device *pfdev)
pfdev             193 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	if (!pfdev->devfreq.devfreq)
pfdev             196 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	devfreq_suspend_device(pfdev->devfreq.devfreq);
pfdev             199 drivers/gpu/drm/panfrost/panfrost_devfreq.c static void panfrost_devfreq_update_utilization(struct panfrost_device *pfdev, int slot)
pfdev             201 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	struct panfrost_devfreq_slot *devfreq_slot = &pfdev->devfreq.slot[slot];
pfdev             205 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	if (!pfdev->devfreq.devfreq)
pfdev             209 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	last = pfdev->devfreq.slot[slot].time_last_update;
pfdev             213 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[slot].busy_time += ktime_sub(now, last);
pfdev             215 drivers/gpu/drm/panfrost/panfrost_devfreq.c 		pfdev->devfreq.slot[slot].idle_time += ktime_sub(now, last);
pfdev             217 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	pfdev->devfreq.slot[slot].time_last_update = now;
pfdev             221 drivers/gpu/drm/panfrost/panfrost_devfreq.c void panfrost_devfreq_record_transition(struct panfrost_device *pfdev, int slot)
pfdev             223 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	struct panfrost_devfreq_slot *devfreq_slot = &pfdev->devfreq.slot[slot];
pfdev             225 drivers/gpu/drm/panfrost/panfrost_devfreq.c 	panfrost_devfreq_update_utilization(pfdev, slot);
pfdev               7 drivers/gpu/drm/panfrost/panfrost_devfreq.h int panfrost_devfreq_init(struct panfrost_device *pfdev);
pfdev               8 drivers/gpu/drm/panfrost/panfrost_devfreq.h void panfrost_devfreq_fini(struct panfrost_device *pfdev);
pfdev              10 drivers/gpu/drm/panfrost/panfrost_devfreq.h void panfrost_devfreq_resume(struct panfrost_device *pfdev);
pfdev              11 drivers/gpu/drm/panfrost/panfrost_devfreq.h void panfrost_devfreq_suspend(struct panfrost_device *pfdev);
pfdev              13 drivers/gpu/drm/panfrost/panfrost_devfreq.h void panfrost_devfreq_record_transition(struct panfrost_device *pfdev, int slot);
pfdev              18 drivers/gpu/drm/panfrost/panfrost_device.c static int panfrost_reset_init(struct panfrost_device *pfdev)
pfdev              22 drivers/gpu/drm/panfrost/panfrost_device.c 	pfdev->rstc = devm_reset_control_array_get(pfdev->dev, false, true);
pfdev              23 drivers/gpu/drm/panfrost/panfrost_device.c 	if (IS_ERR(pfdev->rstc)) {
pfdev              24 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "get reset failed %ld\n", PTR_ERR(pfdev->rstc));
pfdev              25 drivers/gpu/drm/panfrost/panfrost_device.c 		return PTR_ERR(pfdev->rstc);
pfdev              28 drivers/gpu/drm/panfrost/panfrost_device.c 	err = reset_control_deassert(pfdev->rstc);
pfdev              35 drivers/gpu/drm/panfrost/panfrost_device.c static void panfrost_reset_fini(struct panfrost_device *pfdev)
pfdev              37 drivers/gpu/drm/panfrost/panfrost_device.c 	reset_control_assert(pfdev->rstc);
pfdev              40 drivers/gpu/drm/panfrost/panfrost_device.c static int panfrost_clk_init(struct panfrost_device *pfdev)
pfdev              45 drivers/gpu/drm/panfrost/panfrost_device.c 	pfdev->clock = devm_clk_get(pfdev->dev, NULL);
pfdev              46 drivers/gpu/drm/panfrost/panfrost_device.c 	if (IS_ERR(pfdev->clock)) {
pfdev              47 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "get clock failed %ld\n", PTR_ERR(pfdev->clock));
pfdev              48 drivers/gpu/drm/panfrost/panfrost_device.c 		return PTR_ERR(pfdev->clock);
pfdev              51 drivers/gpu/drm/panfrost/panfrost_device.c 	rate = clk_get_rate(pfdev->clock);
pfdev              52 drivers/gpu/drm/panfrost/panfrost_device.c 	dev_info(pfdev->dev, "clock rate = %lu\n", rate);
pfdev              54 drivers/gpu/drm/panfrost/panfrost_device.c 	err = clk_prepare_enable(pfdev->clock);
pfdev              58 drivers/gpu/drm/panfrost/panfrost_device.c 	pfdev->bus_clock = devm_clk_get_optional(pfdev->dev, "bus");
pfdev              59 drivers/gpu/drm/panfrost/panfrost_device.c 	if (IS_ERR(pfdev->bus_clock)) {
pfdev              60 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "get bus_clock failed %ld\n",
pfdev              61 drivers/gpu/drm/panfrost/panfrost_device.c 			PTR_ERR(pfdev->bus_clock));
pfdev              62 drivers/gpu/drm/panfrost/panfrost_device.c 		return PTR_ERR(pfdev->bus_clock);
pfdev              65 drivers/gpu/drm/panfrost/panfrost_device.c 	if (pfdev->bus_clock) {
pfdev              66 drivers/gpu/drm/panfrost/panfrost_device.c 		rate = clk_get_rate(pfdev->bus_clock);
pfdev              67 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_info(pfdev->dev, "bus_clock rate = %lu\n", rate);
pfdev              69 drivers/gpu/drm/panfrost/panfrost_device.c 		err = clk_prepare_enable(pfdev->bus_clock);
pfdev              77 drivers/gpu/drm/panfrost/panfrost_device.c 	clk_disable_unprepare(pfdev->clock);
pfdev              82 drivers/gpu/drm/panfrost/panfrost_device.c static void panfrost_clk_fini(struct panfrost_device *pfdev)
pfdev              84 drivers/gpu/drm/panfrost/panfrost_device.c 	clk_disable_unprepare(pfdev->bus_clock);
pfdev              85 drivers/gpu/drm/panfrost/panfrost_device.c 	clk_disable_unprepare(pfdev->clock);
pfdev              88 drivers/gpu/drm/panfrost/panfrost_device.c static int panfrost_regulator_init(struct panfrost_device *pfdev)
pfdev              92 drivers/gpu/drm/panfrost/panfrost_device.c 	pfdev->regulator = devm_regulator_get(pfdev->dev, "mali");
pfdev              93 drivers/gpu/drm/panfrost/panfrost_device.c 	if (IS_ERR(pfdev->regulator)) {
pfdev              94 drivers/gpu/drm/panfrost/panfrost_device.c 		ret = PTR_ERR(pfdev->regulator);
pfdev              95 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "failed to get regulator: %d\n", ret);
pfdev              99 drivers/gpu/drm/panfrost/panfrost_device.c 	ret = regulator_enable(pfdev->regulator);
pfdev             101 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "failed to enable regulator: %d\n", ret);
pfdev             108 drivers/gpu/drm/panfrost/panfrost_device.c static void panfrost_regulator_fini(struct panfrost_device *pfdev)
pfdev             110 drivers/gpu/drm/panfrost/panfrost_device.c 	regulator_disable(pfdev->regulator);
pfdev             113 drivers/gpu/drm/panfrost/panfrost_device.c int panfrost_device_init(struct panfrost_device *pfdev)
pfdev             118 drivers/gpu/drm/panfrost/panfrost_device.c 	mutex_init(&pfdev->sched_lock);
pfdev             119 drivers/gpu/drm/panfrost/panfrost_device.c 	mutex_init(&pfdev->reset_lock);
pfdev             120 drivers/gpu/drm/panfrost/panfrost_device.c 	INIT_LIST_HEAD(&pfdev->scheduled_jobs);
pfdev             121 drivers/gpu/drm/panfrost/panfrost_device.c 	INIT_LIST_HEAD(&pfdev->as_lru_list);
pfdev             123 drivers/gpu/drm/panfrost/panfrost_device.c 	spin_lock_init(&pfdev->as_lock);
pfdev             125 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_clk_init(pfdev);
pfdev             127 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "clk init failed %d\n", err);
pfdev             131 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_regulator_init(pfdev);
pfdev             133 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "regulator init failed %d\n", err);
pfdev             137 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_reset_init(pfdev);
pfdev             139 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "reset init failed %d\n", err);
pfdev             143 drivers/gpu/drm/panfrost/panfrost_device.c 	res = platform_get_resource(pfdev->pdev, IORESOURCE_MEM, 0);
pfdev             144 drivers/gpu/drm/panfrost/panfrost_device.c 	pfdev->iomem = devm_ioremap_resource(pfdev->dev, res);
pfdev             145 drivers/gpu/drm/panfrost/panfrost_device.c 	if (IS_ERR(pfdev->iomem)) {
pfdev             146 drivers/gpu/drm/panfrost/panfrost_device.c 		dev_err(pfdev->dev, "failed to ioremap iomem\n");
pfdev             147 drivers/gpu/drm/panfrost/panfrost_device.c 		err = PTR_ERR(pfdev->iomem);
pfdev             151 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_gpu_init(pfdev);
pfdev             155 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_mmu_init(pfdev);
pfdev             159 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_job_init(pfdev);
pfdev             163 drivers/gpu/drm/panfrost/panfrost_device.c 	err = panfrost_perfcnt_init(pfdev);
pfdev             169 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_job_fini(pfdev);
pfdev             171 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_mmu_fini(pfdev);
pfdev             173 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_gpu_fini(pfdev);
pfdev             175 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_reset_fini(pfdev);
pfdev             177 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_regulator_fini(pfdev);
pfdev             179 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_clk_fini(pfdev);
pfdev             183 drivers/gpu/drm/panfrost/panfrost_device.c void panfrost_device_fini(struct panfrost_device *pfdev)
pfdev             185 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_perfcnt_fini(pfdev);
pfdev             186 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_job_fini(pfdev);
pfdev             187 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_mmu_fini(pfdev);
pfdev             188 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_gpu_fini(pfdev);
pfdev             189 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_reset_fini(pfdev);
pfdev             190 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_regulator_fini(pfdev);
pfdev             191 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_clk_fini(pfdev);
pfdev             194 drivers/gpu/drm/panfrost/panfrost_device.c const char *panfrost_exception_name(struct panfrost_device *pfdev, u32 exception_code)
pfdev             245 drivers/gpu/drm/panfrost/panfrost_device.c void panfrost_device_reset(struct panfrost_device *pfdev)
pfdev             247 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_gpu_soft_reset(pfdev);
pfdev             249 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_gpu_power_on(pfdev);
pfdev             250 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_mmu_reset(pfdev);
pfdev             251 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_job_enable_interrupts(pfdev);
pfdev             258 drivers/gpu/drm/panfrost/panfrost_device.c 	struct panfrost_device *pfdev = platform_get_drvdata(pdev);
pfdev             260 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_device_reset(pfdev);
pfdev             261 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_devfreq_resume(pfdev);
pfdev             269 drivers/gpu/drm/panfrost/panfrost_device.c 	struct panfrost_device *pfdev = platform_get_drvdata(pdev);
pfdev             271 drivers/gpu/drm/panfrost/panfrost_device.c 	if (!panfrost_job_is_idle(pfdev))
pfdev             274 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_devfreq_suspend(pfdev);
pfdev             275 drivers/gpu/drm/panfrost/panfrost_device.c 	panfrost_gpu_power_off(pfdev);
pfdev             111 drivers/gpu/drm/panfrost/panfrost_device.h 	struct panfrost_device *pfdev;
pfdev             125 drivers/gpu/drm/panfrost/panfrost_device.h static inline int panfrost_model_cmp(struct panfrost_device *pfdev, s32 id)
pfdev             127 drivers/gpu/drm/panfrost/panfrost_device.h 	s32 match_id = pfdev->features.id;
pfdev             134 drivers/gpu/drm/panfrost/panfrost_device.h static inline bool panfrost_model_is_bifrost(struct panfrost_device *pfdev)
pfdev             136 drivers/gpu/drm/panfrost/panfrost_device.h 	return panfrost_model_cmp(pfdev, 0x1000) >= 0;
pfdev             139 drivers/gpu/drm/panfrost/panfrost_device.h static inline bool panfrost_model_eq(struct panfrost_device *pfdev, s32 id)
pfdev             141 drivers/gpu/drm/panfrost/panfrost_device.h 	return !panfrost_model_cmp(pfdev, id);
pfdev             146 drivers/gpu/drm/panfrost/panfrost_device.h int panfrost_device_init(struct panfrost_device *pfdev);
pfdev             147 drivers/gpu/drm/panfrost/panfrost_device.h void panfrost_device_fini(struct panfrost_device *pfdev);
pfdev             148 drivers/gpu/drm/panfrost/panfrost_device.h void panfrost_device_reset(struct panfrost_device *pfdev);
pfdev             153 drivers/gpu/drm/panfrost/panfrost_device.h const char *panfrost_exception_name(struct panfrost_device *pfdev, u32 exception_code);
pfdev              30 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev = ddev->dev_private;
pfdev              37 drivers/gpu/drm/panfrost/panfrost_drv.c 		param->value = pfdev->features.member;	\
pfdev              42 drivers/gpu/drm/panfrost/panfrost_drv.c 		param->value = pfdev->features.member[param->param -	\
pfdev             242 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             268 drivers/gpu/drm/panfrost/panfrost_drv.c 	job->pfdev = pfdev;
pfdev             271 drivers/gpu/drm/panfrost/panfrost_drv.c 	job->flush_id = panfrost_gpu_get_latest_flush_id(pfdev);
pfdev             390 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             403 drivers/gpu/drm/panfrost/panfrost_drv.c 	mutex_lock(&pfdev->shrinker_lock);
pfdev             432 drivers/gpu/drm/panfrost/panfrost_drv.c 				      &pfdev->shrinker_list);
pfdev             439 drivers/gpu/drm/panfrost/panfrost_drv.c 	mutex_unlock(&pfdev->shrinker_lock);
pfdev             483 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             490 drivers/gpu/drm/panfrost/panfrost_drv.c 	panfrost_priv->pfdev = pfdev;
pfdev             578 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev;
pfdev             582 drivers/gpu/drm/panfrost/panfrost_drv.c 	pfdev = devm_kzalloc(&pdev->dev, sizeof(*pfdev), GFP_KERNEL);
pfdev             583 drivers/gpu/drm/panfrost/panfrost_drv.c 	if (!pfdev)
pfdev             586 drivers/gpu/drm/panfrost/panfrost_drv.c 	pfdev->pdev = pdev;
pfdev             587 drivers/gpu/drm/panfrost/panfrost_drv.c 	pfdev->dev = &pdev->dev;
pfdev             589 drivers/gpu/drm/panfrost/panfrost_drv.c 	platform_set_drvdata(pdev, pfdev);
pfdev             596 drivers/gpu/drm/panfrost/panfrost_drv.c 	ddev->dev_private = pfdev;
pfdev             597 drivers/gpu/drm/panfrost/panfrost_drv.c 	pfdev->ddev = ddev;
pfdev             599 drivers/gpu/drm/panfrost/panfrost_drv.c 	mutex_init(&pfdev->shrinker_lock);
pfdev             600 drivers/gpu/drm/panfrost/panfrost_drv.c 	INIT_LIST_HEAD(&pfdev->shrinker_list);
pfdev             602 drivers/gpu/drm/panfrost/panfrost_drv.c 	err = panfrost_device_init(pfdev);
pfdev             609 drivers/gpu/drm/panfrost/panfrost_drv.c 	err = panfrost_devfreq_init(pfdev);
pfdev             616 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_set_active(pfdev->dev);
pfdev             617 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_mark_last_busy(pfdev->dev);
pfdev             618 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_enable(pfdev->dev);
pfdev             619 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_set_autosuspend_delay(pfdev->dev, 50); /* ~3 frames */
pfdev             620 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_use_autosuspend(pfdev->dev);
pfdev             635 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_disable(pfdev->dev);
pfdev             636 drivers/gpu/drm/panfrost/panfrost_drv.c 	panfrost_devfreq_fini(pfdev);
pfdev             638 drivers/gpu/drm/panfrost/panfrost_drv.c 	panfrost_device_fini(pfdev);
pfdev             646 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct panfrost_device *pfdev = platform_get_drvdata(pdev);
pfdev             647 drivers/gpu/drm/panfrost/panfrost_drv.c 	struct drm_device *ddev = pfdev->ddev;
pfdev             652 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_get_sync(pfdev->dev);
pfdev             653 drivers/gpu/drm/panfrost/panfrost_drv.c 	panfrost_devfreq_fini(pfdev);
pfdev             654 drivers/gpu/drm/panfrost/panfrost_drv.c 	panfrost_device_fini(pfdev);
pfdev             655 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_put_sync_suspend(pfdev->dev);
pfdev             656 drivers/gpu/drm/panfrost/panfrost_drv.c 	pm_runtime_disable(pfdev->dev);
pfdev             303 drivers/gpu/drm/panfrost/panfrost_features.h static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev,
pfdev             306 drivers/gpu/drm/panfrost/panfrost_features.h 	return test_bit(feat, pfdev->features.hw_features);
pfdev              20 drivers/gpu/drm/panfrost/panfrost_gem.c 	struct panfrost_device *pfdev = obj->dev->dev_private;
pfdev              28 drivers/gpu/drm/panfrost/panfrost_gem.c 	mutex_lock(&pfdev->shrinker_lock);
pfdev              30 drivers/gpu/drm/panfrost/panfrost_gem.c 	mutex_unlock(&pfdev->shrinker_lock);
pfdev              44 drivers/gpu/drm/panfrost/panfrost_gem.c 				dma_unmap_sg(pfdev->dev, bo->sgts[i].sgl,
pfdev              21 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	struct panfrost_device *pfdev =
pfdev              26 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	if (!mutex_trylock(&pfdev->shrinker_lock))
pfdev              29 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	list_for_each_entry(shmem, &pfdev->shrinker_list, madv_list) {
pfdev              34 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	mutex_unlock(&pfdev->shrinker_lock);
pfdev              60 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	struct panfrost_device *pfdev =
pfdev              65 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	if (!mutex_trylock(&pfdev->shrinker_lock))
pfdev              68 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	list_for_each_entry_safe(shmem, tmp, &pfdev->shrinker_list, madv_list) {
pfdev              78 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	mutex_unlock(&pfdev->shrinker_lock);
pfdev              94 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev              95 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	pfdev->shrinker.count_objects = panfrost_gem_shrinker_count;
pfdev              96 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	pfdev->shrinker.scan_objects = panfrost_gem_shrinker_scan;
pfdev              97 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	pfdev->shrinker.seeks = DEFAULT_SEEKS;
pfdev              98 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	WARN_ON(register_shrinker(&pfdev->shrinker));
pfdev             109 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             111 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 	if (pfdev->shrinker.nr_deferred) {
pfdev             112 drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c 		unregister_shrinker(&pfdev->shrinker);
pfdev              23 drivers/gpu/drm/panfrost/panfrost_gpu.c 	struct panfrost_device *pfdev = data;
pfdev              24 drivers/gpu/drm/panfrost/panfrost_gpu.c 	u32 state = gpu_read(pfdev, GPU_INT_STAT);
pfdev              25 drivers/gpu/drm/panfrost/panfrost_gpu.c 	u32 fault_status = gpu_read(pfdev, GPU_FAULT_STATUS);
pfdev              31 drivers/gpu/drm/panfrost/panfrost_gpu.c 		u64 address = (u64) gpu_read(pfdev, GPU_FAULT_ADDRESS_HI) << 32;
pfdev              32 drivers/gpu/drm/panfrost/panfrost_gpu.c 		address |= gpu_read(pfdev, GPU_FAULT_ADDRESS_LO);
pfdev              34 drivers/gpu/drm/panfrost/panfrost_gpu.c 		dev_warn(pfdev->dev, "GPU Fault 0x%08x (%s) at 0x%016llx\n",
pfdev              35 drivers/gpu/drm/panfrost/panfrost_gpu.c 			 fault_status & 0xFF, panfrost_exception_name(pfdev, fault_status),
pfdev              39 drivers/gpu/drm/panfrost/panfrost_gpu.c 			dev_warn(pfdev->dev, "There were multiple GPU faults - some have not been reported\n");
pfdev              41 drivers/gpu/drm/panfrost/panfrost_gpu.c 		gpu_write(pfdev, GPU_INT_MASK, 0);
pfdev              45 drivers/gpu/drm/panfrost/panfrost_gpu.c 		panfrost_perfcnt_sample_done(pfdev);
pfdev              48 drivers/gpu/drm/panfrost/panfrost_gpu.c 		panfrost_perfcnt_clean_cache_done(pfdev);
pfdev              50 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_INT_CLEAR, state);
pfdev              55 drivers/gpu/drm/panfrost/panfrost_gpu.c int panfrost_gpu_soft_reset(struct panfrost_device *pfdev)
pfdev              60 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_INT_MASK, 0);
pfdev              61 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_INT_CLEAR, GPU_IRQ_RESET_COMPLETED);
pfdev              62 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_CMD, GPU_CMD_SOFT_RESET);
pfdev              64 drivers/gpu/drm/panfrost/panfrost_gpu.c 	ret = readl_relaxed_poll_timeout(pfdev->iomem + GPU_INT_RAWSTAT,
pfdev              68 drivers/gpu/drm/panfrost/panfrost_gpu.c 		dev_err(pfdev->dev, "gpu soft reset timed out\n");
pfdev              72 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_INT_CLEAR, GPU_IRQ_MASK_ALL);
pfdev              73 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_INT_MASK, GPU_IRQ_MASK_ALL);
pfdev              78 drivers/gpu/drm/panfrost/panfrost_gpu.c static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)
pfdev              82 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_8443) ||
pfdev              83 drivers/gpu/drm/panfrost/panfrost_gpu.c 	    panfrost_has_hw_issue(pfdev, HW_ISSUE_11035))
pfdev              86 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_10327))
pfdev              89 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_10797))
pfdev              92 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (!panfrost_has_hw_issue(pfdev, GPUCORE_1619)) {
pfdev              93 drivers/gpu/drm/panfrost/panfrost_gpu.c 		if (panfrost_model_cmp(pfdev, 0x750) < 0) /* T60x, T62x, T72x */
pfdev              95 drivers/gpu/drm/panfrost/panfrost_gpu.c 		else if (panfrost_model_cmp(pfdev, 0x880) <= 0) /* T76x, T8xx */
pfdev              99 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_TLS_HASHING))
pfdev             103 drivers/gpu/drm/panfrost/panfrost_gpu.c 		gpu_write(pfdev, GPU_SHADER_CONFIG, quirks);
pfdev             106 drivers/gpu/drm/panfrost/panfrost_gpu.c 	quirks = gpu_read(pfdev, GPU_TILER_CONFIG);
pfdev             109 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_T76X_3953))
pfdev             112 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_TILER_CONFIG, quirks);
pfdev             115 drivers/gpu/drm/panfrost/panfrost_gpu.c 	quirks = gpu_read(pfdev, GPU_L2_MMU_CONFIG);
pfdev             118 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_3BIT_EXT_RW_L2_MMU_CONFIG))
pfdev             125 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, GPU_L2_MMU_CONFIG, quirks);
pfdev             128 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if ((panfrost_model_eq(pfdev, 0x860) || panfrost_model_eq(pfdev, 0x880)) &&
pfdev             129 drivers/gpu/drm/panfrost/panfrost_gpu.c 	    pfdev->features.revision >= 0x2000)
pfdev             131 drivers/gpu/drm/panfrost/panfrost_gpu.c 	else if (panfrost_model_eq(pfdev, 0x6000) &&
pfdev             132 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.coherency_features == COHERENCY_ACE)
pfdev             137 drivers/gpu/drm/panfrost/panfrost_gpu.c 		gpu_write(pfdev, GPU_JM_CONFIG, quirks);
pfdev             196 drivers/gpu/drm/panfrost/panfrost_gpu.c static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
pfdev             205 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.l2_features = gpu_read(pfdev, GPU_L2_FEATURES);
pfdev             206 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.core_features = gpu_read(pfdev, GPU_CORE_FEATURES);
pfdev             207 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.tiler_features = gpu_read(pfdev, GPU_TILER_FEATURES);
pfdev             208 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.mem_features = gpu_read(pfdev, GPU_MEM_FEATURES);
pfdev             209 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.mmu_features = gpu_read(pfdev, GPU_MMU_FEATURES);
pfdev             210 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.thread_features = gpu_read(pfdev, GPU_THREAD_FEATURES);
pfdev             211 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.max_threads = gpu_read(pfdev, GPU_THREAD_MAX_THREADS);
pfdev             212 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.thread_max_workgroup_sz = gpu_read(pfdev, GPU_THREAD_MAX_WORKGROUP_SIZE);
pfdev             213 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.thread_max_barrier_sz = gpu_read(pfdev, GPU_THREAD_MAX_BARRIER_SIZE);
pfdev             214 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.coherency_features = gpu_read(pfdev, GPU_COHERENCY_FEATURES);
pfdev             216 drivers/gpu/drm/panfrost/panfrost_gpu.c 		pfdev->features.texture_features[i] = gpu_read(pfdev, GPU_TEXTURE_FEATURES(i));
pfdev             218 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.as_present = gpu_read(pfdev, GPU_AS_PRESENT);
pfdev             220 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.js_present = gpu_read(pfdev, GPU_JS_PRESENT);
pfdev             221 drivers/gpu/drm/panfrost/panfrost_gpu.c 	num_js = hweight32(pfdev->features.js_present);
pfdev             223 drivers/gpu/drm/panfrost/panfrost_gpu.c 		pfdev->features.js_features[i] = gpu_read(pfdev, GPU_JS_FEATURES(i));
pfdev             225 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.shader_present = gpu_read(pfdev, GPU_SHADER_PRESENT_LO);
pfdev             226 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.shader_present |= (u64)gpu_read(pfdev, GPU_SHADER_PRESENT_HI) << 32;
pfdev             228 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.tiler_present = gpu_read(pfdev, GPU_TILER_PRESENT_LO);
pfdev             229 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.tiler_present |= (u64)gpu_read(pfdev, GPU_TILER_PRESENT_HI) << 32;
pfdev             231 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.l2_present = gpu_read(pfdev, GPU_L2_PRESENT_LO);
pfdev             232 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.l2_present |= (u64)gpu_read(pfdev, GPU_L2_PRESENT_HI) << 32;
pfdev             233 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.nr_core_groups = hweight64(pfdev->features.l2_present);
pfdev             235 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.stack_present = gpu_read(pfdev, GPU_STACK_PRESENT_LO);
pfdev             236 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.stack_present |= (u64)gpu_read(pfdev, GPU_STACK_PRESENT_HI) << 32;
pfdev             238 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.thread_tls_alloc = gpu_read(pfdev, GPU_THREAD_TLS_ALLOC);
pfdev             240 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_id = gpu_read(pfdev, GPU_ID);
pfdev             241 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.revision = gpu_id & 0xffff;
pfdev             242 drivers/gpu/drm/panfrost/panfrost_gpu.c 	pfdev->features.id = gpu_id >> 16;
pfdev             247 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (pfdev->features.id == 0x6956)
pfdev             248 drivers/gpu/drm/panfrost/panfrost_gpu.c 		pfdev->features.id = 0x0600;
pfdev             250 drivers/gpu/drm/panfrost/panfrost_gpu.c 	major = (pfdev->features.revision >> 12) & 0xf;
pfdev             251 drivers/gpu/drm/panfrost/panfrost_gpu.c 	minor = (pfdev->features.revision >> 4) & 0xff;
pfdev             252 drivers/gpu/drm/panfrost/panfrost_gpu.c 	status = pfdev->features.revision & 0xf;
pfdev             253 drivers/gpu/drm/panfrost/panfrost_gpu.c 	rev = pfdev->features.revision;
pfdev             255 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_id = pfdev->features.id;
pfdev             260 drivers/gpu/drm/panfrost/panfrost_gpu.c 		if (!panfrost_model_eq(pfdev, model->id))
pfdev             280 drivers/gpu/drm/panfrost/panfrost_gpu.c 	bitmap_from_u64(pfdev->features.hw_features, hw_feat);
pfdev             281 drivers/gpu/drm/panfrost/panfrost_gpu.c 	bitmap_from_u64(pfdev->features.hw_issues, hw_issues);
pfdev             283 drivers/gpu/drm/panfrost/panfrost_gpu.c 	dev_info(pfdev->dev, "mali-%s id 0x%x major 0x%x minor 0x%x status 0x%x",
pfdev             285 drivers/gpu/drm/panfrost/panfrost_gpu.c 	dev_info(pfdev->dev, "features: %64pb, issues: %64pb",
pfdev             286 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.hw_features,
pfdev             287 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.hw_issues);
pfdev             289 drivers/gpu/drm/panfrost/panfrost_gpu.c 	dev_info(pfdev->dev, "Features: L2:0x%08x Shader:0x%08x Tiler:0x%08x Mem:0x%0x MMU:0x%08x AS:0x%x JS:0x%x",
pfdev             290 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.l2_features,
pfdev             291 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.core_features,
pfdev             292 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.tiler_features,
pfdev             293 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.mem_features,
pfdev             294 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.mmu_features,
pfdev             295 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.as_present,
pfdev             296 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.js_present);
pfdev             298 drivers/gpu/drm/panfrost/panfrost_gpu.c 	dev_info(pfdev->dev, "shader_present=0x%0llx l2_present=0x%0llx",
pfdev             299 drivers/gpu/drm/panfrost/panfrost_gpu.c 		 pfdev->features.shader_present, pfdev->features.l2_present);
pfdev             302 drivers/gpu/drm/panfrost/panfrost_gpu.c void panfrost_gpu_power_on(struct panfrost_device *pfdev)
pfdev             308 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present);
pfdev             309 drivers/gpu/drm/panfrost/panfrost_gpu.c 	ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO,
pfdev             310 drivers/gpu/drm/panfrost/panfrost_gpu.c 		val, val == pfdev->features.l2_present, 100, 1000);
pfdev             312 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, STACK_PWRON_LO, pfdev->features.stack_present);
pfdev             313 drivers/gpu/drm/panfrost/panfrost_gpu.c 	ret |= readl_relaxed_poll_timeout(pfdev->iomem + STACK_READY_LO,
pfdev             314 drivers/gpu/drm/panfrost/panfrost_gpu.c 		val, val == pfdev->features.stack_present, 100, 1000);
pfdev             316 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present);
pfdev             317 drivers/gpu/drm/panfrost/panfrost_gpu.c 	ret |= readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO,
pfdev             318 drivers/gpu/drm/panfrost/panfrost_gpu.c 		val, val == pfdev->features.shader_present, 100, 1000);
pfdev             320 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, TILER_PWRON_LO, pfdev->features.tiler_present);
pfdev             321 drivers/gpu/drm/panfrost/panfrost_gpu.c 	ret |= readl_relaxed_poll_timeout(pfdev->iomem + TILER_READY_LO,
pfdev             322 drivers/gpu/drm/panfrost/panfrost_gpu.c 		val, val == pfdev->features.tiler_present, 100, 1000);
pfdev             325 drivers/gpu/drm/panfrost/panfrost_gpu.c 		dev_err(pfdev->dev, "error powering up gpu");
pfdev             328 drivers/gpu/drm/panfrost/panfrost_gpu.c void panfrost_gpu_power_off(struct panfrost_device *pfdev)
pfdev             330 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, TILER_PWROFF_LO, 0);
pfdev             331 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, SHADER_PWROFF_LO, 0);
pfdev             332 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, STACK_PWROFF_LO, 0);
pfdev             333 drivers/gpu/drm/panfrost/panfrost_gpu.c 	gpu_write(pfdev, L2_PWROFF_LO, 0);
pfdev             336 drivers/gpu/drm/panfrost/panfrost_gpu.c int panfrost_gpu_init(struct panfrost_device *pfdev)
pfdev             340 drivers/gpu/drm/panfrost/panfrost_gpu.c 	err = panfrost_gpu_soft_reset(pfdev);
pfdev             344 drivers/gpu/drm/panfrost/panfrost_gpu.c 	panfrost_gpu_init_features(pfdev);
pfdev             346 drivers/gpu/drm/panfrost/panfrost_gpu.c 	dma_set_mask_and_coherent(pfdev->dev,
pfdev             347 drivers/gpu/drm/panfrost/panfrost_gpu.c 		DMA_BIT_MASK(FIELD_GET(0xff00, pfdev->features.mmu_features)));
pfdev             349 drivers/gpu/drm/panfrost/panfrost_gpu.c 	irq = platform_get_irq_byname(to_platform_device(pfdev->dev), "gpu");
pfdev             353 drivers/gpu/drm/panfrost/panfrost_gpu.c 	err = devm_request_irq(pfdev->dev, irq, panfrost_gpu_irq_handler,
pfdev             354 drivers/gpu/drm/panfrost/panfrost_gpu.c 			       IRQF_SHARED, "gpu", pfdev);
pfdev             356 drivers/gpu/drm/panfrost/panfrost_gpu.c 		dev_err(pfdev->dev, "failed to request gpu irq");
pfdev             360 drivers/gpu/drm/panfrost/panfrost_gpu.c 	panfrost_gpu_init_quirks(pfdev);
pfdev             361 drivers/gpu/drm/panfrost/panfrost_gpu.c 	panfrost_gpu_power_on(pfdev);
pfdev             366 drivers/gpu/drm/panfrost/panfrost_gpu.c void panfrost_gpu_fini(struct panfrost_device *pfdev)
pfdev             368 drivers/gpu/drm/panfrost/panfrost_gpu.c 	panfrost_gpu_power_off(pfdev);
pfdev             371 drivers/gpu/drm/panfrost/panfrost_gpu.c u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev)
pfdev             373 drivers/gpu/drm/panfrost/panfrost_gpu.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_FLUSH_REDUCTION))
pfdev             374 drivers/gpu/drm/panfrost/panfrost_gpu.c 		return gpu_read(pfdev, GPU_LATEST_FLUSH_ID);
pfdev              10 drivers/gpu/drm/panfrost/panfrost_gpu.h int panfrost_gpu_init(struct panfrost_device *pfdev);
pfdev              11 drivers/gpu/drm/panfrost/panfrost_gpu.h void panfrost_gpu_fini(struct panfrost_device *pfdev);
pfdev              13 drivers/gpu/drm/panfrost/panfrost_gpu.h u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev);
pfdev              15 drivers/gpu/drm/panfrost/panfrost_gpu.h int panfrost_gpu_soft_reset(struct panfrost_device *pfdev);
pfdev              16 drivers/gpu/drm/panfrost/panfrost_gpu.h void panfrost_gpu_power_on(struct panfrost_device *pfdev);
pfdev              17 drivers/gpu/drm/panfrost/panfrost_gpu.h void panfrost_gpu_power_off(struct panfrost_device *pfdev);
pfdev             170 drivers/gpu/drm/panfrost/panfrost_issues.h static inline bool panfrost_has_hw_issue(struct panfrost_device *pfdev,
pfdev             173 drivers/gpu/drm/panfrost/panfrost_issues.h 	return test_bit(issue, pfdev->features.hw_issues);
pfdev              84 drivers/gpu/drm/panfrost/panfrost_job.c static struct dma_fence *panfrost_fence_create(struct panfrost_device *pfdev, int js_num)
pfdev              87 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_job_slot *js = pfdev->js;
pfdev              93 drivers/gpu/drm/panfrost/panfrost_job.c 	fence->dev = pfdev->ddev;
pfdev             115 drivers/gpu/drm/panfrost/panfrost_job.c 		    (job->pfdev->features.nr_core_groups == 2))
pfdev             117 drivers/gpu/drm/panfrost/panfrost_job.c 		if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987))
pfdev             124 drivers/gpu/drm/panfrost/panfrost_job.c static void panfrost_job_write_affinity(struct panfrost_device *pfdev,
pfdev             135 drivers/gpu/drm/panfrost/panfrost_job.c 	affinity = pfdev->features.shader_present;
pfdev             137 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_AFFINITY_NEXT_LO(js), affinity & 0xFFFFFFFF);
pfdev             138 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_AFFINITY_NEXT_HI(js), affinity >> 32);
pfdev             143 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = job->pfdev;
pfdev             148 drivers/gpu/drm/panfrost/panfrost_job.c 	ret = pm_runtime_get_sync(pfdev->dev);
pfdev             152 drivers/gpu/drm/panfrost/panfrost_job.c 	if (WARN_ON(job_read(pfdev, JS_COMMAND_NEXT(js)))) {
pfdev             153 drivers/gpu/drm/panfrost/panfrost_job.c 		pm_runtime_put_sync_autosuspend(pfdev->dev);
pfdev             157 drivers/gpu/drm/panfrost/panfrost_job.c 	cfg = panfrost_mmu_as_get(pfdev, &job->file_priv->mmu);
pfdev             159 drivers/gpu/drm/panfrost/panfrost_job.c 	panfrost_devfreq_record_transition(pfdev, js);
pfdev             161 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_HEAD_NEXT_LO(js), jc_head & 0xFFFFFFFF);
pfdev             162 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_HEAD_NEXT_HI(js), jc_head >> 32);
pfdev             164 drivers/gpu/drm/panfrost/panfrost_job.c 	panfrost_job_write_affinity(pfdev, job->requirements, js);
pfdev             172 drivers/gpu/drm/panfrost/panfrost_job.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_FLUSH_REDUCTION))
pfdev             175 drivers/gpu/drm/panfrost/panfrost_job.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_10649))
pfdev             178 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_CONFIG_NEXT(js), cfg);
pfdev             180 drivers/gpu/drm/panfrost/panfrost_job.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_FLUSH_REDUCTION))
pfdev             181 drivers/gpu/drm/panfrost/panfrost_job.c 		job_write(pfdev, JS_FLUSH_ID_NEXT(js), job->flush_id);
pfdev             184 drivers/gpu/drm/panfrost/panfrost_job.c 	dev_dbg(pfdev->dev, "JS: Submitting atom %p to js[%d] with head=0x%llx",
pfdev             187 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JS_COMMAND_NEXT(js), JS_COMMAND_START);
pfdev             212 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = job->pfdev;
pfdev             218 drivers/gpu/drm/panfrost/panfrost_job.c 	mutex_lock(&pfdev->sched_lock);
pfdev             223 drivers/gpu/drm/panfrost/panfrost_job.c 		mutex_unlock(&pfdev->sched_lock);
pfdev             229 drivers/gpu/drm/panfrost/panfrost_job.c 		mutex_unlock(&pfdev->sched_lock);
pfdev             242 drivers/gpu/drm/panfrost/panfrost_job.c 	mutex_unlock(&pfdev->sched_lock);
pfdev             342 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = job->pfdev;
pfdev             349 drivers/gpu/drm/panfrost/panfrost_job.c 	pfdev->jobs[slot] = job;
pfdev             351 drivers/gpu/drm/panfrost/panfrost_job.c 	fence = panfrost_fence_create(pfdev, slot);
pfdev             364 drivers/gpu/drm/panfrost/panfrost_job.c void panfrost_job_enable_interrupts(struct panfrost_device *pfdev)
pfdev             373 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JOB_INT_CLEAR, irq_mask);
pfdev             374 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JOB_INT_MASK, irq_mask);
pfdev             380 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = job->pfdev;
pfdev             392 drivers/gpu/drm/panfrost/panfrost_job.c 	dev_err(pfdev->dev, "gpu sched timeout, js=%d, config=0x%x, status=0x%x, head=0x%x, tail=0x%x, sched_job=%p",
pfdev             394 drivers/gpu/drm/panfrost/panfrost_job.c 		job_read(pfdev, JS_CONFIG(js)),
pfdev             395 drivers/gpu/drm/panfrost/panfrost_job.c 		job_read(pfdev, JS_STATUS(js)),
pfdev             396 drivers/gpu/drm/panfrost/panfrost_job.c 		job_read(pfdev, JS_HEAD_LO(js)),
pfdev             397 drivers/gpu/drm/panfrost/panfrost_job.c 		job_read(pfdev, JS_TAIL_LO(js)),
pfdev             400 drivers/gpu/drm/panfrost/panfrost_job.c 	if (!mutex_trylock(&pfdev->reset_lock))
pfdev             404 drivers/gpu/drm/panfrost/panfrost_job.c 		struct drm_gpu_scheduler *sched = &pfdev->js->queue[i].sched;
pfdev             414 drivers/gpu/drm/panfrost/panfrost_job.c 	spin_lock_irqsave(&pfdev->js->job_lock, flags);
pfdev             416 drivers/gpu/drm/panfrost/panfrost_job.c 		if (pfdev->jobs[i]) {
pfdev             417 drivers/gpu/drm/panfrost/panfrost_job.c 			pm_runtime_put_noidle(pfdev->dev);
pfdev             418 drivers/gpu/drm/panfrost/panfrost_job.c 			pfdev->jobs[i] = NULL;
pfdev             421 drivers/gpu/drm/panfrost/panfrost_job.c 	spin_unlock_irqrestore(&pfdev->js->job_lock, flags);
pfdev             425 drivers/gpu/drm/panfrost/panfrost_job.c 	panfrost_devfreq_record_transition(pfdev, js);
pfdev             426 drivers/gpu/drm/panfrost/panfrost_job.c 	panfrost_device_reset(pfdev);
pfdev             429 drivers/gpu/drm/panfrost/panfrost_job.c 		drm_sched_resubmit_jobs(&pfdev->js->queue[i].sched);
pfdev             433 drivers/gpu/drm/panfrost/panfrost_job.c 		drm_sched_start(&pfdev->js->queue[i].sched, true);
pfdev             435 drivers/gpu/drm/panfrost/panfrost_job.c 	mutex_unlock(&pfdev->reset_lock);
pfdev             447 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = data;
pfdev             448 drivers/gpu/drm/panfrost/panfrost_job.c 	u32 status = job_read(pfdev, JOB_INT_STAT);
pfdev             451 drivers/gpu/drm/panfrost/panfrost_job.c 	dev_dbg(pfdev->dev, "jobslot irq status=%x\n", status);
pfdev             456 drivers/gpu/drm/panfrost/panfrost_job.c 	pm_runtime_mark_last_busy(pfdev->dev);
pfdev             464 drivers/gpu/drm/panfrost/panfrost_job.c 		job_write(pfdev, JOB_INT_CLEAR, mask);
pfdev             467 drivers/gpu/drm/panfrost/panfrost_job.c 			job_write(pfdev, JS_COMMAND_NEXT(j), JS_COMMAND_NOP);
pfdev             469 drivers/gpu/drm/panfrost/panfrost_job.c 			dev_err(pfdev->dev, "js fault, js=%d, status=%s, head=0x%x, tail=0x%x",
pfdev             471 drivers/gpu/drm/panfrost/panfrost_job.c 				panfrost_exception_name(pfdev, job_read(pfdev, JS_STATUS(j))),
pfdev             472 drivers/gpu/drm/panfrost/panfrost_job.c 				job_read(pfdev, JS_HEAD_LO(j)),
pfdev             473 drivers/gpu/drm/panfrost/panfrost_job.c 				job_read(pfdev, JS_TAIL_LO(j)));
pfdev             475 drivers/gpu/drm/panfrost/panfrost_job.c 			drm_sched_fault(&pfdev->js->queue[j].sched);
pfdev             481 drivers/gpu/drm/panfrost/panfrost_job.c 			spin_lock(&pfdev->js->job_lock);
pfdev             482 drivers/gpu/drm/panfrost/panfrost_job.c 			job = pfdev->jobs[j];
pfdev             485 drivers/gpu/drm/panfrost/panfrost_job.c 				pfdev->jobs[j] = NULL;
pfdev             487 drivers/gpu/drm/panfrost/panfrost_job.c 				panfrost_mmu_as_put(pfdev, &job->file_priv->mmu);
pfdev             488 drivers/gpu/drm/panfrost/panfrost_job.c 				panfrost_devfreq_record_transition(pfdev, j);
pfdev             491 drivers/gpu/drm/panfrost/panfrost_job.c 				pm_runtime_put_autosuspend(pfdev->dev);
pfdev             493 drivers/gpu/drm/panfrost/panfrost_job.c 			spin_unlock(&pfdev->js->job_lock);
pfdev             502 drivers/gpu/drm/panfrost/panfrost_job.c int panfrost_job_init(struct panfrost_device *pfdev)
pfdev             507 drivers/gpu/drm/panfrost/panfrost_job.c 	pfdev->js = js = devm_kzalloc(pfdev->dev, sizeof(*js), GFP_KERNEL);
pfdev             513 drivers/gpu/drm/panfrost/panfrost_job.c 	irq = platform_get_irq_byname(to_platform_device(pfdev->dev), "job");
pfdev             517 drivers/gpu/drm/panfrost/panfrost_job.c 	ret = devm_request_irq(pfdev->dev, irq, panfrost_job_irq_handler,
pfdev             518 drivers/gpu/drm/panfrost/panfrost_job.c 			       IRQF_SHARED, "job", pfdev);
pfdev             520 drivers/gpu/drm/panfrost/panfrost_job.c 		dev_err(pfdev->dev, "failed to request job irq");
pfdev             532 drivers/gpu/drm/panfrost/panfrost_job.c 			dev_err(pfdev->dev, "Failed to create scheduler: %d.", ret);
pfdev             537 drivers/gpu/drm/panfrost/panfrost_job.c 	panfrost_job_enable_interrupts(pfdev);
pfdev             548 drivers/gpu/drm/panfrost/panfrost_job.c void panfrost_job_fini(struct panfrost_device *pfdev)
pfdev             550 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_job_slot *js = pfdev->js;
pfdev             553 drivers/gpu/drm/panfrost/panfrost_job.c 	job_write(pfdev, JOB_INT_MASK, 0);
pfdev             562 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_device *pfdev = panfrost_priv->pfdev;
pfdev             563 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_job_slot *js = pfdev->js;
pfdev             584 drivers/gpu/drm/panfrost/panfrost_job.c int panfrost_job_is_idle(struct panfrost_device *pfdev)
pfdev             586 drivers/gpu/drm/panfrost/panfrost_job.c 	struct panfrost_job_slot *js = pfdev->js;
pfdev             595 drivers/gpu/drm/panfrost/panfrost_job.c 		if (pfdev->devfreq.slot[i].busy)
pfdev              19 drivers/gpu/drm/panfrost/panfrost_job.h 	struct panfrost_device *pfdev;
pfdev              43 drivers/gpu/drm/panfrost/panfrost_job.h int panfrost_job_init(struct panfrost_device *pfdev);
pfdev              44 drivers/gpu/drm/panfrost/panfrost_job.h void panfrost_job_fini(struct panfrost_device *pfdev);
pfdev              49 drivers/gpu/drm/panfrost/panfrost_job.h void panfrost_job_enable_interrupts(struct panfrost_device *pfdev);
pfdev              50 drivers/gpu/drm/panfrost/panfrost_job.h int panfrost_job_is_idle(struct panfrost_device *pfdev);
pfdev              26 drivers/gpu/drm/panfrost/panfrost_mmu.c static int wait_ready(struct panfrost_device *pfdev, u32 as_nr)
pfdev              33 drivers/gpu/drm/panfrost/panfrost_mmu.c 	ret = readl_relaxed_poll_timeout_atomic(pfdev->iomem + AS_STATUS(as_nr),
pfdev              37 drivers/gpu/drm/panfrost/panfrost_mmu.c 		dev_err(pfdev->dev, "AS_ACTIVE bit stuck\n");
pfdev              42 drivers/gpu/drm/panfrost/panfrost_mmu.c static int write_cmd(struct panfrost_device *pfdev, u32 as_nr, u32 cmd)
pfdev              47 drivers/gpu/drm/panfrost/panfrost_mmu.c 	status = wait_ready(pfdev, as_nr);
pfdev              49 drivers/gpu/drm/panfrost/panfrost_mmu.c 		mmu_write(pfdev, AS_COMMAND(as_nr), cmd);
pfdev              54 drivers/gpu/drm/panfrost/panfrost_mmu.c static void lock_region(struct panfrost_device *pfdev, u32 as_nr,
pfdev              77 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_LOCKADDR_LO(as_nr), region & 0xFFFFFFFFUL);
pfdev              78 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_LOCKADDR_HI(as_nr), (region >> 32) & 0xFFFFFFFFUL);
pfdev              79 drivers/gpu/drm/panfrost/panfrost_mmu.c 	write_cmd(pfdev, as_nr, AS_COMMAND_LOCK);
pfdev              83 drivers/gpu/drm/panfrost/panfrost_mmu.c static int mmu_hw_do_operation_locked(struct panfrost_device *pfdev, int as_nr,
pfdev              90 drivers/gpu/drm/panfrost/panfrost_mmu.c 		lock_region(pfdev, as_nr, iova, size);
pfdev              93 drivers/gpu/drm/panfrost/panfrost_mmu.c 	write_cmd(pfdev, as_nr, op);
pfdev              96 drivers/gpu/drm/panfrost/panfrost_mmu.c 	return wait_ready(pfdev, as_nr);
pfdev              99 drivers/gpu/drm/panfrost/panfrost_mmu.c static int mmu_hw_do_operation(struct panfrost_device *pfdev,
pfdev             105 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_lock(&pfdev->as_lock);
pfdev             106 drivers/gpu/drm/panfrost/panfrost_mmu.c 	ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op);
pfdev             107 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_unlock(&pfdev->as_lock);
pfdev             111 drivers/gpu/drm/panfrost/panfrost_mmu.c static void panfrost_mmu_enable(struct panfrost_device *pfdev, struct panfrost_mmu *mmu)
pfdev             118 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_hw_do_operation_locked(pfdev, as_nr, 0, ~0UL, AS_COMMAND_FLUSH_MEM);
pfdev             120 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_TRANSTAB_LO(as_nr), transtab & 0xffffffffUL);
pfdev             121 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_TRANSTAB_HI(as_nr), transtab >> 32);
pfdev             126 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_MEMATTR_LO(as_nr), memattr & 0xffffffffUL);
pfdev             127 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_MEMATTR_HI(as_nr), memattr >> 32);
pfdev             129 drivers/gpu/drm/panfrost/panfrost_mmu.c 	write_cmd(pfdev, as_nr, AS_COMMAND_UPDATE);
pfdev             132 drivers/gpu/drm/panfrost/panfrost_mmu.c static void panfrost_mmu_disable(struct panfrost_device *pfdev, u32 as_nr)
pfdev             134 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_hw_do_operation_locked(pfdev, as_nr, 0, ~0UL, AS_COMMAND_FLUSH_MEM);
pfdev             136 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_TRANSTAB_LO(as_nr), 0);
pfdev             137 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_TRANSTAB_HI(as_nr), 0);
pfdev             139 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_MEMATTR_LO(as_nr), 0);
pfdev             140 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, AS_MEMATTR_HI(as_nr), 0);
pfdev             142 drivers/gpu/drm/panfrost/panfrost_mmu.c 	write_cmd(pfdev, as_nr, AS_COMMAND_UPDATE);
pfdev             145 drivers/gpu/drm/panfrost/panfrost_mmu.c u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu)
pfdev             149 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_lock(&pfdev->as_lock);
pfdev             161 drivers/gpu/drm/panfrost/panfrost_mmu.c 		list_move(&mmu->list, &pfdev->as_lru_list);
pfdev             166 drivers/gpu/drm/panfrost/panfrost_mmu.c 	as = ffz(pfdev->as_alloc_mask);
pfdev             167 drivers/gpu/drm/panfrost/panfrost_mmu.c 	if (!(BIT(as) & pfdev->features.as_present)) {
pfdev             170 drivers/gpu/drm/panfrost/panfrost_mmu.c 		list_for_each_entry_reverse(lru_mmu, &pfdev->as_lru_list, list) {
pfdev             174 drivers/gpu/drm/panfrost/panfrost_mmu.c 		WARN_ON(&lru_mmu->list == &pfdev->as_lru_list);
pfdev             185 drivers/gpu/drm/panfrost/panfrost_mmu.c 	set_bit(as, &pfdev->as_alloc_mask);
pfdev             187 drivers/gpu/drm/panfrost/panfrost_mmu.c 	list_add(&mmu->list, &pfdev->as_lru_list);
pfdev             189 drivers/gpu/drm/panfrost/panfrost_mmu.c 	dev_dbg(pfdev->dev, "Assigned AS%d to mmu %p, alloc_mask=%lx", as, mmu, pfdev->as_alloc_mask);
pfdev             191 drivers/gpu/drm/panfrost/panfrost_mmu.c 	panfrost_mmu_enable(pfdev, mmu);
pfdev             194 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_unlock(&pfdev->as_lock);
pfdev             198 drivers/gpu/drm/panfrost/panfrost_mmu.c void panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu)
pfdev             204 drivers/gpu/drm/panfrost/panfrost_mmu.c void panfrost_mmu_reset(struct panfrost_device *pfdev)
pfdev             208 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_lock(&pfdev->as_lock);
pfdev             210 drivers/gpu/drm/panfrost/panfrost_mmu.c 	pfdev->as_alloc_mask = 0;
pfdev             212 drivers/gpu/drm/panfrost/panfrost_mmu.c 	list_for_each_entry_safe(mmu, mmu_tmp, &pfdev->as_lru_list, list) {
pfdev             218 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_unlock(&pfdev->as_lock);
pfdev             220 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, MMU_INT_CLEAR, ~0);
pfdev             221 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, MMU_INT_MASK, ~0);
pfdev             232 drivers/gpu/drm/panfrost/panfrost_mmu.c static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
pfdev             239 drivers/gpu/drm/panfrost/panfrost_mmu.c 	pm_runtime_get_noresume(pfdev->dev);
pfdev             242 drivers/gpu/drm/panfrost/panfrost_mmu.c 	if (pm_runtime_active(pfdev->dev))
pfdev             243 drivers/gpu/drm/panfrost/panfrost_mmu.c 		mmu_hw_do_operation(pfdev, mmu, iova, size, AS_COMMAND_FLUSH_PT);
pfdev             245 drivers/gpu/drm/panfrost/panfrost_mmu.c 	pm_runtime_put_sync_autosuspend(pfdev->dev);
pfdev             248 drivers/gpu/drm/panfrost/panfrost_mmu.c static int mmu_map_sg(struct panfrost_device *pfdev, struct panfrost_mmu *mmu,
pfdev             260 drivers/gpu/drm/panfrost/panfrost_mmu.c 		dev_dbg(pfdev->dev, "map: as=%d, iova=%llx, paddr=%lx, len=%zx", mmu->as, iova, paddr, len);
pfdev             272 drivers/gpu/drm/panfrost/panfrost_mmu.c 	panfrost_mmu_flush_range(pfdev, mmu, start_iova, iova - start_iova);
pfdev             281 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = to_panfrost_device(obj->dev);
pfdev             295 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_map_sg(pfdev, mapping->mmu, mapping->mmnode.start << PAGE_SHIFT,
pfdev             306 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = to_panfrost_device(obj->dev);
pfdev             315 drivers/gpu/drm/panfrost/panfrost_mmu.c 	dev_dbg(pfdev->dev, "unmap: as=%d, iova=%llx, len=%zx",
pfdev             330 drivers/gpu/drm/panfrost/panfrost_mmu.c 	panfrost_mmu_flush_range(pfdev, mapping->mmu,
pfdev             365 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = priv->pfdev;
pfdev             372 drivers/gpu/drm/panfrost/panfrost_mmu.c 		.ias		= FIELD_GET(0xff, pfdev->features.mmu_features),
pfdev             373 drivers/gpu/drm/panfrost/panfrost_mmu.c 		.oas		= FIELD_GET(0xff00, pfdev->features.mmu_features),
pfdev             375 drivers/gpu/drm/panfrost/panfrost_mmu.c 		.iommu_dev	= pfdev->dev,
pfdev             388 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = priv->pfdev;
pfdev             391 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_lock(&pfdev->as_lock);
pfdev             393 drivers/gpu/drm/panfrost/panfrost_mmu.c 		pm_runtime_get_noresume(pfdev->dev);
pfdev             394 drivers/gpu/drm/panfrost/panfrost_mmu.c 		if (pm_runtime_active(pfdev->dev))
pfdev             395 drivers/gpu/drm/panfrost/panfrost_mmu.c 			panfrost_mmu_disable(pfdev, mmu->as);
pfdev             396 drivers/gpu/drm/panfrost/panfrost_mmu.c 		pm_runtime_put_autosuspend(pfdev->dev);
pfdev             398 drivers/gpu/drm/panfrost/panfrost_mmu.c 		clear_bit(mmu->as, &pfdev->as_alloc_mask);
pfdev             399 drivers/gpu/drm/panfrost/panfrost_mmu.c 		clear_bit(mmu->as, &pfdev->as_in_use_mask);
pfdev             402 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_unlock(&pfdev->as_lock);
pfdev             408 drivers/gpu/drm/panfrost/panfrost_mmu.c addr_to_mapping(struct panfrost_device *pfdev, int as, u64 addr)
pfdev             416 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_lock(&pfdev->as_lock);
pfdev             417 drivers/gpu/drm/panfrost/panfrost_mmu.c 	list_for_each_entry(mmu, &pfdev->as_lru_list, list) {
pfdev             440 drivers/gpu/drm/panfrost/panfrost_mmu.c 	spin_unlock(&pfdev->as_lock);
pfdev             446 drivers/gpu/drm/panfrost/panfrost_mmu.c static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
pfdev             457 drivers/gpu/drm/panfrost/panfrost_mmu.c 	bomapping = addr_to_mapping(pfdev, as, addr);
pfdev             463 drivers/gpu/drm/panfrost/panfrost_mmu.c 		dev_WARN(pfdev->dev, "matching BO is not heap type (GPU VA = %llx)",
pfdev             520 drivers/gpu/drm/panfrost/panfrost_mmu.c 	if (!dma_map_sg(pfdev->dev, sgt->sgl, sgt->nents, DMA_BIDIRECTIONAL)) {
pfdev             525 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_map_sg(pfdev, bomapping->mmu, addr,
pfdev             530 drivers/gpu/drm/panfrost/panfrost_mmu.c 	dev_dbg(pfdev->dev, "mapped page fault @ AS%d %llx", as, addr);
pfdev             545 drivers/gpu/drm/panfrost/panfrost_mmu.c static const char *access_type_name(struct panfrost_device *pfdev,
pfdev             550 drivers/gpu/drm/panfrost/panfrost_mmu.c 		if (panfrost_has_hw_feature(pfdev, HW_FEATURE_AARCH64_MMU))
pfdev             568 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = data;
pfdev             570 drivers/gpu/drm/panfrost/panfrost_mmu.c 	if (!mmu_read(pfdev, MMU_INT_STAT))
pfdev             573 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, MMU_INT_MASK, 0);
pfdev             579 drivers/gpu/drm/panfrost/panfrost_mmu.c 	struct panfrost_device *pfdev = data;
pfdev             580 drivers/gpu/drm/panfrost/panfrost_mmu.c 	u32 status = mmu_read(pfdev, MMU_INT_RAWSTAT);
pfdev             594 drivers/gpu/drm/panfrost/panfrost_mmu.c 		fault_status = mmu_read(pfdev, AS_FAULTSTATUS(i));
pfdev             595 drivers/gpu/drm/panfrost/panfrost_mmu.c 		addr = mmu_read(pfdev, AS_FAULTADDRESS_LO(i));
pfdev             596 drivers/gpu/drm/panfrost/panfrost_mmu.c 		addr |= (u64)mmu_read(pfdev, AS_FAULTADDRESS_HI(i)) << 32;
pfdev             606 drivers/gpu/drm/panfrost/panfrost_mmu.c 			ret = panfrost_mmu_map_fault_addr(pfdev, i, addr);
pfdev             610 drivers/gpu/drm/panfrost/panfrost_mmu.c 			dev_err(pfdev->dev,
pfdev             622 drivers/gpu/drm/panfrost/panfrost_mmu.c 				exception_type, panfrost_exception_name(pfdev, exception_type),
pfdev             623 drivers/gpu/drm/panfrost/panfrost_mmu.c 				access_type, access_type_name(pfdev, fault_status),
pfdev             626 drivers/gpu/drm/panfrost/panfrost_mmu.c 		mmu_write(pfdev, MMU_INT_CLEAR, mask);
pfdev             631 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, MMU_INT_MASK, ~0);
pfdev             635 drivers/gpu/drm/panfrost/panfrost_mmu.c int panfrost_mmu_init(struct panfrost_device *pfdev)
pfdev             639 drivers/gpu/drm/panfrost/panfrost_mmu.c 	irq = platform_get_irq_byname(to_platform_device(pfdev->dev), "mmu");
pfdev             643 drivers/gpu/drm/panfrost/panfrost_mmu.c 	err = devm_request_threaded_irq(pfdev->dev, irq, panfrost_mmu_irq_handler,
pfdev             645 drivers/gpu/drm/panfrost/panfrost_mmu.c 					IRQF_SHARED, "mmu", pfdev);
pfdev             648 drivers/gpu/drm/panfrost/panfrost_mmu.c 		dev_err(pfdev->dev, "failed to request mmu irq");
pfdev             655 drivers/gpu/drm/panfrost/panfrost_mmu.c void panfrost_mmu_fini(struct panfrost_device *pfdev)
pfdev             657 drivers/gpu/drm/panfrost/panfrost_mmu.c 	mmu_write(pfdev, MMU_INT_MASK, 0);
pfdev              14 drivers/gpu/drm/panfrost/panfrost_mmu.h int panfrost_mmu_init(struct panfrost_device *pfdev);
pfdev              15 drivers/gpu/drm/panfrost/panfrost_mmu.h void panfrost_mmu_fini(struct panfrost_device *pfdev);
pfdev              16 drivers/gpu/drm/panfrost/panfrost_mmu.h void panfrost_mmu_reset(struct panfrost_device *pfdev);
pfdev              18 drivers/gpu/drm/panfrost/panfrost_mmu.h u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
pfdev              19 drivers/gpu/drm/panfrost/panfrost_mmu.h void panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
pfdev              36 drivers/gpu/drm/panfrost/panfrost_perfcnt.c void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev)
pfdev              38 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	complete(&pfdev->perfcnt->dump_comp);
pfdev              41 drivers/gpu/drm/panfrost/panfrost_perfcnt.c void panfrost_perfcnt_sample_done(struct panfrost_device *pfdev)
pfdev              43 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_CMD, GPU_CMD_CLEAN_CACHES);
pfdev              46 drivers/gpu/drm/panfrost/panfrost_perfcnt.c static int panfrost_perfcnt_dump_locked(struct panfrost_device *pfdev)
pfdev              51 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	reinit_completion(&pfdev->perfcnt->dump_comp);
pfdev              52 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpuva = pfdev->perfcnt->mapping->mmnode.start << PAGE_SHIFT;
pfdev              53 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_BASE_LO, gpuva);
pfdev              54 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_BASE_HI, gpuva >> 32);
pfdev              55 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_INT_CLEAR,
pfdev              58 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_CMD, GPU_CMD_PERFCNT_SAMPLE);
pfdev              59 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	ret = wait_for_completion_interruptible_timeout(&pfdev->perfcnt->dump_comp,
pfdev              69 drivers/gpu/drm/panfrost/panfrost_perfcnt.c static int panfrost_perfcnt_enable_locked(struct panfrost_device *pfdev,
pfdev              74 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
pfdev              84 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	ret = pm_runtime_get_sync(pfdev->dev);
pfdev              88 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	bo = drm_gem_shmem_create(pfdev->ddev, perfcnt->bosize);
pfdev             114 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	reinit_completion(&pfdev->perfcnt->dump_comp);
pfdev             115 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_INT_CLEAR,
pfdev             118 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_CMD, GPU_CMD_PERFCNT_CLEAR);
pfdev             119 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_CMD, GPU_CMD_CLEAN_INV_CACHES);
pfdev             120 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	ret = wait_for_completion_timeout(&pfdev->perfcnt->dump_comp,
pfdev             129 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	as = panfrost_mmu_as_get(pfdev, perfcnt->mapping->mmu);
pfdev             137 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	if (panfrost_model_is_bifrost(pfdev))
pfdev             140 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0xffffffff);
pfdev             141 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0xffffffff);
pfdev             142 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0xffffffff);
pfdev             148 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_8186))
pfdev             149 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
pfdev             151 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0xffffffff);
pfdev             153 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_CFG, cfg);
pfdev             155 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	if (panfrost_has_hw_issue(pfdev, HW_ISSUE_8186))
pfdev             156 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0xffffffff);
pfdev             174 drivers/gpu/drm/panfrost/panfrost_perfcnt.c static int panfrost_perfcnt_disable_locked(struct panfrost_device *pfdev,
pfdev             178 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
pfdev             183 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0x0);
pfdev             184 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0x0);
pfdev             185 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0x0);
pfdev             186 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
pfdev             187 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_CFG,
pfdev             194 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	panfrost_mmu_as_put(pfdev, perfcnt->mapping->mmu);
pfdev             197 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pm_runtime_mark_last_busy(pfdev->dev);
pfdev             198 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pm_runtime_put_autosuspend(pfdev->dev);
pfdev             206 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             207 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
pfdev             216 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	if (req->counterset > (panfrost_model_is_bifrost(pfdev) ? 1 : 0))
pfdev             221 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		ret = panfrost_perfcnt_enable_locked(pfdev, file_priv,
pfdev             224 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		ret = panfrost_perfcnt_disable_locked(pfdev, file_priv);
pfdev             233 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_device *pfdev = dev->dev_private;
pfdev             234 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
pfdev             249 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	ret = panfrost_perfcnt_dump_locked(pfdev);
pfdev             265 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_device *pfdev = pfile->pfdev;
pfdev             266 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	struct panfrost_perfcnt *perfcnt = pfdev->perfcnt;
pfdev             268 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pm_runtime_get_sync(pfdev->dev);
pfdev             271 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		panfrost_perfcnt_disable_locked(pfdev, file_priv);
pfdev             273 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pm_runtime_mark_last_busy(pfdev->dev);
pfdev             274 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pm_runtime_put_autosuspend(pfdev->dev);
pfdev             277 drivers/gpu/drm/panfrost/panfrost_perfcnt.c int panfrost_perfcnt_init(struct panfrost_device *pfdev)
pfdev             282 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	if (panfrost_has_hw_feature(pfdev, HW_FEATURE_V4)) {
pfdev             285 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		ncoregroups = hweight64(pfdev->features.l2_present);
pfdev             295 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		nl2c = ((pfdev->features.mem_features >> 8) & GENMASK(3, 0)) + 1;
pfdev             302 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 		ncores = fls64(pfdev->features.shader_present);
pfdev             312 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	perfcnt = devm_kzalloc(pfdev->dev, sizeof(*perfcnt), GFP_KERNEL);
pfdev             319 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_CFG,
pfdev             321 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0);
pfdev             322 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0);
pfdev             323 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0);
pfdev             324 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
pfdev             328 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	pfdev->perfcnt = perfcnt;
pfdev             333 drivers/gpu/drm/panfrost/panfrost_perfcnt.c void panfrost_perfcnt_fini(struct panfrost_device *pfdev)
pfdev             336 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PERFCNT_CFG,
pfdev             338 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_JM_EN, 0);
pfdev             339 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_SHADER_EN, 0);
pfdev             340 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_MMU_L2_EN, 0);
pfdev             341 drivers/gpu/drm/panfrost/panfrost_perfcnt.c 	gpu_write(pfdev, GPU_PRFCNT_TILER_EN, 0);
pfdev               8 drivers/gpu/drm/panfrost/panfrost_perfcnt.h void panfrost_perfcnt_sample_done(struct panfrost_device *pfdev);
pfdev               9 drivers/gpu/drm/panfrost/panfrost_perfcnt.h void panfrost_perfcnt_clean_cache_done(struct panfrost_device *pfdev);
pfdev              10 drivers/gpu/drm/panfrost/panfrost_perfcnt.h int panfrost_perfcnt_init(struct panfrost_device *pfdev);
pfdev              11 drivers/gpu/drm/panfrost/panfrost_perfcnt.h void panfrost_perfcnt_fini(struct panfrost_device *pfdev);
pfdev             321 drivers/media/pci/ddbridge/ddbridge.h 	struct platform_device  *pfdev;
pfdev             352 sound/drivers/ml403-ac97cr.c 	struct platform_device *pfdev;
pfdev             773 sound/drivers/ml403-ac97cr.c 	struct platform_device *pfdev;
pfdev             780 sound/drivers/ml403-ac97cr.c 	pfdev = ml403_ac97cr->pfdev;
pfdev             783 sound/drivers/ml403-ac97cr.c 	cmp_irq = platform_get_irq(pfdev, 0);
pfdev             795 sound/drivers/ml403-ac97cr.c 		cmp_irq = platform_get_irq(pfdev, 1);
pfdev            1097 sound/drivers/ml403-ac97cr.c snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
pfdev            1115 sound/drivers/ml403-ac97cr.c 	ml403_ac97cr->pfdev = pfdev;
pfdev            1124 sound/drivers/ml403-ac97cr.c 	resource = platform_get_resource(pfdev, IORESOURCE_MEM, 0);
pfdev            1140 sound/drivers/ml403-ac97cr.c 	irq = platform_get_irq(pfdev, 0);
pfdev            1142 sound/drivers/ml403-ac97cr.c 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
pfdev            1153 sound/drivers/ml403-ac97cr.c 	irq = platform_get_irq(pfdev, 1);
pfdev            1155 sound/drivers/ml403-ac97cr.c 			dev_name(&pfdev->dev), (void *)ml403_ac97cr)) {
pfdev            1251 sound/drivers/ml403-ac97cr.c static int snd_ml403_ac97cr_probe(struct platform_device *pfdev)
pfdev            1256 sound/drivers/ml403-ac97cr.c 	int dev = pfdev->id;
pfdev            1263 sound/drivers/ml403-ac97cr.c 	err = snd_card_new(&pfdev->dev, index[dev], id[dev], THIS_MODULE,
pfdev            1267 sound/drivers/ml403-ac97cr.c 	err = snd_ml403_ac97cr_create(card, pfdev, &ml403_ac97cr);
pfdev            1299 sound/drivers/ml403-ac97cr.c 	platform_set_drvdata(pfdev, card);
pfdev            1304 sound/drivers/ml403-ac97cr.c static int snd_ml403_ac97cr_remove(struct platform_device *pfdev)
pfdev            1306 sound/drivers/ml403-ac97cr.c 	snd_card_free(platform_get_drvdata(pfdev));