On 2021/10/19 22:10, Kevin Laatz wrote:
> Add data structures required for the data path for IDXD devices.
> 
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> Signed-off-by: Kevin Laatz <kevin.la...@intel.com>
> Reviewed-by: Conor Walsh <conor.wa...@intel.com>
> ---
>  drivers/dma/idxd/idxd_bus.c      |  1 +
>  drivers/dma/idxd/idxd_common.c   | 33 +++++++++++++++++++++++++
>  drivers/dma/idxd/idxd_hw_defs.h  | 41 ++++++++++++++++++++++++++++++++
>  drivers/dma/idxd/idxd_internal.h |  4 ++++
>  drivers/dma/idxd/idxd_pci.c      |  2 ++
>  5 files changed, 81 insertions(+)

[snip]

> +/**
> + * Hardware descriptor used by DSA hardware, for both bursts and
> + * for individual operations.
> + */
> +struct idxd_hw_desc {
> +     uint32_t pasid;
> +     uint32_t op_flags;
> +     rte_iova_t completion;
> +
> +     RTE_STD_C11
> +     union {
> +             rte_iova_t src;      /* source address for copy ops etc. */
> +             rte_iova_t desc_addr; /* descriptor pointer for batch */
> +     };
> +     rte_iova_t dst;
> +
> +     uint32_t size;    /* length of data for op, or batch size */
> +
> +     uint16_t intr_handle; /* completion interrupt handle */
> +
> +     /* remaining 26 bytes are reserved */
> +     uint16_t __reserved[13];

The non-reserved take about 30+B, and the struct align 64, so the 
__reserved[13] could delete.

It's a minor problem, so:
Reviewed-by: Chengwen Feng <fengcheng...@huawei.com>

> +} __rte_aligned(64);
> +
>  #define IDXD_COMP_STATUS_INCOMPLETE        0
>  #define IDXD_COMP_STATUS_SUCCESS           1
>  #define IDXD_COMP_STATUS_INVALID_OPCODE 0x10
> diff --git a/drivers/dma/idxd/idxd_internal.h 
> b/drivers/dma/idxd/idxd_internal.h
> index 8473bf939f..5e253fdfbc 100644
> --- a/drivers/dma/idxd/idxd_internal.h
> +++ b/drivers/dma/idxd/idxd_internal.h
> @@ -40,6 +40,8 @@ struct idxd_pci_common {
>  };

[snip]


Reply via email to