Lines Matching refs:frame
20 struct ring_frame frame; member
155 if (WARN(len != pkg->frame.size, in check_header()
157 len, pkg->frame.size)) in check_header()
159 if (WARN(type != pkg->frame.eof, "wrong eof (expected %#x, got %#x)\n", in check_header()
160 type, pkg->frame.eof)) in check_header()
162 if (WARN(pkg->frame.sof, "wrong sof (expected 0x0, got %#x)\n", in check_header()
163 pkg->frame.sof)) in check_header()
228 if (pkg->frame.eof == TB_CFG_PKG_ERROR) in parse_header()
299 pkg->buffer, pkg->frame.buffer_phy); in tb_ctl_pkg_free()
311 &pkg->frame.buffer_phy); in tb_ctl_pkg_alloc()
322 static void tb_ctl_tx_callback(struct tb_ring *ring, struct ring_frame *frame, in tb_ctl_tx_callback() argument
325 struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); in tb_ctl_tx_callback()
353 pkg->frame.callback = tb_ctl_tx_callback; in tb_ctl_tx()
354 pkg->frame.size = len + 4; in tb_ctl_tx()
355 pkg->frame.sof = type; in tb_ctl_tx()
356 pkg->frame.eof = type; in tb_ctl_tx()
360 res = ring_tx(ctl->tx, &pkg->frame); in tb_ctl_tx()
389 ring_rx(pkg->ctl->rx, &pkg->frame); /* in tb_ctl_rx_submit()
397 static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame, in tb_ctl_rx_callback() argument
400 struct ctl_pkg *pkg = container_of(frame, typeof(*pkg), frame); in tb_ctl_rx_callback()
408 if (frame->size < 4 || frame->size % 4 != 0) { in tb_ctl_rx_callback()
410 frame->size); in tb_ctl_rx_callback()
414 frame->size -= 4; /* remove checksum */ in tb_ctl_rx_callback()
415 if (*(__be32 *) (pkg->buffer + frame->size) in tb_ctl_rx_callback()
416 != tb_crc(pkg->buffer, frame->size)) { in tb_ctl_rx_callback()
421 be32_to_cpu_array(pkg->buffer, pkg->buffer, frame->size / 4); in tb_ctl_rx_callback()
423 if (frame->eof == TB_CFG_PKG_EVENT) { in tb_ctl_rx_callback()
503 ctl->rx_packets[i]->frame.callback = tb_ctl_rx_callback; in tb_ctl_alloc()