1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 /* Copyright (C) 2019 Netronome Systems, Inc. */
4 #include <linux/dma-mapping.h>
5 #include <linux/kernel.h>
6 #include <linux/sizes.h>
10 const struct nfp_dev_info nfp_dev_info[NFP_DEV_CNT] = {
12 .dma_mask = DMA_BIT_MASK(48),
13 .qc_idx_mask = GENMASK(8, 0),
14 .qc_addr_offset = 0x400000,
16 .max_qc_size = SZ_64K,
18 .chip_names = "NFP3800",
19 .pcie_cfg_expbar_offset = 0x0a00,
20 .pcie_expl_offset = 0xd000,
21 .qc_area_sz = 0x100000,
23 [NFP_DEV_NFP3800_VF] = {
24 .dma_mask = DMA_BIT_MASK(48),
25 .qc_idx_mask = GENMASK(8, 0),
28 .max_qc_size = SZ_64K,
31 .dma_mask = DMA_BIT_MASK(40),
32 .qc_idx_mask = GENMASK(7, 0),
33 .qc_addr_offset = 0x80000,
35 .max_qc_size = SZ_256K,
37 .chip_names = "NFP4000/NFP5000/NFP6000",
38 .pcie_cfg_expbar_offset = 0x0400,
39 .pcie_expl_offset = 0x1000,
40 .qc_area_sz = 0x80000,
42 [NFP_DEV_NFP6000_VF] = {
43 .dma_mask = DMA_BIT_MASK(40),
44 .qc_idx_mask = GENMASK(7, 0),
47 .max_qc_size = SZ_256K,