Hi, On 12 October 2015 at 14:39, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > On 10/12/2015 02:33 PM, Kamil Debski wrote: >> Hi, >> >> On 12 October 2015 at 12:50, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: >>> On 10/06/2015 12:32 AM, Russell King - ARM Linux wrote: >>>> On Mon, Sep 07, 2015 at 03:44:43PM +0200, Hans Verkuil wrote: >>>>> + if (status & CEC_STATUS_TX_DONE) { >>>>> + if (status & CEC_STATUS_TX_ERROR) { >>>>> + dev_dbg(cec->dev, "CEC_STATUS_TX_ERROR set\n"); >>>>> + cec->tx = STATE_ERROR; >>>>> + } else { >>>>> + dev_dbg(cec->dev, "CEC_STATUS_TX_DONE\n"); >>>>> + cec->tx = STATE_DONE; >>>>> + } >>>>> + s5p_clr_pending_tx(cec); >>>>> + } >>>> >>>> Your CEC implementation seems to be written around the idea that there >>>> are only two possible outcomes from a CEC message - "done" and "error", >>>> which get translated to: >>> >>> This code is for the Samsung exynos CEC implementation. Marek, is this all >>> that the exynos CEC hardware returns? >> >> The possible status values that are implemented in the CEC framework >> are following: >> >> +/* cec status field */ >> +#define CEC_TX_STATUS_OK (0) >> +#define CEC_TX_STATUS_ARB_LOST (1 << 0) >> +#define CEC_TX_STATUS_RETRY_TIMEOUT (1 << 1) >> +#define CEC_TX_STATUS_FEATURE_ABORT (1 << 2) >> +#define CEC_TX_STATUS_REPLY_TIMEOUT (1 << 3) >> +#define CEC_RX_STATUS_READY (0) >> >> The only two ones I could match with the Exynos CEC module status bits are >> CEC_TX_STATUS_OK and CEC_TX_STATUS_RETRY_TIMEOUT. >> >> The status bits in Exynos HW are: >> - Tx_Error >> - Tx_Done >> - Tx_Transferring >> - Tx_Running >> - Tx_Bytes_Transferred >> >> - Tx_Wait >> - Tx_Sending_Status_Bit >> - Tx_Sending_Hdr_Blk >> - Tx_Sending_Data_Blk >> - Tx_Latest_Initiator >> >> - Tx_Wait_SFT_Succ >> - Tx_Wait_SFT_New >> - Tx_Wait_SFT_Retran >> - Tx_Retrans_Cnt >> - Tx_ACK_Failed > > So are these all intermediate states? And every transfer always ends with Tx_Done or > Tx_Error state? Yes, the Exynos CEC module has a pretty low level status indicator. > It does look that way... > > Regards, > > Hans > Best wishes, Kamil [snip] -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html