sys/arch/arc/dti/btl.c
400
sc->sc_link.adapter = &sc->sc_adapter;
sys/arch/arm/nvidia/tegra_drm.h
119
struct i2c_adapter *adapter;
sys/dev/ic/ciss.c
488
sc->sc_link_raw.adapter = &ciss_raw_switch;
sys/dev/ic/iha.c
507
conf = &eeprom.adapter[0];
sys/dev/ic/ihavar.h
269
struct eeprom_adapter adapter[2]; /* 0x0c */
sys/dev/ic/isp_netbsd.c
106
isp->isp_osinfo.adapter.adapt_max_periph = uimin(isp->isp_maxcmds, 255);
sys/dev/ic/isp_netbsd.c
107
isp->isp_osinfo.adapter.adapt_ioctl = ispioctl;
sys/dev/ic/isp_netbsd.c
108
isp->isp_osinfo.adapter.adapt_request = isprequest;
sys/dev/ic/isp_netbsd.c
110
isp->isp_osinfo.adapter.adapt_minphys = ispminphys_1020;
sys/dev/ic/isp_netbsd.c
112
isp->isp_osinfo.adapter.adapt_minphys = ispminphys;
sys/dev/ic/isp_netbsd.c
129
for (i = 0; i != isp->isp_osinfo.adapter.adapt_nchannels; i++) {
sys/dev/ic/isp_netbsd.c
131
&isp->isp_osinfo.adapter;
sys/dev/ic/isp_netbsd.c
179
for (i = 0; i < isp->isp_osinfo.adapter.adapt_nchannels; i++) {
sys/dev/ic/isp_netbsd.c
98
isp->isp_osinfo.adapter.adapt_dev = self;
sys/dev/ic/isp_netbsd.c
99
isp->isp_osinfo.adapter.adapt_openings = isp->isp_maxcmds;
sys/dev/ic/isp_netbsd.h
74
struct scsipi_adapter adapter;
sys/dev/pci/cxgb/cxgb_adapter.h
102
struct adapter *adapter;
sys/dev/pci/cxgb/cxgb_adapter.h
314
TAILQ_ENTRY(adapter) adapter_entry;
sys/dev/pci/cxgb/cxgb_adapter.h
399
#define MDIO_LOCK(adapter) mtx_lock(&(adapter)->mdio_lock)
sys/dev/pci/cxgb/cxgb_adapter.h
400
#define MDIO_UNLOCK(adapter) mtx_unlock(&(adapter)->mdio_lock)
sys/dev/pci/cxgb/cxgb_adapter.h
401
#define ELMR_LOCK(adapter) mtx_lock(&(adapter)->elmer_lock)
sys/dev/pci/cxgb/cxgb_adapter.h
402
#define ELMR_UNLOCK(adapter) mtx_unlock(&(adapter)->elmer_lock)
sys/dev/pci/cxgb/cxgb_adapter.h
433
t3_read_reg(adapter_t *adapter, uint32_t reg_addr)
sys/dev/pci/cxgb/cxgb_adapter.h
435
return (bus_space_read_4(adapter->bt, adapter->bh, reg_addr));
sys/dev/pci/cxgb/cxgb_adapter.h
439
t3_write_reg(adapter_t *adapter, uint32_t reg_addr, uint32_t val)
sys/dev/pci/cxgb/cxgb_adapter.h
441
bus_space_write_4(adapter->bt, adapter->bh, reg_addr, val);
sys/dev/pci/cxgb/cxgb_adapter.h
445
t3_os_pci_read_config_4(adapter_t *adapter, int reg, uint32_t *val)
sys/dev/pci/cxgb/cxgb_adapter.h
447
*val = pci_conf_read(adapter->pa.pa_pc, adapter->pa.pa_tag, reg);
sys/dev/pci/cxgb/cxgb_adapter.h
451
t3_os_pci_write_config_4(adapter_t *adapter, int reg, uint32_t val)
sys/dev/pci/cxgb/cxgb_adapter.h
453
pci_conf_write(adapter->pa.pa_pc, adapter->pa.pa_tag, reg, val);
sys/dev/pci/cxgb/cxgb_adapter.h
457
t3_os_pci_read_config_2(adapter_t *adapter, int reg, uint16_t *val)
sys/dev/pci/cxgb/cxgb_adapter.h
460
temp = pci_conf_read(adapter->pa.pa_pc, adapter->pa.pa_tag, reg&0xfc);
sys/dev/pci/cxgb/cxgb_adapter.h
468
t3_os_pci_write_config_2(adapter_t *adapter, int reg, uint16_t val)
sys/dev/pci/cxgb/cxgb_adapter.h
470
uint32_t temp = pci_conf_read(adapter->pa.pa_pc, adapter->pa.pa_tag, reg&0xfc);
sys/dev/pci/cxgb/cxgb_adapter.h
475
pci_conf_write(adapter->pa.pa_pc, adapter->pa.pa_tag, reg&0xfc, temp);
sys/dev/pci/cxgb/cxgb_adapter.h
498
adap2pinfo(struct adapter *adap, int idx)
sys/dev/pci/cxgb/cxgb_adapter.h
503
int t3_os_find_pci_capability(adapter_t *adapter, int cap);
sys/dev/pci/cxgb/cxgb_adapter.h
504
int t3_os_pci_save_state(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_adapter.h
505
int t3_os_pci_restore_state(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_adapter.h
506
void t3_os_link_changed(adapter_t *adapter, int port_id, int link_status,
sys/dev/pci/cxgb/cxgb_adapter.h
508
void t3_sge_err_intr_handler(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_adapter.h
510
void t3_os_ext_intr_handler(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_adapter.h
511
void t3_os_set_hw_addr(adapter_t *adapter, int port_idx, u8 hw_addr[]);
sys/dev/pci/cxgb/cxgb_adapter.h
515
int t3_sge_alloc(struct adapter *);
sys/dev/pci/cxgb/cxgb_adapter.h
516
int t3_sge_free(struct adapter *);
sys/dev/pci/cxgb/cxgb_adapter.h
533
void t3_rx_eth(struct adapter *adap, struct sge_rspq *rq, struct mbuf *m, int ethpad);
sys/dev/pci/cxgb/cxgb_adapter.h
565
static __inline struct adapter *
sys/dev/pci/cxgb/cxgb_adapter.h
568
return container_of(d, struct adapter, tdev);
sys/dev/pci/cxgb/cxgb_adapter.h
574
static __inline int offload_running(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_adapter.h
576
return isset(&adapter->open_device_map, OFFLOAD_DEVMAP_BIT);
sys/dev/pci/cxgb/cxgb_adapter.h
60
struct adapter;
sys/dev/pci/cxgb/cxgb_adapter.h
97
struct adapter *parent;
sys/dev/pci/cxgb/cxgb_ael1002.c
144
void t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_ael1002.c
147
cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_ael1002.c
217
void t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_ael1002.c
220
cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_ael1002.c
252
void t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_ael1002.c
257
cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_ael1002.c
279
status = t3_read_reg(phy->adapter,
sys/dev/pci/cxgb/cxgb_ael1002.c
281
t3_read_reg(phy->adapter,
sys/dev/pci/cxgb/cxgb_ael1002.c
283
t3_read_reg(phy->adapter,
sys/dev/pci/cxgb/cxgb_ael1002.c
285
t3_read_reg(phy->adapter,
sys/dev/pci/cxgb/cxgb_ael1002.c
329
void t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_ael1002.c
332
cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_ael1002.c
56
t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, 0, tx_on_gpio);
sys/dev/pci/cxgb/cxgb_common.h
139
int (*read)(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_common.h
141
int (*write)(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_common.h
159
void (*phy_prep)(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
436
adapter_t *adapter;
sys/dev/pci/cxgb/cxgb_common.h
450
adapter_t *adapter; /* backpointer to adapter */
sys/dev/pci/cxgb/cxgb_common.h
464
adapter_t *adapter;
sys/dev/pci/cxgb/cxgb_common.h
532
adapter_t *adapter; /* associated adapter */
sys/dev/pci/cxgb/cxgb_common.h
535
int (*mdio_read)(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_common.h
537
int (*mdio_write)(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_common.h
545
return phy->mdio_read(phy->adapter, phy->addr, mmd, reg, valp);
sys/dev/pci/cxgb/cxgb_common.h
551
return phy->mdio_write(phy->adapter, phy->addr, mmd, reg, val);
sys/dev/pci/cxgb/cxgb_common.h
555
static __inline void cphy_init(struct cphy *phy, adapter_t *adapter,
sys/dev/pci/cxgb/cxgb_common.h
559
phy->adapter = adapter;
sys/dev/pci/cxgb/cxgb_common.h
592
#define for_each_port(adapter, iter) \
sys/dev/pci/cxgb/cxgb_common.h
593
for (iter = 0; iter < (adapter)->params.nports; ++iter)
sys/dev/pci/cxgb/cxgb_common.h
633
void t3_write_regs(adapter_t *adapter, const struct addr_val_pair *p, int n,
sys/dev/pci/cxgb/cxgb_common.h
635
int t3_wait_op_done_val(adapter_t *adapter, int reg, u32 mask, int polarity,
sys/dev/pci/cxgb/cxgb_common.h
638
static __inline int t3_wait_op_done(adapter_t *adapter, int reg, u32 mask,
sys/dev/pci/cxgb/cxgb_common.h
641
return t3_wait_op_done_val(adapter, reg, mask, polarity, attempts,
sys/dev/pci/cxgb/cxgb_common.h
651
void t3_intr_enable(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
652
void t3_intr_disable(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
653
void t3_intr_clear(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
654
void t3_port_intr_enable(adapter_t *adapter, int idx);
sys/dev/pci/cxgb/cxgb_common.h
655
void t3_port_intr_disable(adapter_t *adapter, int idx);
sys/dev/pci/cxgb/cxgb_common.h
656
void t3_port_intr_clear(adapter_t *adapter, int idx);
sys/dev/pci/cxgb/cxgb_common.h
657
int t3_slow_intr_handler(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
658
int t3_phy_intr_handler(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
660
void t3_link_changed(adapter_t *adapter, int port_id);
sys/dev/pci/cxgb/cxgb_common.h
663
int t3_seeprom_read(adapter_t *adapter, u32 addr, u32 *data);
sys/dev/pci/cxgb/cxgb_common.h
664
int t3_seeprom_write(adapter_t *adapter, u32 addr, u32 data);
sys/dev/pci/cxgb/cxgb_common.h
665
int t3_seeprom_wp(adapter_t *adapter, int enable);
sys/dev/pci/cxgb/cxgb_common.h
666
int t3_read_flash(adapter_t *adapter, unsigned int addr, unsigned int nwords,
sys/dev/pci/cxgb/cxgb_common.h
668
int t3_get_tp_version(adapter_t *adapter, u32 *vers);
sys/dev/pci/cxgb/cxgb_common.h
669
int t3_check_tpsram_version(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
670
int t3_check_tpsram(adapter_t *adapter, const u8 *tp_ram, unsigned int size);
sys/dev/pci/cxgb/cxgb_common.h
671
int t3_load_fw(adapter_t *adapter, const u8 *fw_data, unsigned int size);
sys/dev/pci/cxgb/cxgb_common.h
672
int t3_get_fw_version(adapter_t *adapter, u32 *vers);
sys/dev/pci/cxgb/cxgb_common.h
673
int t3_check_fw_version(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
674
int t3_init_hw(adapter_t *adapter, u32 fw_params);
sys/dev/pci/cxgb/cxgb_common.h
675
void mac_prep(struct cmac *mac, adapter_t *adapter, int index);
sys/dev/pci/cxgb/cxgb_common.h
676
void early_hw_init(adapter_t *adapter, const struct adapter_info *ai);
sys/dev/pci/cxgb/cxgb_common.h
677
int t3_prep_adapter(adapter_t *adapter, const struct adapter_info *ai, int reset);
sys/dev/pci/cxgb/cxgb_common.h
678
void t3_led_ready(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
679
void t3_fatal_err(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
680
void t3_set_vlan_accel(adapter_t *adapter, unsigned int ports, int on);
sys/dev/pci/cxgb/cxgb_common.h
682
void t3_config_rss(adapter_t *adapter, unsigned int rss_config, const u8 *cpus,
sys/dev/pci/cxgb/cxgb_common.h
684
int t3_read_rss(adapter_t *adapter, u8 *lkup, u16 *map);
sys/dev/pci/cxgb/cxgb_common.h
687
void t3_port_failover(adapter_t *adapter, int port);
sys/dev/pci/cxgb/cxgb_common.h
688
void t3_failover_done(adapter_t *adapter, int port);
sys/dev/pci/cxgb/cxgb_common.h
689
void t3_failover_clear(adapter_t *adapter);
sys/dev/pci/cxgb/cxgb_common.h
708
void t3_mc5_prep(adapter_t *adapter, struct mc5 *mc5, int mode);
sys/dev/pci/cxgb/cxgb_common.h
726
void t3_config_trace_filter(adapter_t *adapter, const struct trace_params *tp,
sys/dev/pci/cxgb/cxgb_common.h
739
int t3_sge_init_ecntxt(adapter_t *adapter, unsigned int id, int gts_enable,
sys/dev/pci/cxgb/cxgb_common.h
743
int t3_sge_init_flcntxt(adapter_t *adapter, unsigned int id, int gts_enable,
sys/dev/pci/cxgb/cxgb_common.h
746
int t3_sge_init_rspcntxt(adapter_t *adapter, unsigned int id, int irq_vec_idx,
sys/dev/pci/cxgb/cxgb_common.h
749
int t3_sge_init_cqcntxt(adapter_t *adapter, unsigned int id, u64 base_addr,
sys/dev/pci/cxgb/cxgb_common.h
752
int t3_sge_enable_ecntxt(adapter_t *adapter, unsigned int id, int enable);
sys/dev/pci/cxgb/cxgb_common.h
753
int t3_sge_disable_fl(adapter_t *adapter, unsigned int id);
sys/dev/pci/cxgb/cxgb_common.h
754
int t3_sge_disable_rspcntxt(adapter_t *adapter, unsigned int id);
sys/dev/pci/cxgb/cxgb_common.h
755
int t3_sge_disable_cqcntxt(adapter_t *adapter, unsigned int id);
sys/dev/pci/cxgb/cxgb_common.h
756
int t3_sge_read_ecntxt(adapter_t *adapter, unsigned int id, u32 data[4]);
sys/dev/pci/cxgb/cxgb_common.h
757
int t3_sge_read_fl(adapter_t *adapter, unsigned int id, u32 data[4]);
sys/dev/pci/cxgb/cxgb_common.h
758
int t3_sge_read_cq(adapter_t *adapter, unsigned int id, u32 data[4]);
sys/dev/pci/cxgb/cxgb_common.h
759
int t3_sge_read_rspq(adapter_t *adapter, unsigned int id, u32 data[4]);
sys/dev/pci/cxgb/cxgb_common.h
760
int t3_sge_cqcntxt_op(adapter_t *adapter, unsigned int id, unsigned int op,
sys/dev/pci/cxgb/cxgb_common.h
773
void t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
775
void t3_vsc8211_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
777
void t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
779
void t3_ael1006_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
781
void t3_qt2045_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_common.h
783
void t3_xaui_direct_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_lro.c
195
t3_rx_eth(qs->port->adapter, &qs->rspq, sm, 2);
sys/dev/pci/cxgb/cxgb_main.c
101
static void cxgb_free(struct adapter *);
sys/dev/pci/cxgb/cxgb_main.c
102
static __inline void reg_block_dump(struct adapter *ap, uint8_t *buf, unsigned int start,
sys/dev/pci/cxgb/cxgb_main.c
1048
send_pktsched_cmd(struct adapter *adap, int sched, int qidx, int lo,
sys/dev/pci/cxgb/cxgb_main.c
1095
cxgb_up(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
111
CFATTACH_DECL_NEW(cxgbc, sizeof(struct adapter), cxgb_controller_match, cxgb_controller_attach, cxgb_controller_detach, NULL);
sys/dev/pci/cxgb/cxgb_main.c
1164
cxgb_down_locked(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
1201
adapter_t *sc = p->adapter;
sys/dev/pci/cxgb/cxgb_main.c
1207
ADAPTER_LOCK(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1209
ADAPTER_UNLOCK(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1213
if (p->adapter->open_device_map == 0) {
sys/dev/pci/cxgb/cxgb_main.c
1217
setbit(&p->adapter->open_device_map, p->port_id);
sys/dev/pci/cxgb/cxgb_main.c
1218
ADAPTER_UNLOCK(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1252
ADAPTER_LOCK_ASSERT_NOTOWNED(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1256
t3_port_intr_disable(p->adapter, p->port_id);
sys/dev/pci/cxgb/cxgb_main.c
1261
ADAPTER_LOCK(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1262
clrbit(&p->adapter->open_device_map, p->port_id);
sys/dev/pci/cxgb/cxgb_main.c
1265
if (p->adapter->open_device_map == 0) {
sys/dev/pci/cxgb/cxgb_main.c
1266
cxgb_down_locked(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1268
ADAPTER_UNLOCK(p->adapter);
sys/dev/pci/cxgb/cxgb_main.c
1287
callout_stop(&p->adapter->cxgb_tick_ch);
sys/dev/pci/cxgb/cxgb_main.c
1331
callout_drain(&p->adapter->cxgb_tick_ch);
sys/dev/pci/cxgb/cxgb_main.c
1346
adapter_t *sc = p->adapter;
sys/dev/pci/cxgb/cxgb_main.c
1390
qs = &p->adapter->sge.qs[p->first_qset];
sys/dev/pci/cxgb/cxgb_main.c
1464
qs = &pi->adapter->sge.qs[pi->first_qset];
sys/dev/pci/cxgb/cxgb_main.c
1483
qs = &pi->adapter->sge.qs[pi->first_qset];
sys/dev/pci/cxgb/cxgb_main.c
1594
check_t3b2_mac(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_main.c
1598
for_each_port(adapter, i) {
sys/dev/pci/cxgb/cxgb_main.c
1599
struct port_info *p = &adapter->port[i];
sys/dev/pci/cxgb/cxgb_main.c
1621
t3_port_intr_enable(adapter, p->port_id);
sys/dev/pci/cxgb/cxgb_main.c
1679
reg_block_dump(struct adapter *ap, uint8_t *buf, unsigned int start,
sys/dev/pci/cxgb/cxgb_main.c
205
t3rev2char(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_main.c
209
switch(adapter->params.rev) {
sys/dev/pci/cxgb/cxgb_main.c
296
struct adapter *sc;
sys/dev/pci/cxgb/cxgb_main.c
460
pi->adapter = sc;
sys/dev/pci/cxgb/cxgb_main.c
505
struct adapter *sc;
sys/dev/pci/cxgb/cxgb_main.c
515
cxgb_free(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
737
if (p->adapter->params.nports > 2) {
sys/dev/pci/cxgb/cxgb_main.c
747
if (p->adapter->params.nports <= 2)
sys/dev/pci/cxgb/cxgb_main.c
820
t3_fatal_err(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
876
t3_os_pci_save_state(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
883
t3_os_pci_restore_state(struct adapter *sc)
sys/dev/pci/cxgb/cxgb_main.c
903
t3_os_link_changed(adapter_t *adapter, int port_id, int link_status, int speed,
sys/dev/pci/cxgb/cxgb_main.c
906
struct port_info *pi = &adapter->port[port_id];
sys/dev/pci/cxgb/cxgb_main.c
907
struct cmac *mac = &adapter->port[port_id].mac;
sys/dev/pci/cxgb/cxgb_main.c
91
static void cxgb_down_locked(struct adapter *sc);
sys/dev/pci/cxgb/cxgb_main.c
947
t3_os_set_hw_addr(adapter_t *adapter, int port_idx, u8 hw_addr[])
sys/dev/pci/cxgb/cxgb_main.c
958
memcpy(adapter->port[port_idx].hw_addr, hw_addr, ETHER_ADDR_LEN);
sys/dev/pci/cxgb/cxgb_mc5.c
101
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_CMD, cmd);
sys/dev/pci/cxgb/cxgb_mc5.c
102
return t3_wait_op_done(adapter, A_MC5_DB_DBGI_RSP_STATUS,
sys/dev/pci/cxgb/cxgb_mc5.c
106
static inline void dbgi_wr_addr3(adapter_t *adapter, u32 v1, u32 v2, u32 v3)
sys/dev/pci/cxgb/cxgb_mc5.c
108
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_ADDR0, v1);
sys/dev/pci/cxgb/cxgb_mc5.c
109
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_ADDR1, v2);
sys/dev/pci/cxgb/cxgb_mc5.c
110
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_ADDR2, v3);
sys/dev/pci/cxgb/cxgb_mc5.c
113
static inline void dbgi_wr_data3(adapter_t *adapter, u32 v1, u32 v2, u32 v3)
sys/dev/pci/cxgb/cxgb_mc5.c
115
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA0, v1);
sys/dev/pci/cxgb/cxgb_mc5.c
116
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA1, v2);
sys/dev/pci/cxgb/cxgb_mc5.c
117
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_DATA2, v3);
sys/dev/pci/cxgb/cxgb_mc5.c
120
static inline void dbgi_rd_rsp3(adapter_t *adapter, u32 *v1, u32 *v2, u32 *v3)
sys/dev/pci/cxgb/cxgb_mc5.c
122
*v1 = t3_read_reg(adapter, A_MC5_DB_DBGI_RSP_DATA0);
sys/dev/pci/cxgb/cxgb_mc5.c
123
*v2 = t3_read_reg(adapter, A_MC5_DB_DBGI_RSP_DATA1);
sys/dev/pci/cxgb/cxgb_mc5.c
124
*v3 = t3_read_reg(adapter, A_MC5_DB_DBGI_RSP_DATA2);
sys/dev/pci/cxgb/cxgb_mc5.c
132
static int mc5_write(adapter_t *adapter, u32 addr_lo, u32 cmd)
sys/dev/pci/cxgb/cxgb_mc5.c
134
t3_write_reg(adapter, A_MC5_DB_DBGI_REQ_ADDR0, addr_lo);
sys/dev/pci/cxgb/cxgb_mc5.c
135
if (mc5_cmd_write(adapter, cmd) == 0)
sys/dev/pci/cxgb/cxgb_mc5.c
137
CH_ERR(adapter, "MC5 timeout writing to TCAM address 0x%x\n", addr_lo);
sys/dev/pci/cxgb/cxgb_mc5.c
146
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
194
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
258
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
318
t3_set_reg_field(mc5->adapter, A_MC5_DB_CONFIG, F_PRTYEN | F_MBUSEN,
sys/dev/pci/cxgb/cxgb_mc5.c
325
t3_set_reg_field(mc5->adapter, A_MC5_DB_CONFIG, F_DBGIEN,
sys/dev/pci/cxgb/cxgb_mc5.c
339
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
401
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
433
adapter_t *adap = mc5->adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
465
void __devinit t3_mc5_prep(adapter_t *adapter, struct mc5 *mc5, int mode)
sys/dev/pci/cxgb/cxgb_mc5.c
475
u32 cfg = t3_read_reg(adapter, A_MC5_DB_CONFIG);
sys/dev/pci/cxgb/cxgb_mc5.c
477
mc5->adapter = adapter;
sys/dev/pci/cxgb/cxgb_mc5.c
99
static int mc5_cmd_write(adapter_t *adapter, u32 cmd)
sys/dev/pci/cxgb/cxgb_mv88e1xxx.c
292
void t3_mv88e1xxx_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_mv88e1xxx.c
295
cphy_init(phy, adapter, phy_addr, &mv88e1xxx_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_offload.c
1357
cxgb_offload_activate(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_offload.c
1359
struct toedev *dev = &adapter->tdev;
sys/dev/pci/cxgb/cxgb_offload.c
1395
t->tid_release_task.context = adapter;
sys/dev/pci/cxgb/cxgb_offload.c
1413
add_adapter(adapter);
sys/dev/pci/cxgb/cxgb_offload.c
1426
cxgb_offload_deactivate(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_offload.c
1428
struct toedev *tdev = &adapter->tdev;
sys/dev/pci/cxgb/cxgb_offload.c
1431
remove_adapter(adapter);
sys/dev/pci/cxgb/cxgb_offload.c
1465
cxgb_adapter_ofld(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_offload.c
1467
struct toedev *tdev = &adapter->tdev;
sys/dev/pci/cxgb/cxgb_offload.c
1472
tdev->type = adapter->params.rev == 0 ?
sys/dev/pci/cxgb/cxgb_offload.c
1482
cxgb_adapter_unofld(struct adapter *adapter)
sys/dev/pci/cxgb/cxgb_offload.c
1484
struct toedev *tdev = &adapter->tdev;
sys/dev/pci/cxgb/cxgb_offload.c
173
struct adapter *adapter;
sys/dev/pci/cxgb/cxgb_offload.c
177
TAILQ_FOREACH(adapter, &adapter_list, adapter_entry) {
sys/dev/pci/cxgb/cxgb_offload.c
178
for_each_port(adapter, port) {
sys/dev/pci/cxgb/cxgb_offload.c
179
if (ifp == adapter->port[port].ifp) {
sys/dev/pci/cxgb/cxgb_offload.c
190
get_iff_from_mac(adapter_t *adapter, const uint8_t *mac, unsigned int vlan)
sys/dev/pci/cxgb/cxgb_offload.c
195
for_each_port(adapter, i) {
sys/dev/pci/cxgb/cxgb_offload.c
197
const struct port_info *p = &adapter->port[i];
sys/dev/pci/cxgb/cxgb_offload.c
215
failover_fixup(adapter_t *adapter, int port)
sys/dev/pci/cxgb/cxgb_offload.c
217
if (adapter->params.rev == 0) {
sys/dev/pci/cxgb/cxgb_offload.c
218
struct ifnet *ifp = adapter->port[port].ifp;
sys/dev/pci/cxgb/cxgb_offload.c
219
struct cmac *mac = &adapter->port[port].mac;
sys/dev/pci/cxgb/cxgb_offload.c
222
t3_write_reg(adapter, A_XGM_TX_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_offload.c
224
t3_read_reg(adapter, A_XGM_TX_CTRL + mac->offset);
sys/dev/pci/cxgb/cxgb_offload.c
227
t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset, 0);
sys/dev/pci/cxgb/cxgb_offload.c
228
t3_read_reg(adapter, A_XGM_RX_CTRL + mac->offset);
sys/dev/pci/cxgb/cxgb_offload.c
229
t3_write_reg(adapter, A_XGM_RX_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_offload.c
236
cxgb_ulp_iscsi_ctl(adapter_t *adapter, unsigned int req, void *data)
sys/dev/pci/cxgb/cxgb_offload.c
243
uiip->llimit = t3_read_reg(adapter, A_ULPRX_ISCSI_LLIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
244
uiip->ulimit = t3_read_reg(adapter, A_ULPRX_ISCSI_ULIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
245
uiip->tagmask = t3_read_reg(adapter, A_ULPRX_ISCSI_TAGMASK);
sys/dev/pci/cxgb/cxgb_offload.c
250
uiip->max_txsz = uimin(adapter->params.tp.tx_pg_size,
sys/dev/pci/cxgb/cxgb_offload.c
251
t3_read_reg(adapter, A_PM1_TX_CFG) >> 17);
sys/dev/pci/cxgb/cxgb_offload.c
255
(unsigned int)uimin(adapter->params.tp.rx_pg_size,
sys/dev/pci/cxgb/cxgb_offload.c
256
(adapter->sge.qs[0].fl[1].buf_size -
sys/dev/pci/cxgb/cxgb_offload.c
261
t3_write_reg(adapter, A_ULPRX_ISCSI_TAGMASK, uiip->tagmask);
sys/dev/pci/cxgb/cxgb_offload.c
273
cxgb_rdma_ctl(adapter_t *adapter, unsigned int req, void *data)
sys/dev/pci/cxgb/cxgb_offload.c
281
req2->tpt_base = t3_read_reg(adapter, A_ULPTX_TPT_LLIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
282
req2->tpt_top = t3_read_reg(adapter, A_ULPTX_TPT_ULIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
283
req2->pbl_base = t3_read_reg(adapter, A_ULPTX_PBL_LLIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
284
req2->pbl_top = t3_read_reg(adapter, A_ULPTX_PBL_ULIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
285
req2->rqt_base = t3_read_reg(adapter, A_ULPRX_RQ_LLIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
286
req2->rqt_top = t3_read_reg(adapter, A_ULPRX_RQ_ULIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
293
mtx_lock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
294
ret = t3_sge_cqcntxt_op(adapter, req2->id, req2->op,
sys/dev/pci/cxgb/cxgb_offload.c
296
mtx_unlock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
306
mem = &adapter->cm;
sys/dev/pci/cxgb/cxgb_offload.c
308
mem = &adapter->pmrx;
sys/dev/pci/cxgb/cxgb_offload.c
310
mem = &adapter->pmtx;
sys/dev/pci/cxgb/cxgb_offload.c
322
mtx_lock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
323
ret = t3_sge_init_cqcntxt(adapter, req2->id, req2->base_addr,
sys/dev/pci/cxgb/cxgb_offload.c
327
mtx_unlock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
331
mtx_lock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
332
ret = t3_sge_disable_cqcntxt(adapter, *(unsigned int *)data);
sys/dev/pci/cxgb/cxgb_offload.c
333
mtx_unlock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
338
mtx_lock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
339
ret = t3_sge_init_ecntxt(adapter, FW_RI_SGEEC_START, 0,
sys/dev/pci/cxgb/cxgb_offload.c
343
mtx_unlock(&adapter->sge.reg_lock);
sys/dev/pci/cxgb/cxgb_offload.c
355
struct adapter *adapter = tdev2adap(tdev);
sys/dev/pci/cxgb/cxgb_offload.c
375
tid->num = t3_mc5_size(&adapter->mc5) -
sys/dev/pci/cxgb/cxgb_offload.c
376
adapter->params.mc5.nroutes -
sys/dev/pci/cxgb/cxgb_offload.c
377
adapter->params.mc5.nfilters -
sys/dev/pci/cxgb/cxgb_offload.c
378
adapter->params.mc5.nservers;
sys/dev/pci/cxgb/cxgb_offload.c
383
tid->num = adapter->params.mc5.nservers;
sys/dev/pci/cxgb/cxgb_offload.c
384
tid->base = t3_mc5_size(&adapter->mc5) - tid->num -
sys/dev/pci/cxgb/cxgb_offload.c
385
adapter->params.mc5.nfilters -
sys/dev/pci/cxgb/cxgb_offload.c
386
adapter->params.mc5.nroutes;
sys/dev/pci/cxgb/cxgb_offload.c
394
mtup->mtus = adapter->params.mtus;
sys/dev/pci/cxgb/cxgb_offload.c
398
iffmacp->dev = get_iff_from_mac(adapter, iffmacp->mac_addr,
sys/dev/pci/cxgb/cxgb_offload.c
403
ddpp->llimit = t3_read_reg(adapter, A_ULPRX_TDDP_LLIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
404
ddpp->ulimit = t3_read_reg(adapter, A_ULPRX_TDDP_ULIMIT);
sys/dev/pci/cxgb/cxgb_offload.c
405
ddpp->tag_mask = t3_read_reg(adapter, A_ULPRX_TDDP_TAGMASK);
sys/dev/pci/cxgb/cxgb_offload.c
409
ports->nports = adapter->params.nports;
sys/dev/pci/cxgb/cxgb_offload.c
410
for_each_port(adapter, port)
sys/dev/pci/cxgb/cxgb_offload.c
411
ports->lldevs[port] = adapter->port[port].ifp;
sys/dev/pci/cxgb/cxgb_offload.c
415
t3_port_failover(adapter, port);
sys/dev/pci/cxgb/cxgb_offload.c
416
failover_fixup(adapter, port);
sys/dev/pci/cxgb/cxgb_offload.c
420
t3_failover_done(adapter, port);
sys/dev/pci/cxgb/cxgb_offload.c
423
t3_failover_clear(adapter);
sys/dev/pci/cxgb/cxgb_offload.c
427
if (!offload_running(adapter))
sys/dev/pci/cxgb/cxgb_offload.c
429
return cxgb_ulp_iscsi_ctl(adapter, req, data);
sys/dev/pci/cxgb/cxgb_offload.c
436
if (!offload_running(adapter))
sys/dev/pci/cxgb/cxgb_offload.c
438
return cxgb_rdma_ctl(adapter, req, data);
sys/dev/pci/cxgb/cxgb_offload.c
66
TAILQ_HEAD(, adapter) adapter_list;
sys/dev/pci/cxgb/cxgb_offload.c
79
struct adapter *adapter = tdev2adap(tdev);
sys/dev/pci/cxgb/cxgb_offload.c
81
return (isset(&adapter->open_device_map, OFFLOAD_DEVMAP_BIT));
sys/dev/pci/cxgb/cxgb_offload.h
46
struct adapter;
sys/dev/pci/cxgb/cxgb_offload.h
52
void cxgb_adapter_ofld(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_offload.h
53
void cxgb_adapter_unofld(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_offload.h
54
int cxgb_offload_activate(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_offload.h
55
void cxgb_offload_deactivate(struct adapter *adapter);
sys/dev/pci/cxgb/cxgb_osdep.h
171
typedef struct adapter adapter_t;
sys/dev/pci/cxgb/cxgb_sge.c
1175
sc = p->adapter;
sys/dev/pci/cxgb/cxgb_sge.c
1296
check_ring_tx_db(p->adapter, txq);
sys/dev/pci/cxgb/cxgb_sge.c
1469
adapter_t *adap = qs->port->adapter;
sys/dev/pci/cxgb/cxgb_sge.c
1504
t3_mgmt_tx(struct adapter *adap, struct mbuf *m)
sys/dev/pci/cxgb/cxgb_sge.c
1850
adapter_t *adap = qs->port->adapter;
sys/dev/pci/cxgb/cxgb_sge.c
2154
t3_rx_eth(struct adapter *adap, struct sge_rspq *rq, struct mbuf *m, int ethpad)
sys/dev/pci/cxgb/cxgb_sge.c
2613
adapter_t *adap = qs->port->adapter;
sys/dev/pci/cxgb/cxgb_sge.c
361
t3_sge_err_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_sge.c
366
status = t3_read_reg(adapter, A_SG_INT_CAUSE);
sys/dev/pci/cxgb/cxgb_sge.c
369
CH_ALERT(adapter, "SGE response queue credit overflow\n");
sys/dev/pci/cxgb/cxgb_sge.c
372
v = t3_read_reg(adapter, A_SG_RSPQ_FL_STATUS);
sys/dev/pci/cxgb/cxgb_sge.c
374
CH_ALERT(adapter,
sys/dev/pci/cxgb/cxgb_sge.c
379
t3_write_reg(adapter, A_SG_INT_CAUSE, status);
sys/dev/pci/cxgb/cxgb_sge.c
381
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_sge.c
437
t3_sge_free(struct adapter * sc)
sys/dev/pci/cxgb/cxgb_sge.c
813
adapter_t *sc = p->adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1001
static int t3_flash_erase_sectors(adapter_t *adapter, int start, int end)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1006
if ((ret = sf1_write(adapter, 1, 0, SF_WR_ENABLE)) != 0 ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
1007
(ret = sf1_write(adapter, 4, 0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1009
(ret = flash_wait_op(adapter, 5, 500)) != 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1027
int t3_load_fw(adapter_t *adapter, const u8 *fw_data, unsigned int size)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1042
CH_ERR(adapter, "corrupted firmware image, checksum %u\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1047
ret = t3_flash_erase_sectors(adapter, fw_sector, fw_sector);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1055
ret = t3_write_flash(adapter, addr, chunk_size, fw_data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
106
void t3_set_reg_field(adapter_t *adapter, unsigned int addr, u32 mask, u32 val)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1064
ret = t3_write_flash(adapter, FW_VERS_ADDR, 4, fw_data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1067
CH_ERR(adapter, "firmware download failed, error %d\n", ret);
sys/dev/pci/cxgb/cxgb_t3_hw.c
108
u32 v = t3_read_reg(adapter, addr) & ~mask;
sys/dev/pci/cxgb/cxgb_t3_hw.c
110
t3_write_reg(adapter, addr, v | val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1109
void t3_link_changed(adapter_t *adapter, int port_id)
sys/dev/pci/cxgb/cxgb_t3_hw.c
111
(void) t3_read_reg(adapter, addr); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
1112
struct port_info *pi = adap2pinfo(adapter, port_id);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1119
if (link_ok != lc->link_ok && adapter->params.rev > 0 &&
sys/dev/pci/cxgb/cxgb_t3_hw.c
1120
uses_xaui(adapter)) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
1123
t3_write_reg(adapter, A_XGM_XAUI_ACT_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1140
t3_os_link_changed(adapter, port_id, link_ok, speed, duplex, fc);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1197
void t3_set_vlan_accel(adapter_t *adapter, unsigned int ports, int on)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1199
t3_set_reg_field(adapter, A_TP_OUT_CONFIG,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1226
static int t3_handle_intr_status(adapter_t *adapter, unsigned int reg,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1232
unsigned int status = t3_read_reg(adapter, reg) & mask;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1238
CH_ALERT(adapter, "%s (0x%x)\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1241
CH_WARN(adapter, "%s (0x%x)\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1247
t3_write_reg(adapter, reg, status);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1296
static void pci_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1324
if (t3_handle_intr_status(adapter, A_PCIX_INT_CAUSE, PCIX_INTR_MASK,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1325
pcix1_intr_info, adapter->irq_stats))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1326
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1332
static void pcie_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1350
if (t3_read_reg(adapter, A_PCIE_INT_CAUSE) & F_PEXERR)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1351
CH_ALERT(adapter, "PEX error code 0x%x\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1352
t3_read_reg(adapter, A_PCIE_PEX_ERR));
sys/dev/pci/cxgb/cxgb_t3_hw.c
1354
if (t3_handle_intr_status(adapter, A_PCIE_INT_CAUSE, PCIE_INTR_MASK,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1355
pcie_intr_info, adapter->irq_stats))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1356
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1362
static void tp_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1371
if (t3_handle_intr_status(adapter, A_TP_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1373
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1379
static void cim_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1397
if (t3_handle_intr_status(adapter, A_CIM_HOST_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1399
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1405
static void ulprx_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1412
if (t3_handle_intr_status(adapter, A_ULPRX_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1414
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1420
static void ulptx_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1430
if (t3_handle_intr_status(adapter, A_ULPTX_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1431
ulptx_intr_info, adapter->irq_stats))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1432
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1447
static void pmtx_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1460
if (t3_handle_intr_status(adapter, A_PM1_TX_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1462
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1477
static void pmrx_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1490
if (t3_handle_intr_status(adapter, A_PM1_RX_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1492
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1498
static void cplsw_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1509
if (t3_handle_intr_status(adapter, A_CPL_INTR_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1511
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1517
static void mps_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1524
if (t3_handle_intr_status(adapter, A_MPS_INT_CAUSE, 0xffffffff,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1526
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1536
adapter_t *adapter = mc7->adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1537
u32 cause = t3_read_reg(adapter, mc7->offset + A_MC7_INT_CAUSE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
154
adapter_t *adap = mc7->adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1541
CH_WARN(adapter, "%s MC7 correctable error at addr 0x%x, "
sys/dev/pci/cxgb/cxgb_t3_hw.c
1543
t3_read_reg(adapter, mc7->offset + A_MC7_CE_ADDR),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1544
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA0),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1545
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA1),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1546
t3_read_reg(adapter, mc7->offset + A_MC7_CE_DATA2));
sys/dev/pci/cxgb/cxgb_t3_hw.c
1551
CH_ALERT(adapter, "%s MC7 uncorrectable error at addr 0x%x, "
sys/dev/pci/cxgb/cxgb_t3_hw.c
1553
t3_read_reg(adapter, mc7->offset + A_MC7_UE_ADDR),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1554
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA0),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1555
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA1),
sys/dev/pci/cxgb/cxgb_t3_hw.c
1556
t3_read_reg(adapter, mc7->offset + A_MC7_UE_DATA2));
sys/dev/pci/cxgb/cxgb_t3_hw.c
1561
CH_ALERT(adapter, "%s MC7 parity error 0x%x\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1568
if (adapter->params.rev > 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1569
addr = t3_read_reg(adapter,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1572
CH_ALERT(adapter, "%s MC7 address error: 0x%x\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
1577
t3_fatal_err(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1579
t3_write_reg(adapter, mc7->offset + A_MC7_INT_CAUSE, cause);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1624
int t3_phy_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1626
u32 mask, gpi = adapter_info(adapter)->gpio_intr;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1627
u32 i, cause = t3_read_reg(adapter, A_T3DBG_INT_CAUSE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1629
for_each_port(adapter, i) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
1630
struct port_info *p = adap2pinfo(adapter, i);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1642
t3_link_changed(adapter, i);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1648
t3_write_reg(adapter, A_T3DBG_INT_CAUSE, cause);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1660
int t3_slow_intr_handler(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1662
u32 cause = t3_read_reg(adapter, A_PL_INT_CAUSE0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1664
cause &= adapter->slow_intr_mask;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1668
if (is_pcie(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1669
pcie_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1671
pci_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1674
t3_sge_err_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1676
mc7_intr_handler(&adapter->pmrx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1678
mc7_intr_handler(&adapter->pmtx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1680
mc7_intr_handler(&adapter->cm);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1682
cim_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1684
tp_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1686
ulprx_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1688
ulptx_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1690
pmrx_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1692
pmtx_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1694
cplsw_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1696
mps_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1698
t3_mc5_intr_handler(&adapter->mc5);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1700
mac_intr_handler(adapter, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1702
mac_intr_handler(adapter, 1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1704
t3_os_ext_intr_handler(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1707
t3_write_reg(adapter, A_PL_INT_CAUSE0, cause);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1708
(void) t3_read_reg(adapter, A_PL_INT_CAUSE0); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
1720
void t3_intr_enable(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1738
adapter->slow_intr_mask = PL_INTR_MASK;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1740
t3_write_regs(adapter, intr_en_avp, ARRAY_SIZE(intr_en_avp), 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1742
if (adapter->params.rev > 0) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
1743
t3_write_reg(adapter, A_CPL_INTR_ENABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1745
t3_write_reg(adapter, A_ULPTX_INT_ENABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1749
t3_write_reg(adapter, A_CPL_INTR_ENABLE, CPLSW_INTR_MASK);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1750
t3_write_reg(adapter, A_ULPTX_INT_ENABLE, ULPTX_INTR_MASK);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1753
t3_write_reg(adapter, A_T3DBG_GPIO_ACT_LOW,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1754
adapter_info(adapter)->gpio_intr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1755
t3_write_reg(adapter, A_T3DBG_INT_ENABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1756
adapter_info(adapter)->gpio_intr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1757
if (is_pcie(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1758
t3_write_reg(adapter, A_PCIE_INT_ENABLE, PCIE_INTR_MASK);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1760
t3_write_reg(adapter, A_PCIX_INT_ENABLE, PCIX_INTR_MASK);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1761
t3_write_reg(adapter, A_PL_INT_ENABLE0, adapter->slow_intr_mask);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1762
(void) t3_read_reg(adapter, A_PL_INT_ENABLE0); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
1772
void t3_intr_disable(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1774
t3_write_reg(adapter, A_PL_INT_ENABLE0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1775
(void) t3_read_reg(adapter, A_PL_INT_ENABLE0); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
1776
adapter->slow_intr_mask = 0;
sys/dev/pci/cxgb/cxgb_t3_hw.c
1785
void t3_intr_clear(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1808
for_each_port(adapter, i)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1809
t3_port_intr_clear(adapter, i);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1812
t3_write_reg(adapter, cause_reg_addr[i], 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1814
if (is_pcie(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
1815
t3_write_reg(adapter, A_PCIE_PEX_ERR, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1816
t3_write_reg(adapter, A_PL_INT_CAUSE0, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1817
(void) t3_read_reg(adapter, A_PL_INT_CAUSE0); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
1828
void t3_port_intr_enable(adapter_t *adapter, int idx)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1830
struct port_info *pi = adap2pinfo(adapter, idx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1832
t3_write_reg(adapter, A_XGM_INT_ENABLE + pi->mac.offset, XGM_INTR_MASK);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1844
void t3_port_intr_disable(adapter_t *adapter, int idx)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1846
struct port_info *pi = adap2pinfo(adapter, idx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1848
t3_write_reg(adapter, A_XGM_INT_ENABLE + pi->mac.offset, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1860
void t3_port_intr_clear(adapter_t *adapter, int idx)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1862
struct port_info *pi = adap2pinfo(adapter, idx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1864
t3_write_reg(adapter, A_XGM_INT_CAUSE + pi->mac.offset, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1879
static int t3_sge_write_context(adapter_t *adapter, unsigned int id,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1882
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1883
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1884
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1885
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1886
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1888
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1909
int t3_sge_init_ecntxt(adapter_t *adapter, unsigned int id, int gts_enable,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1918
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1922
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_EC_INDEX(cidx) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
1924
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, V_EC_SIZE(size) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
1927
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, (u32)base_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1929
t3_write_reg(adapter, A_SG_CONTEXT_DATA3,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1933
return t3_sge_write_context(adapter, id, F_EGRESS);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1952
int t3_sge_init_flcntxt(adapter_t *adapter, unsigned int id, int gts_enable,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1958
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
1962
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, (u32)base_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1964
t3_write_reg(adapter, A_SG_CONTEXT_DATA1,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1967
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, V_FL_SIZE(size) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
1970
t3_write_reg(adapter, A_SG_CONTEXT_DATA3,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1973
return t3_sge_write_context(adapter, id, F_FREELIST);
sys/dev/pci/cxgb/cxgb_t3_hw.c
1991
int t3_sge_init_rspcntxt(adapter_t *adapter, unsigned int id, int irq_vec_idx,
sys/dev/pci/cxgb/cxgb_t3_hw.c
1999
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2003
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_CQ_SIZE(size) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
2005
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, (u32)base_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2009
t3_write_reg(adapter, A_SG_CONTEXT_DATA2,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2011
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, fl_thres);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2012
return t3_sge_write_context(adapter, id, F_RESPONSEQ);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2030
int t3_sge_init_cqcntxt(adapter_t *adapter, unsigned int id, u64 base_addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2036
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2040
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, V_CQ_SIZE(size));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2041
t3_write_reg(adapter, A_SG_CONTEXT_DATA1, (u32)base_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2043
t3_write_reg(adapter, A_SG_CONTEXT_DATA2,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2047
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, V_CQ_CREDITS(credits) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
2049
return t3_sge_write_context(adapter, id, F_CQ);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2061
int t3_sge_enable_ecntxt(adapter_t *adapter, unsigned int id, int enable)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2063
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2066
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2067
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2068
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2069
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, F_EC_VALID);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2070
t3_write_reg(adapter, A_SG_CONTEXT_DATA3, V_EC_VALID(enable));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2071
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2073
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2085
int t3_sge_disable_fl(adapter_t *adapter, unsigned int id)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2087
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2090
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2091
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2092
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, V_FL_SIZE(M_FL_SIZE));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2093
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2094
t3_write_reg(adapter, A_SG_CONTEXT_DATA2, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2095
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2097
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2109
int t3_sge_disable_rspcntxt(adapter_t *adapter, unsigned int id)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2111
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2114
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, V_CQ_SIZE(M_CQ_SIZE));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2115
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2116
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2117
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2118
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2119
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2121
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2133
int t3_sge_disable_cqcntxt(adapter_t *adapter, unsigned int id)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2135
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2138
t3_write_reg(adapter, A_SG_CONTEXT_MASK0, V_CQ_SIZE(M_CQ_SIZE));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2139
t3_write_reg(adapter, A_SG_CONTEXT_MASK1, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
214
static int mi1_read(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2140
t3_write_reg(adapter, A_SG_CONTEXT_MASK2, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2141
t3_write_reg(adapter, A_SG_CONTEXT_MASK3, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2142
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2143
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2145
return t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2163
int t3_sge_cqcntxt_op(adapter_t *adapter, unsigned int id, unsigned int op,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2168
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2171
t3_write_reg(adapter, A_SG_CONTEXT_DATA0, credits << 16);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2172
t3_write_reg(adapter, A_SG_CONTEXT_CMD, V_CONTEXT_CMD_OPCODE(op) |
sys/dev/pci/cxgb/cxgb_t3_hw.c
2174
if (t3_wait_op_done_val(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2179
if (adapter->params.rev > 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2182
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2184
if (t3_wait_op_done(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2188
return G_CQ_INDEX(t3_read_reg(adapter, A_SG_CONTEXT_DATA0));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2203
static int t3_sge_read_context(unsigned int type, adapter_t *adapter,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2206
if (t3_read_reg(adapter, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2209
t3_write_reg(adapter, A_SG_CONTEXT_CMD,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2211
if (t3_wait_op_done(adapter, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY, 0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2214
data[0] = t3_read_reg(adapter, A_SG_CONTEXT_DATA0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2215
data[1] = t3_read_reg(adapter, A_SG_CONTEXT_DATA1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2216
data[2] = t3_read_reg(adapter, A_SG_CONTEXT_DATA2);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2217
data[3] = t3_read_reg(adapter, A_SG_CONTEXT_DATA3);
sys/dev/pci/cxgb/cxgb_t3_hw.c
223
MDIO_LOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2230
int t3_sge_read_ecntxt(adapter_t *adapter, unsigned int id, u32 data[4])
sys/dev/pci/cxgb/cxgb_t3_hw.c
2234
return t3_sge_read_context(F_EGRESS, adapter, id, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
224
t3_write_reg(adapter, A_MI1_ADDR, addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2246
int t3_sge_read_cq(adapter_t *adapter, unsigned int id, u32 data[4])
sys/dev/pci/cxgb/cxgb_t3_hw.c
225
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(2));
sys/dev/pci/cxgb/cxgb_t3_hw.c
2250
return t3_sge_read_context(F_CQ, adapter, id, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
226
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2262
int t3_sge_read_fl(adapter_t *adapter, unsigned int id, u32 data[4])
sys/dev/pci/cxgb/cxgb_t3_hw.c
2266
return t3_sge_read_context(F_FREELIST, adapter, id, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2278
int t3_sge_read_rspq(adapter_t *adapter, unsigned int id, u32 data[4])
sys/dev/pci/cxgb/cxgb_t3_hw.c
228
*valp = t3_read_reg(adapter, A_MI1_DATA);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2282
return t3_sge_read_context(F_RESPONSEQ, adapter, id, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
229
MDIO_UNLOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2297
void t3_config_rss(adapter_t *adapter, unsigned int rss_config, const u8 *cpus,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2311
t3_write_reg(adapter, A_TP_RSS_LKP_TABLE, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2316
t3_write_reg(adapter, A_TP_RSS_MAP_TABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2322
t3_write_reg(adapter, A_TP_RSS_CONFIG, rss_config);
sys/dev/pci/cxgb/cxgb_t3_hw.c
233
static int mi1_write(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2333
int t3_read_rss(adapter_t *adapter, u8 *lkup, u16 *map)
sys/dev/pci/cxgb/cxgb_t3_hw.c
2340
t3_write_reg(adapter, A_TP_RSS_LKP_TABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2342
val = t3_read_reg(adapter, A_TP_RSS_LKP_TABLE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2351
t3_write_reg(adapter, A_TP_RSS_MAP_TABLE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2353
val = t3_read_reg(adapter, A_TP_RSS_MAP_TABLE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
242
MDIO_LOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
243
t3_write_reg(adapter, A_MI1_ADDR, addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
244
t3_write_reg(adapter, A_MI1_DATA, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
245
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(1));
sys/dev/pci/cxgb/cxgb_t3_hw.c
246
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
247
MDIO_UNLOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
259
static int mi1_ext_read(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
265
MDIO_LOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
266
t3_write_reg(adapter, A_MI1_ADDR, addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
267
t3_write_reg(adapter, A_MI1_DATA, reg_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
268
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(0));
sys/dev/pci/cxgb/cxgb_t3_hw.c
269
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
271
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(3));
sys/dev/pci/cxgb/cxgb_t3_hw.c
272
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
275
*valp = t3_read_reg(adapter, A_MI1_DATA);
sys/dev/pci/cxgb/cxgb_t3_hw.c
277
MDIO_UNLOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
281
static int mi1_ext_write(adapter_t *adapter, int phy_addr, int mmd_addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
287
MDIO_LOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
288
t3_write_reg(adapter, A_MI1_ADDR, addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
289
t3_write_reg(adapter, A_MI1_DATA, reg_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
290
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(0));
sys/dev/pci/cxgb/cxgb_t3_hw.c
291
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0, MDIO_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
293
t3_write_reg(adapter, A_MI1_DATA, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
294
t3_write_reg(adapter, A_MI1_OP, V_MDI_OP(1));
sys/dev/pci/cxgb/cxgb_t3_hw.c
295
ret = t3_wait_op_done(adapter, A_MI1_OP, F_BUSY, 0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2953
void t3_config_trace_filter(adapter_t *adapter, const struct trace_params *tp,
sys/dev/pci/cxgb/cxgb_t3_hw.c
2974
tp_wr_indirect(adapter, addr++, key[0]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2975
tp_wr_indirect(adapter, addr++, mask[0]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2976
tp_wr_indirect(adapter, addr++, key[1]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2977
tp_wr_indirect(adapter, addr++, mask[1]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2978
tp_wr_indirect(adapter, addr++, key[2]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2979
tp_wr_indirect(adapter, addr++, mask[2]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
298
MDIO_UNLOCK(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2980
tp_wr_indirect(adapter, addr++, key[3]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2981
tp_wr_indirect(adapter, addr, mask[3]);
sys/dev/pci/cxgb/cxgb_t3_hw.c
2982
(void) t3_read_reg(adapter, A_TP_PIO_DATA);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3187
static int calibrate_xgm(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3189
if (uses_xaui(adapter)) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3193
t3_write_reg(adapter, A_XGM_XAUI_IMP, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3194
(void) t3_read_reg(adapter, A_XGM_XAUI_IMP);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3196
v = t3_read_reg(adapter, A_XGM_XAUI_IMP);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3198
t3_write_reg(adapter, A_XGM_XAUI_IMP,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3203
CH_ERR(adapter, "MAC calibration failed\n");
sys/dev/pci/cxgb/cxgb_t3_hw.c
3206
t3_write_reg(adapter, A_XGM_RGMII_IMP,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3208
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_XGM_IMPSETUPDATE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3214
static void calibrate_xgm_t3b(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3216
if (!uses_xaui(adapter)) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3217
t3_write_reg(adapter, A_XGM_RGMII_IMP, F_CALRESET |
sys/dev/pci/cxgb/cxgb_t3_hw.c
3219
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_CALRESET, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3220
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, 0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3222
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_XGM_IMPSETUPDATE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3224
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, F_CALUPDATE, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3225
t3_set_reg_field(adapter, A_XGM_RGMII_IMP, 0, F_CALUPDATE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3244
static int wrreg_wait(adapter_t *adapter, unsigned int addr, u32 val)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3246
t3_write_reg(adapter, addr, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3247
(void) t3_read_reg(adapter, addr); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3248
if (!(t3_read_reg(adapter, addr) & F_BUSY))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3250
CH_ERR(adapter, "write to MC7 register 0x%x timed out\n", addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3269
adapter_t *adapter = mc7->adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3275
val = t3_read_reg(adapter, mc7->offset + A_MC7_CFG);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3280
t3_write_reg(adapter, mc7->offset + A_MC7_CFG, val | F_IFEN);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3281
val = t3_read_reg(adapter, mc7->offset + A_MC7_CFG); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3285
t3_write_reg(adapter, mc7->offset + A_MC7_CAL, F_SGL_CAL_EN);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3286
(void) t3_read_reg(adapter, mc7->offset + A_MC7_CAL);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3288
if (t3_read_reg(adapter, mc7->offset + A_MC7_CAL) &
sys/dev/pci/cxgb/cxgb_t3_hw.c
3290
CH_ERR(adapter, "%s MC7 calibration timed out\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
3296
t3_write_reg(adapter, mc7->offset + A_MC7_PARM,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3302
t3_write_reg(adapter, mc7->offset + A_MC7_CFG,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3304
(void) t3_read_reg(adapter, mc7->offset + A_MC7_CFG); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3307
t3_set_reg_field(adapter, mc7->offset + A_MC7_DLL, F_DLLENB,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3312
if (wrreg_wait(adapter, mc7->offset + A_MC7_PRE, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3313
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE2, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3314
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE3, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3315
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3319
t3_write_reg(adapter, mc7->offset + A_MC7_MODE, 0x100);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3320
t3_set_reg_field(adapter, mc7->offset + A_MC7_DLL,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3325
if (wrreg_wait(adapter, mc7->offset + A_MC7_PRE, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3326
wrreg_wait(adapter, mc7->offset + A_MC7_REF, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3327
wrreg_wait(adapter, mc7->offset + A_MC7_REF, 0) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3328
wrreg_wait(adapter, mc7->offset + A_MC7_MODE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3330
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val | 0x380) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3331
wrreg_wait(adapter, mc7->offset + A_MC7_EXT_MODE1, val))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3338
t3_write_reg(adapter, mc7->offset + A_MC7_REF,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3340
(void) t3_read_reg(adapter, mc7->offset + A_MC7_REF); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3342
t3_write_reg(adapter, mc7->offset + A_MC7_ECC,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3344
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_DATA, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3345
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_ADDR_BEG, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3346
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_ADDR_END,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3348
t3_write_reg(adapter, mc7->offset + A_MC7_BIST_OP, V_OP(1));
sys/dev/pci/cxgb/cxgb_t3_hw.c
3349
(void) t3_read_reg(adapter, mc7->offset + A_MC7_BIST_OP); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3354
val = t3_read_reg(adapter, mc7->offset + A_MC7_BIST_OP);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3357
CH_ERR(adapter, "%s MC7 BIST timed out\n", mc7->name);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3362
t3_set_reg_field(adapter, mc7->offset + A_MC7_CFG, 0, F_RDY);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3434
int t3_init_hw(adapter_t *adapter, u32 fw_params)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3437
const struct vpd_params *vpd = &adapter->params.vpd;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3439
if (adapter->params.rev > 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3440
calibrate_xgm_t3b(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3441
else if (calibrate_xgm(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3444
if (adapter->params.nports > 2)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3445
t3_mac_reset(&adap2pinfo(adapter, 0)->mac);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3448
partition_mem(adapter, &adapter->params.tp);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3450
if (mc7_init(&adapter->pmrx, vpd->mclk, vpd->mem_timing) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3451
mc7_init(&adapter->pmtx, vpd->mclk, vpd->mem_timing) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3452
mc7_init(&adapter->cm, vpd->mclk, vpd->mem_timing) ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
3453
t3_mc5_init(&adapter->mc5, adapter->params.mc5.nservers,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3454
adapter->params.mc5.nfilters,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3455
adapter->params.mc5.nroutes))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3459
if (tp_init(adapter, &adapter->params.tp))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3463
t3_tp_set_coalescing_size(adapter,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3464
uimin(adapter->params.sge.max_pkt_size,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3466
t3_tp_set_max_rxsize(adapter,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3467
uimin(adapter->params.sge.max_pkt_size, 16384U));
sys/dev/pci/cxgb/cxgb_t3_hw.c
3468
ulp_config(adapter, &adapter->params.tp);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3470
if (is_pcie(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3471
config_pcie(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3473
t3_set_reg_field(adapter, A_PCIX_CFG, 0, F_CLIDECEN);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3475
t3_write_reg(adapter, A_PM1_RX_CFG, 0xffffffff);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3476
t3_write_reg(adapter, A_PM1_RX_MODE, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3477
t3_write_reg(adapter, A_PM1_TX_MODE, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3478
chan_init_hw(adapter, adapter->params.chan_map);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3479
t3_sge_init(adapter, &adapter->params.sge);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3481
t3_write_reg(adapter, A_CIM_HOST_ACC_DATA, vpd->uclk | fw_params);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3482
t3_write_reg(adapter, A_CIM_BOOT_CFG,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3484
(void) t3_read_reg(adapter, A_CIM_BOOT_CFG); /* flush */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3488
} while (t3_read_reg(adapter, A_CIM_HOST_ACC_DATA) && --attempts);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3490
CH_ERR(adapter, "uP initialization timed out\n");
sys/dev/pci/cxgb/cxgb_t3_hw.c
3507
static void __devinit get_pci_mode(adapter_t *adapter, struct pci_params *p)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3512
pcie_cap = t3_os_find_pci_capability(adapter, PCI_CAP_ID_EXP);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3518
t3_os_pci_read_config_2(adapter, pcie_cap + PCI_EXP_LNKSTA,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3524
pcie_mode = t3_read_reg(adapter, A_PCIX_MODE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3582
static void __devinit mc7_prep(adapter_t *adapter, struct mc7 *mc7,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3587
mc7->adapter = adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3590
cfg = t3_read_reg(adapter, mc7->offset + A_MC7_CFG);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3595
void mac_prep(struct cmac *mac, adapter_t *adapter, int index)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3597
mac->adapter = adapter;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3598
mac->multiport = adapter->params.nports > 2;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3608
if (adapter->params.rev == 0 && uses_xaui(adapter)) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3609
t3_write_reg(adapter, A_XGM_SERDES_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3610
is_10G(adapter) ? 0x2901c04 : 0x2301c04);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3611
t3_set_reg_field(adapter, A_XGM_PORT_CFG + mac->offset,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3625
void early_hw_init(adapter_t *adapter, const struct adapter_info *ai)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3627
u32 val = V_PORTSPEED(is_10G(adapter) || adapter->params.nports > 2 ?
sys/dev/pci/cxgb/cxgb_t3_hw.c
3630
mi1_init(adapter, ai);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3631
t3_write_reg(adapter, A_I2C_CFG, /* set for 80KHz */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3632
V_I2C_CLKDIV(adapter->params.vpd.cclk / 80 - 1));
sys/dev/pci/cxgb/cxgb_t3_hw.c
3633
t3_write_reg(adapter, A_T3DBG_GPIO_EN,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3635
t3_write_reg(adapter, A_MC5_DB_SERVER_INDEX, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3637
if (adapter->params.rev == 0 || !uses_xaui(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3641
t3_write_reg(adapter, A_XGM_PORT_CFG, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3642
(void) t3_read_reg(adapter, A_XGM_PORT_CFG);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3645
t3_write_reg(adapter, A_XGM_PORT_CFG, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3646
(void) t3_read_reg(adapter, A_XGM_PORT_CFG);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3647
t3_write_reg(adapter, XGM_REG(A_XGM_PORT_CFG, 1), val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3648
(void) t3_read_reg(adapter, A_XGM_PORT_CFG);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3657
static int t3_reset_adapter(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3660
adapter->params.rev < T3_REV_B2 && is_pcie(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3664
t3_os_pci_save_state(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3665
t3_write_reg(adapter, A_PL_RST, F_CRSTWRM | F_CRSTWRMMODE);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3673
t3_os_pci_read_config_2(adapter, 0x00, &devid);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3682
t3_os_pci_restore_state(adapter);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3695
int __devinit t3_prep_adapter(adapter_t *adapter,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3701
get_pci_mode(adapter, &adapter->params.pci);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3703
adapter->params.info = ai;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3704
adapter->params.nports = ai->nports0 + ai->nports1;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3705
adapter->params.chan_map = !!ai->nports0 | (!!ai->nports1 << 1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3706
adapter->params.rev = t3_read_reg(adapter, A_PL_REV);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3707
adapter->params.linkpoll_period = 0;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3708
if (adapter->params.nports > 2)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3709
adapter->params.stats_update_period = VSC_STATS_ACCUM_SECS;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3711
adapter->params.stats_update_period = is_10G(adapter) ?
sys/dev/pci/cxgb/cxgb_t3_hw.c
3713
adapter->params.pci.vpd_cap_addr =
sys/dev/pci/cxgb/cxgb_t3_hw.c
3714
t3_os_find_pci_capability(adapter, PCI_CAP_ID_VPD);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3716
ret = get_vpd_params(adapter, &adapter->params.vpd);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3720
if (reset && t3_reset_adapter(adapter))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3723
t3_sge_prep(adapter, &adapter->params.sge);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3725
if (adapter->params.vpd.mclk) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3726
struct tp_params *p = &adapter->params.tp;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3728
mc7_prep(adapter, &adapter->pmrx, MC7_PMRX_BASE_ADDR, "PMRX");
sys/dev/pci/cxgb/cxgb_t3_hw.c
3729
mc7_prep(adapter, &adapter->pmtx, MC7_PMTX_BASE_ADDR, "PMTX");
sys/dev/pci/cxgb/cxgb_t3_hw.c
3730
mc7_prep(adapter, &adapter->cm, MC7_CM_BASE_ADDR, "CM");
sys/dev/pci/cxgb/cxgb_t3_hw.c
3732
p->nchan = adapter->params.chan_map == 3 ? 2 : 1;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3733
p->pmrx_size = t3_mc7_size(&adapter->pmrx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3734
p->pmtx_size = t3_mc7_size(&adapter->pmtx);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3735
p->cm_size = t3_mc7_size(&adapter->cm);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3739
p->tx_pg_size = is_10G(adapter) ? 64 * 1024 : 16 * 1024;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3743
adapter->params.rev > 0 ? 12 : 6;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3744
p->tre = fls(adapter->params.vpd.cclk / (1000 / TP_TMR_RES)) -
sys/dev/pci/cxgb/cxgb_t3_hw.c
3746
p->dack_re = fls(adapter->params.vpd.cclk / 10) - 1; /* 100us */
sys/dev/pci/cxgb/cxgb_t3_hw.c
3749
adapter->params.offload = t3_mc7_size(&adapter->pmrx) &&
sys/dev/pci/cxgb/cxgb_t3_hw.c
3750
t3_mc7_size(&adapter->pmtx) &&
sys/dev/pci/cxgb/cxgb_t3_hw.c
3751
t3_mc7_size(&adapter->cm);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3753
if (is_offload(adapter)) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3754
adapter->params.mc5.nservers = DEFAULT_NSERVERS;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3755
adapter->params.mc5.nfilters = adapter->params.rev > 0 ?
sys/dev/pci/cxgb/cxgb_t3_hw.c
3757
adapter->params.mc5.nroutes = 0;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3758
t3_mc5_prep(adapter, &adapter->mc5, MC5_MODE_144_BIT);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3761
init_mtus(adapter->params.mtus);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3762
init_cong_ctrl(adapter->params.a_wnd, adapter->params.b_wnd);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3766
early_hw_init(adapter, ai);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3768
if (adapter->params.nports > 2 &&
sys/dev/pci/cxgb/cxgb_t3_hw.c
3769
(ret = t3_vsc7323_init(adapter, adapter->params.nports)))
sys/dev/pci/cxgb/cxgb_t3_hw.c
3772
for_each_port(adapter, i) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
3774
struct port_info *p = adap2pinfo(adapter, i);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3776
while (!adapter->params.vpd.port_type[j])
sys/dev/pci/cxgb/cxgb_t3_hw.c
3779
p->port_type = &port_types[adapter->params.vpd.port_type[j]];
sys/dev/pci/cxgb/cxgb_t3_hw.c
3780
p->port_type->phy_prep(&p->phy, adapter, ai->phy_base_addr + j,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3782
mac_prep(&p->mac, adapter, j);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3790
memcpy(hw_addr, adapter->params.vpd.eth_base, 5);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3791
hw_addr[5] = adapter->params.vpd.eth_base[5] + i;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3793
t3_os_set_hw_addr(adapter, i, hw_addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
3797
adapter->params.linkpoll_period = 10;
sys/dev/pci/cxgb/cxgb_t3_hw.c
3803
void t3_led_ready(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3805
t3_set_reg_field(adapter, A_T3DBG_GPIO_EN, F_GPIO0_OUT_VAL,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3809
void t3_port_failover(adapter_t *adapter, int port)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3814
t3_set_reg_field(adapter, A_MPS_CFG, F_PORT0ACTIVE | F_PORT1ACTIVE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3818
void t3_failover_done(adapter_t *adapter, int port)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3820
t3_set_reg_field(adapter, A_MPS_CFG, F_PORT0ACTIVE | F_PORT1ACTIVE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
3824
void t3_failover_clear(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
3826
t3_set_reg_field(adapter, A_MPS_CFG, F_PORT0ACTIVE | F_PORT1ACTIVE,
sys/dev/pci/cxgb/cxgb_t3_hw.c
549
int t3_seeprom_read(adapter_t *adapter, u32 addr, u32 *data)
sys/dev/pci/cxgb/cxgb_t3_hw.c
553
unsigned int base = adapter->params.pci.vpd_cap_addr;
sys/dev/pci/cxgb/cxgb_t3_hw.c
558
t3_os_pci_write_config_2(adapter, base + PCI_VPD_ADDR, (u16)addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
561
t3_os_pci_read_config_2(adapter, base + PCI_VPD_ADDR, &val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
565
CH_ERR(adapter, "reading EEPROM address 0x%x failed\n", addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
568
t3_os_pci_read_config_4(adapter, base + PCI_VPD_DATA, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
58
int t3_wait_op_done_val(adapter_t *adapter, int reg, u32 mask, int polarity,
sys/dev/pci/cxgb/cxgb_t3_hw.c
582
int t3_seeprom_write(adapter_t *adapter, u32 addr, u32 data)
sys/dev/pci/cxgb/cxgb_t3_hw.c
586
unsigned int base = adapter->params.pci.vpd_cap_addr;
sys/dev/pci/cxgb/cxgb_t3_hw.c
591
t3_os_pci_write_config_4(adapter, base + PCI_VPD_DATA,
sys/dev/pci/cxgb/cxgb_t3_hw.c
593
t3_os_pci_write_config_2(adapter, base + PCI_VPD_ADDR,
sys/dev/pci/cxgb/cxgb_t3_hw.c
597
t3_os_pci_read_config_2(adapter, base + PCI_VPD_ADDR, &val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
601
CH_ERR(adapter, "write to EEPROM address 0x%x failed\n", addr);
sys/dev/pci/cxgb/cxgb_t3_hw.c
614
int t3_seeprom_wp(adapter_t *adapter, int enable)
sys/dev/pci/cxgb/cxgb_t3_hw.c
616
return t3_seeprom_write(adapter, EEPROM_STAT_ADDR, enable ? 0xc : 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
62
u32 val = t3_read_reg(adapter, reg);
sys/dev/pci/cxgb/cxgb_t3_hw.c
634
static int get_vpd_params(adapter_t *adapter, struct vpd_params *p)
sys/dev/pci/cxgb/cxgb_t3_hw.c
643
ret = t3_seeprom_read(adapter, VPD_BASE, (u32 *)&vpd);
sys/dev/pci/cxgb/cxgb_t3_hw.c
649
ret = t3_seeprom_read(adapter, addr + i,
sys/dev/pci/cxgb/cxgb_t3_hw.c
663
if (adapter->params.rev == 0 && !vpd.port0_data[0]) {
sys/dev/pci/cxgb/cxgb_t3_hw.c
664
p->port_type[0] = uses_xaui(adapter) ? 1 : 2;
sys/dev/pci/cxgb/cxgb_t3_hw.c
665
p->port_type[1] = uses_xaui(adapter) ? 6 : 2;
sys/dev/pci/cxgb/cxgb_t3_hw.c
711
static int sf1_read(adapter_t *adapter, unsigned int byte_cnt, int cont,
sys/dev/pci/cxgb/cxgb_t3_hw.c
718
if (t3_read_reg(adapter, A_SF_OP) & F_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
720
t3_write_reg(adapter, A_SF_OP, V_CONT(cont) | V_BYTECNT(byte_cnt - 1));
sys/dev/pci/cxgb/cxgb_t3_hw.c
721
ret = t3_wait_op_done(adapter, A_SF_OP, F_BUSY, 0, SF_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
723
*valp = t3_read_reg(adapter, A_SF_DATA);
sys/dev/pci/cxgb/cxgb_t3_hw.c
738
static int sf1_write(adapter_t *adapter, unsigned int byte_cnt, int cont,
sys/dev/pci/cxgb/cxgb_t3_hw.c
743
if (t3_read_reg(adapter, A_SF_OP) & F_BUSY)
sys/dev/pci/cxgb/cxgb_t3_hw.c
745
t3_write_reg(adapter, A_SF_DATA, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
746
t3_write_reg(adapter, A_SF_OP,
sys/dev/pci/cxgb/cxgb_t3_hw.c
748
return t3_wait_op_done(adapter, A_SF_OP, F_BUSY, 0, SF_ATTEMPTS, 10);
sys/dev/pci/cxgb/cxgb_t3_hw.c
759
static int flash_wait_op(adapter_t *adapter, int attempts, int delay)
sys/dev/pci/cxgb/cxgb_t3_hw.c
765
if ((ret = sf1_write(adapter, 1, 1, SF_RD_STATUS)) != 0 ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
766
(ret = sf1_read(adapter, 1, 0, &status)) != 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
790
int t3_read_flash(adapter_t *adapter, unsigned int addr, unsigned int nwords,
sys/dev/pci/cxgb/cxgb_t3_hw.c
800
if ((ret = sf1_write(adapter, 4, 1, addr)) != 0 ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
801
(ret = sf1_read(adapter, 1, 1, data)) != 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
805
ret = sf1_read(adapter, 4, nwords > 1, data);
sys/dev/pci/cxgb/cxgb_t3_hw.c
824
static int t3_write_flash(adapter_t *adapter, unsigned int addr,
sys/dev/pci/cxgb/cxgb_t3_hw.c
836
if ((ret = sf1_write(adapter, 1, 0, SF_WR_ENABLE)) != 0 ||
sys/dev/pci/cxgb/cxgb_t3_hw.c
837
(ret = sf1_write(adapter, 4, 1, val)) != 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
845
ret = sf1_write(adapter, c, c != left, val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
849
if ((ret = flash_wait_op(adapter, 5, 1)) != 0)
sys/dev/pci/cxgb/cxgb_t3_hw.c
853
ret = t3_read_flash(adapter, addr & ~0xff, ARRAY_SIZE(buf), buf, 1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
869
int t3_get_tp_version(adapter_t *adapter, u32 *vers)
sys/dev/pci/cxgb/cxgb_t3_hw.c
87
void t3_write_regs(adapter_t *adapter, const struct addr_val_pair *p, int n,
sys/dev/pci/cxgb/cxgb_t3_hw.c
874
t3_write_reg(adapter, A_TP_EMBED_OP_FIELD0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
875
ret = t3_wait_op_done(adapter, A_TP_EMBED_OP_FIELD0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
880
*vers = t3_read_reg(adapter, A_TP_EMBED_OP_FIELD1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
890
int t3_check_tpsram_version(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
897
t3_write_reg(adapter, A_TP_EMBED_OP_FIELD0, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
898
ret = t3_wait_op_done(adapter, A_TP_EMBED_OP_FIELD0,
sys/dev/pci/cxgb/cxgb_t3_hw.c
903
vers = t3_read_reg(adapter, A_TP_EMBED_OP_FIELD1);
sys/dev/pci/cxgb/cxgb_t3_hw.c
91
t3_write_reg(adapter, p->reg_addr + offset, p->val);
sys/dev/pci/cxgb/cxgb_t3_hw.c
911
CH_WARN(adapter, "found wrong TP version (%u.%u), "
sys/dev/pci/cxgb/cxgb_t3_hw.c
927
int t3_check_tpsram(adapter_t *adapter, const u8 *tp_sram, unsigned int size)
sys/dev/pci/cxgb/cxgb_t3_hw.c
937
CH_ERR(adapter, "corrupted protocol SRAM image, checksum %u\n",
sys/dev/pci/cxgb/cxgb_t3_hw.c
957
int t3_get_fw_version(adapter_t *adapter, u32 *vers)
sys/dev/pci/cxgb/cxgb_t3_hw.c
959
return t3_read_flash(adapter, FW_VERS_ADDR, 1, vers, 0);
sys/dev/pci/cxgb/cxgb_t3_hw.c
969
int t3_check_fw_version(adapter_t *adapter)
sys/dev/pci/cxgb/cxgb_t3_hw.c
975
ret = t3_get_fw_version(adapter, &vers);
sys/dev/pci/cxgb/cxgb_t3_hw.c
987
CH_WARN(adapter, "found wrong FW version (%u.%u), "
sys/dev/pci/cxgb/cxgb_toedev.h
89
struct adapter *adapter;
sys/dev/pci/cxgb/cxgb_vsc7323.c
296
ret = t3_elmr_blk_read(mac->adapter,
sys/dev/pci/cxgb/cxgb_vsc7323.c
300
ret = t3_elmr_blk_read(mac->adapter,
sys/dev/pci/cxgb/cxgb_vsc8211.c
247
void t3_vsc8211_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr,
sys/dev/pci/cxgb/cxgb_vsc8211.c
250
cphy_init(phy, adapter, phy_addr, &vsc8211_ops, mdio_ops);
sys/dev/pci/cxgb/cxgb_xgmac.c
107
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
171
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
235
t3_write_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1 + oft, addr_lo);
sys/dev/pci/cxgb/cxgb_xgmac.c
236
t3_write_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_HIGH_1 + oft, addr_hi);
sys/dev/pci/cxgb/cxgb_xgmac.c
243
idx = mac->ext_port + idx * mac->adapter->params.nports;
sys/dev/pci/cxgb/cxgb_xgmac.c
247
if (mac->multiport && idx < mac->adapter->params.nports)
sys/dev/pci/cxgb/cxgb_xgmac.c
248
t3_vsc7323_set_addr(mac->adapter, addr, idx);
sys/dev/pci/cxgb/cxgb_xgmac.c
270
u32 v = t3_read_reg(mac->adapter, reg);
sys/dev/pci/cxgb/cxgb_xgmac.c
271
t3_write_reg(mac->adapter, reg, v);
sys/dev/pci/cxgb/cxgb_xgmac.c
273
t3_read_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1); /* flush */
sys/dev/pci/cxgb/cxgb_xgmac.c
281
u32 v = t3_read_reg(mac->adapter, reg);
sys/dev/pci/cxgb/cxgb_xgmac.c
282
t3_write_reg(mac->adapter, reg, v);
sys/dev/pci/cxgb/cxgb_xgmac.c
284
t3_read_reg(mac->adapter, A_XGM_RX_EXACT_MATCH_LOW_1); /* flush */
sys/dev/pci/cxgb/cxgb_xgmac.c
304
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
351
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
425
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
472
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
510
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
522
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_xgmac.c
532
t3_write_reg(mac->adapter, A_XGM_RESET_CTRL + mac->offset, val);
sys/dev/pci/cxgb/cxgb_xgmac.c
541
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
62
adapter_t *adap = mac->adapter;
sys/dev/pci/cxgb/cxgb_xgmac.c
633
#define RMON_READ(mac, addr) t3_read_reg(mac->adapter, addr + mac->offset)
sys/dev/pci/cxgb/cxgb_xgmac.c
658
if (mac->adapter->params.rev == T3_REV_B2)
sys/dev/pci/cxgb/cxgb_xgmac.c
687
t3_write_reg(mac->adapter, A_TP_MIB_INDEX, mac->offset ? 51 : 50);
sys/dev/pci/cxgb/cxgb_xgmac.c
688
v = t3_read_reg(mac->adapter, A_TP_MIB_RDATA);
sys/dev/pci/cxgb/cxgb_xgmac.c
80
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset,
sys/dev/pci/cxgb/cxgb_xgmac.c
83
t3_set_reg_field(mac->adapter, A_XGM_RESET_CTRL + mac->offset, 0,
sys/dev/pci/if_ena.c
1002
ena_free_rx_resources(adapter, i);
sys/dev/pci/if_ena.c
1013
ena_free_all_rx_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1017
for (i = 0; i < adapter->num_queues; i++)
sys/dev/pci/if_ena.c
1018
ena_free_rx_resources(adapter, i);
sys/dev/pci/if_ena.c
1022
ena_alloc_rx_mbuf(struct ena_adapter *adapter,
sys/dev/pci/if_ena.c
1046
adapter->sc_dmat,rx_info->mbuf, rx_info->mbuf->m_len);
sys/dev/pci/if_ena.c
1047
error = bus_dmamap_load_mbuf(adapter->sc_dmat, rx_info->map,
sys/dev/pci/if_ena.c
1057
bus_dmamap_sync(adapter->sc_dmat, rx_info->map, 0,
sys/dev/pci/if_ena.c
1077
ena_free_rx_mbuf(struct ena_adapter *adapter, struct ena_ring *rx_ring,
sys/dev/pci/if_ena.c
1086
bus_dmamap_unload(adapter->sc_dmat, rx_info->map);
sys/dev/pci/if_ena.c
1100
struct ena_adapter *adapter = rx_ring->adapter;
sys/dev/pci/if_ena.c
1123
rc = ena_alloc_rx_mbuf(adapter, rx_ring, rx_info);
sys/dev/pci/if_ena.c
1158
ena_free_rx_bufs(struct ena_adapter *adapter, unsigned int qid)
sys/dev/pci/if_ena.c
1160
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
sys/dev/pci/if_ena.c
1167
ena_free_rx_mbuf(adapter, rx_ring, rx_info);
sys/dev/pci/if_ena.c
1177
ena_refill_all_rx_bufs(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1182
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1183
rx_ring = &adapter->rx_ring[i];
sys/dev/pci/if_ena.c
1194
ena_free_all_rx_bufs(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1198
for (i = 0; i < adapter->num_queues; i++)
sys/dev/pci/if_ena.c
1199
ena_free_rx_bufs(adapter, i);
sys/dev/pci/if_ena.c
1208
ena_free_tx_bufs(struct ena_adapter *adapter, unsigned int qid)
sys/dev/pci/if_ena.c
1211
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
1220
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1230
bus_dmamap_unload(adapter->sc_dmat, tx_info->map);
sys/dev/pci/if_ena.c
1237
ena_free_all_tx_bufs(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1240
for (int i = 0; i < adapter->num_queues; i++)
sys/dev/pci/if_ena.c
1241
ena_free_tx_bufs(adapter, i);
sys/dev/pci/if_ena.c
1245
ena_destroy_all_tx_queues(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1250
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1252
ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
sys/dev/pci/if_ena.c
1257
ena_destroy_all_rx_queues(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1262
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1264
ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
sys/dev/pci/if_ena.c
1269
ena_destroy_all_io_queues(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1271
ena_destroy_all_tx_queues(adapter);
sys/dev/pci/if_ena.c
1272
ena_destroy_all_rx_queues(adapter);
sys/dev/pci/if_ena.c
1278
struct ena_adapter *adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
1289
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1292
device_printf(adapter->pdev, "Invalid req_id: %hu\n", req_id);
sys/dev/pci/if_ena.c
1300
ena_create_io_queues(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1302
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
1310
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1315
ctx.queue_size = adapter->tx_ring_size;
sys/dev/pci/if_ena.c
1320
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1324
ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
1329
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1338
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1343
ctx.queue_size = adapter->rx_ring_size;
sys/dev/pci/if_ena.c
1348
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1353
ring = &adapter->rx_ring[i];
sys/dev/pci/if_ena.c
1358
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1371
i = adapter->num_queues;
sys/dev/pci/if_ena.c
1393
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
1406
adapter = tx_ring->que->adapter;
sys/dev/pci/if_ena.c
1408
io_cq = &adapter->ena_dev->io_cq_queues[ena_qid];
sys/dev/pci/if_ena.c
1432
bus_dmamap_unload(adapter->sc_dmat, tx_info->map);
sys/dev/pci/if_ena.c
1451
&adapter->ena_dev->io_sq_queues[ena_qid],
sys/dev/pci/if_ena.c
1466
ena_com_comp_ack(&adapter->ena_dev->io_sq_queues[ena_qid],
sys/dev/pci/if_ena.c
1482
struct ena_adapter *adapter = rx_ring->adapter;
sys/dev/pci/if_ena.c
1484
if (likely(adapter->rss_support)) {
sys/dev/pci/if_ena.c
1545
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
1550
adapter = rx_ring->adapter;
sys/dev/pci/if_ena.c
1556
device_printf(adapter->pdev, "NULL mbuf in rx_info");
sys/dev/pci/if_ena.c
1567
m_set_rcvif(mbuf, rx_ring->que->adapter->ifp);
sys/dev/pci/if_ena.c
1578
bus_dmamap_unload(rx_ring->adapter->sc_dmat, rx_info->map);
sys/dev/pci/if_ena.c
1595
device_printf(adapter->pdev, "NULL mbuf in rx_info");
sys/dev/pci/if_ena.c
1620
bus_dmamap_unload(rx_ring->adapter->sc_dmat, rx_info->map);
sys/dev/pci/if_ena.c
1687
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
1702
adapter = rx_ring->que->adapter;
sys/dev/pci/if_ena.c
1703
ifp = adapter->ifp;
sys/dev/pci/if_ena.c
1706
io_cq = &adapter->ena_dev->io_cq_queues[ena_qid];
sys/dev/pci/if_ena.c
1707
io_sq = &adapter->ena_dev->io_sq_queues[ena_qid];
sys/dev/pci/if_ena.c
1714
ena_rx_ctx.max_bufs = adapter->max_rx_sgl_size;
sys/dev/pci/if_ena.c
1758
counter_u64_add_protected(adapter->hw_stats.rx_bytes,
sys/dev/pci/if_ena.c
1789
counter_u64_add_protected(adapter->hw_stats.rx_packets, 1);
sys/dev/pci/if_ena.c
1827
struct ena_adapter *adapter = (struct ena_adapter *)arg;
sys/dev/pci/if_ena.c
1829
ena_com_admin_q_comp_intr_handler(adapter->ena_dev);
sys/dev/pci/if_ena.c
1830
if (likely(ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter)))
sys/dev/pci/if_ena.c
1831
ena_com_aenq_intr_handler(adapter->ena_dev, arg);
sys/dev/pci/if_ena.c
1864
struct ena_adapter *adapter = que->adapter;
sys/dev/pci/if_ena.c
1865
struct ifnet *ifp = adapter->ifp;
sys/dev/pci/if_ena.c
1882
io_cq = &adapter->ena_dev->io_cq_queues[ena_qid];
sys/dev/pci/if_ena.c
1923
ena_enable_msix(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1930
msix_req = ENA_MAX_MSIX_VEC(adapter->num_queues);
sys/dev/pci/if_ena.c
1937
if (pci_intr_alloc(&adapter->sc_pa, &adapter->sc_intrs, counts,
sys/dev/pci/if_ena.c
1939
aprint_error_dev(adapter->pdev,
sys/dev/pci/if_ena.c
1944
adapter->sc_nintrs = counts[PCI_INTR_TYPE_MSIX];
sys/dev/pci/if_ena.c
1947
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
1949
"the number of queues\n", adapter->sc_nintrs, msix_req);
sys/dev/pci/if_ena.c
1950
adapter->num_queues = adapter->sc_nintrs - ENA_ADMIN_MSIX_VEC;
sys/dev/pci/if_ena.c
1958
ena_setup_io_intr(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1963
for (int i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
1966
snprintf(adapter->irq_tbl[irq_idx].name, ENA_IRQNAME_SIZE,
sys/dev/pci/if_ena.c
1967
"%s-TxRx-%d", device_xname(adapter->pdev), i);
sys/dev/pci/if_ena.c
1968
adapter->irq_tbl[irq_idx].handler = ena_handle_msix;
sys/dev/pci/if_ena.c
1969
adapter->irq_tbl[irq_idx].data = &adapter->que[i];
sys/dev/pci/if_ena.c
1970
adapter->irq_tbl[irq_idx].vector =
sys/dev/pci/if_ena.c
1971
adapter->msix_entries[irq_idx].vector;
sys/dev/pci/if_ena.c
1973
adapter->msix_entries[irq_idx].vector);
sys/dev/pci/if_ena.c
1975
adapter->que[i].cpu = adapter->irq_tbl[irq_idx].cpu =
sys/dev/pci/if_ena.c
1984
adapter->que[i].cpu = adapter->irq_tbl[irq_idx].cpu =
sys/dev/pci/if_ena.c
1993
ena_request_mgmnt_irq(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
1998
pci_chipset_tag_t pc = adapter->sc_pa.pa_pc;
sys/dev/pci/if_ena.c
2001
KASSERT(adapter->sc_intrs != NULL);
sys/dev/pci/if_ena.c
2002
KASSERT(adapter->sc_ihs[irq_slot] == NULL);
sys/dev/pci/if_ena.c
2004
pci_intr_setattr(pc, &adapter->sc_intrs[irq_slot],
sys/dev/pci/if_ena.c
2008
device_xname(adapter->pdev));
sys/dev/pci/if_ena.c
2009
intrstr = pci_intr_string(pc, adapter->sc_intrs[irq_slot],
sys/dev/pci/if_ena.c
2012
adapter->sc_ihs[irq_slot] = pci_intr_establish_xname(
sys/dev/pci/if_ena.c
2013
pc, adapter->sc_intrs[irq_slot],
sys/dev/pci/if_ena.c
2014
IPL_NET, ena_intr_msix_mgmnt, adapter, intr_xname);
sys/dev/pci/if_ena.c
2016
if (adapter->sc_ihs[irq_slot] == NULL) {
sys/dev/pci/if_ena.c
2017
device_printf(adapter->pdev, "failed to register "
sys/dev/pci/if_ena.c
2023
aprint_normal_dev(adapter->pdev,
sys/dev/pci/if_ena.c
2030
ena_request_io_irq(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2035
pci_chipset_tag_t pc = adapter->sc_pa.pa_pc;
sys/dev/pci/if_ena.c
2041
KASSERT(adapter->sc_intrs != NULL);
sys/dev/pci/if_ena.c
2045
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
2049
KASSERT((void *)adapter->sc_intrs[irq_slot] != NULL);
sys/dev/pci/if_ena.c
2050
KASSERT(adapter->sc_ihs[irq_slot] == NULL);
sys/dev/pci/if_ena.c
2052
pci_intr_setattr(pc, &adapter->sc_intrs[irq_slot],
sys/dev/pci/if_ena.c
2056
device_xname(adapter->pdev), i);
sys/dev/pci/if_ena.c
2057
intrstr = pci_intr_string(pc, adapter->sc_intrs[irq_slot],
sys/dev/pci/if_ena.c
2060
vih = pci_intr_establish_xname(adapter->sc_pa.pa_pc,
sys/dev/pci/if_ena.c
2061
adapter->sc_intrs[irq_slot], IPL_NET,
sys/dev/pci/if_ena.c
2062
ena_handle_msix, &adapter->que[i], intr_xname);
sys/dev/pci/if_ena.c
2065
device_printf(adapter->pdev, "failed to register "
sys/dev/pci/if_ena.c
2076
aprint_normal_dev(adapter->pdev,
sys/dev/pci/if_ena.c
2080
aprint_normal_dev(adapter->pdev,
sys/dev/pci/if_ena.c
2084
adapter->sc_ihs[irq_slot] = vih;
sys/dev/pci/if_ena.c
2103
KASSERT(adapter->sc_ihs[irq_slot] != NULL);
sys/dev/pci/if_ena.c
2104
pci_intr_disestablish(adapter->sc_pa.pa_pc, adapter->sc_ihs[irq_slot]);
sys/dev/pci/if_ena.c
2105
adapter->sc_ihs[irq_slot] = NULL;
sys/dev/pci/if_ena.c
2112
ena_free_mgmnt_irq(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2116
if (adapter->sc_ihs[irq_slot]) {
sys/dev/pci/if_ena.c
2117
pci_intr_disestablish(adapter->sc_pa.pa_pc,
sys/dev/pci/if_ena.c
2118
adapter->sc_ihs[irq_slot]);
sys/dev/pci/if_ena.c
2119
adapter->sc_ihs[irq_slot] = NULL;
sys/dev/pci/if_ena.c
2124
ena_free_io_irq(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2128
for (int i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
2131
if (adapter->sc_ihs[irq_slot]) {
sys/dev/pci/if_ena.c
2132
pci_intr_disestablish(adapter->sc_pa.pa_pc,
sys/dev/pci/if_ena.c
2133
adapter->sc_ihs[irq_slot]);
sys/dev/pci/if_ena.c
2134
adapter->sc_ihs[irq_slot] = NULL;
sys/dev/pci/if_ena.c
2140
ena_free_irqs(struct ena_adapter* adapter)
sys/dev/pci/if_ena.c
2143
ena_free_io_irq(adapter);
sys/dev/pci/if_ena.c
2144
ena_free_mgmnt_irq(adapter);
sys/dev/pci/if_ena.c
2145
ena_disable_msix(adapter);
sys/dev/pci/if_ena.c
2149
ena_disable_msix(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2151
pci_intr_release(adapter->sc_pa.pa_pc, adapter->sc_intrs,
sys/dev/pci/if_ena.c
2152
adapter->sc_nintrs);
sys/dev/pci/if_ena.c
2156
ena_unmask_all_io_irqs(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2164
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
2166
io_cq = &adapter->ena_dev->io_cq_queues[ena_qid];
sys/dev/pci/if_ena.c
2174
ena_rss_configure(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2176
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
2198
ena_up_complete(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2202
if (likely(adapter->rss_support)) {
sys/dev/pci/if_ena.c
2203
rc = ena_rss_configure(adapter);
sys/dev/pci/if_ena.c
2208
rc = ena_change_mtu(adapter->ifp, adapter->ifp->if_mtu);
sys/dev/pci/if_ena.c
2212
ena_refill_all_rx_bufs(adapter);
sys/dev/pci/if_ena.c
2213
ena_reset_counters((struct evcnt *)&adapter->hw_stats,
sys/dev/pci/if_ena.c
2214
sizeof(adapter->hw_stats),
sys/dev/pci/if_ena.c
2221
ena_up(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2225
KASSERT(ENA_CORE_MTX_OWNED(adapter));
sys/dev/pci/if_ena.c
2228
if (unlikely(device_is_attached(adapter->pdev) == 0)) {
sys/dev/pci/if_ena.c
2229
device_printf(adapter->pdev, "device is not attached!\n");
sys/dev/pci/if_ena.c
2234
if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) {
sys/dev/pci/if_ena.c
2235
device_printf(adapter->pdev, "device is not running!\n");
sys/dev/pci/if_ena.c
2239
if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
sys/dev/pci/if_ena.c
2240
device_printf(adapter->pdev, "device is going UP\n");
sys/dev/pci/if_ena.c
2243
rc = ena_setup_all_tx_resources(adapter);
sys/dev/pci/if_ena.c
2250
rc = ena_setup_all_rx_resources(adapter);
sys/dev/pci/if_ena.c
2257
rc = ena_create_io_queues(adapter);
sys/dev/pci/if_ena.c
2265
rc = ena_request_io_irq(adapter);
sys/dev/pci/if_ena.c
2271
if (unlikely(ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, adapter)))
sys/dev/pci/if_ena.c
2272
if_link_state_change(adapter->ifp, LINK_STATE_UP);
sys/dev/pci/if_ena.c
2274
rc = ena_up_complete(adapter);
sys/dev/pci/if_ena.c
2278
counter_u64_add(adapter->dev_stats.interface_up, 1);
sys/dev/pci/if_ena.c
2280
ena_update_hwassist(adapter);
sys/dev/pci/if_ena.c
2282
if_setdrvflagbits(adapter->ifp, IFF_RUNNING,
sys/dev/pci/if_ena.c
2284
ena_set_stopping_flag(adapter, false);
sys/dev/pci/if_ena.c
2286
callout_schedule(&adapter->timer_service, hz);
sys/dev/pci/if_ena.c
2288
ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEV_UP, adapter);
sys/dev/pci/if_ena.c
2290
ena_unmask_all_io_irqs(adapter);
sys/dev/pci/if_ena.c
2296
ena_destroy_all_io_queues(adapter);
sys/dev/pci/if_ena.c
2298
ena_free_all_rx_resources(adapter);
sys/dev/pci/if_ena.c
2300
ena_free_all_tx_resources(adapter);
sys/dev/pci/if_ena.c
2302
ena_free_io_irq(adapter);
sys/dev/pci/if_ena.c
2311
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
2314
adapter = if_getsoftc(ifp);
sys/dev/pci/if_ena.c
2315
stats = &adapter->hw_stats;
sys/dev/pci/if_ena.c
2344
struct ena_adapter *adapter = if_getsoftc(ifp);
sys/dev/pci/if_ena.c
2347
KASSERT(ENA_CORE_MTX_OWNED(adapter));
sys/dev/pci/if_ena.c
2352
if (!ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, adapter)) {
sys/dev/pci/if_ena.c
2363
struct ena_adapter *adapter = if_getsoftc(ifp);
sys/dev/pci/if_ena.c
2365
if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
sys/dev/pci/if_ena.c
2366
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
2367
ena_up(adapter);
sys/dev/pci/if_ena.c
2368
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
2376
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
2378
adapter = ifp->if_softc;
sys/dev/pci/if_ena.c
2380
if (ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
sys/dev/pci/if_ena.c
2381
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
2382
ena_down(adapter);
sys/dev/pci/if_ena.c
2383
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
2391
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
2395
adapter = ifp->if_softc;
sys/dev/pci/if_ena.c
2406
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
2407
ena_down(adapter);
sys/dev/pci/if_ena.c
2411
rc = ena_up(adapter);
sys/dev/pci/if_ena.c
2412
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
2431
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
2432
ena_down(adapter);
sys/dev/pci/if_ena.c
2433
rc = ena_up(adapter);
sys/dev/pci/if_ena.c
2434
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
2496
ena_update_hwassist(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2498
struct ifnet *ifp = adapter->ifp;
sys/dev/pci/if_ena.c
2499
uint32_t feat = adapter->tx_offload_cap;
sys/dev/pci/if_ena.c
2532
ena_setup_ifnet(device_t pdev, struct ena_adapter *adapter,
sys/dev/pci/if_ena.c
2538
ifp = adapter->ifp = &adapter->sc_ec.ec_if;
sys/dev/pci/if_ena.c
254
struct ena_adapter *adapter = device_private(dmadev);
sys/dev/pci/if_ena.c
2546
if_setsoftc(ifp, adapter);
sys/dev/pci/if_ena.c
2561
if_setsendqlen(ifp, adapter->tx_ring_size);
sys/dev/pci/if_ena.c
2572
adapter->sc_ec.ec_capabilities |= ETHERCAP_JUMBO_MTU;
sys/dev/pci/if_ena.c
2579
ifp->if_hw_tsomaxsegcount = adapter->max_tx_sgl_size - 1;
sys/dev/pci/if_ena.c
2590
adapter->sc_ec.ec_ifmedia = &adapter->media;
sys/dev/pci/if_ena.c
2591
ifmedia_init_with_lock(&adapter->media, IFM_IMASK,
sys/dev/pci/if_ena.c
2592
ena_media_change, ena_media_status, &adapter->global_mtx);
sys/dev/pci/if_ena.c
2593
ifmedia_add(&adapter->media, IFM_ETHER | IFM_AUTO, 0, NULL);
sys/dev/pci/if_ena.c
2594
ifmedia_set(&adapter->media, IFM_ETHER | IFM_AUTO);
sys/dev/pci/if_ena.c
2598
ether_ifattach(ifp, adapter->mac_addr);
sys/dev/pci/if_ena.c
2605
ena_set_stopping_flag(struct ena_adapter *adapter, bool value)
sys/dev/pci/if_ena.c
2610
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
2612
ring = adapter->que[i].tx_ring;
sys/dev/pci/if_ena.c
2618
ring = adapter->que[i].rx_ring;
sys/dev/pci/if_ena.c
262
dma_space_addr = ENA_DMA_BIT_MASK(adapter->dma_width);
sys/dev/pci/if_ena.c
2626
ena_down(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
2630
KASSERT(ENA_CORE_MTX_OWNED(adapter));
sys/dev/pci/if_ena.c
2632
if (ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)) {
sys/dev/pci/if_ena.c
2633
device_printf(adapter->pdev, "device is going DOWN\n");
sys/dev/pci/if_ena.c
2634
ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_DEV_UP, adapter);
sys/dev/pci/if_ena.c
2635
if_setdrvflagbits(adapter->ifp, IFF_OACTIVE,
sys/dev/pci/if_ena.c
2638
ena_set_stopping_flag(adapter, true);
sys/dev/pci/if_ena.c
2640
callout_halt(&adapter->timer_service, NULL);
sys/dev/pci/if_ena.c
2641
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
2642
struct ena_ring *rx_ring = adapter->que[i].rx_ring;
sys/dev/pci/if_ena.c
2647
if (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter)) {
sys/dev/pci/if_ena.c
2648
rc = ena_com_dev_reset(adapter->ena_dev,
sys/dev/pci/if_ena.c
2649
adapter->reset_reason);
sys/dev/pci/if_ena.c
2651
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
2655
ena_destroy_all_io_queues(adapter);
sys/dev/pci/if_ena.c
2657
ena_free_all_tx_bufs(adapter);
sys/dev/pci/if_ena.c
2658
ena_free_all_rx_bufs(adapter);
sys/dev/pci/if_ena.c
2659
ena_free_all_tx_resources(adapter);
sys/dev/pci/if_ena.c
2660
ena_free_all_rx_resources(adapter);
sys/dev/pci/if_ena.c
2662
ena_free_io_irq(adapter);
sys/dev/pci/if_ena.c
2664
counter_u64_add(adapter->dev_stats.interface_down, 1);
sys/dev/pci/if_ena.c
267
dma->tag = adapter->sc_dmat;
sys/dev/pci/if_ena.c
2767
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
2771
adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
2775
if (num_frags < adapter->max_tx_sgl_size)
sys/dev/pci/if_ena.c
2780
adapter->max_tx_sgl_size - 1);
sys/dev/pci/if_ena.c
2795
struct ena_adapter *adapter;
sys/dev/pci/if_ena.c
2812
adapter = tx_ring->que->adapter;
sys/dev/pci/if_ena.c
2813
ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
2844
rc = bus_dmamap_load_mbuf(adapter->sc_dmat, tx_info->map,
sys/dev/pci/if_ena.c
2878
device_printf(adapter->pdev, "failed to prepare tx bufs\n");
sys/dev/pci/if_ena.c
2888
counter_u64_add_protected(adapter->hw_stats.tx_packets, 1);
sys/dev/pci/if_ena.c
2889
counter_u64_add_protected(adapter->hw_stats.tx_bytes,
sys/dev/pci/if_ena.c
2900
bus_dmamap_sync(adapter->sc_dmat, tx_info->map, 0,
sys/dev/pci/if_ena.c
2907
bus_dmamap_unload(adapter->sc_dmat, tx_info->map);
sys/dev/pci/if_ena.c
2916
struct ena_adapter *adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
2926
if (unlikely((if_getdrvflags(adapter->ifp) & IFF_RUNNING) == 0))
sys/dev/pci/if_ena.c
2929
if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_LINK_UP, adapter)))
sys/dev/pci/if_ena.c
2933
io_sq = &adapter->ena_dev->io_sq_queues[ena_qid];
sys/dev/pci/if_ena.c
2935
nsr = IF_STAT_GETREF(adapter->ifp);
sys/dev/pci/if_ena.c
2938
if (unlikely(!ena_com_sq_have_enough_space(io_sq, adapter->max_tx_sgl_size)))
sys/dev/pci/if_ena.c
2949
if_statinc_ref(adapter->ifp, nsr, if_opackets);
sys/dev/pci/if_ena.c
2950
if_statadd_ref(adapter->ifp, nsr, if_obytes,
sys/dev/pci/if_ena.c
2953
if_statinc_ref(adapter->ifp, nsr, if_omcasts);
sys/dev/pci/if_ena.c
2955
if_statinc_ref(adapter->ifp, nsr, if_oerrors);
sys/dev/pci/if_ena.c
2961
if (unlikely((if_getdrvflags(adapter->ifp) &
sys/dev/pci/if_ena.c
2963
IF_STAT_PUTREF(adapter->ifp);
sys/dev/pci/if_ena.c
2973
bpf_mtap(adapter->ifp, mbuf, BPF_D_OUT);
sys/dev/pci/if_ena.c
2985
IF_STAT_PUTREF(adapter->ifp);
sys/dev/pci/if_ena.c
3002
struct ifnet *ifp = tx_ring->adapter->ifp;
sys/dev/pci/if_ena.c
3021
struct ena_adapter *adapter = ifp->if_softc;
sys/dev/pci/if_ena.c
3027
if (unlikely((if_getdrvflags(adapter->ifp) & IFF_RUNNING) == 0))
sys/dev/pci/if_ena.c
3036
i = cpu_index(curcpu()) % adapter->num_queues;
sys/dev/pci/if_ena.c
3038
tx_ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
3069
struct ena_adapter *adapter = ifp->if_softc;
sys/dev/pci/if_ena.c
3070
struct ena_ring *tx_ring = adapter->tx_ring;
sys/dev/pci/if_ena.c
3073
for(i = 0; i < adapter->num_queues; ++i, ++tx_ring)
sys/dev/pci/if_ena.c
308
bus_dmamap_destroy(adapter->sc_dmat, dma->map);
sys/dev/pci/if_ena.c
3086
struct ena_adapter *adapter,
sys/dev/pci/if_ena.c
3105
ena_calc_queue_size(struct ena_adapter *adapter, uint16_t *max_tx_sgl_size,
sys/dev/pci/if_ena.c
3131
device_printf(adapter->pdev, "Invalid queue size\n");
sys/dev/pci/if_ena.c
3146
struct ena_adapter *adapter = device_private(self);
sys/dev/pci/if_ena.c
3147
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
3148
device_t dev = adapter->pdev;
sys/dev/pci/if_ena.c
315
struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3158
qid = i % adapter->num_queues;
sys/dev/pci/if_ena.c
3180
adapter->rss_support = true;
sys/dev/pci/if_ena.c
3185
adapter->rss_support = false;
sys/dev/pci/if_ena.c
323
aprint_error_dev(adapter->pdev, "invalid type (type=0x%x)\n",
sys/dev/pci/if_ena.c
3235
ena_device_init(struct ena_adapter *adapter, device_t pdev,
sys/dev/pci/if_ena.c
3238
struct ena_com_dev* ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
3254
const int rev = PCI_REVISION(adapter->sc_pa.pa_class);
sys/dev/pci/if_ena.c
3276
adapter->dma_width = dma_width;
sys/dev/pci/if_ena.c
3325
static int ena_enable_msix_and_set_admin_interrupts(struct ena_adapter *adapter,
sys/dev/pci/if_ena.c
3328
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
3331
rc = ena_enable_msix(adapter);
sys/dev/pci/if_ena.c
3333
device_printf(adapter->pdev, "Error with MSI-X enablement\n");
sys/dev/pci/if_ena.c
3337
rc = ena_request_mgmnt_irq(adapter);
sys/dev/pci/if_ena.c
3339
device_printf(adapter->pdev, "Cannot setup mgmnt queue intr\n");
sys/dev/pci/if_ena.c
3350
ena_disable_msix(adapter);
sys/dev/pci/if_ena.c
3359
struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
sys/dev/pci/if_ena.c
3366
old = adapter->hw_stats.rx_drops.ev_count;
sys/dev/pci/if_ena.c
3368
counter_u64_add(adapter->hw_stats.rx_drops, rx_drops - old);
sys/dev/pci/if_ena.c
3369
if_statadd(adapter->ifp, if_iqdrops, rx_drops - old);
sys/dev/pci/if_ena.c
3372
atomic_store_release(&adapter->keep_alive_timestamp, getsbinuptime());
sys/dev/pci/if_ena.c
3376
static void check_for_missing_keep_alive(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3380
if (adapter->wd_active == 0)
sys/dev/pci/if_ena.c
3383
if (likely(adapter->keep_alive_timeout == 0))
sys/dev/pci/if_ena.c
3386
timestamp = atomic_load_acquire(&adapter->keep_alive_timestamp);
sys/dev/pci/if_ena.c
3389
if (unlikely(time > adapter->keep_alive_timeout)) {
sys/dev/pci/if_ena.c
339
adapter->sc_btag = pa->pa_memt;
sys/dev/pci/if_ena.c
3390
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3392
counter_u64_add(adapter->dev_stats.wd_expired, 1);
sys/dev/pci/if_ena.c
3393
adapter->reset_reason = ENA_REGS_RESET_KEEP_ALIVE_TO;
sys/dev/pci/if_ena.c
3394
ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter);
sys/dev/pci/if_ena.c
3399
static void check_for_admin_com_state(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3401
if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) ==
sys/dev/pci/if_ena.c
3403
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3405
counter_u64_add(adapter->dev_stats.admin_q_pause, 1);
sys/dev/pci/if_ena.c
3406
adapter->reset_reason = ENA_REGS_RESET_ADMIN_TO;
sys/dev/pci/if_ena.c
3407
ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter);
sys/dev/pci/if_ena.c
341
memtype, &adapter->sc_memaddr, &adapter->sc_mapsize, &flags);
sys/dev/pci/if_ena.c
3412
check_missing_comp_in_queue(struct ena_adapter *adapter,
sys/dev/pci/if_ena.c
343
aprint_error_dev(adapter->pdev, "can't get map info\n");
sys/dev/pci/if_ena.c
3432
if (unlikely(bttosbt(time) > adapter->missing_tx_timeout)) {
sys/dev/pci/if_ena.c
3444
adapter->missing_tx_threshold)) {
sys/dev/pci/if_ena.c
3445
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3449
missed_tx, adapter->missing_tx_threshold);
sys/dev/pci/if_ena.c
3450
adapter->reset_reason =
sys/dev/pci/if_ena.c
3453
adapter);
sys/dev/pci/if_ena.c
3469
check_for_missing_tx_completions(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3477
if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter))
sys/dev/pci/if_ena.c
3480
if (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))
sys/dev/pci/if_ena.c
3483
if (adapter->missing_tx_timeout == 0)
sys/dev/pci/if_ena.c
3486
budget = adapter->missing_tx_max_queues;
sys/dev/pci/if_ena.c
3488
for (i = adapter->next_monitored_tx_qid; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
3489
tx_ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
3491
rc = check_missing_comp_in_queue(adapter, tx_ring);
sys/dev/pci/if_ena.c
3502
adapter->next_monitored_tx_qid = i % adapter->num_queues;
sys/dev/pci/if_ena.c
3518
check_for_empty_rx_ring(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3523
if (!ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter))
sys/dev/pci/if_ena.c
3526
if (ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))
sys/dev/pci/if_ena.c
3529
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
3530
rx_ring = &adapter->rx_ring[i];
sys/dev/pci/if_ena.c
3540
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3563
struct ena_adapter *adapter = (struct ena_adapter *)data;
sys/dev/pci/if_ena.c
3565
adapter->ena_dev->host_attr.host_info;
sys/dev/pci/if_ena.c
3567
check_for_missing_keep_alive(adapter);
sys/dev/pci/if_ena.c
3569
check_for_admin_com_state(adapter);
sys/dev/pci/if_ena.c
3571
check_for_missing_tx_completions(adapter);
sys/dev/pci/if_ena.c
3573
check_for_empty_rx_ring(adapter);
sys/dev/pci/if_ena.c
3576
ena_update_host_info(host_info, adapter->ifp);
sys/dev/pci/if_ena.c
3578
if (unlikely(ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) {
sys/dev/pci/if_ena.c
3579
device_printf(adapter->pdev, "Trigger reset is on\n");
sys/dev/pci/if_ena.c
358
adapter->sc_mapsize = table_offset;
sys/dev/pci/if_ena.c
3580
workqueue_enqueue(adapter->reset_tq, &adapter->reset_task,
sys/dev/pci/if_ena.c
3588
if (likely(ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter)))
sys/dev/pci/if_ena.c
3589
callout_schedule(&adapter->timer_service, hz);
sys/dev/pci/if_ena.c
3596
struct ena_adapter *adapter = (struct ena_adapter *)arg;
sys/dev/pci/if_ena.c
3597
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
3601
if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) {
sys/dev/pci/if_ena.c
3602
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3607
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
3609
callout_halt(&adapter->timer_service, NULL);
sys/dev/pci/if_ena.c
361
error = bus_space_map(adapter->sc_btag, adapter->sc_memaddr,
sys/dev/pci/if_ena.c
3611
dev_up = ENA_FLAG_ISSET(ENA_FLAG_DEV_UP, adapter);
sys/dev/pci/if_ena.c
3614
ena_down(adapter);
sys/dev/pci/if_ena.c
3615
ena_free_mgmnt_irq(adapter);
sys/dev/pci/if_ena.c
3616
ena_disable_msix(adapter);
sys/dev/pci/if_ena.c
362
adapter->sc_mapsize, flags, &adapter->sc_bhandle);
sys/dev/pci/if_ena.c
3622
adapter->reset_reason = ENA_REGS_RESET_NORMAL;
sys/dev/pci/if_ena.c
3623
ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_TRIGGER_RESET, adapter);
sys/dev/pci/if_ena.c
3626
rc = ena_device_init(adapter, adapter->pdev, &get_feat_ctx,
sys/dev/pci/if_ena.c
3627
&adapter->wd_active);
sys/dev/pci/if_ena.c
3629
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3635
rc = ena_enable_msix_and_set_admin_interrupts(adapter,
sys/dev/pci/if_ena.c
3636
adapter->num_queues);
sys/dev/pci/if_ena.c
3638
device_printf(adapter->pdev, "Enable MSI-X failed\n");
sys/dev/pci/if_ena.c
364
aprint_error_dev(adapter->pdev,
sys/dev/pci/if_ena.c
3644
rc = ena_up(adapter);
sys/dev/pci/if_ena.c
3646
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3652
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
3657
ena_free_mgmnt_irq(adapter);
sys/dev/pci/if_ena.c
3658
ena_disable_msix(adapter);
sys/dev/pci/if_ena.c
3662
device_printf(adapter->pdev, "ENA reset failed!\n");
sys/dev/pci/if_ena.c
3663
ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_DEVICE_RUNNING, adapter);
sys/dev/pci/if_ena.c
3664
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
3683
struct ena_adapter *adapter = device_private(self);
sys/dev/pci/if_ena.c
3692
adapter->pdev = self;
sys/dev/pci/if_ena.c
3693
adapter->ifp = &adapter->sc_ec.ec_if;
sys/dev/pci/if_ena.c
3694
adapter->sc_pa = *pa; /* used after attach for adapter reset too */
sys/dev/pci/if_ena.c
3697
adapter->sc_dmat = pa->pa_dmat64;
sys/dev/pci/if_ena.c
3699
adapter->sc_dmat = pa->pa_dmat;
sys/dev/pci/if_ena.c
3709
mutex_init(&adapter->global_mtx, MUTEX_DEFAULT, IPL_SOFTNET);
sys/dev/pci/if_ena.c
3712
adapter->keep_alive_timeout = DEFAULT_KEEP_ALIVE_TO;
sys/dev/pci/if_ena.c
3713
adapter->missing_tx_timeout = DEFAULT_TX_CMP_TO;
sys/dev/pci/if_ena.c
3714
adapter->missing_tx_max_queues = DEFAULT_TX_MONITORED_QUEUES;
sys/dev/pci/if_ena.c
3715
adapter->missing_tx_threshold = DEFAULT_TX_CMP_THRESHOLD;
sys/dev/pci/if_ena.c
3720
rc = ena_allocate_pci_resources(pa, adapter);
sys/dev/pci/if_ena.c
3723
ena_free_pci_resources(adapter);
sys/dev/pci/if_ena.c
373
ena_free_pci_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
3730
adapter->ena_dev = ena_dev;
sys/dev/pci/if_ena.c
3735
((struct ena_bus*)(ena_dev->bus))->reg_bar_t = adapter->sc_btag;
sys/dev/pci/if_ena.c
3736
((struct ena_bus*)(ena_dev->bus))->reg_bar_h = adapter->sc_bhandle;
sys/dev/pci/if_ena.c
3741
rc = ena_device_init(adapter, self, &get_feat_ctx, &adapter->wd_active);
sys/dev/pci/if_ena.c
3748
adapter->keep_alive_timestamp = getsbinuptime();
sys/dev/pci/if_ena.c
375
if (adapter->sc_mapsize != 0) {
sys/dev/pci/if_ena.c
3750
adapter->tx_offload_cap = get_feat_ctx.offload.tx;
sys/dev/pci/if_ena.c
3753
ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_DEV_UP, adapter);
sys/dev/pci/if_ena.c
3755
memcpy(adapter->mac_addr, get_feat_ctx.dev_attr.mac_addr,
sys/dev/pci/if_ena.c
3759
io_queue_num = ena_calc_io_queue_num(pa, adapter, &get_feat_ctx);
sys/dev/pci/if_ena.c
376
bus_space_unmap(adapter->sc_btag, adapter->sc_bhandle,
sys/dev/pci/if_ena.c
3763
adapter->num_queues = io_queue_num;
sys/dev/pci/if_ena.c
3765
adapter->max_mtu = get_feat_ctx.dev_attr.max_mtu;
sys/dev/pci/if_ena.c
3768
queue_size = ena_calc_queue_size(adapter,&tx_sgl_size,
sys/dev/pci/if_ena.c
377
adapter->sc_mapsize);
sys/dev/pci/if_ena.c
3775
adapter->reset_reason = ENA_REGS_RESET_NORMAL;
sys/dev/pci/if_ena.c
3777
adapter->tx_ring_size = queue_size;
sys/dev/pci/if_ena.c
3778
adapter->rx_ring_size = queue_size;
sys/dev/pci/if_ena.c
3780
adapter->max_tx_sgl_size = tx_sgl_size;
sys/dev/pci/if_ena.c
3781
adapter->max_rx_sgl_size = rx_sgl_size;
sys/dev/pci/if_ena.c
3785
rc = ena_setup_tx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3791
rc = ena_setup_rx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3800
ena_init_io_rings(adapter);
sys/dev/pci/if_ena.c
3803
rc = ena_setup_ifnet(self, adapter, &get_feat_ctx);
sys/dev/pci/if_ena.c
3809
rc = ena_enable_msix_and_set_admin_interrupts(adapter, io_queue_num);
sys/dev/pci/if_ena.c
3816
callout_init(&adapter->timer_service, CALLOUT_MPSAFE);
sys/dev/pci/if_ena.c
3817
callout_setfunc(&adapter->timer_service, ena_timer_service, adapter);
sys/dev/pci/if_ena.c
3820
rc = workqueue_create(&adapter->reset_tq, "ena_reset_enq",
sys/dev/pci/if_ena.c
3821
ena_reset_task, adapter, 0, IPL_NET, WQ_PERCPU | WQ_MPSAFE);
sys/dev/pci/if_ena.c
3829
ena_alloc_counters_dev(adapter, &adapter->dev_stats, io_queue_num);
sys/dev/pci/if_ena.c
3830
ena_alloc_counters_hwstats(adapter, &adapter->hw_stats, io_queue_num);
sys/dev/pci/if_ena.c
3832
ena_sysctl_add_nodes(adapter);
sys/dev/pci/if_ena.c
3838
if_setdrvflagbits(adapter->ifp, IFF_OACTIVE, IFF_RUNNING);
sys/dev/pci/if_ena.c
3839
ena_set_stopping_flag(adapter, false);
sys/dev/pci/if_ena.c
3841
ENA_FLAG_SET_ATOMIC(ENA_FLAG_DEVICE_RUNNING, adapter);
sys/dev/pci/if_ena.c
3845
if_detach(adapter->ifp);
sys/dev/pci/if_ena.c
3847
ena_free_all_io_rings_resources(adapter);
sys/dev/pci/if_ena.c
3849
ena_free_rx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3851
ena_free_tx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3860
ena_free_pci_resources(adapter);
sys/dev/pci/if_ena.c
3873
struct ena_adapter *adapter = device_private(pdev);
sys/dev/pci/if_ena.c
3874
struct ena_com_dev *ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
3880
if (VLAN_ATTACHED(&adapter->sc_ec)) {
sys/dev/pci/if_ena.c
3881
device_printf(adapter->pdev ,"VLAN is in use, detach first\n");
sys/dev/pci/if_ena.c
3886
ENA_CORE_MTX_LOCK(adapter);
sys/dev/pci/if_ena.c
3887
ena_down(adapter);
sys/dev/pci/if_ena.c
3888
ENA_CORE_MTX_UNLOCK(adapter);
sys/dev/pci/if_ena.c
3891
callout_halt(&adapter->timer_service, NULL);
sys/dev/pci/if_ena.c
3892
callout_destroy(&adapter->timer_service);
sys/dev/pci/if_ena.c
3893
workqueue_wait(adapter->reset_tq, &adapter->reset_task);
sys/dev/pci/if_ena.c
3894
workqueue_destroy(adapter->reset_tq);
sys/dev/pci/if_ena.c
3895
adapter->reset_tq = NULL;
sys/dev/pci/if_ena.c
3897
ena_free_all_io_rings_resources(adapter);
sys/dev/pci/if_ena.c
3899
if (likely(adapter->rss_support))
sys/dev/pci/if_ena.c
3903
rc = ena_free_rx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3905
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3908
rc = ena_free_tx_dma_tag(adapter);
sys/dev/pci/if_ena.c
3910
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
3915
if (ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))
sys/dev/pci/if_ena.c
3916
ena_com_dev_reset(ena_dev, adapter->reset_reason);
sys/dev/pci/if_ena.c
3920
ena_free_irqs(adapter);
sys/dev/pci/if_ena.c
3930
ena_free_pci_resources(adapter);
sys/dev/pci/if_ena.c
3932
ena_free_counters((struct evcnt *)&adapter->hw_stats,
sys/dev/pci/if_ena.c
3935
ena_free_counters((struct evcnt *)&adapter->dev_stats,
sys/dev/pci/if_ena.c
3939
if (adapter->ifp != NULL) {
sys/dev/pci/if_ena.c
3940
ether_ifdetach(adapter->ifp);
sys/dev/pci/if_ena.c
3941
if_detach(adapter->ifp);
sys/dev/pci/if_ena.c
3943
ifmedia_fini(&adapter->media);
sys/dev/pci/if_ena.c
3945
mutex_destroy(&adapter->global_mtx);
sys/dev/pci/if_ena.c
3967
struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
sys/dev/pci/if_ena.c
3973
ifp = adapter->ifp;
sys/dev/pci/if_ena.c
3978
device_printf(adapter->pdev, "link is UP\n");
sys/dev/pci/if_ena.c
3979
ENA_FLAG_SET_ATOMIC(ENA_FLAG_LINK_UP, adapter);
sys/dev/pci/if_ena.c
3982
device_printf(adapter->pdev, "link is DOWN\n");
sys/dev/pci/if_ena.c
3983
ENA_FLAG_CLEAR_ATOMIC(ENA_FLAG_LINK_UP, adapter);
sys/dev/pci/if_ena.c
402
struct ena_adapter *adapter = if_getsoftc(ifp);
sys/dev/pci/if_ena.c
405
if ((new_mtu > adapter->max_mtu) || (new_mtu < ENA_MIN_MTU)) {
sys/dev/pci/if_ena.c
406
device_printf(adapter->pdev, "Invalid MTU setting. "
sys/dev/pci/if_ena.c
408
new_mtu, adapter->max_mtu, ENA_MIN_MTU);
sys/dev/pci/if_ena.c
412
rc = ena_com_set_dev_mtu(adapter->ena_dev, new_mtu);
sys/dev/pci/if_ena.c
417
device_printf(adapter->pdev, "Failed to set MTU to %d\n",
sys/dev/pci/if_ena.c
431
ena_alloc_counters_rx(struct ena_adapter *adapter, struct ena_stats_rx *st, int queue)
sys/dev/pci/if_ena.c
434
device_xname(adapter->pdev), queue);
sys/dev/pci/if_ena.c
452
ena_alloc_counters_tx(struct ena_adapter *adapter, struct ena_stats_tx *st, int queue)
sys/dev/pci/if_ena.c
455
device_xname(adapter->pdev), queue);
sys/dev/pci/if_ena.c
474
ena_alloc_counters_dev(struct ena_adapter *adapter, struct ena_stats_dev *st, int queue)
sys/dev/pci/if_ena.c
477
device_xname(adapter->pdev), queue);
sys/dev/pci/if_ena.c
490
ena_alloc_counters_hwstats(struct ena_adapter *adapter, struct ena_hw_stats *st, int queue)
sys/dev/pci/if_ena.c
493
device_xname(adapter->pdev), queue);
sys/dev/pci/if_ena.c
526
ena_init_io_rings_common(struct ena_adapter *adapter, struct ena_ring *ring,
sys/dev/pci/if_ena.c
531
ring->adapter = adapter;
sys/dev/pci/if_ena.c
532
ring->ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
536
ena_init_io_rings(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
543
ena_dev = adapter->ena_dev;
sys/dev/pci/if_ena.c
545
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
546
txr = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
547
rxr = &adapter->rx_ring[i];
sys/dev/pci/if_ena.c
550
ena_init_io_rings_common(adapter, txr, i);
sys/dev/pci/if_ena.c
551
ena_init_io_rings_common(adapter, rxr, i);
sys/dev/pci/if_ena.c
554
txr->ring_size = adapter->tx_ring_size;
sys/dev/pci/if_ena.c
565
ena_alloc_counters_tx(adapter, &txr->tx_stats, i);
sys/dev/pci/if_ena.c
568
rxr->ring_size = adapter->rx_ring_size;
sys/dev/pci/if_ena.c
573
ena_alloc_counters_rx(adapter, &rxr->rx_stats, i);
sys/dev/pci/if_ena.c
577
device_xname(adapter->pdev), i);
sys/dev/pci/if_ena.c
579
device_xname(adapter->pdev), i);
sys/dev/pci/if_ena.c
584
que = &adapter->que[i];
sys/dev/pci/if_ena.c
585
que->adapter = adapter;
sys/dev/pci/if_ena.c
598
ena_free_io_ring_resources(struct ena_adapter *adapter, unsigned int qid)
sys/dev/pci/if_ena.c
600
struct ena_ring *txr = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
601
struct ena_ring *rxr = &adapter->rx_ring[qid];
sys/dev/pci/if_ena.c
613
ena_free_all_io_rings_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
617
for (i = 0; i < adapter->num_queues; i++)
sys/dev/pci/if_ena.c
618
ena_free_io_ring_resources(adapter, i);
sys/dev/pci/if_ena.c
624
ena_setup_tx_dma_tag(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
629
ret = bus_dma_tag_create(bus_get_dma_tag(adapter->pdev),
sys/dev/pci/if_ena.c
631
ENA_DMA_BIT_MASK(adapter->dma_width), /* lowaddr of excl window */
sys/dev/pci/if_ena.c
635
adapter->max_tx_sgl_size - 1, /* nsegments */
sys/dev/pci/if_ena.c
640
&adapter->tx_buf_tag);
sys/dev/pci/if_ena.c
648
ena_setup_rx_dma_tag(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
653
ret = bus_dma_tag_create(bus_get_dma_tag(adapter->pdev), /* parent */
sys/dev/pci/if_ena.c
655
ENA_DMA_BIT_MASK(adapter->dma_width), /* lowaddr of excl window */
sys/dev/pci/if_ena.c
659
adapter->max_rx_sgl_size, /* nsegments */
sys/dev/pci/if_ena.c
664
&adapter->rx_buf_tag);
sys/dev/pci/if_ena.c
678
ena_setup_tx_resources(struct ena_adapter *adapter, int qid)
sys/dev/pci/if_ena.c
680
struct ena_que *que = &adapter->que[qid];
sys/dev/pci/if_ena.c
706
err = bus_dmamap_create(adapter->sc_dmat,
sys/dev/pci/if_ena.c
707
ENA_TSO_MAXSIZE, adapter->max_tx_sgl_size - 1,
sys/dev/pci/if_ena.c
730
bus_dmamap_destroy(adapter->sc_dmat,
sys/dev/pci/if_ena.c
751
ena_free_tx_resources(struct ena_adapter *adapter, int qid)
sys/dev/pci/if_ena.c
753
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
768
bus_dmamap_unload(adapter->sc_dmat,
sys/dev/pci/if_ena.c
770
bus_dmamap_destroy(adapter->sc_dmat,
sys/dev/pci/if_ena.c
792
ena_setup_all_tx_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
796
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
797
rc = ena_setup_tx_resources(adapter, i);
sys/dev/pci/if_ena.c
799
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
810
ena_free_tx_resources(adapter, i);
sys/dev/pci/if_ena.c
821
ena_free_all_tx_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
825
for (i = 0; i < adapter->num_queues; i++)
sys/dev/pci/if_ena.c
826
ena_free_tx_resources(adapter, i);
sys/dev/pci/if_ena.c
835
device_printf(rx_ring->adapter->pdev, "Invalid rx req_id: %hu\n",
sys/dev/pci/if_ena.c
840
rx_ring->adapter->reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID;
sys/dev/pci/if_ena.c
841
ENA_FLAG_SET_ATOMIC(ENA_FLAG_TRIGGER_RESET, rx_ring->adapter);
sys/dev/pci/if_ena.c
854
ena_setup_rx_resources(struct ena_adapter *adapter, unsigned int qid)
sys/dev/pci/if_ena.c
856
struct ena_que *que = &adapter->que[qid];
sys/dev/pci/if_ena.c
886
err = bus_dmamap_create(adapter->sc_dmat,
sys/dev/pci/if_ena.c
887
MJUM16BYTES, adapter->max_rx_sgl_size, MJUM16BYTES,
sys/dev/pci/if_ena.c
899
if ((adapter->ifp->if_capenable & IFCAP_LRO) != 0) {
sys/dev/pci/if_ena.c
902
device_printf(adapter->pdev,
sys/dev/pci/if_ena.c
907
rx_ring->lro.ifp = adapter->ifp;
sys/dev/pci/if_ena.c
925
bus_dmamap_destroy(adapter->sc_dmat,
sys/dev/pci/if_ena.c
946
ena_free_rx_resources(struct ena_adapter *adapter, unsigned int qid)
sys/dev/pci/if_ena.c
948
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
sys/dev/pci/if_ena.c
956
bus_dmamap_unload(adapter->sc_dmat,
sys/dev/pci/if_ena.c
958
bus_dmamap_destroy(adapter->sc_dmat,
sys/dev/pci/if_ena.c
985
ena_setup_all_rx_resources(struct ena_adapter *adapter)
sys/dev/pci/if_ena.c
989
for (i = 0; i < adapter->num_queues; i++) {
sys/dev/pci/if_ena.c
990
rc = ena_setup_rx_resources(adapter, i);
sys/dev/pci/if_ena.c
992
device_printf(adapter->pdev,
sys/dev/pci/if_enavar.h
168
#define ENA_FLAG_ZERO(adapter) (adapter)->flags = 0;
sys/dev/pci/if_enavar.h
169
#define ENA_FLAG_ISSET(bit, adapter) ((adapter)->flags & __BIT(bit))
sys/dev/pci/if_enavar.h
170
#define ENA_FLAG_SET_ATOMIC(bit, adapter) \
sys/dev/pci/if_enavar.h
171
atomic_or_32(&(adapter)->flags, __BIT(bit))
sys/dev/pci/if_enavar.h
172
#define ENA_FLAG_CLEAR_ATOMIC(bit, adapter) \
sys/dev/pci/if_enavar.h
173
atomic_and_32(&(adapter)->flags, ENA_FLAG_BITMASK(bit))
sys/dev/pci/if_enavar.h
189
struct ena_adapter *adapter;
sys/dev/pci/if_enavar.h
268
struct ena_adapter *adapter;
sys/dev/pci/ips.c
1674
adapter));
sys/dev/pci/ips.c
373
struct ips_adapterinfo adapter;
sys/dev/pci/ips.c
669
ai = &sc->sc_info->adapter;
sys/dev/pci/isp_pci.c
692
isp->isp_osinfo.adapter.adapt_nchannels = isp->isp_nchan;
sys/dev/sbus/isp_sbus.c
131
isp->isp_nchan = isp->isp_osinfo.adapter.adapt_nchannels = 1;
sys/dev/scsipi/scsipi_base.c
2852
SDT_PROBE3(scsi, base, adapter, request__start, chan, req, arg);
sys/dev/scsipi/scsipi_base.c
2854
SDT_PROBE3(scsi, base, adapter, request__done, chan, req, arg);
sys/dev/scsipi/scsipi_base.c
73
SDT_PROBE_DEFINE3(scsi, base, adapter, request__start,
sys/dev/scsipi/scsipi_base.c
77
SDT_PROBE_DEFINE3(scsi, base, adapter, request__done,