1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * Marvell Octeon CN10K DPI driver
5 * Copyright (C) 2024 Marvell.
9 #ifndef __MRVL_CN10K_DPI_H__
10 #define __MRVL_CN10K_DPI_H__
12 #include <linux/types.h>
14 #define DPI_MAX_ENGINES 6
16 struct dpi_mps_mrrs_cfg
{
17 __u16 max_read_req_sz
; /* Max read request size */
18 __u16 max_payload_sz
; /* Max payload size */
19 __u16 port
; /* Ebus port */
20 __u16 reserved
; /* Reserved */
23 struct dpi_engine_cfg
{
24 __u64 fifo_mask
; /* FIFO size mask in KBytes */
25 __u16 molr
[DPI_MAX_ENGINES
]; /* Max outstanding load requests */
26 __u16 update_molr
; /* '1' to update engine MOLR */
27 __u16 reserved
; /* Reserved */
30 /* DPI ioctl numbers */
31 #define DPI_MAGIC_NUM 0xB8
33 /* Set MPS & MRRS parameters */
34 #define DPI_MPS_MRRS_CFG _IOW(DPI_MAGIC_NUM, 1, struct dpi_mps_mrrs_cfg)
36 /* Set Engine FIFO configuration */
37 #define DPI_ENGINE_CFG _IOW(DPI_MAGIC_NUM, 2, struct dpi_engine_cfg)
39 #endif /* __MRVL_CN10K_DPI_H__ */