Lines Matching refs:mei_hdr
53 struct mei_msg_hdr *mei_hdr) in mei_cl_hbm_equal() argument
55 return mei_cl_host_addr(cl) == mei_hdr->host_addr && in mei_cl_hbm_equal()
56 mei_cl_me_id(cl) == mei_hdr->me_addr; in mei_cl_hbm_equal()
94 struct mei_msg_hdr *mei_hdr, in mei_cl_irq_read_msg() argument
105 length = mei_hdr->length; in mei_cl_irq_read_msg()
107 if (mei_hdr->extended) { in mei_cl_irq_read_msg()
124 if (mei_hdr->extended) { in mei_cl_irq_read_msg()
166 if (mei_hdr->dma_ring) in mei_cl_irq_read_msg()
167 length = mei_hdr->extension[mei_data2slots(ext_len)]; in mei_cl_irq_read_msg()
185 if (mei_hdr->dma_ring) { in mei_cl_irq_read_msg()
195 if (mei_hdr->msg_complete) { in mei_cl_irq_read_msg()
208 mei_irq_discard_msg(dev, mei_hdr, length); in mei_cl_irq_read_msg()
288 static inline bool hdr_is_hbm(struct mei_msg_hdr *mei_hdr) in hdr_is_hbm() argument
290 return mei_hdr->host_addr == 0 && mei_hdr->me_addr == 0; in hdr_is_hbm()
293 static inline bool hdr_is_fixed(struct mei_msg_hdr *mei_hdr) in hdr_is_fixed() argument
295 return mei_hdr->host_addr == 0 && mei_hdr->me_addr != 0; in hdr_is_fixed()
300 struct mei_msg_hdr *mei_hdr; in hdr_is_valid() local
303 mei_hdr = (struct mei_msg_hdr *)&msg_hdr; in hdr_is_valid()
304 if (!msg_hdr || mei_hdr->reserved) in hdr_is_valid()
307 if (mei_hdr->dma_ring) in hdr_is_valid()
309 if (mei_hdr->extended) in hdr_is_valid()
311 if (mei_hdr->length < expected_len) in hdr_is_valid()
330 struct mei_msg_hdr *mei_hdr; in mei_irq_read_handler() local
354 mei_hdr = (struct mei_msg_hdr *)dev->rd_msg_hdr; in mei_irq_read_handler()
355 dev_dbg(dev->dev, MEI_HDR_FMT, MEI_HDR_PRM(mei_hdr)); in mei_irq_read_handler()
357 if (mei_slots2data(*slots) < mei_hdr->length) { in mei_irq_read_handler()
366 hdr_size_left = mei_hdr->length; in mei_irq_read_handler()
368 if (mei_hdr->extended) { in mei_irq_read_handler()
387 mei_hdr->length); in mei_irq_read_handler()
402 if (mei_hdr->dma_ring) { in mei_irq_read_handler()
405 mei_hdr->length); in mei_irq_read_handler()
412 mei_hdr->length -= sizeof(dev->rd_msg_hdr[ext_hdr_end]); in mei_irq_read_handler()
416 if (hdr_is_hbm(mei_hdr)) { in mei_irq_read_handler()
417 ret = mei_hbm_dispatch(dev, mei_hdr); in mei_irq_read_handler()
428 if (mei_cl_hbm_equal(cl, mei_hdr)) { in mei_irq_read_handler()
430 ret = mei_cl_irq_read_msg(cl, mei_hdr, meta_hdr, cmpl_list); in mei_irq_read_handler()
441 if (hdr_is_fixed(mei_hdr) || in mei_irq_read_handler()
443 mei_irq_discard_msg(dev, mei_hdr, mei_hdr->length); in mei_irq_read_handler()