Lines Matching refs:ionic
16 struct ionic *ionic = from_timer(ionic, t, watchdog_timer); in ionic_watchdog_cb() local
17 struct ionic_lif *lif = ionic->lif; in ionic_watchdog_cb()
21 mod_timer(&ionic->watchdog_timer, in ionic_watchdog_cb()
22 round_jiffies(jiffies + ionic->watchdog_period)); in ionic_watchdog_cb()
27 hb = ionic_heartbeat_check(ionic); in ionic_watchdog_cb()
28 dev_dbg(ionic->dev, "%s: hb %d running %d UP %d\n", in ionic_watchdog_cb()
50 static void ionic_watchdog_init(struct ionic *ionic) in ionic_watchdog_init() argument
52 struct ionic_dev *idev = &ionic->idev; in ionic_watchdog_init()
54 timer_setup(&ionic->watchdog_timer, ionic_watchdog_cb, 0); in ionic_watchdog_init()
55 ionic->watchdog_period = IONIC_WATCHDOG_SECS * HZ; in ionic_watchdog_init()
59 idev->last_hb_time = jiffies - 2 * ionic->watchdog_period; in ionic_watchdog_init()
68 void ionic_init_devinfo(struct ionic *ionic) in ionic_init_devinfo() argument
70 struct ionic_dev *idev = &ionic->idev; in ionic_init_devinfo()
86 dev_dbg(ionic->dev, "fw_version %s\n", idev->dev_info.fw_version); in ionic_init_devinfo()
89 int ionic_dev_setup(struct ionic *ionic) in ionic_dev_setup() argument
91 struct ionic_dev_bar *bar = ionic->bars; in ionic_dev_setup()
92 unsigned int num_bars = ionic->num_bars; in ionic_dev_setup()
93 struct ionic_dev *idev = &ionic->idev; in ionic_dev_setup()
94 struct device *dev = ionic->dev; in ionic_dev_setup()
123 ionic_init_devinfo(ionic); in ionic_dev_setup()
132 ionic_watchdog_init(ionic); in ionic_dev_setup()
140 if (num_bars < 3 || !ionic->bars[IONIC_PCI_BAR_CMB].len) { in ionic_dev_setup()
155 void ionic_dev_teardown(struct ionic *ionic) in ionic_dev_teardown() argument
157 struct ionic_dev *idev = &ionic->idev; in ionic_dev_teardown()
193 int ionic_heartbeat_check(struct ionic *ionic) in ionic_heartbeat_check() argument
196 struct ionic_dev *idev = &ionic->idev; in ionic_heartbeat_check()
197 struct ionic_lif *lif = ionic->lif; in ionic_heartbeat_check()
213 dev_dbg(ionic->dev, "%s: do_check_time again\n", __func__); in ionic_heartbeat_check()
223 dev_info(ionic->dev, "FW generation 0x%02x -> 0x%02x\n", in ionic_heartbeat_check()
246 dev_dbg(ionic->dev, "fw_status 0x%02x ready %d idev->ready %d last_hb 0x%x state 0x%02lx\n", in ionic_heartbeat_check()
260 dev_info(ionic->dev, "FW stopped 0x%02x\n", fw_status); in ionic_heartbeat_check()
265 dev_info(ionic->dev, "FW running 0x%02x\n", fw_status); in ionic_heartbeat_check()
298 dev_dbg(ionic->dev, "%s: fw_hb %u last_fw_hb %u ready %u\n", in ionic_heartbeat_check()
307 dev_info(ionic->dev, "FW heartbeat stalled at %d\n", fw_hb); in ionic_heartbeat_check()
309 dev_info(ionic->dev, "FW heartbeat restored at %d\n", fw_hb); in ionic_heartbeat_check()
476 int ionic_set_vf_config(struct ionic *ionic, int vf, in ionic_set_vf_config() argument
488 mutex_lock(&ionic->dev_cmd_lock); in ionic_set_vf_config()
489 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_set_vf_config()
490 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_set_vf_config()
491 mutex_unlock(&ionic->dev_cmd_lock); in ionic_set_vf_config()
496 int ionic_dev_cmd_vf_getattr(struct ionic *ionic, int vf, u8 attr, in ionic_dev_cmd_vf_getattr() argument
506 if (vf >= ionic->num_vfs) in ionic_dev_cmd_vf_getattr()
522 mutex_lock(&ionic->dev_cmd_lock); in ionic_dev_cmd_vf_getattr()
523 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_dev_cmd_vf_getattr()
524 err = ionic_dev_cmd_wait_nomsg(ionic, DEVCMD_TIMEOUT); in ionic_dev_cmd_vf_getattr()
525 memcpy_fromio(comp, &ionic->idev.dev_cmd_regs->comp.vf_getattr, in ionic_dev_cmd_vf_getattr()
527 mutex_unlock(&ionic->dev_cmd_lock); in ionic_dev_cmd_vf_getattr()
530 ionic_dev_cmd_dev_err_print(ionic, cmd.vf_getattr.opcode, in ionic_dev_cmd_vf_getattr()
536 void ionic_vf_start(struct ionic *ionic) in ionic_vf_start() argument
543 if (!(ionic->ident.dev.capabilities & cpu_to_le64(IONIC_DEV_CAP_VF_CTRL))) in ionic_vf_start()
546 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_vf_start()
547 ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_vf_start()
628 struct ionic_dev *idev = &lif->ionic->idev; in ionic_get_cmb()
646 struct ionic_dev *idev = &lif->ionic->idev; in ionic_put_cmb()