cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pearl_pcie_ipc.h (2100B)


      1/* SPDX-License-Identifier: GPL-2.0+ */
      2/* Copyright (c) 2015-2016 Quantenna Communications */
      3
      4#ifndef _QTN_FMAC_PCIE_IPC_H_
      5#define _QTN_FMAC_PCIE_IPC_H_
      6
      7#include <linux/types.h>
      8
      9#include "shm_ipc_defs.h"
     10
     11/* bitmap for EP status and flags: updated by EP, read by RC */
     12#define QTN_EP_HAS_UBOOT	BIT(0)
     13#define QTN_EP_HAS_FIRMWARE	BIT(1)
     14#define QTN_EP_REQ_UBOOT	BIT(2)
     15#define QTN_EP_REQ_FIRMWARE	BIT(3)
     16#define QTN_EP_ERROR_UBOOT	BIT(4)
     17#define QTN_EP_ERROR_FIRMWARE	BIT(5)
     18
     19#define QTN_EP_FW_LOADRDY	BIT(8)
     20#define QTN_EP_FW_SYNC		BIT(9)
     21#define QTN_EP_FW_RETRY		BIT(10)
     22#define QTN_EP_FW_QLINK_DONE	BIT(15)
     23#define QTN_EP_FW_DONE		BIT(16)
     24
     25/* bitmap for RC status and flags: updated by RC, read by EP */
     26#define QTN_RC_PCIE_LINK	BIT(0)
     27#define QTN_RC_NET_LINK		BIT(1)
     28#define QTN_RC_FW_FLASHBOOT	BIT(5)
     29#define QTN_RC_FW_QLINK		BIT(7)
     30#define QTN_RC_FW_LOADRDY	BIT(8)
     31#define QTN_RC_FW_SYNC		BIT(9)
     32
     33#define PCIE_HDP_INT_RX_BITS (0		\
     34	| PCIE_HDP_INT_EP_TXDMA		\
     35	| PCIE_HDP_INT_EP_TXEMPTY	\
     36	| PCIE_HDP_INT_HHBM_UF		\
     37	)
     38
     39#define PCIE_HDP_INT_TX_BITS (0		\
     40	| PCIE_HDP_INT_EP_RXDMA		\
     41	)
     42
     43#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
     44#define QTN_HOST_HI32(a)	((u32)(((u64)a) >> 32))
     45#define QTN_HOST_LO32(a)	((u32)(((u64)a) & 0xffffffffUL))
     46#define QTN_HOST_ADDR(h, l)	((((u64)h) << 32) | ((u64)l))
     47#else
     48#define QTN_HOST_HI32(a)	0
     49#define QTN_HOST_LO32(a)	((u32)(((u32)a) & 0xffffffffUL))
     50#define QTN_HOST_ADDR(h, l)	((u32)l)
     51#endif
     52
     53#define QTN_PCIE_BDA_VERSION		0x1002
     54
     55#define PCIE_BDA_NAMELEN		32
     56#define PCIE_HHBM_MAX_SIZE		2048
     57
     58#define QTN_PCIE_BOARDFLG	"PCIEQTN"
     59#define QTN_PCIE_FW_DLMASK	0xF
     60#define QTN_PCIE_FW_BUFSZ	2048
     61
     62#define QTN_ENET_ADDR_LENGTH	6
     63
     64#define QTN_TXDONE_MASK		((u32)0x80000000)
     65#define QTN_GET_LEN(x)		((x) & 0xFFFF)
     66
     67#define QTN_PCIE_TX_DESC_LEN_MASK	0xFFFF
     68#define QTN_PCIE_TX_DESC_LEN_SHIFT	0
     69#define QTN_PCIE_TX_DESC_PORT_MASK	0xF
     70#define QTN_PCIE_TX_DESC_PORT_SHIFT	16
     71#define QTN_PCIE_TX_DESC_TQE_BIT	BIT(24)
     72
     73#define QTN_EP_LHOST_TQE_PORT	4
     74
     75enum qtnf_fw_loadtype {
     76	QTN_FW_DBEGIN,
     77	QTN_FW_DSUB,
     78	QTN_FW_DEND,
     79	QTN_FW_CTRL
     80};
     81
     82#endif /* _QTN_FMAC_PCIE_IPC_H_ */