Author: sbruno
Date: Wed Oct 25 17:49:17 2017
New Revision: 324994
URL: https://svnweb.freebsd.org/changeset/base/324994

Log:
  Enable i386 build of the Cavium LiquidIO driver (lio) module.
  
  Submitted by: pkannega...@cavium.com (Prasad V Kanneganti)
  MFC after:    1 week
  Sponsored by: Cavium Networks
  Differential Revision:        https://reviews.freebsd.org/D12415

Modified:
  head/sys/dev/liquidio/base/cn23xx_pf_device.c
  head/sys/dev/liquidio/base/lio_device.c
  head/sys/dev/liquidio/base/lio_device.h
  head/sys/dev/liquidio/base/lio_droq.c
  head/sys/dev/liquidio/base/lio_mem_ops.c
  head/sys/dev/liquidio/base/lio_request_manager.c
  head/sys/dev/liquidio/lio_main.c
  head/sys/dev/liquidio/lio_main.h
  head/sys/dev/liquidio/lio_rxtx.c
  head/sys/dev/liquidio/lio_sysctl.c
  head/sys/modules/Makefile

Modified: head/sys/dev/liquidio/base/cn23xx_pf_device.c
==============================================================================
--- head/sys/dev/liquidio/base/cn23xx_pf_device.c       Wed Oct 25 17:23:33 
2017        (r324993)
+++ head/sys/dev/liquidio/base/cn23xx_pf_device.c       Wed Oct 25 17:49:17 
2017        (r324994)
@@ -162,11 +162,11 @@ lio_cn23xx_pf_setup_global_mac_regs(struct octeon_devi
        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

Modified: head/sys/dev/liquidio/base/lio_device.c
==============================================================================
--- head/sys/dev/liquidio/base/lio_device.c     Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/base/lio_device.c     Wed Oct 25 17:49:17 2017        
(r324994)
@@ -817,8 +817,8 @@ lio_core_drv_init(struct lio_recv_info *recv_info, voi
        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]);
        }
 

Modified: head/sys/dev/liquidio/base/lio_device.h
==============================================================================
--- head/sys/dev/liquidio/base/lio_device.h     Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/base/lio_device.h     Wed Oct 25 17:49:17 2017        
(r324994)
@@ -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_ */

Modified: head/sys/dev/liquidio/base/lio_droq.c
==============================================================================
--- head/sys/dev/liquidio/base/lio_droq.c       Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/base/lio_droq.c       Wed Oct 25 17:49:17 2017        
(r324994)
@@ -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;

Modified: head/sys/dev/liquidio/base/lio_mem_ops.c
==============================================================================
--- head/sys/dev/liquidio/base/lio_mem_ops.c    Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/base/lio_mem_ops.c    Wed Oct 25 17:49:17 2017        
(r324994)
@@ -65,20 +65,48 @@ lio_write_bar1_mem8(struct octeon_device *oct, uint32_
                          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

Modified: head/sys/dev/liquidio/base/lio_request_manager.c
==============================================================================
--- head/sys/dev/liquidio/base/lio_request_manager.c    Wed Oct 25 17:23:33 
2017        (r324993)
+++ head/sys/dev/liquidio/base/lio_request_manager.c    Wed Oct 25 17:49:17 
2017        (r324994)
@@ -97,7 +97,7 @@ lio_init_instr_queue(struct octeon_device *oct, union 
                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 
                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);

Modified: head/sys/dev/liquidio/lio_main.c
==============================================================================
--- head/sys/dev/liquidio/lio_main.c    Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/lio_main.c    Wed Oct 25 17:49:17 2017        
(r324994)
@@ -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);

Modified: head/sys/dev/liquidio/lio_main.h
==============================================================================
--- head/sys/dev/liquidio/lio_main.h    Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/lio_main.h    Wed Oct 25 17:49:17 2017        
(r324994)
@@ -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);
 }

Modified: head/sys/dev/liquidio/lio_rxtx.c
==============================================================================
--- head/sys/dev/liquidio/lio_rxtx.c    Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/lio_rxtx.c    Wed Oct 25 17:49:17 2017        
(r324994)
@@ -218,8 +218,8 @@ retry:
 
 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;

Modified: head/sys/dev/liquidio/lio_sysctl.c
==============================================================================
--- head/sys/dev/liquidio/lio_sysctl.c  Wed Oct 25 17:23:33 2017        
(r324993)
+++ head/sys/dev/liquidio/lio_sysctl.c  Wed Oct 25 17:49:17 2017        
(r324994)
@@ -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_devi
 
        /* 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_int
                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);
 

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Wed Oct 25 17:23:33 2017        (r324993)
+++ head/sys/modules/Makefile   Wed Oct 25 17:49:17 2017        (r324994)
@@ -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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to