octeon_dev 223 drivers/edac/octeon_edac-lmc.c ATTRIBUTE_GROUPS(octeon_dev); octeon_dev 804 drivers/net/ethernet/cavium/liquidio/lio_core.c int liquidio_setup_io_queues(struct octeon_device *octeon_dev, int ifidx, octeon_dev 818 drivers/net/ethernet/cavium/liquidio/lio_core.c netdev = octeon_dev->props[ifidx].netdev; octeon_dev 835 drivers/net/ethernet/cavium/liquidio/lio_core.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 839 drivers/net/ethernet/cavium/liquidio/lio_core.c octeon_dev, q_no, octeon_dev 840 drivers/net/ethernet/cavium/liquidio/lio_core.c CFG_GET_NUM_RX_DESCS_NIC_IF(octeon_get_conf(octeon_dev), octeon_dev 842 drivers/net/ethernet/cavium/liquidio/lio_core.c CFG_GET_NUM_RX_BUF_SIZE_NIC_IF(octeon_get_conf(octeon_dev), octeon_dev 846 drivers/net/ethernet/cavium/liquidio/lio_core.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 852 drivers/net/ethernet/cavium/liquidio/lio_core.c droq = octeon_dev->droq[q_no]; octeon_dev 854 drivers/net/ethernet/cavium/liquidio/lio_core.c dev_dbg(&octeon_dev->pci_dev->dev, "netif_napi_add netdev:%llx oct:%llx\n", octeon_dev 855 drivers/net/ethernet/cavium/liquidio/lio_core.c (u64)netdev, (u64)octeon_dev); octeon_dev 864 drivers/net/ethernet/cavium/liquidio/lio_core.c octeon_register_droq_ops(octeon_dev, q_no, &droq_ops); octeon_dev 867 drivers/net/ethernet/cavium/liquidio/lio_core.c if (OCTEON_CN23XX_PF(octeon_dev) || OCTEON_CN23XX_VF(octeon_dev)) { octeon_dev 873 drivers/net/ethernet/cavium/liquidio/lio_core.c octeon_dev->droq[0]->ops.poll_mode = 0; octeon_dev 879 drivers/net/ethernet/cavium/liquidio/lio_core.c octeon_get_conf(octeon_dev), lio->ifidx); octeon_dev 880 drivers/net/ethernet/cavium/liquidio/lio_core.c retval = octeon_setup_iq(octeon_dev, ifidx, q, octeon_dev 884 drivers/net/ethernet/cavium/liquidio/lio_core.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 891 drivers/net/ethernet/cavium/liquidio/lio_core.c if (!OCTEON_CN23XX_VF(octeon_dev) && octeon_dev->msix_on && octeon_dev 892 drivers/net/ethernet/cavium/liquidio/lio_core.c octeon_dev->ioq_vector) { octeon_dev 895 drivers/net/ethernet/cavium/liquidio/lio_core.c ioq_vector = &octeon_dev->ioq_vector[q]; octeon_dev 3347 drivers/net/ethernet/cavium/liquidio/lio_main.c static int setup_nic_devices(struct octeon_device *octeon_dev) octeon_dev 3369 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_dispatch_fn(octeon_dev, OPCODE_NIC, octeon_dev 3371 drivers/net/ethernet/cavium/liquidio/lio_main.c lio_nic_info, octeon_dev); octeon_dev 3376 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_NORESP_NET, octeon_dev 3379 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_NORESP_NET_SG, octeon_dev 3382 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_RESP_NET_SG, octeon_dev 3385 drivers/net/ethernet/cavium/liquidio/lio_main.c for (i = 0; i < octeon_dev->ifcount; i++) { octeon_dev 3389 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_alloc_soft_command(octeon_dev, data_size, octeon_dev 3399 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN23XX_PF(octeon_dev)) { octeon_dev 3400 drivers/net/ethernet/cavium/liquidio/lio_main.c num_iqueues = octeon_dev->sriov_info.num_pf_rings; octeon_dev 3401 drivers/net/ethernet/cavium/liquidio/lio_main.c num_oqueues = octeon_dev->sriov_info.num_pf_rings; octeon_dev 3402 drivers/net/ethernet/cavium/liquidio/lio_main.c base_queue = octeon_dev->sriov_info.pf_srn; octeon_dev 3404 drivers/net/ethernet/cavium/liquidio/lio_main.c gmx_port_id = octeon_dev->pf_num; octeon_dev 3405 drivers/net/ethernet/cavium/liquidio/lio_main.c ifidx_or_pfnum = octeon_dev->pf_num; octeon_dev 3408 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_get_conf(octeon_dev), i); octeon_dev 3410 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_get_conf(octeon_dev), i); octeon_dev 3412 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_get_conf(octeon_dev), i); octeon_dev 3414 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_get_conf(octeon_dev), i); octeon_dev 3418 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 3430 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_prepare_soft_command(octeon_dev, sc, OPCODE_NIC, octeon_dev 3437 drivers/net/ethernet/cavium/liquidio/lio_main.c retval = octeon_send_soft_command(octeon_dev, sc); octeon_dev 3439 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3443 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_free_soft_command(octeon_dev, sc); octeon_dev 3450 drivers/net/ethernet/cavium/liquidio/lio_main.c retval = wait_for_sc_completion_timeout(octeon_dev, sc, 0); octeon_dev 3456 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "iq/oq config failed\n"); octeon_dev 3460 drivers/net/ethernet/cavium/liquidio/lio_main.c snprintf(octeon_dev->fw_info.liquidio_firmware_version, octeon_dev 3465 drivers/net/ethernet/cavium/liquidio/lio_main.c fw_ver = octeon_dev->fw_info.liquidio_firmware_version; octeon_dev 3469 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3474 drivers/net/ethernet/cavium/liquidio/lio_main.c } else if (atomic_read(octeon_dev->adapter_fw_state) == octeon_dev 3476 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_info(&octeon_dev->pci_dev->dev, octeon_dev 3485 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fw_info.ver.maj = LIQUIDIO_BASE_MAJOR_VERSION; octeon_dev 3486 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fw_info.ver.min = LIQUIDIO_BASE_MINOR_VERSION; octeon_dev 3487 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fw_info.ver.rev = micro; octeon_dev 3496 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3504 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN6XXX(octeon_dev)) { octeon_dev 3505 drivers/net/ethernet/cavium/liquidio/lio_main.c max_num_queues = CFG_GET_IQ_MAX_Q(CHIP_CONF(octeon_dev, octeon_dev 3507 drivers/net/ethernet/cavium/liquidio/lio_main.c } else if (OCTEON_CN23XX_PF(octeon_dev)) { octeon_dev 3508 drivers/net/ethernet/cavium/liquidio/lio_main.c max_num_queues = CFG_GET_IQ_MAX_Q(CHIP_CONF(octeon_dev, octeon_dev 3512 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 3519 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Device allocation failed\n"); octeon_dev 3524 drivers/net/ethernet/cavium/liquidio/lio_main.c SET_NETDEV_DEV(netdev, &octeon_dev->pci_dev->dev); octeon_dev 3533 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3541 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3553 drivers/net/ethernet/cavium/liquidio/lio_main.c props = &octeon_dev->props[i]; octeon_dev 3575 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN23XX_PF(octeon_dev) || octeon_dev 3576 drivers/net/ethernet/cavium/liquidio/lio_main.c OCTEON_CN6XXX(octeon_dev)) { octeon_dev 3623 drivers/net/ethernet/cavium/liquidio/lio_main.c lio->oct_dev = octeon_dev; octeon_dev 3627 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 3631 drivers/net/ethernet/cavium/liquidio/lio_main.c for (j = 0; j < octeon_dev->sriov_info.max_vfs; j++) { octeon_dev 3636 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3657 drivers/net/ethernet/cavium/liquidio/lio_main.c if (liquidio_setup_io_queues(octeon_dev, i, octeon_dev 3660 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "I/O queues creation failed\n"); octeon_dev 3666 drivers/net/ethernet/cavium/liquidio/lio_main.c lio->tx_qsize = octeon_get_tx_qsize(octeon_dev, lio->txq); octeon_dev 3667 drivers/net/ethernet/cavium/liquidio/lio_main.c lio->rx_qsize = octeon_get_rx_qsize(octeon_dev, lio->rxq); octeon_dev 3669 drivers/net/ethernet/cavium/liquidio/lio_main.c if (lio_setup_glists(octeon_dev, lio, num_iqueues)) { octeon_dev 3670 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3678 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->priv_flags = OCT_PRIV_FLAG_DEFAULT; octeon_dev 3680 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->priv_flags = 0x0; octeon_dev 3696 drivers/net/ethernet/cavium/liquidio/lio_main.c if ((octeon_dev->fw_info.app_cap_flags & octeon_dev 3706 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Device registration failed\n"); octeon_dev 3710 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 3727 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 3730 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_dev->subsystem_id == octeon_dev 3732 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->subsystem_id == octeon_dev 3734 drivers/net/ethernet/cavium/liquidio/lio_main.c cur_ver = OCT_FW_VER(octeon_dev->fw_info.ver.maj, octeon_dev 3735 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fw_info.ver.min, octeon_dev 3736 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fw_info.ver.rev); octeon_dev 3740 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_info(&octeon_dev->pci_dev->dev, octeon_dev 3742 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->speed_setting = 25; octeon_dev 3743 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->no_speed_setting = 1; octeon_dev 3748 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_dev->speed_setting == 0) { octeon_dev 3749 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->speed_setting = 25; octeon_dev 3750 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->no_speed_setting = 1; octeon_dev 3753 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->no_speed_setting = 1; octeon_dev 3754 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->speed_setting = 10; octeon_dev 3756 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->speed_boot = octeon_dev->speed_setting; octeon_dev 3759 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_dev->speed_boot == 25 && octeon_dev 3760 drivers/net/ethernet/cavium/liquidio/lio_main.c !octeon_dev->no_speed_setting) { octeon_dev 3762 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->props[lio->ifidx].fec_boot = octeon_dev 3763 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->props[lio->ifidx].fec; octeon_dev 3770 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "devlink alloc failed\n"); octeon_dev 3775 drivers/net/ethernet/cavium/liquidio/lio_main.c lio_devlink->oct = octeon_dev; octeon_dev 3777 drivers/net/ethernet/cavium/liquidio/lio_main.c if (devlink_register(devlink, &octeon_dev->pci_dev->dev)) { octeon_dev 3779 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3784 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->devlink = devlink; octeon_dev 3785 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY; octeon_dev 3792 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 3794 drivers/net/ethernet/cavium/liquidio/lio_main.c liquidio_destroy_nic_device(octeon_dev, i); octeon_dev 4057 drivers/net/ethernet/cavium/liquidio/lio_main.c static int octeon_device_init(struct octeon_device *octeon_dev) octeon_dev 4064 drivers/net/ethernet/cavium/liquidio/lio_main.c (struct octeon_device_priv *)octeon_dev->priv; octeon_dev 4065 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_BEGIN_STATE); octeon_dev 4070 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_pci_os_setup(octeon_dev)) octeon_dev 4073 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_PCI_ENABLE_DONE); octeon_dev 4076 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_chip_specific_setup(octeon_dev)) { octeon_dev 4077 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Chip specific setup failed\n"); octeon_dev 4081 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_PCI_MAP_DONE); octeon_dev 4087 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_device(octeon_dev, octeon_dev->pci_dev->bus->number, octeon_dev 4088 drivers/net/ethernet/cavium/liquidio/lio_main.c PCI_SLOT(octeon_dev->pci_dev->devfn), octeon_dev 4089 drivers/net/ethernet/cavium/liquidio/lio_main.c PCI_FUNC(octeon_dev->pci_dev->devfn), octeon_dev 4092 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->app_mode = CVM_DRV_INVALID_APP; octeon_dev 4101 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN23XX_PF(octeon_dev) && octeon_dev 4102 drivers/net/ethernet/cavium/liquidio/lio_main.c cn23xx_fw_loaded(octeon_dev) && fw_type_is_auto()) { octeon_dev 4103 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_cmpxchg(octeon_dev->adapter_fw_state, octeon_dev 4108 drivers/net/ethernet/cavium/liquidio/lio_main.c fw_state = atomic_cmpxchg(octeon_dev->adapter_fw_state, octeon_dev 4125 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_dev->fn_list.soft_reset(octeon_dev)) octeon_dev 4131 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_init_dispatch_list(octeon_dev)) octeon_dev 4134 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_dispatch_fn(octeon_dev, OPCODE_NIC, octeon_dev 4137 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev); octeon_dev 4139 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_register_dispatch_fn(octeon_dev, OPCODE_NIC, octeon_dev 4141 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_recv_vf_drv_notice, octeon_dev); octeon_dev 4142 drivers/net/ethernet/cavium/liquidio/lio_main.c INIT_DELAYED_WORK(&octeon_dev->nic_poll_work.work, nic_starter); octeon_dev 4143 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->nic_poll_work.ctxptr = (void *)octeon_dev; octeon_dev 4144 drivers/net/ethernet/cavium/liquidio/lio_main.c schedule_delayed_work(&octeon_dev->nic_poll_work.work, octeon_dev 4147 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_DISPATCH_INIT_DONE); octeon_dev 4149 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_set_io_queues_off(octeon_dev)) { octeon_dev 4150 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "setting io queues off failed\n"); octeon_dev 4154 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN23XX_PF(octeon_dev)) { octeon_dev 4155 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_dev->fn_list.setup_device_regs(octeon_dev); octeon_dev 4157 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "OCTEON: Failed to configure device registers\n"); octeon_dev 4164 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_setup_sc_buffer_pool(octeon_dev)) { octeon_dev 4165 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "sc buffer pool allocation failed\n"); octeon_dev 4168 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_SC_BUFF_POOL_INIT_DONE); octeon_dev 4171 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_setup_instr_queues(octeon_dev)) { octeon_dev 4172 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 4176 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_INSTR_QUEUE_INIT_DONE); octeon_dev 4181 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_setup_response_list(octeon_dev)) { octeon_dev 4182 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Response list allocation failed\n"); octeon_dev 4185 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_RESP_LIST_INIT_DONE); octeon_dev 4187 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_setup_output_queues(octeon_dev)) { octeon_dev 4188 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Output queue initialization failed\n"); octeon_dev 4192 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_DROQ_INIT_DONE); octeon_dev 4194 drivers/net/ethernet/cavium/liquidio/lio_main.c if (OCTEON_CN23XX_PF(octeon_dev)) { octeon_dev 4195 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_dev->fn_list.setup_mbox(octeon_dev)) { octeon_dev 4196 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "OCTEON: Mailbox setup failed\n"); octeon_dev 4199 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_MBOX_SETUP_DONE); octeon_dev 4202 drivers/net/ethernet/cavium/liquidio/lio_main.c (octeon_dev, octeon_dev 4203 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->sriov_info.num_pf_rings)) { octeon_dev 4204 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "OCTEON: ioq vector allocation failed\n"); octeon_dev 4207 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_MSIX_ALLOC_VECTOR_DONE); octeon_dev 4214 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_dev->fn_list.setup_device_regs(octeon_dev); octeon_dev 4216 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 4223 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, "Initializing droq tasklet\n"); octeon_dev 4225 drivers/net/ethernet/cavium/liquidio/lio_main.c (unsigned long)octeon_dev); octeon_dev 4229 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_setup_interrupt(octeon_dev, octeon_dev 4230 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->sriov_info.num_pf_rings)) octeon_dev 4234 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->fn_list.enable_interrupt(octeon_dev, OCTEON_ALL_INTR); octeon_dev 4236 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_INTR_SET_DONE); octeon_dev 4246 drivers/net/ethernet/cavium/liquidio/lio_main.c for (j = 0; j < octeon_dev->num_oqs; j++) octeon_dev 4247 drivers/net/ethernet/cavium/liquidio/lio_main.c writel(octeon_dev->droq[j]->max_count, octeon_dev 4248 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->droq[j]->pkts_credit_reg); octeon_dev 4251 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_dev->fn_list.enable_io_queues(octeon_dev); octeon_dev 4253 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Failed to enable input/output queues"); octeon_dev 4257 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_IO_QUEUES_DONE); octeon_dev 4260 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, "Waiting for DDR initialization...\n"); octeon_dev 4262 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_info(&octeon_dev->pci_dev->dev, octeon_dev 4276 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_wait_for_ddr_init(octeon_dev, &ddr_timeout); octeon_dev 4278 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 4284 drivers/net/ethernet/cavium/liquidio/lio_main.c if (octeon_wait_for_bootloader(octeon_dev, 1000)) { octeon_dev 4285 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Board not responding\n"); octeon_dev 4290 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_console_send_cmd(octeon_dev, bootcmd, 50); octeon_dev 4292 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, "Initializing consoles\n"); octeon_dev 4293 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_init_consoles(octeon_dev); octeon_dev 4295 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Could not access board consoles\n"); octeon_dev 4302 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = octeon_add_console(octeon_dev, 0, dbg_enb); octeon_dev 4304 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Could not access board console\n"); octeon_dev 4310 drivers/net/ethernet/cavium/liquidio/lio_main.c octeon_dev->console[0].print = octeon_dbg_console_print; octeon_dev 4313 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_CONSOLE_INIT_DONE); octeon_dev 4315 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_dbg(&octeon_dev->pci_dev->dev, "Loading firmware\n"); octeon_dev 4316 drivers/net/ethernet/cavium/liquidio/lio_main.c ret = load_firmware(octeon_dev); octeon_dev 4318 drivers/net/ethernet/cavium/liquidio/lio_main.c dev_err(&octeon_dev->pci_dev->dev, "Could not load firmware to board\n"); octeon_dev 4322 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(octeon_dev->adapter_fw_state, FW_HAS_BEEN_LOADED); octeon_dev 4325 drivers/net/ethernet/cavium/liquidio/lio_main.c handshake[octeon_dev->octeon_id].init_ok = 1; octeon_dev 4326 drivers/net/ethernet/cavium/liquidio/lio_main.c complete(&handshake[octeon_dev->octeon_id].init); octeon_dev 4328 drivers/net/ethernet/cavium/liquidio/lio_main.c atomic_set(&octeon_dev->status, OCT_DEV_HOST_OK); octeon_dev 1924 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c static int setup_nic_devices(struct octeon_device *octeon_dev) octeon_dev 1938 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c ifidx_or_pfnum = octeon_dev->pf_num; octeon_dev 1941 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_register_dispatch_fn(octeon_dev, OPCODE_NIC, OPCODE_NIC_INFO, octeon_dev 1942 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c lio_nic_info, octeon_dev); octeon_dev 1947 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_NORESP_NET, octeon_dev 1950 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_NORESP_NET_SG, octeon_dev 1953 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_register_reqtype_free_fn(octeon_dev, REQTYPE_RESP_NET_SG, octeon_dev 1956 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c for (i = 0; i < octeon_dev->ifcount; i++) { octeon_dev 1960 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_alloc_soft_command(octeon_dev, data_size, octeon_dev 1972 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c if_cfg.s.num_iqueues = octeon_dev->sriov_info.rings_per_vf; octeon_dev 1973 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c if_cfg.s.num_oqueues = octeon_dev->sriov_info.rings_per_vf; octeon_dev 1978 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_prepare_soft_command(octeon_dev, sc, OPCODE_NIC, octeon_dev 1985 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c retval = octeon_send_soft_command(octeon_dev, sc); octeon_dev 1987 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 1990 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_free_soft_command(octeon_dev, sc); octeon_dev 1997 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c retval = wait_for_sc_completion_timeout(octeon_dev, sc, 0); octeon_dev 2003 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 2009 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c snprintf(octeon_dev->fw_info.liquidio_firmware_version, octeon_dev 2020 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 2026 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 2034 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, "Device allocation failed\n"); octeon_dev 2039 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c SET_NETDEV_DEV(netdev, &octeon_dev->pci_dev->dev); octeon_dev 2052 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c props = &octeon_dev->props[i]; octeon_dev 2119 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c lio->oct_dev = octeon_dev; octeon_dev 2123 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 2135 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c if (liquidio_setup_io_queues(octeon_dev, i, octeon_dev 2138 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, "I/O queues creation failed\n"); octeon_dev 2147 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_dev->fn_list.enable_interrupt(octeon_dev, octeon_dev 2156 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c lio->tx_qsize = octeon_get_tx_qsize(octeon_dev, lio->txq); octeon_dev 2157 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c lio->rx_qsize = octeon_get_rx_qsize(octeon_dev, lio->rxq); octeon_dev 2159 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c if (lio_setup_glists(octeon_dev, lio, num_iqueues)) { octeon_dev 2160 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 2168 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_dev->priv_flags = OCT_PRIV_FLAG_DEFAULT; octeon_dev 2170 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_dev->priv_flags = 0x0; octeon_dev 2184 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, "Device registration failed\n"); octeon_dev 2188 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 2205 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_dbg(&octeon_dev->pci_dev->dev, octeon_dev 2208 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c octeon_dev->no_speed_setting = 1; octeon_dev 2216 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 2218 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c liquidio_destroy_nic_device(octeon_dev, i); octeon_dev 1064 drivers/net/ethernet/cavium/liquidio/octeon_device.c octeon_get_dispatch(struct octeon_device *octeon_dev, u16 opcode, octeon_dev 1074 drivers/net/ethernet/cavium/liquidio/octeon_device.c spin_lock_bh(&octeon_dev->dispatch.lock); octeon_dev 1076 drivers/net/ethernet/cavium/liquidio/octeon_device.c if (octeon_dev->dispatch.count == 0) { octeon_dev 1077 drivers/net/ethernet/cavium/liquidio/octeon_device.c spin_unlock_bh(&octeon_dev->dispatch.lock); octeon_dev 1081 drivers/net/ethernet/cavium/liquidio/octeon_device.c if (!(octeon_dev->dispatch.dlist[idx].opcode)) { octeon_dev 1082 drivers/net/ethernet/cavium/liquidio/octeon_device.c spin_unlock_bh(&octeon_dev->dispatch.lock); octeon_dev 1086 drivers/net/ethernet/cavium/liquidio/octeon_device.c if (octeon_dev->dispatch.dlist[idx].opcode == combined_opcode) { octeon_dev 1087 drivers/net/ethernet/cavium/liquidio/octeon_device.c fn = octeon_dev->dispatch.dlist[idx].dispatch_fn; octeon_dev 1090 drivers/net/ethernet/cavium/liquidio/octeon_device.c &octeon_dev->dispatch.dlist[idx].list) { octeon_dev 1100 drivers/net/ethernet/cavium/liquidio/octeon_device.c spin_unlock_bh(&octeon_dev->dispatch.lock); octeon_dev 1424 drivers/net/ethernet/cavium/liquidio/octeon_device.c struct octeon_device *octeon_dev = (struct octeon_device *)dev; octeon_dev 1428 drivers/net/ethernet/cavium/liquidio/octeon_device.c if (octeon_device[i] == octeon_dev) octeon_dev 1429 drivers/net/ethernet/cavium/liquidio/octeon_device.c return octeon_dev->octeon_id; octeon_dev 669 drivers/net/ethernet/cavium/liquidio/octeon_device.h int octeon_init_dispatch_list(struct octeon_device *octeon_dev); octeon_dev 675 drivers/net/ethernet/cavium/liquidio/octeon_device.h void octeon_delete_dispatch_list(struct octeon_device *octeon_dev); octeon_dev 698 drivers/net/ethernet/cavium/liquidio/octeon_device.h octeon_get_dispatch(struct octeon_device *octeon_dev, u16 opcode, octeon_dev 55 drivers/net/ethernet/cavium/liquidio/octeon_droq.c void *octeon_get_dispatch_arg(struct octeon_device *octeon_dev, octeon_dev 65 drivers/net/ethernet/cavium/liquidio/octeon_droq.c spin_lock_bh(&octeon_dev->dispatch.lock); octeon_dev 67 drivers/net/ethernet/cavium/liquidio/octeon_droq.c if (octeon_dev->dispatch.count == 0) { octeon_dev 68 drivers/net/ethernet/cavium/liquidio/octeon_droq.c spin_unlock_bh(&octeon_dev->dispatch.lock); octeon_dev 72 drivers/net/ethernet/cavium/liquidio/octeon_droq.c if (octeon_dev->dispatch.dlist[idx].opcode == combined_opcode) { octeon_dev 73 drivers/net/ethernet/cavium/liquidio/octeon_droq.c fn_arg = octeon_dev->dispatch.dlist[idx].arg; octeon_dev 76 drivers/net/ethernet/cavium/liquidio/octeon_droq.c &octeon_dev->dispatch.dlist[idx].list) { octeon_dev 86 drivers/net/ethernet/cavium/liquidio/octeon_droq.c spin_unlock_bh(&octeon_dev->dispatch.lock); octeon_dev 336 drivers/net/ethernet/cavium/liquidio/octeon_droq.c struct octeon_device *octeon_dev, octeon_dev 357 drivers/net/ethernet/cavium/liquidio/octeon_droq.c recv_pkt->octeon_id = (u16)octeon_dev->octeon_id; octeon_dev 366 drivers/net/ethernet/cavium/liquidio/octeon_droq.c lio_unmap_ring(octeon_dev->pci_dev, octeon_dev 434 drivers/net/ethernet/cavium/liquidio/octeon_droq.c octeon_droq_refill(struct octeon_device *octeon_dev, struct octeon_droq *droq) octeon_dev 455 drivers/net/ethernet/cavium/liquidio/octeon_droq.c buf = recv_buffer_reuse(octeon_dev, pg_info); octeon_dev 457 drivers/net/ethernet/cavium/liquidio/octeon_droq.c buf = recv_buffer_alloc(octeon_dev, pg_info); octeon_dev 348 drivers/net/ethernet/cavium/liquidio/octeon_iq.h int octeon_init_instr_queue(struct octeon_device *octeon_dev, octeon_dev 362 drivers/net/ethernet/cavium/liquidio/octeon_iq.h int octeon_delete_instr_queue(struct octeon_device *octeon_dev, u32 iq_no); octeon_dev 219 drivers/net/ethernet/cavium/liquidio/octeon_network.h int liquidio_setup_io_queues(struct octeon_device *octeon_dev, int ifidx, octeon_dev 62 drivers/net/ethernet/cavium/liquidio/response_manager.c int lio_process_ordered_list(struct octeon_device *octeon_dev, octeon_dev 72 drivers/net/ethernet/cavium/liquidio/response_manager.c octeon_free_sc_done_list(octeon_dev); octeon_dev 74 drivers/net/ethernet/cavium/liquidio/response_manager.c ordered_sc_list = &octeon_dev->response_list[OCTEON_ORDERED_SC_LIST]; octeon_dev 121 drivers/net/ethernet/cavium/liquidio/response_manager.c dev_err(&octeon_dev->pci_dev->dev, "%s: ", __func__); octeon_dev 122 drivers/net/ethernet/cavium/liquidio/response_manager.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 126 drivers/net/ethernet/cavium/liquidio/response_manager.c dev_err(&octeon_dev->pci_dev->dev, octeon_dev 138 drivers/net/ethernet/cavium/liquidio/response_manager.c atomic_dec(&octeon_dev->response_list octeon_dev 143 drivers/net/ethernet/cavium/liquidio/response_manager.c atomic_inc(&octeon_dev->response_list octeon_dev 147 drivers/net/ethernet/cavium/liquidio/response_manager.c &octeon_dev->response_list octeon_dev 161 drivers/net/ethernet/cavium/liquidio/response_manager.c (&octeon_dev->pci_dev->dev, octeon_dev 165 drivers/net/ethernet/cavium/liquidio/response_manager.c (&octeon_dev->pci_dev->dev, octeon_dev 170 drivers/net/ethernet/cavium/liquidio/response_manager.c (&octeon_dev->pci_dev->dev, octeon_dev 183 drivers/net/ethernet/cavium/liquidio/response_manager.c atomic_inc(&octeon_dev->response_list octeon_dev 187 drivers/net/ethernet/cavium/liquidio/response_manager.c &octeon_dev->response_list octeon_dev 194 drivers/net/ethernet/cavium/liquidio/response_manager.c sc->callback(octeon_dev, status, octeon_dev 130 drivers/net/ethernet/cavium/liquidio/response_manager.h int octeon_setup_response_list(struct octeon_device *octeon_dev); octeon_dev 132 drivers/net/ethernet/cavium/liquidio/response_manager.h void octeon_delete_response_list(struct octeon_device *octeon_dev); octeon_dev 140 drivers/net/ethernet/cavium/liquidio/response_manager.h int lio_process_ordered_list(struct octeon_device *octeon_dev,