Lines Matching refs:idx
145 int idx = 0; in drm_dp_encode_sideband_msg_hdr() local
148 buf[idx++] = ((hdr->lct & 0xf) << 4) | (hdr->lcr & 0xf); in drm_dp_encode_sideband_msg_hdr()
150 buf[idx++] = hdr->rad[i]; in drm_dp_encode_sideband_msg_hdr()
151 buf[idx++] = (hdr->broadcast << 7) | (hdr->path_msg << 6) | in drm_dp_encode_sideband_msg_hdr()
153 buf[idx++] = (hdr->somt << 7) | (hdr->eomt << 6) | (hdr->seqno << 4); in drm_dp_encode_sideband_msg_hdr()
155 crc4 = drm_dp_msg_header_crc4(buf, (idx * 2) - 1); in drm_dp_encode_sideband_msg_hdr()
156 buf[idx - 1] |= (crc4 & 0xf); in drm_dp_encode_sideband_msg_hdr()
158 *len = idx; in drm_dp_encode_sideband_msg_hdr()
167 u8 idx; in drm_dp_decode_sideband_msg_hdr() local
183 idx = 1; in drm_dp_decode_sideband_msg_hdr()
185 hdr->rad[i] = buf[idx++]; in drm_dp_decode_sideband_msg_hdr()
186 hdr->broadcast = (buf[idx] >> 7) & 0x1; in drm_dp_decode_sideband_msg_hdr()
187 hdr->path_msg = (buf[idx] >> 6) & 0x1; in drm_dp_decode_sideband_msg_hdr()
188 hdr->msg_len = buf[idx] & 0x3f; in drm_dp_decode_sideband_msg_hdr()
189 idx++; in drm_dp_decode_sideband_msg_hdr()
190 hdr->somt = (buf[idx] >> 7) & 0x1; in drm_dp_decode_sideband_msg_hdr()
191 hdr->eomt = (buf[idx] >> 6) & 0x1; in drm_dp_decode_sideband_msg_hdr()
192 hdr->seqno = (buf[idx] >> 4) & 0x1; in drm_dp_decode_sideband_msg_hdr()
193 idx++; in drm_dp_decode_sideband_msg_hdr()
194 *hdrlen = idx; in drm_dp_decode_sideband_msg_hdr()
201 int idx = 0; in drm_dp_encode_sideband_req() local
204 buf[idx++] = req->req_type & 0x7f; in drm_dp_encode_sideband_req()
208 buf[idx] = (req->u.port_num.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
209 idx++; in drm_dp_encode_sideband_req()
212 buf[idx] = (req->u.allocate_payload.port_number & 0xf) << 4 | in drm_dp_encode_sideband_req()
214 idx++; in drm_dp_encode_sideband_req()
215 buf[idx] = (req->u.allocate_payload.vcpi & 0x7f); in drm_dp_encode_sideband_req()
216 idx++; in drm_dp_encode_sideband_req()
217 buf[idx] = (req->u.allocate_payload.pbn >> 8); in drm_dp_encode_sideband_req()
218 idx++; in drm_dp_encode_sideband_req()
219 buf[idx] = (req->u.allocate_payload.pbn & 0xff); in drm_dp_encode_sideband_req()
220 idx++; in drm_dp_encode_sideband_req()
222 buf[idx] = ((req->u.allocate_payload.sdp_stream_sink[i * 2] & 0xf) << 4) | in drm_dp_encode_sideband_req()
224 idx++; in drm_dp_encode_sideband_req()
228 buf[idx] = (req->u.allocate_payload.sdp_stream_sink[i] & 0xf) << 4; in drm_dp_encode_sideband_req()
229 idx++; in drm_dp_encode_sideband_req()
233 buf[idx] = (req->u.query_payload.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
234 idx++; in drm_dp_encode_sideband_req()
235 buf[idx] = (req->u.query_payload.vcpi & 0x7f); in drm_dp_encode_sideband_req()
236 idx++; in drm_dp_encode_sideband_req()
239 buf[idx] = (req->u.dpcd_read.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
240 buf[idx] |= ((req->u.dpcd_read.dpcd_address & 0xf0000) >> 16) & 0xf; in drm_dp_encode_sideband_req()
241 idx++; in drm_dp_encode_sideband_req()
242 buf[idx] = (req->u.dpcd_read.dpcd_address & 0xff00) >> 8; in drm_dp_encode_sideband_req()
243 idx++; in drm_dp_encode_sideband_req()
244 buf[idx] = (req->u.dpcd_read.dpcd_address & 0xff); in drm_dp_encode_sideband_req()
245 idx++; in drm_dp_encode_sideband_req()
246 buf[idx] = (req->u.dpcd_read.num_bytes); in drm_dp_encode_sideband_req()
247 idx++; in drm_dp_encode_sideband_req()
251 buf[idx] = (req->u.dpcd_write.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
252 buf[idx] |= ((req->u.dpcd_write.dpcd_address & 0xf0000) >> 16) & 0xf; in drm_dp_encode_sideband_req()
253 idx++; in drm_dp_encode_sideband_req()
254 buf[idx] = (req->u.dpcd_write.dpcd_address & 0xff00) >> 8; in drm_dp_encode_sideband_req()
255 idx++; in drm_dp_encode_sideband_req()
256 buf[idx] = (req->u.dpcd_write.dpcd_address & 0xff); in drm_dp_encode_sideband_req()
257 idx++; in drm_dp_encode_sideband_req()
258 buf[idx] = (req->u.dpcd_write.num_bytes); in drm_dp_encode_sideband_req()
259 idx++; in drm_dp_encode_sideband_req()
260 memcpy(&buf[idx], req->u.dpcd_write.bytes, req->u.dpcd_write.num_bytes); in drm_dp_encode_sideband_req()
261 idx += req->u.dpcd_write.num_bytes; in drm_dp_encode_sideband_req()
264 buf[idx] = (req->u.i2c_read.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
265 buf[idx] |= (req->u.i2c_read.num_transactions & 0x3); in drm_dp_encode_sideband_req()
266 idx++; in drm_dp_encode_sideband_req()
268 buf[idx] = req->u.i2c_read.transactions[i].i2c_dev_id & 0x7f; in drm_dp_encode_sideband_req()
269 idx++; in drm_dp_encode_sideband_req()
270 buf[idx] = req->u.i2c_read.transactions[i].num_bytes; in drm_dp_encode_sideband_req()
271 idx++; in drm_dp_encode_sideband_req()
272 …memcpy(&buf[idx], req->u.i2c_read.transactions[i].bytes, req->u.i2c_read.transactions[i].num_bytes… in drm_dp_encode_sideband_req()
273 idx += req->u.i2c_read.transactions[i].num_bytes; in drm_dp_encode_sideband_req()
275 buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 5; in drm_dp_encode_sideband_req()
276 buf[idx] |= (req->u.i2c_read.transactions[i].i2c_transaction_delay & 0xf); in drm_dp_encode_sideband_req()
277 idx++; in drm_dp_encode_sideband_req()
279 buf[idx] = (req->u.i2c_read.read_i2c_device_id) & 0x7f; in drm_dp_encode_sideband_req()
280 idx++; in drm_dp_encode_sideband_req()
281 buf[idx] = (req->u.i2c_read.num_bytes_read); in drm_dp_encode_sideband_req()
282 idx++; in drm_dp_encode_sideband_req()
286 buf[idx] = (req->u.i2c_write.port_number & 0xf) << 4; in drm_dp_encode_sideband_req()
287 idx++; in drm_dp_encode_sideband_req()
288 buf[idx] = (req->u.i2c_write.write_i2c_device_id) & 0x7f; in drm_dp_encode_sideband_req()
289 idx++; in drm_dp_encode_sideband_req()
290 buf[idx] = (req->u.i2c_write.num_bytes); in drm_dp_encode_sideband_req()
291 idx++; in drm_dp_encode_sideband_req()
292 memcpy(&buf[idx], req->u.i2c_write.bytes, req->u.i2c_write.num_bytes); in drm_dp_encode_sideband_req()
293 idx += req->u.i2c_write.num_bytes; in drm_dp_encode_sideband_req()
296 raw->cur_len = idx; in drm_dp_encode_sideband_req()
309 int idx = 0; in drm_dp_encode_sideband_reply() local
312 buf[idx++] = (rep->reply_type & 0x1) << 7 | (rep->req_type & 0x7f); in drm_dp_encode_sideband_reply()
314 raw->cur_len = idx; in drm_dp_encode_sideband_reply()
369 int idx = 1; in drm_dp_sideband_parse_link_address() local
371 memcpy(repmsg->u.link_addr.guid, &raw->msg[idx], 16); in drm_dp_sideband_parse_link_address()
372 idx += 16; in drm_dp_sideband_parse_link_address()
373 repmsg->u.link_addr.nports = raw->msg[idx] & 0xf; in drm_dp_sideband_parse_link_address()
374 idx++; in drm_dp_sideband_parse_link_address()
375 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
378 if (raw->msg[idx] & 0x80) in drm_dp_sideband_parse_link_address()
381 repmsg->u.link_addr.ports[i].peer_device_type = (raw->msg[idx] >> 4) & 0x7; in drm_dp_sideband_parse_link_address()
382 repmsg->u.link_addr.ports[i].port_number = (raw->msg[idx] & 0xf); in drm_dp_sideband_parse_link_address()
384 idx++; in drm_dp_sideband_parse_link_address()
385 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
387 repmsg->u.link_addr.ports[i].mcs = (raw->msg[idx] >> 7) & 0x1; in drm_dp_sideband_parse_link_address()
388 repmsg->u.link_addr.ports[i].ddps = (raw->msg[idx] >> 6) & 0x1; in drm_dp_sideband_parse_link_address()
390 repmsg->u.link_addr.ports[i].legacy_device_plug_status = (raw->msg[idx] >> 5) & 0x1; in drm_dp_sideband_parse_link_address()
391 idx++; in drm_dp_sideband_parse_link_address()
392 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
395 repmsg->u.link_addr.ports[i].dpcd_revision = (raw->msg[idx]); in drm_dp_sideband_parse_link_address()
396 idx++; in drm_dp_sideband_parse_link_address()
397 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
399 memcpy(repmsg->u.link_addr.ports[i].peer_guid, &raw->msg[idx], 16); in drm_dp_sideband_parse_link_address()
400 idx += 16; in drm_dp_sideband_parse_link_address()
401 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
403 repmsg->u.link_addr.ports[i].num_sdp_streams = (raw->msg[idx] >> 4) & 0xf; in drm_dp_sideband_parse_link_address()
404 repmsg->u.link_addr.ports[i].num_sdp_stream_sinks = (raw->msg[idx] & 0xf); in drm_dp_sideband_parse_link_address()
405 idx++; in drm_dp_sideband_parse_link_address()
408 if (idx > raw->curlen) in drm_dp_sideband_parse_link_address()
414 DRM_DEBUG_KMS("link address reply parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_link_address()
421 int idx = 1; in drm_dp_sideband_parse_remote_dpcd_read() local
422 repmsg->u.remote_dpcd_read_ack.port_number = raw->msg[idx] & 0xf; in drm_dp_sideband_parse_remote_dpcd_read()
423 idx++; in drm_dp_sideband_parse_remote_dpcd_read()
424 if (idx > raw->curlen) in drm_dp_sideband_parse_remote_dpcd_read()
426 repmsg->u.remote_dpcd_read_ack.num_bytes = raw->msg[idx]; in drm_dp_sideband_parse_remote_dpcd_read()
427 if (idx > raw->curlen) in drm_dp_sideband_parse_remote_dpcd_read()
430 …memcpy(repmsg->u.remote_dpcd_read_ack.bytes, &raw->msg[idx], repmsg->u.remote_dpcd_read_ack.num_by… in drm_dp_sideband_parse_remote_dpcd_read()
433 DRM_DEBUG_KMS("link address reply parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_remote_dpcd_read()
440 int idx = 1; in drm_dp_sideband_parse_remote_dpcd_write() local
441 repmsg->u.remote_dpcd_write_ack.port_number = raw->msg[idx] & 0xf; in drm_dp_sideband_parse_remote_dpcd_write()
442 idx++; in drm_dp_sideband_parse_remote_dpcd_write()
443 if (idx > raw->curlen) in drm_dp_sideband_parse_remote_dpcd_write()
447 DRM_DEBUG_KMS("parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_remote_dpcd_write()
454 int idx = 1; in drm_dp_sideband_parse_remote_i2c_read_ack() local
456 repmsg->u.remote_i2c_read_ack.port_number = (raw->msg[idx] & 0xf); in drm_dp_sideband_parse_remote_i2c_read_ack()
457 idx++; in drm_dp_sideband_parse_remote_i2c_read_ack()
458 if (idx > raw->curlen) in drm_dp_sideband_parse_remote_i2c_read_ack()
460 repmsg->u.remote_i2c_read_ack.num_bytes = raw->msg[idx]; in drm_dp_sideband_parse_remote_i2c_read_ack()
461 idx++; in drm_dp_sideband_parse_remote_i2c_read_ack()
463 …memcpy(repmsg->u.remote_i2c_read_ack.bytes, &raw->msg[idx], repmsg->u.remote_i2c_read_ack.num_byte… in drm_dp_sideband_parse_remote_i2c_read_ack()
466 DRM_DEBUG_KMS("remote i2c reply parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_remote_i2c_read_ack()
473 int idx = 1; in drm_dp_sideband_parse_enum_path_resources_ack() local
474 repmsg->u.path_resources.port_number = (raw->msg[idx] >> 4) & 0xf; in drm_dp_sideband_parse_enum_path_resources_ack()
475 idx++; in drm_dp_sideband_parse_enum_path_resources_ack()
476 if (idx > raw->curlen) in drm_dp_sideband_parse_enum_path_resources_ack()
478 repmsg->u.path_resources.full_payload_bw_number = (raw->msg[idx] << 8) | (raw->msg[idx+1]); in drm_dp_sideband_parse_enum_path_resources_ack()
479 idx += 2; in drm_dp_sideband_parse_enum_path_resources_ack()
480 if (idx > raw->curlen) in drm_dp_sideband_parse_enum_path_resources_ack()
482 repmsg->u.path_resources.avail_payload_bw_number = (raw->msg[idx] << 8) | (raw->msg[idx+1]); in drm_dp_sideband_parse_enum_path_resources_ack()
483 idx += 2; in drm_dp_sideband_parse_enum_path_resources_ack()
484 if (idx > raw->curlen) in drm_dp_sideband_parse_enum_path_resources_ack()
488 DRM_DEBUG_KMS("enum resource parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_enum_path_resources_ack()
495 int idx = 1; in drm_dp_sideband_parse_allocate_payload_ack() local
496 repmsg->u.allocate_payload.port_number = (raw->msg[idx] >> 4) & 0xf; in drm_dp_sideband_parse_allocate_payload_ack()
497 idx++; in drm_dp_sideband_parse_allocate_payload_ack()
498 if (idx > raw->curlen) in drm_dp_sideband_parse_allocate_payload_ack()
500 repmsg->u.allocate_payload.vcpi = raw->msg[idx]; in drm_dp_sideband_parse_allocate_payload_ack()
501 idx++; in drm_dp_sideband_parse_allocate_payload_ack()
502 if (idx > raw->curlen) in drm_dp_sideband_parse_allocate_payload_ack()
504 repmsg->u.allocate_payload.allocated_pbn = (raw->msg[idx] << 8) | (raw->msg[idx+1]); in drm_dp_sideband_parse_allocate_payload_ack()
505 idx += 2; in drm_dp_sideband_parse_allocate_payload_ack()
506 if (idx > raw->curlen) in drm_dp_sideband_parse_allocate_payload_ack()
510 DRM_DEBUG_KMS("allocate payload parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_allocate_payload_ack()
517 int idx = 1; in drm_dp_sideband_parse_query_payload_ack() local
518 repmsg->u.query_payload.port_number = (raw->msg[idx] >> 4) & 0xf; in drm_dp_sideband_parse_query_payload_ack()
519 idx++; in drm_dp_sideband_parse_query_payload_ack()
520 if (idx > raw->curlen) in drm_dp_sideband_parse_query_payload_ack()
522 repmsg->u.query_payload.allocated_pbn = (raw->msg[idx] << 8) | (raw->msg[idx + 1]); in drm_dp_sideband_parse_query_payload_ack()
523 idx += 2; in drm_dp_sideband_parse_query_payload_ack()
524 if (idx > raw->curlen) in drm_dp_sideband_parse_query_payload_ack()
528 DRM_DEBUG_KMS("query payload parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_query_payload_ack()
570 int idx = 1; in drm_dp_sideband_parse_connection_status_notify() local
572 msg->u.conn_stat.port_number = (raw->msg[idx] & 0xf0) >> 4; in drm_dp_sideband_parse_connection_status_notify()
573 idx++; in drm_dp_sideband_parse_connection_status_notify()
574 if (idx > raw->curlen) in drm_dp_sideband_parse_connection_status_notify()
577 memcpy(msg->u.conn_stat.guid, &raw->msg[idx], 16); in drm_dp_sideband_parse_connection_status_notify()
578 idx += 16; in drm_dp_sideband_parse_connection_status_notify()
579 if (idx > raw->curlen) in drm_dp_sideband_parse_connection_status_notify()
582 msg->u.conn_stat.legacy_device_plug_status = (raw->msg[idx] >> 6) & 0x1; in drm_dp_sideband_parse_connection_status_notify()
583 msg->u.conn_stat.displayport_device_plug_status = (raw->msg[idx] >> 5) & 0x1; in drm_dp_sideband_parse_connection_status_notify()
584 msg->u.conn_stat.message_capability_status = (raw->msg[idx] >> 4) & 0x1; in drm_dp_sideband_parse_connection_status_notify()
585 msg->u.conn_stat.input_port = (raw->msg[idx] >> 3) & 0x1; in drm_dp_sideband_parse_connection_status_notify()
586 msg->u.conn_stat.peer_device_type = (raw->msg[idx] & 0x7); in drm_dp_sideband_parse_connection_status_notify()
587 idx++; in drm_dp_sideband_parse_connection_status_notify()
590 DRM_DEBUG_KMS("connection status reply parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_connection_status_notify()
597 int idx = 1; in drm_dp_sideband_parse_resource_status_notify() local
599 msg->u.resource_stat.port_number = (raw->msg[idx] & 0xf0) >> 4; in drm_dp_sideband_parse_resource_status_notify()
600 idx++; in drm_dp_sideband_parse_resource_status_notify()
601 if (idx > raw->curlen) in drm_dp_sideband_parse_resource_status_notify()
604 memcpy(msg->u.resource_stat.guid, &raw->msg[idx], 16); in drm_dp_sideband_parse_resource_status_notify()
605 idx += 16; in drm_dp_sideband_parse_resource_status_notify()
606 if (idx > raw->curlen) in drm_dp_sideband_parse_resource_status_notify()
609 msg->u.resource_stat.available_pbn = (raw->msg[idx] << 8) | (raw->msg[idx + 1]); in drm_dp_sideband_parse_resource_status_notify()
610 idx++; in drm_dp_sideband_parse_resource_status_notify()
613 DRM_DEBUG_KMS("resource status reply parse length fail %d %d\n", idx, raw->curlen); in drm_dp_sideband_parse_resource_status_notify()
1001 int idx = (parent_lct - 1) / 2; in drm_dp_calculate_rad() local
1003 memcpy(rad, port->parent->rad, idx + 1); in drm_dp_calculate_rad()
1008 rad[idx] |= port->port_num << shift; in drm_dp_calculate_rad()
1433 int len, space, idx, tosend; in process_single_tx_qlock() local
1463 drm_dp_encode_sideband_msg_hdr(&hdr, chunk, &idx); in process_single_tx_qlock()
1464 memcpy(&chunk[idx], &txmsg->msg[txmsg->cur_offset], tosend); in process_single_tx_qlock()
1466 drm_dp_crc_sideband_chunk_req(&chunk[idx], tosend); in process_single_tx_qlock()
1467 idx += tosend + 1; in process_single_tx_qlock()
1469 ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); in process_single_tx_qlock()