Enable i386 build of the Cavium LiquidIO driver (lio) module.

Submitted by:	pkanneganti@cavium.com (Prasad V Kanneganti)
MFC after:	1 week
Sponsored by:	Cavium Networks
Differential Revision:	https://reviews.freebsd.org/D12415
This commit is contained in:
Sean Bruno 2017-10-25 17:49:17 +00:00
parent 54cfb29e3a
commit 3de0952fba
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=324994
11 changed files with 131 additions and 93 deletions

View File

@ -162,11 +162,11 @@ lio_cn23xx_pf_setup_global_mac_regs(struct octeon_device *oct)
lio_write_csr64(oct, LIO_CN23XX_SLI_PKT_MAC_RINFO64(mac_no, pf_num),
reg_val);
lio_dev_dbg(oct, "SLI_PKT_MAC(%d)_PF(%d)_RINFO : 0x%016lx\n", mac_no,
lio_dev_dbg(oct, "SLI_PKT_MAC(%d)_PF(%d)_RINFO : 0x%016llx\n", mac_no,
pf_num,
lio_read_csr64(oct,
LIO_CAST64(lio_read_csr64(oct,
LIO_CN23XX_SLI_PKT_MAC_RINFO64(mac_no,
pf_num)));
pf_num))));
}
static int

View File

@ -817,8 +817,8 @@ lio_core_drv_init(struct lio_recv_info *recv_info, void *buf)
cs = &core_setup[oct->octeon_id];
if (recv_pkt->buffer_size[0] != (sizeof(*cs) + LIO_DROQ_INFO_SIZE)) {
lio_dev_dbg(oct, "Core setup bytes expected %lu found %d\n",
(uint32_t)sizeof(*cs) + LIO_DROQ_INFO_SIZE,
lio_dev_dbg(oct, "Core setup bytes expected %llu found %d\n",
LIO_CAST64(sizeof(*cs) + LIO_DROQ_INFO_SIZE),
recv_pkt->buffer_size[0]);
}

View File

@ -873,16 +873,26 @@ static inline uint64_t
lio_read_csr64(struct octeon_device *oct, uint32_t reg)
{
#ifdef __i386__
return (lio_read_csr32(oct, reg) |
((uint64_t)lio_read_csr32(oct, reg + 4) << 32));
#else
return (bus_space_read_8(oct->mem_bus_space[0].tag,
oct->mem_bus_space[0].handle, reg));
#endif
}
static inline void
lio_write_csr64(struct octeon_device *oct, uint32_t reg, uint64_t val)
{
#ifdef __i386__
lio_write_csr32(oct, reg, (uint32_t)val);
lio_write_csr32(oct, reg + 4, val >> 32);
#else
bus_space_write_8(oct->mem_bus_space[0].tag,
oct->mem_bus_space[0].handle, reg, val);
#endif
}
#endif /* _LIO_DEVICE_H_ */

View File

@ -294,8 +294,8 @@ lio_init_droq(struct octeon_device *oct, uint32_t q_no,
return (1);
}
lio_dev_dbg(oct, "droq[%d]: desc_ring: virt: 0x%p, dma: %lx\n", q_no,
droq->desc_ring, droq->desc_ring_dma);
lio_dev_dbg(oct, "droq[%d]: desc_ring: virt: 0x%p, dma: %llx\n", q_no,
droq->desc_ring, LIO_CAST64(droq->desc_ring_dma));
lio_dev_dbg(oct, "droq[%d]: num_desc: %d\n", q_no, droq->max_count);
size = droq->max_count * LIO_DROQ_RECVBUF_SIZE;

View File

@ -65,20 +65,48 @@ lio_write_bar1_mem8(struct octeon_device *oct, uint32_t reg, uint64_t val)
oct->mem_bus_space[1].handle, reg, val);
}
#ifdef __i386__
static inline uint32_t
lio_read_bar1_mem32(struct octeon_device *oct, uint32_t reg)
{
return (bus_space_read_4(oct->mem_bus_space[1].tag,
oct->mem_bus_space[1].handle, reg));
}
static inline void
lio_write_bar1_mem32(struct octeon_device *oct, uint32_t reg, uint32_t val)
{
bus_space_write_4(oct->mem_bus_space[1].tag,
oct->mem_bus_space[1].handle, reg, val);
}
#endif
static inline uint64_t
lio_read_bar1_mem64(struct octeon_device *oct, uint32_t reg)
{
#ifdef __i386__
return (lio_read_bar1_mem32(oct, reg) |
((uint64_t)lio_read_bar1_mem32(oct, reg + 4) << 32));
#else
return (bus_space_read_8(oct->mem_bus_space[1].tag,
oct->mem_bus_space[1].handle, reg));
#endif
}
static inline void
lio_write_bar1_mem64(struct octeon_device *oct, uint32_t reg, uint64_t val)
{
#ifdef __i386__
lio_write_bar1_mem32(oct, reg, (uint32_t)val);
lio_write_bar1_mem32(oct, reg + 4, val >> 32);
#else
bus_space_write_8(oct->mem_bus_space[1].tag,
oct->mem_bus_space[1].handle, reg, val);
#endif
}
static void

