Lines Matching full:scheduler

13 void rve_soft_reset(struct rve_scheduler_t *scheduler)  in rve_soft_reset()  argument
18 rve_write(1, RVE_SWREG5_IVE_IDLE_CTRL, scheduler); in rve_soft_reset()
22 rve_dump_read_back_reg(scheduler); in rve_soft_reset()
27 rve_read(RVE_SWREG5_IVE_IDLE_CTRL, scheduler), in rve_soft_reset()
28 rve_read(RVE_SWREG3_IVE_IDLE_PRC_STA, scheduler)); in rve_soft_reset()
30 pr_err("work status = %.8x", rve_read(RVE_SWREG6_IVE_WORK_STA, scheduler)); in rve_soft_reset()
36 reg = rve_read(RVE_SWREG3_IVE_IDLE_PRC_STA, scheduler); in rve_soft_reset()
41 rve_write(0x30000, RVE_SWREG3_IVE_IDLE_PRC_STA, scheduler); in rve_soft_reset()
44 rve_write(0xff0000, RVE_SWREG6_IVE_WORK_STA, scheduler); in rve_soft_reset()
47 rve_write(0x30000, RVE_SWREG1_IVE_IRQ, scheduler); in rve_soft_reset()
60 rve_read(RVE_SWREG5_IVE_IDLE_CTRL, scheduler), in rve_soft_reset()
61 rve_read(RVE_SWREG3_IVE_IDLE_PRC_STA, scheduler)); in rve_soft_reset()
63 pr_err("work status = %x", rve_read(RVE_SWREG6_IVE_WORK_STA, scheduler)); in rve_soft_reset()
77 void rve_dump_read_back_reg(struct rve_scheduler_t *scheduler) in rve_dump_read_back_reg() argument
86 spin_lock_irqsave(&scheduler->irq_lock, flags); in rve_dump_read_back_reg()
89 sys_reg[i] = rve_read(RVE_SYS_REG + i * 4, scheduler); in rve_dump_read_back_reg()
92 ltb_reg[i] = rve_read(RVE_LTB_REG + i * 4, scheduler); in rve_dump_read_back_reg()
95 cfg_reg[i] = rve_read(RVE_CFG_REG + i * 4, scheduler); in rve_dump_read_back_reg()
98 mmu_reg[i] = rve_read(RVE_MMU_REG + i * 4, scheduler); in rve_dump_read_back_reg()
100 spin_unlock_irqrestore(&scheduler->irq_lock, flags); in rve_dump_read_back_reg()
127 int rve_set_reg(struct rve_job *job, struct rve_scheduler_t *scheduler) in rve_set_reg() argument
146 rve_write(0x00000, RVE_SWREG6_IVE_WORK_STA, scheduler); in rve_set_reg()
150 rve_read(RVE_SWREG5_IVE_IDLE_CTRL, scheduler), in rve_set_reg()
151 rve_read(RVE_SWREG3_IVE_IDLE_PRC_STA, scheduler)); in rve_set_reg()
153 pr_info("work status = %x", rve_read(RVE_SWREG6_IVE_WORK_STA, scheduler)); in rve_set_reg()
164 rve_write(cmd_reg[i], RVE_SYS_REG + i * 4, scheduler); in rve_set_reg()
171 rve_write(cmd_reg[8 + i], RVE_LTB_REG + i * 4, scheduler); in rve_set_reg()
176 rve_write(cmd_reg[19 + i], RVE_CFG_REG + (i + 1) * 4, scheduler); in rve_set_reg()
179 rve_write(0x30000, RVE_SWCFG5_CTRL, scheduler); in rve_set_reg()
180 rve_write(0xf4240, RVE_SWCFG6_TIMEOUT_THRESH, scheduler); in rve_set_reg()
181 rve_write(0x1f0001, RVE_SWCFG7_DDR_CTRL, scheduler); in rve_set_reg()
184 rve_write(RVE_CLEAR_UP_REG6_WROK_STA, RVE_SWREG6_IVE_WORK_STA, scheduler); in rve_set_reg()
188 rve_write(1, RVE_SWCFG32_MONITOR_CTRL0, scheduler); in rve_set_reg()
192 rve_dump_read_back_reg(scheduler); in rve_set_reg()
197 rve_write(1, RVE_SWCFG0_EN, scheduler); in rve_set_reg()
200 rve_write(cmd_reg[10], RVE_SWLTB2_CFG_DONE, scheduler); in rve_set_reg()
204 rve_dump_read_back_reg(scheduler); in rve_set_reg()
210 int rve_get_version(struct rve_scheduler_t *scheduler) in rve_get_version() argument
215 if (!scheduler) { in rve_get_version()
216 pr_err("scheduler is null\n"); in rve_get_version()
220 reg_version = rve_read(RVE_SWREG0_IVE_VERSION, scheduler); in rve_get_version()
226 snprintf(scheduler->version.str, sizeof(scheduler->version.str), "[%x]%x.%x", in rve_get_version()
229 scheduler->version.major = major_version; in rve_get_version()
230 scheduler->version.minor = minor_version; in rve_get_version()
231 scheduler->version.prod_num = prod_num; in rve_get_version()
239 struct rve_scheduler_t *scheduler = NULL; in rve_get_monitor_info() local
244 scheduler = rve_job_get_scheduler(job); in rve_get_monitor_info()
245 pid_info = scheduler->session.pid_info; in rve_get_monitor_info()
249 rd_bandwidth = rve_read(RVE_SWCFG37_MONITOR_INFO3, scheduler); in rve_get_monitor_info()
250 wr_bandwidth = rve_read(RVE_SWCFG38_MONITOR_INFO4, scheduler); in rve_get_monitor_info()
251 cycle_cnt = rve_read(RVE_SWCFG39_MONITOR_INFO5, scheduler); in rve_get_monitor_info()
254 rve_write(2, RVE_SWCFG32_MONITOR_CTRL0, scheduler); in rve_get_monitor_info()
256 spin_lock_irqsave(&scheduler->irq_lock, flags); in rve_get_monitor_info()
271 scheduler->session.rd_bandwidth += rd_bandwidth; in rve_get_monitor_info()
272 scheduler->session.wr_bandwidth += wr_bandwidth; in rve_get_monitor_info()
273 scheduler->session.cycle_cnt += cycle_cnt; in rve_get_monitor_info()
275 spin_unlock_irqrestore(&scheduler->irq_lock, flags); in rve_get_monitor_info()