Lines Matching refs:idev

33 	struct ionic_dev *idev = &ionic->idev;  in ionic_init_devinfo()  local
35 idev->dev_info.asic_type = ioread8(&idev->dev_info_regs->asic_type); in ionic_init_devinfo()
36 idev->dev_info.asic_rev = ioread8(&idev->dev_info_regs->asic_rev); in ionic_init_devinfo()
38 memcpy_fromio(idev->dev_info.fw_version, in ionic_init_devinfo()
39 idev->dev_info_regs->fw_version, in ionic_init_devinfo()
42 memcpy_fromio(idev->dev_info.serial_num, in ionic_init_devinfo()
43 idev->dev_info_regs->serial_num, in ionic_init_devinfo()
46 idev->dev_info.fw_version[IONIC_DEVINFO_FWVERS_BUFLEN] = 0; in ionic_init_devinfo()
47 idev->dev_info.serial_num[IONIC_DEVINFO_SERIAL_BUFLEN] = 0; in ionic_init_devinfo()
49 dev_dbg(ionic->dev, "fw_version %s\n", idev->dev_info.fw_version); in ionic_init_devinfo()
56 struct ionic_dev *idev = &ionic->idev; in ionic_dev_setup() local
72 idev->dev_info_regs = bar->vaddr + IONIC_BAR0_DEV_INFO_REGS_OFFSET; in ionic_dev_setup()
73 idev->dev_cmd_regs = bar->vaddr + IONIC_BAR0_DEV_CMD_REGS_OFFSET; in ionic_dev_setup()
74 idev->intr_status = bar->vaddr + IONIC_BAR0_INTR_STATUS_OFFSET; in ionic_dev_setup()
75 idev->intr_ctrl = bar->vaddr + IONIC_BAR0_INTR_CTRL_OFFSET; in ionic_dev_setup()
77 sig = ioread32(&idev->dev_info_regs->signature); in ionic_dev_setup()
92 idev->last_fw_status = 0xff; in ionic_dev_setup()
98 idev->db_pages = bar->vaddr; in ionic_dev_setup()
99 idev->phy_db_pages = bar->bus_addr; in ionic_dev_setup()
107 struct ionic_dev *idev = &ionic->idev; in ionic_heartbeat_check() local
114 if (time_before(hb_time, (idev->last_hb_time + ionic->watchdog_period))) in ionic_heartbeat_check()
120 fw_status = ioread8(&idev->dev_info_regs->fw_status); in ionic_heartbeat_check()
125 if (fw_status != idev->last_fw_status && in ionic_heartbeat_check()
126 idev->last_fw_status != 0xff) { in ionic_heartbeat_check()
155 idev->last_fw_status = fw_status; in ionic_heartbeat_check()
161 hb = ioread32(&idev->dev_info_regs->fw_heartbeat); in ionic_heartbeat_check()
166 if (hb == idev->last_hb) { in ionic_heartbeat_check()
168 if (idev->last_hb_time != 1) { in ionic_heartbeat_check()
170 idev->last_hb); in ionic_heartbeat_check()
171 idev->last_hb_time = 1; in ionic_heartbeat_check()
177 if (idev->last_hb_time == 1) in ionic_heartbeat_check()
180 idev->last_hb = hb; in ionic_heartbeat_check()
181 idev->last_hb_time = hb_time; in ionic_heartbeat_check()
186 u8 ionic_dev_cmd_status(struct ionic_dev *idev) in ionic_dev_cmd_status() argument
188 return ioread8(&idev->dev_cmd_regs->comp.comp.status); in ionic_dev_cmd_status()
191 bool ionic_dev_cmd_done(struct ionic_dev *idev) in ionic_dev_cmd_done() argument
193 return ioread32(&idev->dev_cmd_regs->done) & IONIC_DEV_CMD_DONE; in ionic_dev_cmd_done()
196 void ionic_dev_cmd_comp(struct ionic_dev *idev, union ionic_dev_cmd_comp *comp) in ionic_dev_cmd_comp() argument
198 memcpy_fromio(comp, &idev->dev_cmd_regs->comp, sizeof(*comp)); in ionic_dev_cmd_comp()
201 void ionic_dev_cmd_go(struct ionic_dev *idev, union ionic_dev_cmd *cmd) in ionic_dev_cmd_go() argument
203 memcpy_toio(&idev->dev_cmd_regs->cmd, cmd, sizeof(*cmd)); in ionic_dev_cmd_go()
204 iowrite32(0, &idev->dev_cmd_regs->done); in ionic_dev_cmd_go()
205 iowrite32(1, &idev->dev_cmd_regs->doorbell); in ionic_dev_cmd_go()
209 void ionic_dev_cmd_identify(struct ionic_dev *idev, u8 ver) in ionic_dev_cmd_identify() argument
216 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_identify()
219 void ionic_dev_cmd_init(struct ionic_dev *idev) in ionic_dev_cmd_init() argument
226 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_init()
229 void ionic_dev_cmd_reset(struct ionic_dev *idev) in ionic_dev_cmd_reset() argument
235 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_reset()
239 void ionic_dev_cmd_port_identify(struct ionic_dev *idev) in ionic_dev_cmd_port_identify() argument
246 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_identify()
249 void ionic_dev_cmd_port_init(struct ionic_dev *idev) in ionic_dev_cmd_port_init() argument
254 .port_init.info_pa = cpu_to_le64(idev->port_info_pa), in ionic_dev_cmd_port_init()
257 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_init()
260 void ionic_dev_cmd_port_reset(struct ionic_dev *idev) in ionic_dev_cmd_port_reset() argument
267 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_reset()
270 void ionic_dev_cmd_port_state(struct ionic_dev *idev, u8 state) in ionic_dev_cmd_port_state() argument
279 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_state()
282 void ionic_dev_cmd_port_speed(struct ionic_dev *idev, u32 speed) in ionic_dev_cmd_port_speed() argument
291 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_speed()
294 void ionic_dev_cmd_port_autoneg(struct ionic_dev *idev, u8 an_enable) in ionic_dev_cmd_port_autoneg() argument
303 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_autoneg()
306 void ionic_dev_cmd_port_fec(struct ionic_dev *idev, u8 fec_type) in ionic_dev_cmd_port_fec() argument
315 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_fec()
318 void ionic_dev_cmd_port_pause(struct ionic_dev *idev, u8 pause_type) in ionic_dev_cmd_port_pause() argument
327 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_port_pause()
381 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_set_vf_config()
389 void ionic_dev_cmd_queue_identify(struct ionic_dev *idev, in ionic_dev_cmd_queue_identify() argument
399 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_queue_identify()
402 void ionic_dev_cmd_lif_identify(struct ionic_dev *idev, u8 type, u8 ver) in ionic_dev_cmd_lif_identify() argument
410 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_lif_identify()
413 void ionic_dev_cmd_lif_init(struct ionic_dev *idev, u16 lif_index, in ionic_dev_cmd_lif_init() argument
422 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_lif_init()
425 void ionic_dev_cmd_lif_reset(struct ionic_dev *idev, u16 lif_index) in ionic_dev_cmd_lif_reset() argument
432 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_lif_reset()
435 void ionic_dev_cmd_adminq_init(struct ionic_dev *idev, struct ionic_qcq *qcq, in ionic_dev_cmd_adminq_init() argument
456 ionic_dev_cmd_go(idev, &cmd); in ionic_dev_cmd_adminq_init()
532 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev, in ionic_q_init() argument
547 q->idev = idev; in ionic_q_init()