Documentation/accel/qaic/aic100.rst

Source file repositories/reference/linux-study-clean/Documentation/accel/qaic/aic100.rst

File Facts

System
Linux kernel
Corpus path
Documentation/accel/qaic/aic100.rst
Extension
.rst
Size
21976 bytes
Lines
539
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

struct request_elem {
	u16 req_id;
	u8  seq_id;
	u8  pcie_dma_cmd;
	u32 reserved;
	u64 pcie_dma_source_addr;
	u64 pcie_dma_dest_addr;
	u32 pcie_dma_len;
	u32 reserved;
	u64 doorbell_addr;
	u8  doorbell_attr;
	u8  reserved;
	u16 reserved;
	u32 doorbell_data;
	u32 sem_cmd0;
	u32 sem_cmd1;
	u32 sem_cmd2;
	u32 sem_cmd3;
  };

Request field descriptions:

req_id
	request ID. A request FIFO element and a response FIFO element with
	the same request ID refer to the same command.

seq_id
	sequence ID within a request. Ignored by the DMA Bridge.

pcie_dma_cmd
	describes the DMA element of this request.

	* Bit(7) is the force msi flag, which overrides the DMA Bridge MSI logic
	  and generates a MSI when this request is complete, and QSM
	  configures the DMA Bridge to look at this bit.
	* Bits(6:5) are reserved.
	* Bit(4) is the completion code flag, and indicates that the DMA Bridge
	  shall generate a response FIFO element when this request is
	  complete.
	* Bit(3) indicates if this request is a linked list transfer(0) or a bulk
	  transfer(1).
	* Bit(2) is reserved.
	* Bits(1:0) indicate the type of transfer. No transfer(0), to device(1),
	  from device(2). Value 3 is illegal.

pcie_dma_source_addr
	source address for a bulk transfer, or the address of the linked list.

pcie_dma_dest_addr
	destination address for a bulk transfer.

pcie_dma_len
	length of the bulk transfer. Note that the size of this field
	limits transfers to 4G in size.

doorbell_addr
	address of the doorbell to ring when this request is complete.

doorbell_attr
	doorbell attributes.

	* Bit(7) indicates if a write to a doorbell is to occur.
	* Bits(6:2) are reserved.
	* Bits(1:0) contain the encoding of the doorbell length. 0 is 32-bit,
	  1 is 16-bit, 2 is 8-bit, 3 is reserved. The doorbell address
	  must be naturally aligned to the specified length.

doorbell_data
	data to write to the doorbell. Only the bits corresponding to
	the doorbell length are valid.

Annotation

Implementation Notes