/* * We set this status bit since this hardware performs * retransmissions.
*/
status = CEC_TX_STATUS_MAX_RETRIES; if (regmap_read(adv7511->regmap_cec,
ADV7511_REG_CEC_TX_LOW_DRV_CNT + offset, &cnt)) {
err_cnt = 1;
status |= CEC_TX_STATUS_ERROR;
} else {
nack_cnt = cnt & 0xf; if (nack_cnt)
status |= CEC_TX_STATUS_NACK;
low_drive_cnt = cnt >> 4; if (low_drive_cnt)
status |= CEC_TX_STATUS_LOW_DRIVE;
}
drm_connector_hdmi_cec_transmit_done(adv7511->cec_connector, status,
0, nack_cnt, low_drive_cnt,
err_cnt); return;
} if (tx_raw_status & ADV7511_INT1_CEC_TX_READY) {
drm_connector_hdmi_cec_transmit_attempt_done(adv7511->cec_connector,
CEC_TX_STATUS_OK); return;
}
}
if (regmap_read(adv7511->regmap_cec,
ADV7511_REG_CEC_RX_STATUS + offset, &rx_status)) return irq_status;
/* * ADV7511_REG_CEC_RX_STATUS[5:0] contains the reception order of RX * buffers 0, 1, and 2 in bits [1:0], [3:2], and [5:4] respectively. * The values are to be interpreted as follows: * * 0 = buffer unused * 1 = buffer contains oldest received frame (if applicable) * 2 = buffer contains second oldest received frame (if applicable) * 3 = buffer contains third oldest received frame (if applicable) * * Fill rx_order with the sequence of RX buffer indices to * read from in order, where -1 indicates that there are no * more buffers to process.
*/ for (i = 0; i < 3; i++) { unsignedint timestamp = (rx_status >> (2 * i)) & 0x3;
if (timestamp)
rx_order[timestamp - 1] = i;
}
/* Read CEC RX buffers in the appropriate order as prescribed above */ for (i = 0; i < 3; i++) { int rx_buf = rx_order[i];
/* * The number of retries is the number of attempts - 1, but retry * at least once. It's not clear if a value of 0 is allowed, so * let's do at least one retry.
*/
regmap_update_bits(adv7511->regmap_cec,
ADV7511_REG_CEC_TX_RETRY + offset,
0x70, max(1, attempts - 1) << 4);
err_cec_parse_dt:
regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
ADV7511_CEC_CTRL_POWER_DOWN); return ret == -EPROBE_DEFER ? ret : 0;
}
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.3Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.