/* * Structure to represent a master initiated transfer. * The rnw, data and data_len fields must be initialized before calling any * hci->cmd->*() method. The cmd method will initialize cmd_desc[] and * possibly modify (clear) the data field. Then xfer->cmd_desc[0] can * be augmented with CMD_0_ROC and/or CMD_0_TOC. * The completion field needs to be initialized before queueing with * hci->io->queue_xfer(), and requires CMD_0_ROC to be set.
*/ struct hci_xfer {
u32 cmd_desc[4];
u32 response; bool rnw; void *data; unsignedint data_len; unsignedint cmd_tid; struct completion *completion; union { struct { /* PIO specific */ struct hci_xfer *next_xfer; struct hci_xfer *next_data; struct hci_xfer *next_resp; unsignedint data_left;
u32 data_word_before_partial;
}; struct { /* DMA specific */
dma_addr_t data_dma; void *bounce_buf; int ring_number; int ring_entry;
};
};
};
/* Our per device master private data */ struct i3c_hci_dev_data { int dat_idx; void *ibi_data;
};
/* list of quirks */ #define HCI_QUIRK_RAW_CCC BIT(1) /* CCC framing must be explicit */ #define HCI_QUIRK_PIO_MODE BIT(2) /* Set PIO mode for AMD platforms */ #define HCI_QUIRK_OD_PP_TIMING BIT(3) /* Set OD and PP timings for AMD platforms */ #define HCI_QUIRK_RESP_BUF_THLD BIT(4) /* Set resp buf thld to 0 for AMD platforms */
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.