Lines Matching refs:rq
40 static void amd_sched_rq_init(struct amd_sched_rq *rq) in amd_sched_rq_init() argument
42 spin_lock_init(&rq->lock); in amd_sched_rq_init()
43 INIT_LIST_HEAD(&rq->entities); in amd_sched_rq_init()
44 rq->current_entity = NULL; in amd_sched_rq_init()
47 static void amd_sched_rq_add_entity(struct amd_sched_rq *rq, in amd_sched_rq_add_entity() argument
50 spin_lock(&rq->lock); in amd_sched_rq_add_entity()
51 list_add_tail(&entity->list, &rq->entities); in amd_sched_rq_add_entity()
52 spin_unlock(&rq->lock); in amd_sched_rq_add_entity()
55 static void amd_sched_rq_remove_entity(struct amd_sched_rq *rq, in amd_sched_rq_remove_entity() argument
58 spin_lock(&rq->lock); in amd_sched_rq_remove_entity()
60 if (rq->current_entity == entity) in amd_sched_rq_remove_entity()
61 rq->current_entity = NULL; in amd_sched_rq_remove_entity()
62 spin_unlock(&rq->lock); in amd_sched_rq_remove_entity()
73 amd_sched_rq_select_entity(struct amd_sched_rq *rq) in amd_sched_rq_select_entity() argument
77 spin_lock(&rq->lock); in amd_sched_rq_select_entity()
79 entity = rq->current_entity; in amd_sched_rq_select_entity()
81 list_for_each_entry_continue(entity, &rq->entities, list) { in amd_sched_rq_select_entity()
83 rq->current_entity = entity; in amd_sched_rq_select_entity()
84 spin_unlock(&rq->lock); in amd_sched_rq_select_entity()
90 list_for_each_entry(entity, &rq->entities, list) { in amd_sched_rq_select_entity()
93 rq->current_entity = entity; in amd_sched_rq_select_entity()
94 spin_unlock(&rq->lock); in amd_sched_rq_select_entity()
98 if (entity == rq->current_entity) in amd_sched_rq_select_entity()
102 spin_unlock(&rq->lock); in amd_sched_rq_select_entity()
120 struct amd_sched_rq *rq, in amd_sched_entity_init() argument
125 if (!(sched && entity && rq)) in amd_sched_entity_init()
130 entity->rq = rq; in amd_sched_entity_init()
142 amd_sched_rq_add_entity(rq, entity); in amd_sched_entity_init()
159 entity->rq != NULL; in amd_sched_entity_is_initialized()
207 struct amd_sched_rq *rq = entity->rq; in amd_sched_entity_fini() local
218 amd_sched_rq_remove_entity(rq, entity); in amd_sched_entity_fini()