Lines Matching refs:xfer

1089 				      struct samsung_dsim_transfer *xfer)  in samsung_dsim_send_to_fifo()  argument
1092 struct mipi_dsi_packet *pkt = &xfer->packet; in samsung_dsim_send_to_fifo()
1093 const u8 *payload = pkt->payload + xfer->tx_done; in samsung_dsim_send_to_fifo()
1094 u16 length = pkt->payload_length - xfer->tx_done; in samsung_dsim_send_to_fifo()
1095 bool first = !xfer->tx_done; in samsung_dsim_send_to_fifo()
1099 xfer, length, xfer->tx_done, xfer->rx_len, xfer->rx_done); in samsung_dsim_send_to_fifo()
1104 xfer->tx_done += length; in samsung_dsim_send_to_fifo()
1138 if (NEQV(xfer->flags & MIPI_DSI_MSG_USE_LPM, in samsung_dsim_send_to_fifo()
1140 samsung_dsim_set_cmd_lpm(dsi, xfer->flags & MIPI_DSI_MSG_USE_LPM); in samsung_dsim_send_to_fifo()
1146 if (xfer->flags & MIPI_DSI_MSG_REQ_ACK) in samsung_dsim_send_to_fifo()
1151 struct samsung_dsim_transfer *xfer) in samsung_dsim_read_from_fifo() argument
1153 u8 *payload = xfer->rx_payload + xfer->rx_done; in samsung_dsim_read_from_fifo()
1154 bool first = !xfer->rx_done; in samsung_dsim_read_from_fifo()
1165 if (xfer->rx_len >= 2) { in samsung_dsim_read_from_fifo()
1167 ++xfer->rx_done; in samsung_dsim_read_from_fifo()
1173 ++xfer->rx_done; in samsung_dsim_read_from_fifo()
1174 xfer->rx_len = xfer->rx_done; in samsung_dsim_read_from_fifo()
1175 xfer->result = 0; in samsung_dsim_read_from_fifo()
1179 xfer->result = 0; in samsung_dsim_read_from_fifo()
1184 if (length > xfer->rx_len) { in samsung_dsim_read_from_fifo()
1187 xfer->rx_len, length); in samsung_dsim_read_from_fifo()
1188 length = xfer->rx_len; in samsung_dsim_read_from_fifo()
1189 } else if (length < xfer->rx_len) { in samsung_dsim_read_from_fifo()
1190 xfer->rx_len = length; in samsung_dsim_read_from_fifo()
1194 length = xfer->rx_len - xfer->rx_done; in samsung_dsim_read_from_fifo()
1195 xfer->rx_done += length; in samsung_dsim_read_from_fifo()
1222 if (xfer->rx_done == xfer->rx_len) in samsung_dsim_read_from_fifo()
1223 xfer->result = 0; in samsung_dsim_read_from_fifo()
1237 struct samsung_dsim_transfer *xfer; in samsung_dsim_transfer_start() local
1248 xfer = list_first_entry(&dsi->transfer_list, in samsung_dsim_transfer_start()
1253 if (xfer->packet.payload_length && in samsung_dsim_transfer_start()
1254 xfer->tx_done == xfer->packet.payload_length) in samsung_dsim_transfer_start()
1258 samsung_dsim_send_to_fifo(dsi, xfer); in samsung_dsim_transfer_start()
1260 if (xfer->packet.payload_length || xfer->rx_len) in samsung_dsim_transfer_start()
1263 xfer->result = 0; in samsung_dsim_transfer_start()
1264 complete(&xfer->completed); in samsung_dsim_transfer_start()
1268 list_del_init(&xfer->list); in samsung_dsim_transfer_start()
1279 struct samsung_dsim_transfer *xfer; in samsung_dsim_transfer_finish() local
1290 xfer = list_first_entry(&dsi->transfer_list, in samsung_dsim_transfer_finish()
1297 xfer, xfer->packet.payload_length, xfer->tx_done, xfer->rx_len, in samsung_dsim_transfer_finish()
1298 xfer->rx_done); in samsung_dsim_transfer_finish()
1300 if (xfer->tx_done != xfer->packet.payload_length) in samsung_dsim_transfer_finish()
1303 if (xfer->rx_done != xfer->rx_len) in samsung_dsim_transfer_finish()
1304 samsung_dsim_read_from_fifo(dsi, xfer); in samsung_dsim_transfer_finish()
1306 if (xfer->rx_done != xfer->rx_len) in samsung_dsim_transfer_finish()
1311 list_del_init(&xfer->list); in samsung_dsim_transfer_finish()
1316 if (!xfer->rx_len) in samsung_dsim_transfer_finish()
1317 xfer->result = 0; in samsung_dsim_transfer_finish()
1318 complete(&xfer->completed); in samsung_dsim_transfer_finish()
1324 struct samsung_dsim_transfer *xfer) in samsung_dsim_remove_transfer() argument
1332 xfer == list_first_entry(&dsi->transfer_list, in samsung_dsim_remove_transfer()
1334 list_del_init(&xfer->list); in samsung_dsim_remove_transfer()
1342 list_del_init(&xfer->list); in samsung_dsim_remove_transfer()
1348 struct samsung_dsim_transfer *xfer) in samsung_dsim_transfer() argument
1353 xfer->tx_done = 0; in samsung_dsim_transfer()
1354 xfer->rx_done = 0; in samsung_dsim_transfer()
1355 xfer->result = -ETIMEDOUT; in samsung_dsim_transfer()
1356 init_completion(&xfer->completed); in samsung_dsim_transfer()
1361 list_add_tail(&xfer->list, &dsi->transfer_list); in samsung_dsim_transfer()
1368 wait_for_completion_timeout(&xfer->completed, in samsung_dsim_transfer()
1370 if (xfer->result == -ETIMEDOUT) { in samsung_dsim_transfer()
1371 struct mipi_dsi_packet *pkt = &xfer->packet; in samsung_dsim_transfer()
1373 samsung_dsim_remove_transfer(dsi, xfer); in samsung_dsim_transfer()
1380 return xfer->result; in samsung_dsim_transfer()
1820 struct samsung_dsim_transfer xfer; in samsung_dsim_host_transfer() local
1830 ret = mipi_dsi_create_packet(&xfer.packet, msg); in samsung_dsim_host_transfer()
1834 xfer.rx_len = msg->rx_len; in samsung_dsim_host_transfer()
1835 xfer.rx_payload = msg->rx_buf; in samsung_dsim_host_transfer()
1836 xfer.flags = msg->flags; in samsung_dsim_host_transfer()
1838 ret = samsung_dsim_transfer(dsi, &xfer); in samsung_dsim_host_transfer()
1839 return (ret < 0) ? ret : xfer.rx_done; in samsung_dsim_host_transfer()