Lines Matching refs:me_cl

34 void mei_me_cl_init(struct mei_me_client *me_cl)  in mei_me_cl_init()  argument
36 INIT_LIST_HEAD(&me_cl->list); in mei_me_cl_init()
37 kref_init(&me_cl->refcnt); in mei_me_cl_init()
49 struct mei_me_client *mei_me_cl_get(struct mei_me_client *me_cl) in mei_me_cl_get() argument
51 if (me_cl && kref_get_unless_zero(&me_cl->refcnt)) in mei_me_cl_get()
52 return me_cl; in mei_me_cl_get()
66 struct mei_me_client *me_cl = in mei_me_cl_release() local
69 kfree(me_cl); in mei_me_cl_release()
79 void mei_me_cl_put(struct mei_me_client *me_cl) in mei_me_cl_put() argument
81 if (me_cl) in mei_me_cl_put()
82 kref_put(&me_cl->refcnt, mei_me_cl_release); in mei_me_cl_put()
94 static void __mei_me_cl_del(struct mei_device *dev, struct mei_me_client *me_cl) in __mei_me_cl_del() argument
96 if (!me_cl) in __mei_me_cl_del()
99 list_del(&me_cl->list); in __mei_me_cl_del()
100 mei_me_cl_put(me_cl); in __mei_me_cl_del()
109 void mei_me_cl_add(struct mei_device *dev, struct mei_me_client *me_cl) in mei_me_cl_add() argument
112 list_add(&me_cl->list, &dev->me_clients); in mei_me_cl_add()
130 struct mei_me_client *me_cl; in __mei_me_cl_by_uuid() local
135 list_for_each_entry(me_cl, &dev->me_clients, list) { in __mei_me_cl_by_uuid()
136 pn = &me_cl->props.protocol_name; in __mei_me_cl_by_uuid()
138 return mei_me_cl_get(me_cl); in __mei_me_cl_by_uuid()
158 struct mei_me_client *me_cl; in mei_me_cl_by_uuid() local
161 me_cl = __mei_me_cl_by_uuid(dev, uuid); in mei_me_cl_by_uuid()
164 return me_cl; in mei_me_cl_by_uuid()
181 struct mei_me_client *__me_cl, *me_cl = NULL; in mei_me_cl_by_id() local
186 me_cl = mei_me_cl_get(__me_cl); in mei_me_cl_by_id()
192 return me_cl; in mei_me_cl_by_id()
210 struct mei_me_client *me_cl; in __mei_me_cl_by_uuid_id() local
215 list_for_each_entry(me_cl, &dev->me_clients, list) { in __mei_me_cl_by_uuid_id()
216 pn = &me_cl->props.protocol_name; in __mei_me_cl_by_uuid_id()
218 me_cl->client_id == client_id) in __mei_me_cl_by_uuid_id()
219 return mei_me_cl_get(me_cl); in __mei_me_cl_by_uuid_id()
239 struct mei_me_client *me_cl; in mei_me_cl_by_uuid_id() local
242 me_cl = __mei_me_cl_by_uuid_id(dev, uuid, client_id); in mei_me_cl_by_uuid_id()
245 return me_cl; in mei_me_cl_by_uuid_id()
258 struct mei_me_client *me_cl; in mei_me_cl_rm_by_uuid() local
263 me_cl = __mei_me_cl_by_uuid(dev, uuid); in mei_me_cl_rm_by_uuid()
264 __mei_me_cl_del(dev, me_cl); in mei_me_cl_rm_by_uuid()
279 struct mei_me_client *me_cl; in mei_me_cl_rm_by_uuid_id() local
284 me_cl = __mei_me_cl_by_uuid_id(dev, uuid, id); in mei_me_cl_rm_by_uuid_id()
285 __mei_me_cl_del(dev, me_cl); in mei_me_cl_rm_by_uuid_id()
298 struct mei_me_client *me_cl, *next; in mei_me_cl_rm_all() local
301 list_for_each_entry_safe(me_cl, next, &dev->me_clients, list) in mei_me_cl_rm_all()
302 __mei_me_cl_del(dev, me_cl); in mei_me_cl_rm_all()
663 struct mei_me_client *me_cl; in mei_host_client_init() local
668 me_cl = mei_me_cl_by_uuid(dev, &mei_amthif_guid); in mei_host_client_init()
669 if (me_cl) in mei_host_client_init()
671 mei_me_cl_put(me_cl); in mei_host_client_init()
673 me_cl = mei_me_cl_by_uuid(dev, &mei_wd_guid); in mei_host_client_init()
674 if (me_cl) in mei_host_client_init()
676 mei_me_cl_put(me_cl); in mei_host_client_init()
678 me_cl = mei_me_cl_by_uuid(dev, &mei_nfc_guid); in mei_host_client_init()
679 if (me_cl) in mei_host_client_init()
681 mei_me_cl_put(me_cl); in mei_host_client_init()
943 struct mei_me_client *me_cl; in mei_cl_flow_ctrl_creds() local
954 me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id); in mei_cl_flow_ctrl_creds()
955 if (!me_cl) { in mei_cl_flow_ctrl_creds()
960 if (me_cl->mei_flow_ctrl_creds > 0) { in mei_cl_flow_ctrl_creds()
962 if (WARN_ON(me_cl->props.single_recv_buf == 0)) in mei_cl_flow_ctrl_creds()
965 mei_me_cl_put(me_cl); in mei_cl_flow_ctrl_creds()
982 struct mei_me_client *me_cl; in mei_cl_flow_ctrl_reduce() local
990 me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id); in mei_cl_flow_ctrl_reduce()
991 if (!me_cl) { in mei_cl_flow_ctrl_reduce()
996 if (me_cl->props.single_recv_buf) { in mei_cl_flow_ctrl_reduce()
997 if (WARN_ON(me_cl->mei_flow_ctrl_creds <= 0)) { in mei_cl_flow_ctrl_reduce()
1001 me_cl->mei_flow_ctrl_creds--; in mei_cl_flow_ctrl_reduce()
1011 mei_me_cl_put(me_cl); in mei_cl_flow_ctrl_reduce()
1028 struct mei_me_client *me_cl; in mei_cl_read_start() local
1043 me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id); in mei_cl_read_start()
1044 if (!me_cl) { in mei_cl_read_start()
1049 length = max_t(size_t, length, me_cl->props.max_msg_length); in mei_cl_read_start()
1050 mei_me_cl_put(me_cl); in mei_cl_read_start()