Lines Matching refs:header

190 release_message_sync(struct vchiq_state *state, struct vchiq_header *header);
452 struct vchiq_header *header, void *bulk_userdata)
458 header, bulk_userdata);
459 status = service->base.callback(service->instance, reason, header, service->handle,
469 vchiq_release_message(service->instance, service->handle, header);
559 * enough for a header. This relies on header size being a power of two, which
566 /* Allow room for the header */
667 struct vchiq_header *header;
670 header = (struct vchiq_header *)
672 header->msgid = VCHIQ_MSGID_PADDING;
673 header->size = slot_space - sizeof(struct vchiq_header);
719 struct vchiq_header *header)
721 int msgid = header->msgid;
740 "core: service %d message_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)\n",
741 port, quota->message_use_count, header, msgid,
742 header->msgid, header->size);
762 state->id, port, header->size, header, count - 1);
765 "core: service %d slot_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)\n",
766 port, count, header, msgid, header->msgid, header->size);
817 struct vchiq_header *header =
819 int msgid = header->msgid;
823 header);
827 pos += calc_stride(header->size);
830 "core: pfq - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x\n",
831 pos, header, msgid, header->msgid, header->size);
907 struct vchiq_header *header;
1002 header = reserve_space(state, stride, flags & QMFLAGS_IS_BLOCKING);
1004 if (!header) {
1022 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1030 header->data, size);
1039 header->data,
1073 size, slot_use_count, header);
1079 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1093 header->data, size);
1098 header->msgid = msgid;
1099 header->size = size;
1113 /* Make sure the new header is visible to the peer. */
1140 struct vchiq_header *header;
1155 header = (struct vchiq_header *)SLOT_DATA_FROM_INDEX(state,
1159 int oldmsgid = header->msgid;
1167 state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
1172 header->data, size);
1182 header->data,
1191 header->size = size;
1192 header->msgid = msgid;
1219 struct vchiq_header *header, struct vchiq_service *service)
1223 if (header) {
1224 int msgid = header->msgid;
1231 /* Rewrite the message header to prevent a double release */
1232 header->msgid = msgid & ~VCHIQ_MSGID_CLAIMED;
1460 parse_open(struct vchiq_state *state, struct vchiq_header *header)
1468 msgid = header->msgid;
1469 size = header->size;
1475 payload = (struct vchiq_open_payload *)header->data;
1478 state->id, header, localport, &fourcc);
1549 * @header: message header
1554 * * >= 0 - size of the parsed message payload (without header)
1558 parse_message(struct vchiq_state *state, struct vchiq_header *header)
1567 DEBUG_VALUE(PARSE_HEADER, (int)(long)header);
1568 msgid = header->msgid;
1570 size = header->size;
1603 state->id, msg_type_str(type), header,
1610 state->id, msg_type_str(type), header, remoteport,
1625 vchiq_log_dump_mem(state->dev, "Rcvd", 0, header->data, min(16, size));
1627 if (((unsigned long)header & VCHIQ_SLOT_MASK) +
1629 dev_err(state->dev, "core: header %pK (msgid %x) - size %x too big for slot\n",
1630 header, (unsigned int)msgid, (unsigned int)size);
1637 if (!parse_open(state, header))
1644 header->data;
1649 state->id, header, size, remoteport, localport,
1664 state->id, header, remoteport, localport);
1676 state->id, header, size, remoteport, localport);
1680 header->msgid = msgid | VCHIQ_MSGID_CLAIMED;
1683 if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
1696 state->id, header);
1729 state->id, msg_type_str(type), header, remoteport,
1743 bulk->actual = *(int *)header->data;
1747 state->id, msg_type_str(type), header, remoteport,
1767 state->id, header, size);
1772 state->id, header, size);
1789 state->id, header, size);
1806 state->id, msgid, header, size);
1833 struct vchiq_header *header;
1856 header = (struct vchiq_header *)(state->rx_data +
1858 size = parse_message(state, header);
1991 struct vchiq_header *header =
2007 msgid = header->msgid;
2008 size = header->size;
2018 state->id, msg_type_str(type), header, remoteport,
2020 release_message_sync(state, header);
2029 vchiq_log_dump_mem(state->dev, "Rcvd", 0, header->data, min(16, size));
2036 header->data;
2040 state->id, header, size, remoteport, localport,
2048 release_message_sync(state, header);
2053 state->id, header, size, remoteport, localport);
2057 if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
2067 state->id, msgid, header, size);
2068 release_message_sync(state, header);
2265 struct vchiq_header *header)
2281 service->msg_queue[pos] = header;
2290 struct vchiq_header *header;
2306 header = service->msg_queue[pos];
2310 return header;
2509 struct vchiq_header *header =
2512 if (VCHIQ_MSG_DSTPORT(header->msgid) == service->localport)
2513 release_message_sync(state, header);
2539 struct vchiq_header *header =
2541 int msgid = header->msgid;
2545 dev_dbg(state->dev, "core: fsi - hdr %pK\n", header);
2546 release_slot(state, slot_info, header, NULL);
2548 pos += calc_stride(header->size);
2551 "core: fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x\n",
2552 pos, header, msgid, header->msgid, header->size);
3207 struct vchiq_header *header)
3220 slot_index = SLOT_INDEX_FROM_DATA(state, (void *)header);
3224 int msgid = header->msgid;
3230 release_slot(state, slot_info, header, service);
3233 release_message_sync(state, header);
3241 release_message_sync(struct vchiq_state *state, struct vchiq_header *header)
3243 header->msgid = VCHIQ_MSGID_PADDING;