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