Lines Matching refs:ctrlr

40 #define ctrlr_to_drv(ctrlr) container_of(ctrlr, struct rsc_drv, client)  argument
101 static struct cache_req *__find_req(struct rpmh_ctrlr *ctrlr, u32 addr) in __find_req() argument
105 list_for_each_entry(p, &ctrlr->cache, list) { in __find_req()
115 static struct cache_req *cache_rpm_request(struct rpmh_ctrlr *ctrlr, in cache_rpm_request() argument
122 spin_lock_irqsave(&ctrlr->cache_lock, flags); in cache_rpm_request()
123 req = __find_req(ctrlr, cmd->addr); in cache_rpm_request()
136 list_add_tail(&req->list, &ctrlr->cache); in cache_rpm_request()
154 ctrlr->dirty = true; in cache_rpm_request()
156 spin_unlock_irqrestore(&ctrlr->cache_lock, flags); in cache_rpm_request()
175 struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev); in __rpmh_write() local
184 req = cache_rpm_request(ctrlr, state, &rpm_msg->msg.cmds[i]); in __rpmh_write()
193 ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg); in __rpmh_write()
195 ret = rpmh_rsc_write_ctrl_data(ctrlr_to_drv(ctrlr), in __rpmh_write()
284 static void cache_batch(struct rpmh_ctrlr *ctrlr, struct batch_cache_req *req) in cache_batch() argument
288 spin_lock_irqsave(&ctrlr->cache_lock, flags); in cache_batch()
289 list_add_tail(&req->list, &ctrlr->batch_cache); in cache_batch()
290 spin_unlock_irqrestore(&ctrlr->cache_lock, flags); in cache_batch()
293 static int flush_batch(struct rpmh_ctrlr *ctrlr) in flush_batch() argument
302 spin_lock_irqsave(&ctrlr->cache_lock, flags); in flush_batch()
303 list_for_each_entry(req, &ctrlr->batch_cache, list) { in flush_batch()
306 ret = rpmh_rsc_write_ctrl_data(ctrlr_to_drv(ctrlr), in flush_batch()
312 spin_unlock_irqrestore(&ctrlr->cache_lock, flags); in flush_batch()
317 static void invalidate_batch(struct rpmh_ctrlr *ctrlr) in invalidate_batch() argument
322 spin_lock_irqsave(&ctrlr->cache_lock, flags); in invalidate_batch()
323 list_for_each_entry_safe(req, tmp, &ctrlr->batch_cache, list) in invalidate_batch()
325 INIT_LIST_HEAD(&ctrlr->batch_cache); in invalidate_batch()
326 spin_unlock_irqrestore(&ctrlr->cache_lock, flags); in invalidate_batch()
352 struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev); in rpmh_write_batch() local
378 cache_batch(ctrlr, req); in rpmh_write_batch()
384 ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msgs[i].msg); in rpmh_write_batch()
427 struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev); in send_single() local
435 return rpmh_rsc_write_ctrl_data(ctrlr_to_drv(ctrlr), &rpm_msg.msg); in send_single()
453 struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev); in rpmh_flush() local
456 if (!ctrlr->dirty) { in rpmh_flush()
462 ret = flush_batch(ctrlr); in rpmh_flush()
470 list_for_each_entry(p, &ctrlr->cache, list) { in rpmh_flush()
485 ctrlr->dirty = false; in rpmh_flush()
501 struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev); in rpmh_invalidate() local
504 invalidate_batch(ctrlr); in rpmh_invalidate()
505 ctrlr->dirty = true; in rpmh_invalidate()
508 ret = rpmh_rsc_invalidate(ctrlr_to_drv(ctrlr)); in rpmh_invalidate()