Lines Matching refs:mpp

100 static void mpp_attach_workqueue(struct mpp_dev *mpp,
107 if (!task->session || !task->session->mpp) in mpp_taskqueue_pop_pending()
180 if (!task->session || !task->session->mpp) in mpp_taskqueue_pop_running()
192 mpp_taskqueue_trigger_work(struct mpp_dev *mpp) in mpp_taskqueue_trigger_work() argument
194 kthread_queue_work(&mpp->queue->worker, &mpp->work); in mpp_taskqueue_trigger_work()
197 int mpp_power_on(struct mpp_dev *mpp) in mpp_power_on() argument
199 pm_runtime_get_sync(mpp->dev); in mpp_power_on()
200 pm_stay_awake(mpp->dev); in mpp_power_on()
202 if (mpp->hw_ops->clk_on) in mpp_power_on()
203 mpp->hw_ops->clk_on(mpp); in mpp_power_on()
208 int mpp_power_off(struct mpp_dev *mpp) in mpp_power_off() argument
210 if (mpp->hw_ops->clk_off) in mpp_power_off()
211 mpp->hw_ops->clk_off(mpp); in mpp_power_off()
213 pm_relax(mpp->dev); in mpp_power_off()
214 if (mpp_taskqueue_get_pending_task(mpp->queue) || in mpp_power_off()
215 mpp_taskqueue_get_running_task(mpp->queue)) { in mpp_power_off()
216 pm_runtime_mark_last_busy(mpp->dev); in mpp_power_off()
217 pm_runtime_put_autosuspend(mpp->dev); in mpp_power_off()
219 pm_runtime_put_sync_suspend(mpp->dev); in mpp_power_off()
242 msgs->mpp = NULL; in task_msgs_init()
409 if (session->mpp) { in mpp_session_deinit_default()
410 struct mpp_dev *mpp = session->mpp; in mpp_session_deinit_default() local
412 if (mpp->dev_ops->free_session) in mpp_session_deinit_default()
413 mpp->dev_ops->free_session(session); in mpp_session_deinit_default()
418 mpp_iommu_down_read(mpp->iommu_info); in mpp_session_deinit_default()
420 mpp_iommu_up_read(mpp->iommu_info); in mpp_session_deinit_default()
463 struct mpp_dev *mpp; in mpp_session_detach_workqueue() local
465 if (!session->mpp || !session->mpp->queue) in mpp_session_detach_workqueue()
469 mpp = session->mpp; in mpp_session_detach_workqueue()
470 queue = mpp->queue; in mpp_session_detach_workqueue()
478 mpp_taskqueue_trigger_work(mpp); in mpp_session_detach_workqueue()
525 struct mpp_dev *mpp; in mpp_free_task() local
539 mpp = mpp_get_task_used_device(task, session); in mpp_free_task()
540 if (mpp->dev_ops->free_task) in mpp_free_task()
541 mpp->dev_ops->free_task(session, task); in mpp_free_task()
545 atomic_dec(&mpp->task_count); in mpp_free_task()
550 struct mpp_dev *mpp; in mpp_task_timeout_work() local
570 if (!session->mpp) { in mpp_task_timeout_work()
578 mpp = mpp_get_task_used_device(task, session); in mpp_task_timeout_work()
581 disable_irq(mpp->irq); in mpp_task_timeout_work()
583 if (mpp->iommu_info && mpp->iommu_info->got_irq) in mpp_task_timeout_work()
584 disable_irq(mpp->iommu_info->irq); in mpp_task_timeout_work()
587 mpp_reset_up_read(mpp->reset_group); in mpp_task_timeout_work()
588 mpp_dev_reset(mpp); in mpp_task_timeout_work()
589 mpp_power_off(mpp); in mpp_task_timeout_work()
597 mpp_taskqueue_pop_running(mpp->queue, task); in mpp_task_timeout_work()
600 enable_irq(mpp->irq); in mpp_task_timeout_work()
602 if (mpp->iommu_info && mpp->iommu_info->got_irq) in mpp_task_timeout_work()
603 enable_irq(mpp->iommu_info->irq); in mpp_task_timeout_work()
605 mpp_taskqueue_trigger_work(mpp); in mpp_task_timeout_work()
612 struct mpp_dev *mpp = session->mpp; in mpp_process_task_default() local
616 if (unlikely(!mpp)) { in mpp_process_task_default()
626 if (mpp->dev_ops->alloc_task) in mpp_process_task_default()
627 task = mpp->dev_ops->alloc_task(session, msgs); in mpp_process_task_default()
641 mpp = mpp_get_task_used_device(task, session); in mpp_process_task_default()
646 task->task_index = atomic_fetch_inc(&mpp->task_index); in mpp_process_task_default()
647 task->task_id = atomic_fetch_inc(&mpp->queue->task_id); in mpp_process_task_default()
650 if (mpp->auto_freq_en && mpp->hw_ops->get_freq) in mpp_process_task_default()
651 mpp->hw_ops->get_freq(mpp, task); in mpp_process_task_default()
653 msgs->queue = mpp->queue; in mpp_process_task_default()
655 msgs->mpp = mpp; in mpp_process_task_default()
680 mpp_reset_control_get(struct mpp_dev *mpp, enum MPP_RESET_TYPE type, const char *name) in mpp_reset_control_get() argument
688 index = of_property_match_string(mpp->dev->of_node, "reset-names", name); in mpp_reset_control_get()
690 rst = devm_reset_control_get(mpp->dev, name); in mpp_reset_control_get()
699 index = of_property_match_string(mpp->dev->of_node, in mpp_reset_control_get()
702 dev_err(mpp->dev, "%s is not found!\n", shared_name); in mpp_reset_control_get()
706 if (!mpp->reset_group) { in mpp_reset_control_get()
707 dev_err(mpp->dev, "reset group is empty!\n"); in mpp_reset_control_get()
710 group = mpp->reset_group; in mpp_reset_control_get()
715 rst = devm_reset_control_get(mpp->dev, shared_name); in mpp_reset_control_get()
718 group->queue = mpp->queue; in mpp_reset_control_get()
723 group->rw_sem_on |= (group->queue != mpp->queue) ? true : false; in mpp_reset_control_get()
724 dev_info(mpp->dev, "reset_group->rw_sem_on=%d\n", group->rw_sem_on); in mpp_reset_control_get()
730 int mpp_dev_reset(struct mpp_dev *mpp) in mpp_dev_reset() argument
732 dev_info(mpp->dev, "resetting...\n"); in mpp_dev_reset()
738 if (mpp->hw_ops->set_grf) in mpp_dev_reset()
739 mpp->hw_ops->set_grf(mpp); in mpp_dev_reset()
741 mpp_set_grf(mpp->grf_info); in mpp_dev_reset()
743 if (mpp->auto_freq_en && mpp->hw_ops->reduce_freq) in mpp_dev_reset()
744 mpp->hw_ops->reduce_freq(mpp); in mpp_dev_reset()
746 mpp_iommu_down_write(mpp->iommu_info); in mpp_dev_reset()
747 mpp_reset_down_write(mpp->reset_group); in mpp_dev_reset()
748 atomic_set(&mpp->reset_request, 0); in mpp_dev_reset()
750 if (mpp->hw_ops->reset) in mpp_dev_reset()
751 mpp->hw_ops->reset(mpp); in mpp_dev_reset()
757 mpp_iommu_refresh(mpp->iommu_info, mpp->dev); in mpp_dev_reset()
759 mpp_reset_up_write(mpp->reset_group); in mpp_dev_reset()
760 mpp_iommu_up_write(mpp->iommu_info); in mpp_dev_reset()
762 dev_info(mpp->dev, "reset done\n"); in mpp_dev_reset()
796 static int mpp_task_run(struct mpp_dev *mpp, in mpp_task_run() argument
804 timing_en = mpp->srv->timing_en; in mpp_task_run()
814 if (mpp->hw_ops->set_grf) { in mpp_task_run()
815 ret = mpp->hw_ops->set_grf(mpp); in mpp_task_run()
817 dev_err(mpp->dev, "set grf failed\n"); in mpp_task_run()
821 mpp_set_grf(mpp->grf_info); in mpp_task_run()
827 ret = mpp_iommu_attach(mpp->iommu_info); in mpp_task_run()
829 dev_err(mpp->dev, "mpp_iommu_attach failed\n"); in mpp_task_run()
833 mpp_power_on(mpp); in mpp_task_run()
835 task->session->pid, dev_name(mpp->dev)); in mpp_task_run()
837 if (mpp->auto_freq_en && mpp->hw_ops->set_freq) in mpp_task_run()
838 mpp->hw_ops->set_freq(mpp, task); in mpp_task_run()
843 mpp_reset_down_read(mpp->reset_group); in mpp_task_run()
845 mpp_iommu_dev_activate(mpp->iommu_info, mpp); in mpp_task_run()
846 if (mpp->dev_ops->run) in mpp_task_run()
847 mpp->dev_ops->run(mpp, task); in mpp_task_run()
857 struct mpp_dev *mpp = container_of(work_s, struct mpp_dev, work); in mpp_task_worker_default() local
858 struct mpp_taskqueue *queue = mpp->queue; in mpp_task_worker_default()
874 mpp = task->session->mpp; in mpp_task_worker_default()
884 if (mpp->dev_ops->prepare) in mpp_task_worker_default()
885 task = mpp->dev_ops->prepare(mpp, task); in mpp_task_worker_default()
915 struct mpp_dev *mpp; in mpp_wait_result_default() local
923 mpp = mpp_get_task_used_device(task, session); in mpp_wait_result_default()
929 if (mpp->dev_ops->result) in mpp_wait_result_default()
930 ret = mpp->dev_ops->result(mpp, task, msgs); in mpp_wait_result_default()
958 static int mpp_attach_service(struct mpp_dev *mpp, struct device *dev) in mpp_attach_service() argument
980 mpp->srv = platform_get_drvdata(pdev); in mpp_attach_service()
982 if (!mpp->srv) { in mpp_attach_service()
992 } else if (taskqueue_node >= mpp->srv->taskqueue_cnt) { in mpp_attach_service()
994 taskqueue_node, mpp->srv->taskqueue_cnt); in mpp_attach_service()
998 queue = mpp->srv->task_queues[taskqueue_node]; in mpp_attach_service()
1004 mpp_attach_workqueue(mpp, queue); in mpp_attach_service()
1010 if (reset_group_node >= mpp->srv->reset_group_cnt) { in mpp_attach_service()
1012 reset_group_node, mpp->srv->reset_group_cnt); in mpp_attach_service()
1015 mpp->reset_group = mpp->srv->reset_groups[reset_group_node]; in mpp_attach_service()
1051 static void mpp_attach_workqueue(struct mpp_dev *mpp, in mpp_attach_workqueue() argument
1056 INIT_LIST_HEAD(&mpp->queue_link); in mpp_attach_workqueue()
1060 if (mpp->core_id >= 0) in mpp_attach_workqueue()
1061 core_id = mpp->core_id; in mpp_attach_workqueue()
1066 dev_err(mpp->dev, "invalid core id %d\n", core_id); in mpp_attach_workqueue()
1075 if (queue->cores[core_id] == mpp) in mpp_attach_workqueue()
1081 queue->cores[core_id] = mpp; in mpp_attach_workqueue()
1085 list_add_tail(&mpp->queue_link, &queue->dev_list); in mpp_attach_workqueue()
1089 mpp->core_id = core_id; in mpp_attach_workqueue()
1090 mpp->queue = queue; in mpp_attach_workqueue()
1093 dev_name(mpp->dev), mpp->core_id); in mpp_attach_workqueue()
1095 if (queue->task_capacity > mpp->task_capacity) in mpp_attach_workqueue()
1096 queue->task_capacity = mpp->task_capacity; in mpp_attach_workqueue()
1102 static void mpp_detach_workqueue(struct mpp_dev *mpp) in mpp_detach_workqueue() argument
1104 struct mpp_taskqueue *queue = mpp->queue; in mpp_detach_workqueue()
1109 queue->cores[mpp->core_id] = NULL; in mpp_detach_workqueue()
1112 clear_bit(mpp->core_id, &queue->core_idle); in mpp_detach_workqueue()
1113 list_del_init(&mpp->queue_link); in mpp_detach_workqueue()
1115 mpp->queue = NULL; in mpp_detach_workqueue()
1181 struct mpp_dev *mpp; in mpp_process_request() local
1196 mpp = NULL; in mpp_process_request()
1197 if (session && session->mpp) { in mpp_process_request()
1198 mpp = session->mpp; in mpp_process_request()
1208 mpp = srv->sub_devices[client_type]; in mpp_process_request()
1211 if (!mpp) in mpp_process_request()
1214 hw_info = mpp->var->hw_info; in mpp_process_request()
1241 mpp = srv->sub_devices[client_type]; in mpp_process_request()
1242 if (!mpp) in mpp_process_request()
1246 session->dma = mpp_dma_session_create(mpp->dev, mpp->session_max_buffers); in mpp_process_request()
1247 session->mpp = mpp; in mpp_process_request()
1248 if (mpp->dev_ops) { in mpp_process_request()
1249 if (mpp->dev_ops->process_task) in mpp_process_request()
1251 mpp->dev_ops->process_task; in mpp_process_request()
1253 if (mpp->dev_ops->wait_result) in mpp_process_request()
1255 mpp->dev_ops->wait_result; in mpp_process_request()
1257 if (mpp->dev_ops->deinit) in mpp_process_request()
1258 session->deinit = mpp->dev_ops->deinit; in mpp_process_request()
1260 session->index = atomic_fetch_inc(&mpp->session_index); in mpp_process_request()
1261 if (mpp->dev_ops && mpp->dev_ops->init_session) { in mpp_process_request()
1262 ret = mpp->dev_ops->init_session(session); in mpp_process_request()
1267 mpp_session_attach_workqueue(session, mpp->queue); in mpp_process_request()
1272 mpp = session->mpp; in mpp_process_request()
1273 if (!mpp) in mpp_process_request()
1277 if (mpp->grf_info->grf) in mpp_process_request()
1278 regmap_write(mpp->grf_info->grf, 0x5d8, val); in mpp_process_request()
1335 mpp = session->mpp; in mpp_process_request()
1336 if (!mpp) in mpp_process_request()
1340 mpp_iommu_down_write(mpp->iommu_info); in mpp_process_request()
1342 mpp_iommu_up_write(mpp->iommu_info); in mpp_process_request()
1351 mpp = session->mpp; in mpp_process_request()
1352 if (!mpp) in mpp_process_request()
1369 mpp_iommu_down_read(mpp->iommu_info); in mpp_process_request()
1370 buffer = mpp_dma_import_fd(mpp->iommu_info, in mpp_process_request()
1372 mpp_iommu_up_read(mpp->iommu_info); in mpp_process_request()
1411 mpp = session->mpp; in mpp_process_request()
1412 if (!mpp) { in mpp_process_request()
1417 if (mpp->dev_ops->ioctl) in mpp_process_request()
1418 return mpp->dev_ops->ioctl(session, req); in mpp_process_request()
1584 struct mpp_dev *mpp; in mpp_msgs_trigger() local
1591 mpp = msgs->mpp; in mpp_msgs_trigger()
1604 mpp_prev = mpp; in mpp_msgs_trigger()
1726 if (session->mpp || atomic_read(&session->task_count)) in mpp_dev_release()
1751 struct mpp_dev *mpp = task->session->mpp; in mpp_task_attach_fd() local
1756 if (fd <= 0 || !dma || !mpp) in mpp_task_attach_fd()
1777 mpp_iommu_down_read(mpp->iommu_info); in mpp_task_attach_fd()
1778 buffer = mpp_dma_import_fd(mpp->iommu_info, dma, fd); in mpp_task_attach_fd()
1779 mpp_iommu_up_read(mpp->iommu_info); in mpp_task_attach_fd()
1812 struct mpp_dev *mpp = mpp_get_task_used_device(task, session); in mpp_translate_reg_address() local
1813 struct mpp_trans_info *trans_info = mpp->var->trans_info; in mpp_translate_reg_address()
1963 struct mpp_dev *mpp = mpp_get_task_used_device(task, session); in mpp_task_finish() local
1965 if (mpp->dev_ops->finish) in mpp_task_finish()
1966 mpp->dev_ops->finish(mpp, task); in mpp_task_finish()
1968 mpp_reset_up_read(mpp->reset_group); in mpp_task_finish()
1969 if (atomic_read(&mpp->reset_request) > 0) in mpp_task_finish()
1970 mpp_dev_reset(mpp); in mpp_task_finish()
1971 mpp_power_off(mpp); in mpp_task_finish()
1984 if (mpp->timing_check && time_diff > (s64)mpp->timing_check) in mpp_task_finish()
1990 mpp_taskqueue_pop_running(mpp->queue, task); in mpp_task_finish()
1999 struct mpp_dev *mpp = mpp_get_task_used_device(task, session); in mpp_task_finalize() local
2006 mpp_iommu_down_read(mpp->iommu_info); in mpp_task_finalize()
2008 mpp_iommu_up_read(mpp->iommu_info); in mpp_task_finalize()
2016 int mpp_task_dump_mem_region(struct mpp_dev *mpp, in mpp_task_dump_mem_region() argument
2033 dev_err(mpp->dev, "no memory region mapped\n"); in mpp_task_dump_mem_region()
2039 int mpp_task_dump_reg(struct mpp_dev *mpp, in mpp_task_dump_reg() argument
2064 int mpp_task_dump_hw_reg(struct mpp_dev *mpp) in mpp_task_dump_hw_reg() argument
2067 u32 s = mpp->var->hw_info->reg_start; in mpp_task_dump_hw_reg()
2068 u32 e = mpp->var->hw_info->reg_end; in mpp_task_dump_hw_reg()
2075 i, reg, readl_relaxed(mpp->reg_base + reg)); in mpp_task_dump_hw_reg()
2081 void mpp_reg_show(struct mpp_dev *mpp, u32 offset) in mpp_reg_show() argument
2083 if (!mpp) in mpp_reg_show()
2086 dev_err(mpp->dev, "reg[%03d]: %04x: 0x%08x\n", in mpp_reg_show()
2087 offset >> 2, offset, mpp_read_relaxed(mpp, offset)); in mpp_reg_show()
2090 void mpp_reg_show_range(struct mpp_dev *mpp, u32 start, u32 end) in mpp_reg_show_range() argument
2094 if (!mpp) in mpp_reg_show_range()
2098 mpp_reg_show(mpp, offset); in mpp_reg_show_range()
2102 int mpp_dev_probe(struct mpp_dev *mpp, in mpp_dev_probe() argument
2109 struct mpp_hw_info *hw_info = mpp->var->hw_info; in mpp_dev_probe()
2112 mpp->auto_freq_en = !device_property_read_bool(dev, "rockchip,disable-auto-freq"); in mpp_dev_probe()
2114 mpp->skip_idle = device_property_read_bool(dev, "rockchip,skip-pmu-idle-request"); in mpp_dev_probe()
2118 &mpp->task_capacity); in mpp_dev_probe()
2120 mpp->task_capacity = 1; in mpp_dev_probe()
2122 mpp->dev = dev; in mpp_dev_probe()
2123 mpp->hw_ops = mpp->var->hw_ops; in mpp_dev_probe()
2124 mpp->dev_ops = mpp->var->dev_ops; in mpp_dev_probe()
2127 ret = mpp_attach_service(mpp, dev); in mpp_dev_probe()
2137 kthread_init_work(&mpp->work, mpp_task_worker_default); in mpp_dev_probe()
2139 atomic_set(&mpp->reset_request, 0); in mpp_dev_probe()
2140 atomic_set(&mpp->session_index, 0); in mpp_dev_probe()
2141 atomic_set(&mpp->task_count, 0); in mpp_dev_probe()
2142 atomic_set(&mpp->task_index, 0); in mpp_dev_probe()
2146 mpp->irq = platform_get_irq(pdev, 0); in mpp_dev_probe()
2147 if (mpp->irq < 0) { in mpp_dev_probe()
2166 mpp->reg_base = devm_ioremap(dev, res->start, resource_size(res)); in mpp_dev_probe()
2167 if (!mpp->reg_base) { in mpp_dev_probe()
2172 mpp->io_base = res->start; in mpp_dev_probe()
2178 mpp->iommu_info = mpp_iommu_probe(dev); in mpp_dev_probe()
2179 if (IS_ERR(mpp->iommu_info)) { in mpp_dev_probe()
2181 mpp->iommu_info = NULL; in mpp_dev_probe()
2183 if (mpp->hw_ops->init) { in mpp_dev_probe()
2184 ret = mpp->hw_ops->init(mpp); in mpp_dev_probe()
2192 if (mpp->hw_ops->clk_on) in mpp_dev_probe()
2193 mpp->hw_ops->clk_on(mpp); in mpp_dev_probe()
2195 hw_info->hw_id = mpp_read(mpp, hw_info->reg_id * sizeof(u32)); in mpp_dev_probe()
2196 if (mpp->hw_ops->clk_off) in mpp_dev_probe()
2197 mpp->hw_ops->clk_off(mpp); in mpp_dev_probe()
2203 mpp_detach_workqueue(mpp); in mpp_dev_probe()
2210 int mpp_dev_remove(struct mpp_dev *mpp) in mpp_dev_remove() argument
2212 if (mpp->hw_ops->exit) in mpp_dev_remove()
2213 mpp->hw_ops->exit(mpp); in mpp_dev_remove()
2215 mpp_iommu_remove(mpp->iommu_info); in mpp_dev_remove()
2216 mpp_detach_workqueue(mpp); in mpp_dev_remove()
2217 device_init_wakeup(mpp->dev, false); in mpp_dev_remove()
2218 pm_runtime_disable(mpp->dev); in mpp_dev_remove()
2228 struct mpp_dev *mpp = dev_get_drvdata(dev); in mpp_dev_shutdown() local
2232 atomic_inc(&mpp->srv->shutdown_request); in mpp_dev_shutdown()
2234 &mpp->task_count, in mpp_dev_shutdown()
2238 atomic_read(&mpp->task_count)); in mpp_dev_shutdown()
2243 int mpp_dev_register_srv(struct mpp_dev *mpp, struct mpp_service *srv) in mpp_dev_register_srv() argument
2245 enum MPP_DEVICE_TYPE device_type = mpp->var->device_type; in mpp_dev_register_srv()
2247 srv->sub_devices[device_type] = mpp; in mpp_dev_register_srv()
2255 struct mpp_dev *mpp = param; in mpp_dev_irq() local
2256 struct mpp_task *task = mpp->cur_task; in mpp_dev_irq()
2258 u32 timing_en = mpp->srv->timing_en; in mpp_dev_irq()
2265 if (mpp->dev_ops->irq) in mpp_dev_irq()
2266 irq_ret = mpp->dev_ops->irq(mpp); in mpp_dev_irq()
2275 mpp->irq_status); in mpp_dev_irq()
2289 mpp_iommu_dev_deactivate(mpp->iommu_info, mpp); in mpp_dev_irq()
2300 struct mpp_dev *mpp = param; in mpp_dev_isr_sched() local
2301 struct mpp_task *task = mpp->cur_task; in mpp_dev_isr_sched()
2303 if (task && mpp->srv->timing_en) { in mpp_dev_isr_sched()
2308 if (mpp->auto_freq_en && in mpp_dev_isr_sched()
2309 mpp->hw_ops->reduce_freq && in mpp_dev_isr_sched()
2310 list_empty(&mpp->queue->pending_list)) in mpp_dev_isr_sched()
2311 mpp->hw_ops->reduce_freq(mpp); in mpp_dev_isr_sched()
2313 if (mpp->dev_ops->isr) in mpp_dev_isr_sched()
2314 ret = mpp->dev_ops->isr(mpp); in mpp_dev_isr_sched()
2317 mpp_taskqueue_trigger_work(mpp); in mpp_dev_isr_sched()
2368 struct mpp_dev *mpp = mpp_get_task_used_device(task, task->session); in mpp_time_part_diff() local
2372 dev_name(mpp->dev), task->core_id, task->session->pid, in mpp_time_part_diff()
2384 struct mpp_dev *mpp = mpp_get_task_used_device(task, task->session); in mpp_time_diff() local
2388 dev_name(mpp->dev), task->core_id, task->session->pid, in mpp_time_diff()
2399 struct mpp_dev *mpp = mpp_get_task_used_device(task, task->session); in mpp_time_diff_with_hw_time() local
2405 dev_name(mpp->dev), task->core_id, task->session->pid, in mpp_time_diff_with_hw_time()
2410 dev_name(mpp->dev), task->core_id, task->session->pid, in mpp_time_diff_with_hw_time()
2444 int mpp_write_req(struct mpp_dev *mpp, u32 *regs, in mpp_write_req() argument
2452 mpp_write_relaxed(mpp, i * sizeof(u32), regs[i]); in mpp_write_req()
2458 int mpp_read_req(struct mpp_dev *mpp, u32 *regs, in mpp_read_req() argument
2464 regs[i] = mpp_read_relaxed(mpp, i * sizeof(u32)); in mpp_read_req()
2469 int mpp_get_clk_info(struct mpp_dev *mpp, in mpp_get_clk_info() argument
2473 int index = of_property_match_string(mpp->dev->of_node, in mpp_get_clk_info()
2479 clk_info->clk = devm_clk_get(mpp->dev, name); in mpp_get_clk_info()
2480 of_property_read_u32_index(mpp->dev->of_node, in mpp_get_clk_info()
2484 of_property_read_u32_index(mpp->dev->of_node, in mpp_get_clk_info()
2626 void mpp_procfs_create_common(struct proc_dir_entry *parent, struct mpp_dev *mpp) in mpp_procfs_create_common() argument
2628 mpp_procfs_create_u32("disable_work", 0644, parent, &mpp->disable); in mpp_procfs_create_common()
2629 mpp_procfs_create_u32("timing_check", 0644, parent, &mpp->timing_check); in mpp_procfs_create_common()