Lines Matching refs:header

193 release_message_sync(struct vchiq_state *state, struct vchiq_header *header);
454 struct vchiq_header *header, void *bulk_userdata)
460 header, bulk_userdata);
461 status = service->base.callback(service->instance, reason, header, service->handle,
471 vchiq_release_message(service->instance, service->handle, header);
561 * enough for a header. This relies on header size being a power of two, which
568 /* Allow room for the header */
669 struct vchiq_header *header;
672 header = (struct vchiq_header *)
674 header->msgid = VCHIQ_MSGID_PADDING;
675 header->size = slot_space - sizeof(struct vchiq_header);
720 struct vchiq_header *header)
722 int msgid = header->msgid;
741 "core: service %d message_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)\n",
742 port, quota->message_use_count, header, msgid,
743 header->msgid, header->size);
763 state->id, port, header->size, header, count - 1);
766 "core: service %d slot_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)\n",
767 port, count, header, msgid, header->msgid, header->size);
818 struct vchiq_header *header =
820 int msgid = header->msgid;
824 header);
828 pos += calc_stride(header->size);
831 "core: pfq - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x\n",
832 pos, header, msgid, header->msgid, header->size);
908 struct vchiq_header *header;
1003 header = reserve_space(state, stride, flags & QMFLAGS_IS_BLOCKING);
1005 if (!header) {
1023 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1031 header->data, size);
1040 header->data,
1074 size, slot_use_count, header);
1080 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1094 header->data, size);
1099 header->msgid = msgid;
1100 header->size = size;
1114 /* Make sure the new header is visible to the peer. */
1141 struct vchiq_header *header;
1156 header = (struct vchiq_header *)SLOT_DATA_FROM_INDEX(state,
1160 int oldmsgid = header->msgid;
1168 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1173 header->data, size);
1183 header->data,
1192 header->size = size;
1193 header->msgid = msgid;
1221 struct vchiq_header *header, struct vchiq_service *service)
1225 if (header) {
1226 int msgid = header->msgid;
1233 /* Rewrite the message header to prevent a double release */
1234 header->msgid = msgid & ~VCHIQ_MSGID_CLAIMED;
1462 parse_open(struct vchiq_state *state, struct vchiq_header *header)
1470 msgid = header->msgid;
1471 size = header->size;
1477 payload = (struct vchiq_open_payload *)header->data;
1480 state->id, header, localport, &fourcc);
1551 * @header: message header
1556 * * >= 0 - size of the parsed message payload (without header)
1560 parse_message(struct vchiq_state *state, struct vchiq_header *header)
1569 DEBUG_VALUE(PARSE_HEADER, (int)(long)header);
1570 msgid = header->msgid;
1572 size = header->size;
1605 state->id, msg_type_str(type), header,
1612 state->id, msg_type_str(type), header, remoteport,
1628 vchiq_log_dump_mem(state->dev, "Rcvd", 0, header->data, min(16, size));
1630 if (((unsigned long)header & VCHIQ_SLOT_MASK) +
1632 dev_err(state->dev, "core: header %pK (msgid %x) - size %x too big for slot\n",
1633 header, (unsigned int)msgid, (unsigned int)size);
1640 if (!parse_open(state, header))
1647 header->data;
1652 state->id, header, size, remoteport, localport,
1667 state->id, header, remoteport, localport);
1679 state->id, header, size, remoteport, localport);
1683 header->msgid = msgid | VCHIQ_MSGID_CLAIMED;
1686 if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
1699 state->id, header);
1732 state->id, msg_type_str(type), header, remoteport,
1747 bulk->actual = *(int *)header->data;
1751 state->id, msg_type_str(type), header, remoteport,
1771 state->id, header, size);
1776 state->id, header, size);
1793 state->id, header, size);
1810 state->id, msgid, header, size);
1837 struct vchiq_header *header;
1860 header = (struct vchiq_header *)(state->rx_data +
1862 size = parse_message(state, header);
1995 struct vchiq_header *header =
2011 msgid = header->msgid;
2012 size = header->size;
2022 state->id, msg_type_str(type), header, remoteport,
2024 release_message_sync(state, header);
2033 vchiq_log_dump_mem(state->dev, "Rcvd", 0, header->data, min(16, size));
2040 header->data;
2044 state->id, header, size, remoteport, localport,
2052 release_message_sync(state, header);
2057 state->id, header, size, remoteport, localport);
2061 if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
2071 state->id, msgid, header, size);
2072 release_message_sync(state, header);
2264 struct vchiq_header *header)
2280 service->msg_queue[pos] = header;
2289 struct vchiq_header *header;
2305 header = service->msg_queue[pos];
2309 return header;
2508 struct vchiq_header *header =
2511 if (VCHIQ_MSG_DSTPORT(header->msgid) == service->localport)
2512 release_message_sync(state, header);
2538 struct vchiq_header *header =
2540 int msgid = header->msgid;
2544 dev_dbg(state->dev, "core: fsi - hdr %pK\n", header);
2545 release_slot(state, slot_info, header, NULL);
2547 pos += calc_stride(header->size);
2550 "core: fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x\n",
2551 pos, header, msgid, header->msgid, header->size);
3206 struct vchiq_header *header)
3219 slot_index = SLOT_INDEX_FROM_DATA(state, (void *)header);
3223 int msgid = header->msgid;
3229 release_slot(state, slot_info, header, service);
3232 release_message_sync(state, header);
3240 release_message_sync(struct vchiq_state *state, struct vchiq_header *header)
3242 header->msgid = VCHIQ_MSGID_PADDING;