View File

@ -97,7 +97,7 @@ lio_init_instr_queue(struct octeon_device *oct, union octeon_txpciq txpciq,
return (1);
}
iq->base_addr = lio_dma_alloc(q_size, &iq->base_addr_dma);
iq->base_addr = lio_dma_alloc(q_size, (vm_paddr_t *)&iq->base_addr_dma);
if (!iq->base_addr) {
lio_dev_err(oct, "Cannot allocate memory for instr queue %d\n",
iq_no);
@ -118,8 +118,9 @@ lio_init_instr_queue(struct octeon_device *oct, union octeon_txpciq txpciq,
return (1);
}
lio_dev_dbg(oct, "IQ[%d]: base: %p basedma: %lx count: %d\n",
iq_no, iq->base_addr, iq->base_addr_dma, iq->max_count);
lio_dev_dbg(oct, "IQ[%d]: base: %p basedma: %llx count: %d\n",
iq_no, iq->base_addr, LIO_CAST64(iq->base_addr_dma),
iq->max_count);
/* Create the descriptor buffer dma maps */
request_buf = iq->request_list;
@ -736,7 +737,7 @@ lio_setup_sc_buffer_pool(struct octeon_device *oct)
for (i = 0; i < LIO_MAX_SOFT_COMMAND_BUFFERS; i++) {
sc = (struct lio_soft_command *)
lio_dma_alloc(LIO_SOFT_COMMAND_BUFFER_SIZE, &dma_addr);
lio_dma_alloc(LIO_SOFT_COMMAND_BUFFER_SIZE, (vm_paddr_t *)&dma_addr);
if (sc == NULL) {
lio_free_sc_buffer_pool(oct);
return (1);

View File

@ -1013,7 +1013,7 @@ lio_get_media_subtype(struct octeon_device *oct)
return (IFM_10G_SR);
}
static unsigned long
static uint64_t
lio_get_baudrate(struct octeon_device *oct)
{
@ -1318,15 +1318,16 @@ lio_setup_nic_devices(struct octeon_device *octeon_dev)
if (!(num_iqueues) || !(num_oqueues)) {
lio_dev_err(octeon_dev,
"Got bad iqueues (%016lX) or oqueues (%016lX) from firmware.\n",
resp->cfg_info.iqmask,
resp->cfg_info.oqmask);
"Got bad iqueues (%016llX) or oqueues (%016llX) from firmware.\n",
LIO_CAST64(resp->cfg_info.iqmask),
LIO_CAST64(resp->cfg_info.oqmask));
goto setup_nic_dev_fail;
}
lio_dev_dbg(octeon_dev,
"interface %d, iqmask %016lx, oqmask %016lx, numiqueues %d, numoqueues %d\n",
i, resp->cfg_info.iqmask, resp->cfg_info.oqmask,
"interface %d, iqmask %016llx, oqmask %016llx, numiqueues %d, numoqueues %d\n",
i, LIO_CAST64(resp->cfg_info.iqmask),
LIO_CAST64(resp->cfg_info.oqmask),
num_iqueues, num_oqueues);
ifp = if_alloc(IFT_ETHER);

View File

@ -43,11 +43,7 @@
extern unsigned int lio_hwlro;
#ifdef __LP64__
#define LIO_CAST64(v) ((long long)(long)(v))
#else
#error "Unknown system architecture"
#endif
#define LIO_DRV_NAME "lio"
@ -107,9 +103,9 @@ lio_map_pci_barx(struct octeon_device *oct, int baridx)
oct->mem_bus_space[baridx].handle =
rman_get_bushandle(oct->mem_bus_space[baridx].pci_mem);
lio_dev_dbg(oct, "BAR%d Tag 0x%lx Handle 0x%lx\n",
baridx, oct->mem_bus_space[baridx].tag,
oct->mem_bus_space[baridx].handle);
lio_dev_dbg(oct, "BAR%d Tag 0x%llx Handle 0x%llx\n",
baridx, LIO_CAST64(oct->mem_bus_space[baridx].tag),
LIO_CAST64(oct->mem_bus_space[baridx].handle));
return (0);
}

View File

@ -218,8 +218,8 @@ lio_xmit(struct lio *lio, struct lio_instr_queue *iq,
drop_packet:
stats->tx_dropped++;
lio_dev_err(oct, "IQ%d Transmit dropped: %lu\n", iq_no,
stats->tx_dropped);
lio_dev_err(oct, "IQ%d Transmit dropped: %llu\n", iq_no,
LIO_CAST64(stats->tx_dropped));
m_freem(*m_headp);
*m_headp = NULL;

View File

@ -634,13 +634,15 @@ lio_get_eeprom(SYSCTL_HANDLER_ARGS)
board_info = (struct lio_board_info *)(&oct_dev->boardinfo);
if (oct_dev->uboot_len == 0)
sprintf(buf, "boardname:%s serialnum:%s maj:%ld min:%ld",
sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld",
board_info->name, board_info->serial_number,
board_info->major, board_info->minor);
LIO_CAST64(board_info->major),
LIO_CAST64(board_info->minor));
else {
sprintf(buf, "boardname:%s serialnum:%s maj:%ld min:%ld\n%s",
sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld\n%s",
board_info->name, board_info->serial_number,
board_info->major, board_info->minor,
LIO_CAST64(board_info->major),
LIO_CAST64(board_info->minor),
&oct_dev->uboot_version[oct_dev->uboot_sidx]);
}
@ -777,184 +779,184 @@ lio_cn23xx_pf_read_csr_reg(char *s, struct octeon_device *oct)
/* 0x29030 or 0x29040 */
reg = LIO_CN23XX_SLI_PKT_MAC_RINFO64(oct->pcie_port, oct->pf_num);
len += sprintf(s + len, "[%08x] (SLI_PKT_MAC%d_PF%d_RINFO): %016lx\n",
len += sprintf(s + len, "[%08x] (SLI_PKT_MAC%d_PF%d_RINFO): %016llx\n",
reg, oct->pcie_port, oct->pf_num,
lio_read_csr64(oct, reg));
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x27080 or 0x27090 */
reg = LIO_CN23XX_SLI_MAC_PF_INT_ENB64(oct->pcie_port, oct->pf_num);
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_INT_ENB): %016lx\n",
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_INT_ENB): %016llx\n",
reg, oct->pcie_port, oct->pf_num,
lio_read_csr64(oct, reg));
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x27000 or 0x27010 */
reg = LIO_CN23XX_SLI_MAC_PF_INT_SUM64(oct->pcie_port, oct->pf_num);
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_INT_SUM): %016lx\n",
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_INT_SUM): %016llx\n",
reg, oct->pcie_port, oct->pf_num,
lio_read_csr64(oct, reg));
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29120 */
reg = 0x29120;
len += sprintf(s + len, "[%08x] (SLI_PKT_MEM_CTL): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_MEM_CTL): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x27300 */
reg = 0x27300 + oct->pcie_port * LIO_CN23XX_MAC_INT_OFFSET +
(oct->pf_num) * LIO_CN23XX_PF_INT_OFFSET;
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_PKT_VF_INT): %016lx\n",
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_PKT_VF_INT): %016llx\n",
reg, oct->pcie_port, oct->pf_num,
lio_read_csr64(oct, reg));
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x27200 */
reg = 0x27200 + oct->pcie_port * LIO_CN23XX_MAC_INT_OFFSET +
(oct->pf_num) * LIO_CN23XX_PF_INT_OFFSET;
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_PP_VF_INT): %016lx\n",
len += sprintf(s + len, "[%08x] (SLI_MAC%d_PF%d_PP_VF_INT): %016llx\n",
reg, oct->pcie_port, oct->pf_num,
lio_read_csr64(oct, reg));
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 29130 */
reg = LIO_CN23XX_SLI_PKT_CNT_INT;
len += sprintf(s + len, "[%08x] (SLI_PKT_CNT_INT): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_CNT_INT): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29140 */
reg = LIO_CN23XX_SLI_PKT_TIME_INT;
len += sprintf(s + len, "[%08x] (SLI_PKT_TIME_INT): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_TIME_INT): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29160 */
reg = 0x29160;
len += sprintf(s + len, "[%08x] (SLI_PKT_INT): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_INT): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29180 */
reg = LIO_CN23XX_SLI_OQ_WMARK;
len += sprintf(s + len, "[%08x] (SLI_PKT_OUTPUT_WMARK): %016lx\n",
reg, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_OUTPUT_WMARK): %016llx\n",
reg, LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x291E0 */
reg = LIO_CN23XX_SLI_PKT_IOQ_RING_RST;
len += sprintf(s + len, "[%08x] (SLI_PKT_RING_RST): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_RING_RST): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29210 */
reg = LIO_CN23XX_SLI_GBL_CONTROL;
len += sprintf(s + len, "[%08x] (SLI_PKT_GBL_CONTROL): %016lx\n", reg,
lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_GBL_CONTROL): %016llx\n", reg,
LIO_CAST64(lio_read_csr64(oct, reg)));
/* 0x29220 */
reg = 0x29220;
len += sprintf(s + len, "[%08x] (SLI_PKT_BIST_STATUS): %016lx\n",
reg, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_BIST_STATUS): %016llx\n",
reg, LIO_CAST64(lio_read_csr64(oct, reg)));
/* PF only */
if (pf_num == 0) {
/* 0x29260 */
reg = LIO_CN23XX_SLI_OUT_BP_EN_W1S;
len += sprintf(s + len, "[%08x] (SLI_PKT_OUT_BP_EN_W1S): %016lx\n",
reg, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_OUT_BP_EN_W1S): %016llx\n",
reg, LIO_CAST64(lio_read_csr64(oct, reg)));
} else if (pf_num == 1) {
/* 0x29270 */
reg = LIO_CN23XX_SLI_OUT_BP_EN2_W1S;
len += sprintf(s + len, "[%08x] (SLI_PKT_OUT_BP_EN2_W1S): %016lx\n",
reg, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_OUT_BP_EN2_W1S): %016llx\n",
reg, LIO_CAST64(lio_read_csr64(oct, reg)));
}
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_BUFF_INFO_SIZE(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_OUT_SIZE): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_OUT_SIZE): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10040 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_IQ_INSTR_COUNT64(i);
len += sprintf(s + len, "[%08x] (SLI_PKT_IN_DONE%d_CNTS): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_IN_DONE%d_CNTS): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10080 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_PKTS_CREDIT(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_BAOFF_DBELL): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_BAOFF_DBELL): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10090 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_SIZE(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_FIFO_RSIZE): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_FIFO_RSIZE): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10050 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_PKT_CONTROL(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d__OUTPUT_CONTROL): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d__OUTPUT_CONTROL): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10070 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_BASE_ADDR64(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_BADDR): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_SLIST_BADDR): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x100a0 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_PKT_INT_LEVELS(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INT_LEVELS): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INT_LEVELS): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x100b0 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_OQ_PKTS_SENT(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_CNTS): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_CNTS): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x100c0 */
for (i = 0; i < LIO_CN23XX_PF_MAX_OUTPUT_QUEUES; i++) {
reg = 0x100c0 + i * LIO_CN23XX_OQ_OFFSET;
len += sprintf(s + len, "[%08x] (SLI_PKT%d_ERROR_INFO): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_ERROR_INFO): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10000 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_IQ_PKT_CONTROL64(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INPUT_CONTROL): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INPUT_CONTROL): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10010 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_IQ_BASE_ADDR64(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_BADDR): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_BADDR): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10020 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_IQ_DOORBELL(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_BAOFF_DBELL): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_BAOFF_DBELL): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10030 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++) {
reg = LIO_CN23XX_SLI_IQ_SIZE(i);
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_FIFO_RSIZE): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT%d_INSTR_FIFO_RSIZE): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
}
/* 0x10040 */
for (i = 0; i < LIO_CN23XX_PF_MAX_INPUT_QUEUES; i++)
reg = LIO_CN23XX_SLI_IQ_INSTR_COUNT64(i);
len += sprintf(s + len, "[%08x] (SLI_PKT_IN_DONE%d_CNTS): %016lx\n",
reg, i, lio_read_csr64(oct, reg));
len += sprintf(s + len, "[%08x] (SLI_PKT_IN_DONE%d_CNTS): %016llx\n",
reg, i, LIO_CAST64(lio_read_csr64(oct, reg)));
return (len);
}
@ -1574,8 +1576,8 @@ lio_set_intrmod_cfg(struct lio *lio, struct octeon_intrmod_cfg *intr_cfg)
lio_dev_err(oct_dev, "intrmod config failed. Status: %llx\n",
LIO_CAST64(retval));
else
lio_dev_info(oct_dev, "Rx-Adaptive Interrupt moderation enabled:%lx\n",
intr_cfg->rx_enable);
lio_dev_info(oct_dev, "Rx-Adaptive Interrupt moderation enabled:%llx\n",
LIO_CAST64(intr_cfg->rx_enable));
lio_free_soft_command(oct_dev, sc);

View File

@ -603,6 +603,9 @@ _ixv= ixv
_linprocfs= linprocfs
_linsysfs= linsysfs
_linux= linux
.if ${MK_SOURCELESS_UCODE} != "no"
_lio= lio
.endif
_nctgpio= nctgpio
_ndis= ndis
_pccard= pccard
@ -711,9 +714,6 @@ _ixl= ixl
_ixlv= ixlv
_linux64= linux64
_linux_common= linux_common
.if ${MK_SOURCELESS_UCODE} != "no"
_lio= lio
.endif
_ntb= ntb
_pms= pms
_qlxge= qlxge