usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1151
qlge_t *qlge = (qlge_t *)rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1163
(qlge->mac_flags == QL_MAC_DETACH)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1179
temp = ql_read_doorbell_reg(qlge, rx_ring->sbq_prod_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1189
if (num_free_buffers < qlge->rx_sb_low_count[rx_ring->cq_id])
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1190
qlge->rx_sb_low_count[rx_ring->cq_id] = num_free_buffers;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1217
(qlge->mac_flags == QL_MAC_STARTED)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1237
ql_update_sbq_prod_idx(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1242
__func__, qlge->instance, rx_ring->sbuf_free_count));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1266
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1276
(qlge->mac_flags == QL_MAC_DETACH)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1292
temp = ql_read_doorbell_reg(qlge, rx_ring->lbq_prod_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1303
if (num_free_buffers < qlge->rx_lb_low_count[rx_ring->cq_id]) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1304
qlge->rx_lb_low_count[rx_ring->cq_id] = num_free_buffers;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1331
(qlge->mac_flags == QL_MAC_STARTED)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1351
ql_update_lbq_prod_idx(rx_ring->qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1446
ql_alloc_sbufs(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1480
if (ql_alloc_phys_rbuf(qlge->dip, &sbq_desc->bd_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1591
ql_alloc_lbufs(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1623
lbq_buf_size = (qlge->mtu == ETHERMTU) ?
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1630
if (ql_alloc_phys_rbuf(qlge->dip, &lbq_desc->bd_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1673
ql_free_rx_buffers(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1678
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1679
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1691
ql_alloc_rx_buffers(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1696
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1697
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1699
if (ql_alloc_sbufs(qlge, rx_ring) != DDI_SUCCESS)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1701
if (ql_alloc_lbufs(qlge, rx_ring) != DDI_SUCCESS)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1706
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1707
if (qlge->rx_ring[i].type == RX_Q) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1708
qlge->rx_sb_low_count[i] = NUM_SMALL_BUFFERS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1709
qlge->rx_lb_low_count[i] = NUM_LARGE_BUFFERS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1711
qlge->cq_low_count[i] = NUM_RX_RING_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1717
ql_free_rx_buffers(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
173
ql_read_sh_reg(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
178
(void) ddi_dma_sync(qlge->host_copy_shadow_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1791
qlge_t *qlge = tx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1796
if (qlge->port_link_state == LS_DOWN) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1814
__func__, qlge->instance, tx_ring->mac_flags);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
182
rtn = ddi_get32(qlge->host_copy_shadow_dma_attr.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1830
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1858
ql_write_doorbell_reg(tx_ring->qlge, tx_ring->prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1874
ql_build_rx_mp(qlge_t *qlge, struct rx_ring *rx_ring,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1920
if (pkt_len > qlge->max_frame_size) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1924
if (qlge->rx_copy ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1925
(rx_ring->sbuf_in_use_count <= qlge->rx_copy_threshold) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1926
(rx_ring->lbuf_in_use_count <= qlge->rx_copy_threshold)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1932
qlge->stats.norcvbuf++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1933
tp = allocb(payload_len + header_len + qlge->ip_hdr_offset,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1938
tp->b_rptr += qlge->ip_hdr_offset;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1964
__func__, qlge->instance, rx_ring->cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1988
if ((qlge->ip_hdr_offset != 0)&&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1997
qlge->ip_hdr_offset),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2000
qlge->ip_hdr_offset;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2042
__func__, qlge->instance, rx_ring->cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2077
(payload_len <= qlge->payload_copy_thresh) &&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2079
(SMALL_BUFFER_SIZE - qlge->ip_hdr_offset))) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2110
__func__, qlge->instance, rx_ring->cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2147
(payload_len <= qlge->payload_copy_thresh) &&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2149
(SMALL_BUFFER_SIZE - qlge->ip_hdr_offset))) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
216
ql_pci_config(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
220
qlge->vendor_id = (uint16_t)pci_config_get16(qlge->pci_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
222
qlge->device_id = (uint16_t)pci_config_get16(qlge->pci_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2285
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2286
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2287
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2288
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2295
ql_wake_asic_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2320
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2322
ql_write_doorbell_reg(qlge, rx_ring->cnsmr_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2332
ql_process_chip_ae_intr(qlge_t *qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
235
w = (uint16_t)pci_config_get16(qlge->pci_handle, PCI_CONF_COMM);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2377
__func__, qlge->instance, eventType));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2382
ql_wake_mpi_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2383
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2384
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2385
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2388
ql_wake_asic_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2389
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2390
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2391
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
241
pci_config_put16(qlge->pci_handle, PCI_CONF_COMM, w);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
243
w = pci_config_get16(qlge->pci_handle, 0x54);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2443
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2444
uint32_t prod = ql_read_sh_reg(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
246
pci_config_put16(qlge->pci_handle, 0x54, w);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2461
temp = ql_read_doorbell_reg(qlge, rx_ring->cnsmr_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2471
if (num_free_entries < qlge->cq_low_count[rx_ring->cq_id])
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2472
qlge->cq_low_count[rx_ring->cq_id] = num_free_entries;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
248
ql_dump_pci_config(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2506
mp = ql_build_rx_mp(qlge, rx_ring, net_rsp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2559
ql_process_chip_ae_intr(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
256
ql_set_mac_info(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2574
prod = ql_read_sh_reg(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2601
ql_enable_completion_interrupt(rx_ring->qlge, rx_ring->irq);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2607
ql_process_mac_tx_intr(qlge_t *qlge, struct ob_mac_iocb_rsp *mac_rsp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2613
tx_ring = &qlge->tx_ring[mac_rsp->txq_idx];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2619
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
263
qlge->fn0_net = FN0_NET;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
264
qlge->fn1_net = FN1_NET;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
266
if (ql_read_processor_data(qlge, MPI_REG, &value) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2677
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2678
uint32_t prod = ql_read_sh_reg(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
268
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2692
temp = ql_read_doorbell_reg(qlge, rx_ring->cnsmr_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2702
if (num_free_entries < qlge->cq_low_count[rx_ring->cq_id])
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2703
qlge->cq_low_count[rx_ring->cq_id] = num_free_entries;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2729
ql_process_mac_tx_intr(qlge, net_rsp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2742
prod = ql_read_sh_reg(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2749
tx_ring = &qlge->tx_ring[net_rsp->txq_idx];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2777
qlge_t *qlge = (qlge_t *)((void *)arg1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
278
__func__, qlge->instance, value, fn0_net, fn1_net);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2780
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2781
(void) ql_do_stop(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2786
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2787
(void) ql_unicst_set(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2788
(uint8_t *)qlge->unicst_addr[0].addr.ether_addr_octet, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2789
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2790
qlge->mac_flags = QL_MAC_INIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2791
status = ql_do_start(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2794
qlge->mac_flags = QL_MAC_STARTED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2795
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2796
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_RESTORED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2801
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2804
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2805
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2806
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2807
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
281
qlge->fn0_net = fn0_net;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2819
qlge_t *qlge = (qlge_t *)((void *)arg1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
282
qlge->fn1_net = fn1_net;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2821
(void) ql_reset_mpi_risc(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2832
qlge_t *qlge = (qlge_t *)((void *)arg1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2834
ql_do_mpi_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2840
ql_wake_asic_reset_soft_intr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2842
(void) ddi_intr_trigger_softint(qlge->asic_reset_intr_hdl, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2846
ql_wake_mpi_reset_soft_intr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2848
(void) ddi_intr_trigger_softint(qlge->mpi_reset_intr_hdl, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2852
ql_wake_mpi_event_soft_intr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2854
(void) ddi_intr_trigger_softint(qlge->mpi_event_intr_hdl, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2869
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
287
value = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2870
struct intr_ctx *intr_ctx = &qlge->intr_ctx[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2879
++qlge->rx_interrupts[rx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
288
qlge->func_number = (uint8_t)((value >> 6) & 0x03);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2881
if (ql_atomic_read_32(&qlge->intr_ctx[0].irq_cnt)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2882
ql_write_reg(qlge, REG_RSVD7, 0xfeed0002);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2883
var = ql_read_reg(qlge, REG_ERROR_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2884
var = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2885
var = ql_read_reg(qlge, REG_INTERRUPT_STATUS_1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2889
ql_disable_completion_interrupt(qlge, intr_ctx->intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2894
if (qlge->isr_stride) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2895
ob_ring = &qlge->rx_ring[qlge->isr_stride];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2896
if (ql_read_sh_reg(qlge, ob_ring) !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
290
value, qlge->func_number));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2904
rx_ring = &qlge->rx_ring[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2905
prod = ql_read_sh_reg(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2911
ql_disable_completion_interrupt(qlge, intr_ctx->intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2924
var = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2926
ql_write_reg(qlge, REG_RSVD7, 0xfeed0003);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2927
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2928
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2929
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
293
if ((qlge->func_number != qlge->fn0_net) &&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2930
ddi_fm_service_impact(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2934
var = ql_read_reg(qlge, REG_ERROR_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2938
ql_wake_asic_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
294
(qlge->func_number != qlge->fn1_net)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2950
ql_write_reg(qlge, REG_RSVD7, 0xfeed0004);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2953
ql_disable_completion_interrupt(qlge, intr_ctx->intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2954
ql_wake_mpi_event_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
296
"Invalid function number = 0x%x\n", qlge->func_number);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2960
if (qlge->intr_type != DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2964
for (i = 1; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2965
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2967
if (ql_read_sh_reg(qlge, rx_ring) !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2972
ql_disable_completion_interrupt(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2978
rx_ring->qlge, rx_ring->irq);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2999
ql_enable_completion_interrupt(qlge, intr_ctx->intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
300
if (qlge->func_number == qlge->fn0_net) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
301
qlge->xgmac_sem_mask = QL_PORT0_XGMAC_SEM_MASK;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3012
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3015
++qlge->rx_interrupts[rx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3017
ql_enable_completion_interrupt(rx_ring->qlge, rx_ring->irq);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
302
qlge->xgmac_sem_bits = QL_PORT0_XGMAC_SEM_BITS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3031
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3037
ql_disable_completion_interrupt(qlge, rx_ring->irq);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
304
qlge->xgmac_sem_mask = QL_PORT1_XGMAC_SEM_MASK;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3042
if (qlge->isr_stride) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3043
ob_ring = rx_ring + qlge->isr_stride;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3044
if (ql_read_sh_reg(qlge, ob_ring) !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3046
++qlge->rx_interrupts[ob_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
305
qlge->xgmac_sem_bits = QL_PORT1_XGMAC_SEM_BITS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3051
++qlge->rx_interrupts[rx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3070
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3078
++qlge->rx_polls[rx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3087
var = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3092
ql_write_reg(qlge, REG_RSVD7, 0xfeed0003);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3093
var = ql_read_reg(qlge, REG_ERROR_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3095
ql_wake_asic_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3096
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3097
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3098
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3099
ddi_fm_service_impact(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3111
ql_write_reg(qlge, REG_RSVD7, 0xfeed0004);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3112
ql_do_mpi_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3127
qlge_t *qlge = rx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3133
++qlge->rx_interrupts[rx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3152
ql_alloc_ioctl_dma_buf(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3158
alloc_size = qlge->ioctl_buf_dma_attr.mem_len =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3160
if (ql_alloc_phys(qlge->dip, &qlge->ioctl_buf_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3163
&qlge->ioctl_buf_dma_attr.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3166
(caddr_t *)&qlge->ioctl_buf_dma_attr.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3169
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
317
ql_write_doorbell_reg(qlge_t *qlge, uint32_t *addr, uint32_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3175
if (qlge->ioctl_buf_dma_attr.vaddr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3176
cmn_err(CE_WARN, "%s(%d): failed.", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3180
qlge->ioctl_buf_dma_attr.dma_addr = phy_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3184
__func__, qlge->ioctl_buf_dma_attr.vaddr, phy_addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
319
ddi_put32(qlge->dev_doorbell_reg_handle, addr, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3210
ql_free_ioctl_dma_buf(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3212
if (qlge->ioctl_buf_dma_attr.dma_handle != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3213
ql_free_phys(&qlge->ioctl_buf_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3214
&qlge->ioctl_buf_dma_attr.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3216
qlge->ioctl_buf_dma_attr.vaddr = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3217
qlge->ioctl_buf_dma_attr.dma_handle = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3225
ql_free_shadow_space(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3227
if (qlge->host_copy_shadow_dma_attr.dma_handle != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3228
ql_free_phys(&qlge->host_copy_shadow_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3229
&qlge->host_copy_shadow_dma_attr.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3230
bzero(&qlge->host_copy_shadow_dma_attr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3231
sizeof (qlge->host_copy_shadow_dma_attr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3234
if (qlge->buf_q_ptr_base_addr_dma_attr.dma_handle != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3235
ql_free_phys(&qlge->buf_q_ptr_base_addr_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3236
&qlge->buf_q_ptr_base_addr_dma_attr.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3237
bzero(&qlge->buf_q_ptr_base_addr_dma_attr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3238
sizeof (qlge->buf_q_ptr_base_addr_dma_attr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3246
ql_alloc_shadow_space(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3250
if (ql_alloc_phys(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3251
&qlge->host_copy_shadow_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3254
&qlge->host_copy_shadow_dma_attr.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3257
(caddr_t *)&qlge->host_copy_shadow_dma_attr.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3259
bzero(&qlge->host_copy_shadow_dma_attr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
326
ql_read_doorbell_reg(qlge_t *qlge, uint32_t *addr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3260
sizeof (qlge->host_copy_shadow_dma_attr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3263
"response shadow registers", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3267
qlge->host_copy_shadow_dma_attr.dma_addr = dma_cookie.dmac_laddress;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3269
if (ql_alloc_phys(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3270
&qlge->buf_q_ptr_base_addr_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3273
&qlge->buf_q_ptr_base_addr_dma_attr.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3276
(caddr_t *)&qlge->buf_q_ptr_base_addr_dma_attr.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3278
bzero(&qlge->buf_q_ptr_base_addr_dma_attr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3279
sizeof (qlge->buf_q_ptr_base_addr_dma_attr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3283
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3286
qlge->buf_q_ptr_base_addr_dma_attr.dma_addr = dma_cookie.dmac_laddress;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3291
ql_free_phys(&qlge->host_copy_shadow_dma_attr.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3292
&qlge->host_copy_shadow_dma_attr.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3293
bzero(&qlge->host_copy_shadow_dma_attr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3294
sizeof (qlge->host_copy_shadow_dma_attr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
330
ret = ddi_get32(qlge->dev_doorbell_reg_handle, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3375
ql_alloc_tx_resources(qlge_t *qlge, struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3383
if (ql_alloc_phys(qlge->dip, &tx_ring->wq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3393
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3414
if (ql_alloc_phys(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
342
ql_wait_reg_rdy(qlge_t *qlge, uint32_t reg, uint32_t bit, uint32_t err_bit)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3427
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3442
if (ddi_dma_alloc_handle(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3461
if (ql_alloc_phys(qlge->dip, &tx_ring->wqicb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3471
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
348
temp = ql_read_reg(qlge, reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3536
ql_alloc_rx_resources(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3540
if (ql_alloc_phys(qlge->dip, &rx_ring->cq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3550
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3559
if (ql_alloc_phys(qlge->dip, &rx_ring->sbq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3570
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3594
if (ql_alloc_phys(qlge->dip, &rx_ring->lbq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
360
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3604
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
361
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
362
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3624
if (ql_alloc_phys(qlge->dip, &rx_ring->cqicb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3634
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3650
ql_free_mem_resources(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3654
if (qlge->ricb_dma.dma_handle) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3656
ql_free_phys(&qlge->ricb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3657
&qlge->ricb_dma.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3658
bzero(&qlge->ricb_dma, sizeof (qlge->ricb_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3661
ql_free_rx_buffers(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3663
ql_free_ioctl_dma_buf(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3665
for (i = 0; i < qlge->tx_ring_count; i++)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3666
ql_free_tx_resources(&qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3668
for (i = 0; i < qlge->rx_ring_count; i++)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3669
ql_free_rx_resources(&qlge->rx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3671
ql_free_shadow_space(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3682
ql_alloc_mem_resources(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3688
if (ql_alloc_shadow_space(qlge))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3691
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3692
if (ql_alloc_rx_resources(qlge, &qlge->rx_ring[i]) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3698
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3699
if (ql_alloc_tx_resources(qlge, &qlge->tx_ring[i]) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3705
if (ql_alloc_ioctl_dma_buf(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3709
if (ql_alloc_rx_buffers(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3711
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3715
qlge->sequence |= INIT_ALLOC_RX_BUF;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3717
if (ql_alloc_phys(qlge->dip, &qlge->ricb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
372
ql_wait_cfg(qlge_t *qlge, uint32_t bit)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3720
&qlge->ricb_dma.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3723
(caddr_t *)&qlge->ricb_dma.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3725
bzero(&qlge->ricb_dma, sizeof (qlge->ricb_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3727
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3730
qlge->ricb_dma.dma_addr = dma_cookie.dmac_laddress;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3735
ql_free_mem_resources(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
374
return (ql_wait_reg_bit(qlge, REG_CONFIGURATION, bit, BIT_RESET, 0));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
383
ql_write_cfg(qlge_t *qlge, uint32_t bit, uint64_t phy_addr, uint16_t q_id)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
389
status = ql_sem_spinlock(qlge, SEM_ICB_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3908
ql_add_intr_handlers(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3913
struct intr_ctx *intr_ctx = &qlge->intr_ctx[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3915
switch (qlge->intr_type) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3922
for (vector = 0; vector < qlge->intr_cnt; vector++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3928
rc = ddi_intr_add_handler(qlge->htable[vector],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
393
status = ql_wait_cfg(qlge, bit);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3930
(void *)&qlge->rx_ring[vector], NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3933
vector, &qlge->rx_ring[vector]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3940
qlge->htable[vector]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3954
rc = ddi_intr_add_handler(qlge->htable[vector],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3956
(caddr_t)&qlge->rx_ring[0], NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3971
rc = ddi_intr_add_handler(qlge->htable[vector],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3973
(caddr_t)&qlge->rx_ring[0], NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
398
ql_write_reg(qlge, REG_ICB_ACCESS_ADDRESS_LOWER, LS_64BITS(phy_addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3988
if (qlge->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
399
ql_write_reg(qlge, REG_ICB_ACCESS_ADDRESS_UPPER, MS_64BITS(phy_addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3990
qlge->intr_cnt));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3991
(void) ddi_intr_block_enable(qlge->htable, qlge->intr_cnt);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3993
for (i = 0; i < qlge->intr_cnt; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3995
"handle 0x%x\n", i, qlge->htable[i]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3996
(void) ddi_intr_enable(qlge->htable[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3999
qlge->sequence |= INIT_INTR_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4011
ql_resolve_queues_to_irqs(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4014
struct intr_ctx *intr_ctx = &qlge->intr_ctx[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4016
if (qlge->intr_type == DDI_INTR_TYPE_MSIX) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4022
for (i = 0; i < qlge->intr_cnt; i++, intr_ctx++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4023
qlge->rx_ring[i].irq = i;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4025
intr_ctx->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
403
ql_write_reg(qlge, REG_CONFIGURATION, (mask | value));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4050
} else if (qlge->rx_ring[i].type == TX_Q) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4055
if (qlge->isr_stride)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4063
if (qlge->isr_stride)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4069
i = qlge->intr_cnt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4070
for (; i < qlge->rx_ring_count; i++, intr_ctx++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4071
int iv = i - qlge->isr_stride;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4072
qlge->rx_ring[i].irq = iv;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4074
intr_ctx->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
408
status = ql_wait_cfg(qlge, bit);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
409
ql_sem_unlock(qlge, SEM_ICB_MASK); /* does flush too */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4093
if (qlge->rx_ring[i].type == TX_Q) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4112
intr_ctx->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4130
for (i = 0; i < qlge->rx_ring_count; i++)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4131
qlge->rx_ring[i].irq = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4140
ql_free_irq_vectors(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4145
if (qlge->sequence & INIT_INTR_ENABLED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4147
if (qlge->intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4149
(void) ddi_intr_block_disable(qlge->htable,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4150
qlge->intr_cnt);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4152
for (i = 0; i < qlge->intr_cnt; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4153
(void) ddi_intr_disable(qlge->htable[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4157
qlge->sequence &= ~INIT_INTR_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4160
for (i = 0; i < qlge->intr_cnt; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4162
if (qlge->sequence & INIT_ADD_INTERRUPT)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4163
(void) ddi_intr_remove_handler(qlge->htable[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4165
if (qlge->sequence & INIT_INTR_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4166
rc = ddi_intr_free(qlge->htable[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4174
if (qlge->sequence & INIT_INTR_ALLOC)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4175
qlge->sequence &= ~INIT_INTR_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4177
if (qlge->sequence & INIT_ADD_INTERRUPT)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4178
qlge->sequence &= ~INIT_ADD_INTERRUPT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4180
if (qlge->htable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4181
kmem_free(qlge->htable, qlge->intr_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4182
qlge->htable = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
419
ql_init_instance(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4194
ql_request_irq_vectors(qlge_t *qlge, int intr_type)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4202
devinfo = qlge->dip;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4223
request = qlge->rx_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
424
qlge->mac_flags = QL_MAC_INIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
425
qlge->mtu = ETHERMTU; /* set normal size as default */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
426
qlge->page_size = VM_PAGE_SIZE; /* default page size */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4270
qlge->intr_cnt = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4275
qlge->intr_size = (size_t)(request * sizeof (ddi_intr_handle_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4276
qlge->htable = kmem_alloc(qlge->intr_size, KM_SLEEP);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4278
rc = ddi_intr_alloc(devinfo, qlge->htable, intr_type, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4283
__func__, qlge->instance, rc, request, actual);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4286
qlge->intr_cnt = actual;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4288
qlge->sequence |= INIT_INTR_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
429
qlge->rx_polls[i] = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
430
qlge->rx_interrupts[i] = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4306
qlge->rss_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4307
qlge->tx_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4308
qlge->isr_stride = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4311
qlge->rss_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4312
qlge->tx_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4313
qlge->isr_stride = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4316
qlge->rss_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4317
qlge->tx_ring_count = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4318
qlge->isr_stride = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4320
qlge->tx_ring_count = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4321
qlge->rss_ring_count = actual - 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4323
qlge->intr_cnt = count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4324
qlge->rx_ring_count = qlge->tx_ring_count +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4325
qlge->rss_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4327
cmn_err(CE_NOTE, "!qlge(%d) tx %d, rss %d, stride %d\n", qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4328
qlge->tx_ring_count, qlge->rss_ring_count, qlge->isr_stride);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4333
rc = ddi_intr_get_pri(qlge->htable[0], &qlge->intr_pri);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4339
rc = ddi_intr_get_cap(qlge->htable[0], &qlge->intr_cap);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4345
qlge->intr_type = intr_type;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4350
ql_free_irq_vectors(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
436
qlge->multicast_list_count = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4361
ql_alloc_irqs(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4369
if (ddi_intr_get_supported_types(qlge->dip, &intr_types)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4372
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4378
__func__, qlge->instance, intr_types));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4383
__func__, qlge->instance, intr_types));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4384
rval = ql_request_irq_vectors(qlge, DDI_INTR_TYPE_MSIX);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4389
" trying MSI interrupts ...\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4397
qlge->rss_ring_count = 1; /* Default completion queue (0) for all */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4398
qlge->tx_ring_count = 1; /* Single tx completion queue */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4399
qlge->rx_ring_count = qlge->tx_ring_count + qlge->rss_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4402
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
441
qlge->unicst_total = MAX_UNICAST_LIST_SIZE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4414
rval = ql_request_irq_vectors(qlge, DDI_INTR_TYPE_MSI);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4416
qlge->intr_type = DDI_INTR_TYPE_MSI;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4418
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
442
qlge->unicst_avail = MAX_UNICAST_LIST_SIZE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4424
rval = ql_request_irq_vectors(qlge, DDI_INTR_TYPE_FIXED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4428
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4430
qlge->intr_type = DDI_INTR_TYPE_FIXED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4432
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4440
ql_free_rx_tx_locks(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4446
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4447
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4451
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4452
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
447
ql_read_conf(qlge); /* mtu, pause, LSO etc */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4470
ql_free_resources(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4474
ql_stop_timer(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4476
if (qlge->sequence & INIT_MAC_REGISTERED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4477
(void) mac_unregister(qlge->mh);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4478
qlge->sequence &= ~INIT_MAC_REGISTERED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
448
qlge->rx_ring_count = qlge->tx_ring_count + qlge->rss_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4481
if (qlge->sequence & INIT_MAC_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4483
qlge->sequence &= ~INIT_MAC_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4486
if (qlge->sequence & INIT_PCI_CONFIG_SETUP) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4487
pci_config_teardown(&qlge->pci_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4488
qlge->sequence &= ~INIT_PCI_CONFIG_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4491
if (qlge->sequence & INIT_INTR_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4492
ql_free_irq_vectors(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4493
qlge->sequence &= ~INIT_ADD_INTERRUPT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4496
if (qlge->sequence & INIT_ADD_SOFT_INTERRUPT) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4497
(void) ddi_intr_remove_softint(qlge->mpi_event_intr_hdl);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4498
(void) ddi_intr_remove_softint(qlge->mpi_reset_intr_hdl);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4499
(void) ddi_intr_remove_softint(qlge->asic_reset_intr_hdl);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
450
QL_PRINT(DBG_INIT, ("mtu is %d \n", qlge->mtu));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4500
qlge->sequence &= ~INIT_ADD_SOFT_INTERRUPT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4503
if (qlge->sequence & INIT_KSTATS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4504
ql_fini_kstats(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4505
qlge->sequence &= ~INIT_KSTATS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4508
if (qlge->sequence & INIT_MUTEX) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4509
mutex_destroy(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4510
mutex_destroy(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4511
mutex_destroy(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4512
cv_destroy(&qlge->cv_mbx_intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4513
qlge->sequence &= ~INIT_MUTEX;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4516
if (qlge->sequence & INIT_LOCKS_CREATED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4517
ql_free_rx_tx_locks(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4518
qlge->sequence &= ~INIT_LOCKS_CREATED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4521
if (qlge->sequence & INIT_MEMORY_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4522
ql_free_mem_resources(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4523
qlge->sequence &= ~INIT_MEMORY_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4526
if (qlge->sequence & INIT_REGS_SETUP) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4527
ddi_regs_map_free(&qlge->dev_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4528
qlge->sequence &= ~INIT_REGS_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
453
ql_pci_config(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4531
if (qlge->sequence & INIT_DOORBELL_REGS_SETUP) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4532
ddi_regs_map_free(&qlge->dev_doorbell_reg_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4533
qlge->sequence &= ~INIT_DOORBELL_REGS_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4539
if ((qlge->flt.ql_flt_entry_ptr != NULL)&&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
454
qlge->ip_hdr_offset = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4540
(qlge->flt.header.length != 0)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4541
kmem_free(qlge->flt.ql_flt_entry_ptr, qlge->flt.header.length);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4542
qlge->flt.ql_flt_entry_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4545
if (qlge->sequence & INIT_FM) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4546
ql_fm_fini(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4547
qlge->sequence &= ~INIT_FM;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4550
ddi_prop_remove_all(qlge->dip);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4551
ddi_set_driver_private(qlge->dip, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4554
if (qlge->sequence & INIT_SOFTSTATE_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4555
kmem_free(qlge, sizeof (qlge_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
456
if (qlge->device_id == 0x8000) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4564
ql_set_promiscuous(qlge_t *qlge, int mode)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4567
(void) ql_set_routing_reg(qlge, RT_IDX_PROMISCUOUS_SLOT,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4570
(void) ql_set_routing_reg(qlge, RT_IDX_PROMISCUOUS_SLOT,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
458
qlge->cfg_flags |= CFG_CHIP_8100;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4580
ql_write_mac_proto_regs(qlge_t *qlge, uint32_t data1, uint32_t data2)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4584
if (ql_wait_reg_bit(qlge, REG_MAC_PROTOCOL_ADDRESS_INDEX,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4591
ql_write_reg(qlge, REG_MAC_PROTOCOL_ADDRESS_INDEX /* A8 */, data1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4592
ql_write_reg(qlge, REG_MAC_PROTOCOL_DATA /* 0xAC */, data2);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
460
qlge->cfg_flags |= CFG_CKSUM_FULL_IPv4;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4600
ql_add_multicast_address(qlge_t *qlge, int index)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4607
if (ql_sem_spinlock(qlge, QL_MAC_PROTOCOL_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4615
value2 = ((qlge->multicast_list[index].addr.ether_addr_octet[2] << 24)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4616
|(qlge->multicast_list[index].addr.ether_addr_octet[3] << 16)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4617
|(qlge->multicast_list[index].addr.ether_addr_octet[4] << 8)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4618
|(qlge->multicast_list[index].addr.ether_addr_octet[5]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4619
if (ql_write_mac_proto_regs(qlge, value1, value2) != DDI_SUCCESS)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4626
value2 = ((qlge->multicast_list[index].addr.ether_addr_octet[0] << 8)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4627
|qlge->multicast_list[index].addr.ether_addr_octet[1]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4628
if (ql_write_mac_proto_regs(qlge, value1, value2) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4633
ql_sem_unlock(qlge, QL_MAC_PROTOCOL_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4641
ql_remove_multicast_address(qlge_t *qlge, int index)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4648
if (ql_sem_spinlock(qlge, QL_MAC_PROTOCOL_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
465
qlge->cfg_flags |= CFG_HW_UNABLE_PSEUDO_HDR_CKSUM;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4655
((qlge->multicast_list[index].addr.ether_addr_octet[2] << 24)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4656
|(qlge->multicast_list[index].addr.ether_addr_octet[3] << 16)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4657
|(qlge->multicast_list[index].addr.ether_addr_octet[4] << 8)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4658
|(qlge->multicast_list[index].addr.ether_addr_octet[5]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4659
if (ql_write_mac_proto_regs(qlge, value1, value2) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
466
if (qlge->lso_enable)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4666
if (ql_write_mac_proto_regs(qlge, value1, value2) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
467
qlge->cfg_flags |= CFG_LSO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4671
ql_sem_unlock(qlge, QL_MAC_PROTOCOL_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
468
qlge->cfg_flags |= CFG_SUPPORT_SCATTER_GATHER;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4684
ql_add_to_multicast_list(qlge_t *qlge, uint8_t *ep)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4686
uint32_t index = qlge->multicast_list_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4697
bcopy(ep, qlge->multicast_list[index].addr.ether_addr_octet,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
470
qlge->cfg_flags |= CFG_ENABLE_SPLIT_HEADER;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4700
(void) ql_add_multicast_address(qlge, index);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4701
qlge->multicast_list_count++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4704
"total %d\n", __func__, qlge->instance, index,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4705
qlge->multicast_list_count));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4708
if (!qlge->multicast_promisc) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4709
status = ql_set_routing_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
471
qlge->max_read_mbx = 5;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4719
qlge->multicast_promisc = B_TRUE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
472
qlge->ip_hdr_offset = 2;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4736
ql_remove_from_multicast_list(qlge_t *qlge, uint8_t *ep)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4738
uint32_t total = qlge->multicast_list_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4745
if (bcmp(ep, &qlge->multicast_list[i].addr, ETHERADDRL) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4753
bcopy(&qlge->multicast_list[i+1],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4754
&qlge->multicast_list[i], length);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4756
qlge->multicast_list_count--;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4757
if (qlge->multicast_list_count <= MAX_MULTICAST_HW_SIZE) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
476
if (ql_set_mac_info(qlge) != DDI_SUCCESS)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4762
for (i = rmv_index; i < qlge->multicast_list_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4764
(void) ql_add_multicast_address(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4767
(void) ql_remove_multicast_address(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4770
if (qlge->multicast_promisc) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4771
status = ql_set_routing_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4781
qlge->multicast_promisc = B_FALSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4794
ql_read_xgmac_reg(qlge_t *qlge, uint32_t addr, uint32_t *val)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4799
if (ql_wait_reg_bit(qlge, REG_XGMAC_ADDRESS, XGMAC_ADDRESS_RDY,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4804
ql_write_reg(qlge, REG_XGMAC_ADDRESS, addr|XGMAC_ADDRESS_READ_TRANSACT);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
481
if (ql_get_flash_params(qlge) == DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4810
if (ql_wait_reg_bit(qlge, REG_XGMAC_ADDRESS, XGMAC_ADDRESS_RDY,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4815
*val = ql_read_reg(qlge, REG_XGMAC_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
482
QL_PRINT(DBG_INIT, ("mac%d address is \n", qlge->func_number));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4825
ql_hw_csum_setup(qlge_t *qlge, uint32_t pflags, caddr_t bp,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
484
qlge->dev_addr.ether_addr_octet[i] =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
485
qlge->nic_config.factory_MAC[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4855
__func__, qlge->instance, etherType));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4864
" %d bytes \n", __func__, qlge->instance, ip_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4868
__func__, qlge->instance, ip_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4875
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4889
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
489
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4902
__func__, qlge->instance, tcp_udp_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4917
if (qlge->cfg_flags &
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4923
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
493
bcopy(qlge->dev_addr.ether_addr_octet,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4936
__func__, qlge->instance, tcp_udp_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
494
qlge->unicst_addr[0].addr.ether_addr_octet,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4951
if (qlge->cfg_flags &
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
497
&qlge->dev_addr.ether_addr_octet[0], 8, ETHERADDRL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
499
qlge->port_link_state = LS_DOWN;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5079
ql_tx_hashing(qlge_t *qlge, caddr_t bp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5095
QL_PRINT(DBG_TX, ("%s(%d) entered \n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5100
if (qlge->tx_ring_count == 1)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
511
ql_sem_trylock(qlge_t *qlge, uint32_t sem_mask)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5153
tx_ring_id = (h & (qlge->tx_ring_count - 1));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5154
if (tx_ring_id >= qlge->tx_ring_count) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5172
ql_hw_lso_setup(qlge_t *qlge, uint32_t mss, caddr_t bp,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5204
__func__, qlge->instance, etherType));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5212
" bytes \n", __func__, qlge->instance, ip_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5216
__func__, qlge->instance, ip_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5220
if (qlge->cfg_flags & CFG_CKSUM_FULL_IPv4) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5227
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5239
__func__, qlge->instance, tcp_udp_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5255
if (qlge->cfg_flags &
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5264
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5276
__func__, qlge->instance, tcp_udp_hdr_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5292
if (qlge->cfg_flags &
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5328
qlge_t *qlge = tx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5397
if (qlge->chksum_cap) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5400
"is 0x%x \n", pflags, qlge->chksum_cap));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5401
if (qlge->lso_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
545
ql_write_reg(qlge, REG_SEMAPHORE, sem_bits | sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
546
return (!(ql_read_reg(qlge, REG_SEMAPHORE) & sem_bits));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
554
ql_sem_spinlock(qlge_t *qlge, uint32_t sem_mask)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
559
if (!ql_sem_trylock(qlge, sem_mask))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5603
ql_hw_lso_setup(qlge, mss, bp, mac_iocb_ptr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5604
} else if (pflags & qlge->chksum_cap) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5606
ql_hw_csum_setup(qlge, pflags, bp, mac_iocb_ptr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5634
QL_DUMP_REQ_PKT(qlge, mac_iocb_ptr, tx_cb->oal, oal_entries);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5643
qlge->last_tx_time = now;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
565
__func__, qlge->instance, sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5660
__func__, qlge->instance, (int)now));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5671
ql_do_start(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5678
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5680
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5683
(void) ql_asic_reset(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5686
((qlge->mtu == ETHERMTU)? LRG_BUF_NORMAL_SIZE : LRG_BUF_JUMBO_SIZE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5687
if (qlge->rx_ring[0].lbq_buf_size != lbq_buf_size) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5690
qlge->rx_ring[0].lbq_buf_size, lbq_buf_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5702
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5703
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5713
if (rings_done >= qlge->rx_ring_count) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5715
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5716
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5723
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5724
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5726
(void) ql_alloc_sbufs(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5727
(void) ql_alloc_lbufs(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5733
if (ql_bringup_adapter(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5735
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5736
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5737
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5738
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
574
ql_sem_unlock(qlge_t *qlge, uint32_t sem_mask)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5743
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5745
if (qlge->flags & ADAPTER_ERROR) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5746
atomic_and_32(&qlge->flags, ~ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5747
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5748
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_RESTORED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5753
qlge->port_link_state = ql_get_link_state(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5755
if (qlge->port_link_state == LS_UP) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5757
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5759
CARRIER_ON(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
576
ql_write_reg(qlge, REG_SEMAPHORE, sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5762
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5764
CARRIER_OFF(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5766
qlge->mac_flags = QL_MAC_STARTED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
577
(void) ql_read_reg(qlge, REG_SEMAPHORE); /* flush */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5776
ql_do_stop(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5783
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5785
CARRIER_OFF(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5787
rc = ql_bringdown_adapter(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5793
for (k = 0; k < qlge->rx_ring_count; k++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5794
rx_ring = &qlge->rx_ring[k];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5845
qlge->mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5855
ql_disable_isr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5860
ISP_DISABLE_GLOBAL_INTRS(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5862
qlge->flags &= ~INTERRUPTS_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5881
ql_get_pci_config(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5883
return (&(qlge->pci_cfg));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
589
ql_get_prop(qlge_t *qlge, char *string)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5890
ql_get_link_state(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5895
if (qlge->func_number == qlge->fn0_net) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5900
temp = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5902
__func__, qlge->instance, temp));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5909
if (CFG_IST(qlge, CFG_CHIP_8100)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5911
qlge->speed = SPEED_10G;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5912
qlge->duplex = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5920
ql_get_and_report_link_state(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5925
cur_link_state = ql_get_link_state(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5927
if (cur_link_state != qlge->port_link_state) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5929
qlge->port_link_state = cur_link_state;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5931
if (qlge->port_link_state == LS_UP) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5933
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5935
CARRIER_ON(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5938
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5940
CARRIER_OFF(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
595
(void) sprintf(buf, "hba%d-%s", qlge->instance, string);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5958
ql_stop_timer(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
596
data = (uint32_t)ddi_prop_get_int(DDI_DEV_T_ANY, qlge->dip, 0, buf,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5962
if (qlge->ql_timer_timeout_id != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5963
timer_id = qlge->ql_timer_timeout_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5964
qlge->ql_timer_timeout_id = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5973
ql_restart_timer(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5975
ql_stop_timer(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5976
qlge->ql_timer_ticks = TICKS_PER_SEC / 4;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5977
qlge->ql_timer_timeout_id = timeout(ql_timer,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5978
(void *)qlge, qlge->ql_timer_ticks);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6015
qlge_t *qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
602
data = (uint32_t)ddi_prop_get_int(DDI_DEV_T_ANY, qlge->dip, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6021
qlge = ksp->ks_private;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6023
(knp++)->value.ui32 = qlge->pci_cfg.vendor_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6024
(knp++)->value.ui32 = qlge->pci_cfg.device_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6025
(knp++)->value.ui32 = qlge->pci_cfg.command;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6026
(knp++)->value.ui32 = qlge->pci_cfg.status;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6027
(knp++)->value.ui32 = qlge->pci_cfg.revision;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6028
(knp++)->value.ui32 = qlge->pci_cfg.cache_line_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6029
(knp++)->value.ui32 = qlge->pci_cfg.latency_timer;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6030
(knp++)->value.ui32 = qlge->pci_cfg.header_type;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6031
(knp++)->value.ui32 = qlge->pci_cfg.io_base_address;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6033
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_lower;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6035
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_upper;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6037
qlge->pci_cfg.pci_doorbell_mem_base_address_lower;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6039
qlge->pci_cfg.pci_doorbell_mem_base_address_upper;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6040
(knp++)->value.ui32 = qlge->pci_cfg.sub_vendor_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6041
(knp++)->value.ui32 = qlge->pci_cfg.sub_device_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6042
(knp++)->value.ui32 = qlge->pci_cfg.pcie_device_control;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6043
(knp++)->value.ui32 = qlge->pci_cfg.link_status;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6062
qlge_t *qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6068
qlge = ksp->ks_private;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6071
(knp++)->value.ui32 = qlge->mtu;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6125
qlge_t *qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
613
ql_read_conf(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6135
qlge = ksp->ks_private;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6138
(knp++)->value.ui32 = ql_read_reg(qlge, REG_SYSTEM);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6139
(knp++)->value.ui32 = ql_read_reg(qlge, REG_RESET_FAILOVER);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6140
(knp++)->value.ui32 = ql_read_reg(qlge, REG_FUNCTION_SPECIFIC_CONTROL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6141
(knp++)->value.ui32 = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6142
(knp++)->value.ui32 = ql_read_reg(qlge, REG_INTERRUPT_ENABLE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6143
(knp++)->value.ui32 = ql_read_reg(qlge, REG_INTERRUPT_STATUS_1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6144
(knp++)->value.ui32 = ql_read_reg(qlge, REG_ERROR_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6146
if (ql_sem_spinlock(qlge, qlge->xgmac_sem_mask)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6149
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_FLOW_CONTROL, &val32);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6152
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_TX_PAUSE_PKTS, &val32);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6155
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_PAUSE_PKTS, &val32);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6158
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_FIFO_DROPS, &val32);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6161
ql_sem_unlock(qlge, qlge->xgmac_sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6163
(knp++)->value.ui32 = qlge->intr_cnt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6166
(knp++)->value.ui32 = qlge->rx_interrupts[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6170
(knp++)->value.ui32 = qlge->rx_polls[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6173
tx_ring = &qlge->tx_ring[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6179
(knp++)->value.ui32 = qlge->fw_version_info.major_version;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
618
qlge->cfg_flags = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6180
(knp++)->value.ui32 = qlge->fw_version_info.minor_version;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6181
(knp++)->value.ui32 = qlge->fw_version_info.sub_minor_version;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6183
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6184
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6194
ql_setup_named_kstat(qlge_t *qlge, int instance, char *name,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6208
ksp->ks_private = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
621
qlge->tx_ring_size = NUM_TX_RING_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
622
data = ql_get_prop(qlge, "tx_ring_size");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6231
ql_init_kstats(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6234
qlge->ql_kstats[QL_KSTAT_CHIP] = ql_setup_named_kstat(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6235
qlge->instance, "chip", ql_kstats_hw,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6237
if (qlge->ql_kstats[QL_KSTAT_CHIP] == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6242
qlge->ql_kstats[QL_KSTAT_LINK] = ql_setup_named_kstat(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6243
qlge->instance, "mii", ql_kstats_mii,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6245
if (qlge->ql_kstats[QL_KSTAT_LINK] == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
625
if (qlge->tx_ring_size != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6250
qlge->ql_kstats[QL_KSTAT_REG] = ql_setup_named_kstat(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6251
qlge->instance, "reg", ql_kstats_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6253
if (qlge->ql_kstats[QL_KSTAT_REG] == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
626
qlge->tx_ring_size = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6263
ql_fini_kstats(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6268
if (qlge->ql_kstats[i] != NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6269
kstat_delete(qlge->ql_kstats[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6284
ql_setup_rings(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6292
((qlge->mtu == ETHERMTU)? LRG_BUF_NORMAL_SIZE : LRG_BUF_JUMBO_SIZE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
630
qlge->rx_ring_size = NUM_RX_RING_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6308
qlge->tx_ring_first_cq_id = qlge->rss_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
631
data = ql_get_prop(qlge, "rx_ring_size");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6310
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6311
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6313
tx_ring->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6315
tx_ring->wq_len = qlge->tx_ring_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6323
tx_ring->cq_id = (uint16_t)(i + qlge->tx_ring_first_cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6326
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6327
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6329
rx_ring->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6332
rx_ring->cpu = (i) % qlge->rx_ring_count;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6336
if (i < qlge->rss_ring_count) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
634
if (qlge->rx_ring_size != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6343
rx_ring->cq_len = qlge->rx_ring_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
635
qlge->rx_ring_size = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6358
"on cpu %d\n", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6366
rx_ring->cq_len = qlge->tx_ring_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6379
" cpu %d\n", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6388
ql_start_rx_ring(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
639
qlge->tx_ring_count = 8;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6391
void *shadow_reg = (uint8_t *)qlge->host_copy_shadow_dma_attr.vaddr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6395
uint64_t shadow_reg_dma = qlge->host_copy_shadow_dma_attr.dma_addr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
640
data = ql_get_prop(qlge, "tx_ring_count");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6400
(uint8_t *)qlge->buf_q_ptr_base_addr_dma_attr.vaddr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6403
qlge->buf_q_ptr_base_addr_dma_attr.dma_addr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6406
qlge->doorbell_reg_iobase + (VM_PAGE_SIZE * (128 + rx_ring->cq_id));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
643
if (qlge->tx_ring_count != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
644
qlge->tx_ring_count = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
648
qlge->rss_ring_count = 8;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
649
data = ql_get_prop(qlge, "rss_ring_count");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
652
if (qlge->rss_ring_count != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
653
qlge->rss_ring_count = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6530
cpu_to_le16(qlge->tx_coalesce_usecs);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6532
cpu_to_le16(qlge->tx_max_coalesced_frames);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6537
cpu_to_le16(qlge->rx_coalesce_usecs);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6539
cpu_to_le16(qlge->rx_max_coalesced_frames);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6548
cpu_to_le16(qlge->rx_coalesce_usecs);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6550
cpu_to_le16(qlge->rx_max_coalesced_frames);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6559
err = ql_write_cfg(qlge, CFG_LCQ, rx_ring->cqicb_dma.dma_addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
658
if ((data = ql_get_prop(qlge, "force-rx-copy")) == 0xffffffff ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6583
ql_start_rss(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6585
struct ricb *ricb = (struct ricb *)qlge->ricb_dma.vaddr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
660
qlge->rx_copy = B_FALSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6602
hash_id[i] = (uint8_t)(i & (qlge->rss_ring_count - 1));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6609
status = ql_write_cfg(qlge, CFG_LR, qlge->ricb_dma.dma_addr, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6622
ql_start_tx_ring(qlge_t *qlge, struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6626
qlge->doorbell_reg_iobase + (VM_PAGE_SIZE * tx_ring->wq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6627
void *shadow_reg = (uint8_t *)qlge->host_copy_shadow_dma_attr.vaddr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6629
uint64_t shadow_reg_dma = qlge->host_copy_shadow_dma_attr.dma_addr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
663
qlge->rx_copy = B_TRUE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
667
qlge->rx_copy_threshold = qlge->rx_ring_size / 4;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6671
err = ql_write_cfg(qlge, CFG_LRQ, tx_ring->wqicb_dma.dma_addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
668
data = ql_get_prop(qlge, "rx_copy_threshold");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6686
ql_set_mac_addr_reg(qlge_t *qlge, uint8_t *addr, uint32_t type,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
670
qlge->rx_copy_threshold = data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6710
status = ql_wait_reg_rdy(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6715
ql_write_reg(qlge, REG_MAC_PROTOCOL_ADDRESS_INDEX,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6719
ql_write_reg(qlge, REG_MAC_PROTOCOL_DATA, lower);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
672
qlge->rx_copy_threshold);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6720
status = ql_wait_reg_rdy(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6725
ql_write_reg(qlge, REG_MAC_PROTOCOL_ADDRESS_INDEX,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6729
ql_write_reg(qlge, REG_MAC_PROTOCOL_DATA, upper);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6730
status = ql_wait_reg_rdy(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6735
ql_write_reg(qlge, REG_MAC_PROTOCOL_ADDRESS_INDEX,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6745
(qlge->func_number << CAM_OUT_FUNC_SHIFT) |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6750
ql_write_reg(qlge, REG_MAC_PROTOCOL_DATA,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
676
data = ql_get_prop(qlge, "mtu");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6771
ql_set_routing_reg(qlge_t *qlge, uint32_t index, uint32_t mask, int enable)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
678
if (qlge->mtu != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
679
qlge->mtu = data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
680
cmn_err(CE_NOTE, "new mtu is %d\n", qlge->mtu);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
684
if (qlge->mtu == JUMBO_MTU) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
685
qlge->rx_coalesce_usecs = DFLT_RX_COALESCE_WAIT_JUMBO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6855
status = ql_wait_reg_rdy(qlge, REG_ROUTING_INDEX, RT_IDX_MW, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6859
ql_write_reg(qlge, REG_ROUTING_INDEX, value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
686
qlge->tx_coalesce_usecs = DFLT_TX_COALESCE_WAIT_JUMBO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6860
ql_write_reg(qlge, REG_ROUTING_DATA, enable ? mask : 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
687
qlge->rx_max_coalesced_frames = DFLT_RX_INTER_FRAME_WAIT_JUMBO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6873
ql_stop_routing(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6879
status = ql_set_routing_reg(qlge, i, 0, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
688
qlge->tx_max_coalesced_frames = DFLT_TX_INTER_FRAME_WAIT_JUMBO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6889
ql_route_initialize(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6893
status = ql_sem_spinlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6898
status = ql_stop_routing(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6902
status = ql_set_routing_reg(qlge, RT_IDX_BCAST_SLOT, RT_IDX_BCAST, 1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6912
if (qlge->rss_ring_count > 1) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6913
status = ql_set_routing_reg(qlge, RT_IDX_RSS_MATCH_SLOT,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6923
status = ql_set_routing_reg(qlge, RT_IDX_CAM_HIT_SLOT,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
693
qlge->pause = PAUSE_MODE_PER_PRIORITY;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6931
status = ql_set_routing_reg(qlge, RT_IDX_MCAST_MATCH_SLOT,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
694
data = ql_get_prop(qlge, "pause");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6940
ql_sem_unlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6948
ql_device_initialize(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
696
if (qlge->pause != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6963
ql_write_reg(qlge, REG_SYSTEM, mask | value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6969
ql_write_reg(qlge, REG_NIC_RECEIVE_CONFIGURATION, mask | value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
697
qlge->pause = data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6972
ql_write_reg(qlge, REG_INTERRUPT_MASK, (INTR_MASK_PI << 16)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6978
if (CFG_IST(qlge, CFG_ENABLE_SPLIT_HEADER)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
698
cmn_err(CE_NOTE, "new pause mode %d\n", qlge->pause);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6980
ql_write_reg(qlge, REG_SPLIT_HEADER, SMALL_BUFFER_SIZE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6984
ql_write_reg(qlge, REG_FUNCTION_SPECIFIC_CONTROL, mask | value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6989
qlge->max_frame_size =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6990
(qlge->mtu == ETHERMTU)? NORMAL_FRAME_SIZE : JUMBO_FRAME_SIZE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6992
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6993
status = ql_get_port_cfg(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6994
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6998
if (qlge->port_cfg_info.max_frame_size <
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6999
qlge->max_frame_size) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7002
qlge->port_cfg_info.max_frame_size,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7003
qlge->max_frame_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7004
qlge->port_cfg_info.max_frame_size =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7005
qlge->max_frame_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7006
qlge->port_cfg_info.link_cfg |= ENABLE_JUMBO;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7010
if (qlge->port_cfg_info.link_cfg & STD_PAUSE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7012
else if (qlge->port_cfg_info.link_cfg & PP_PAUSE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7015
if (pause != qlge->pause) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7018
qlge->port_cfg_info.link_cfg &= ~pause_bit_mask;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7019
if (qlge->pause == PAUSE_MODE_STANDARD)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
702
qlge->rx_coalesce_usecs = DFLT_RX_COALESCE_WAIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7020
qlge->port_cfg_info.link_cfg |= STD_PAUSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7021
else if (qlge->pause == PAUSE_MODE_PER_PRIORITY)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7022
qlge->port_cfg_info.link_cfg |= PP_PAUSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7026
if (qlge->port_cfg_info.link_cfg & DCBX_ENABLE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7028
if (dcbx_enable != qlge->dcbx_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7029
qlge->port_cfg_info.link_cfg &= ~dcbx_bit_mask;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
703
data = ql_get_prop(qlge, "rx_intr_delay");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7030
if (qlge->dcbx_enable)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7031
qlge->port_cfg_info.link_cfg |= DCBX_ENABLE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7038
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7039
(void) ql_set_mpi_port_config(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7040
qlge->port_cfg_info);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7041
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7047
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7048
status = ql_start_rx_ring(qlge, &qlge->rx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
706
if (qlge->rx_coalesce_usecs != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7060
if (qlge->rss_ring_count > 1) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7061
status = ql_start_rss(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7069
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
707
qlge->rx_coalesce_usecs = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7070
status = ql_start_tx_ring(qlge, &qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7077
qlge->selected_tx_ring = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7079
status = ql_route_initialize(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7092
ql_asic_reset(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7096
ql_write_reg(qlge, REG_RESET_FAILOVER, FUNCTION_RESET_MASK
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7099
if (ql_wait_reg_bit(qlge, REG_RESET_FAILOVER, FUNCTION_RESET,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
71
static void ql_stop_timer(qlge_t *qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
711
qlge->rx_max_coalesced_frames = DFLT_RX_INTER_FRAME_WAIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7115
ql_arm_sbuf(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
712
data = ql_get_prop(qlge, "rx_ipkt_delay");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7143
ql_update_sbq_prod_idx(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
715
if (qlge->rx_max_coalesced_frames != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7152
ql_arm_lbuf(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
716
qlge->rx_max_coalesced_frames = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7180
ql_update_lbq_prod_idx(qlge, rx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7190
ql_bringup_adapter(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7194
if (ql_device_initialize(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7196
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7199
qlge->sequence |= INIT_ADAPTER_UP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
72
static void ql_fm_fini(qlge_t *qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
720
qlge->tx_coalesce_usecs = DFLT_TX_COALESCE_WAIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7202
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7203
if (qlge->rx_ring[i].type != TX_Q) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7204
qlge->rx_sb_low_count[i] = NUM_SMALL_BUFFERS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7205
qlge->rx_lb_low_count[i] = NUM_LARGE_BUFFERS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7207
qlge->cq_low_count[i] = NUM_RX_RING_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
721
data = ql_get_prop(qlge, "tx_intr_delay");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7211
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7212
if (qlge->rx_ring[i].type != TX_Q) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7213
ql_arm_sbuf(qlge, &qlge->rx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7214
ql_arm_lbuf(qlge, &qlge->rx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7219
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7220
if (qlge->tx_ring[i].valid_db_reg)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7221
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7222
qlge->tx_ring[i].valid_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7227
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7228
if (qlge->rx_ring[i].valid_db_reg)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7229
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7230
qlge->rx_ring[i].valid_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7234
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7235
mutex_enter(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7236
qlge->tx_ring[i].mac_flags = QL_MAC_STARTED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7237
mutex_exit(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
724
if (qlge->tx_coalesce_usecs != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7240
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7241
mutex_enter(&qlge->rx_ring[i].rx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7242
qlge->rx_ring[i].mac_flags = QL_MAC_STARTED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7243
mutex_exit(&qlge->rx_ring[i].rx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7247
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7249
ql_enable_all_completion_interrupts(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
725
qlge->tx_coalesce_usecs = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7250
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7252
ql_enable_global_interrupt(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7254
qlge->sequence |= ADAPTER_INIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7258
(void) ql_asic_reset(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7266
ql_init_rx_tx_locks(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7272
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7273
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7275
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7278
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7279
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7281
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7283
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7285
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
729
qlge->tx_max_coalesced_frames = DFLT_TX_INTER_FRAME_WAIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
730
data = ql_get_prop(qlge, "tx_ipkt_delay");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7304
ql_fm_init(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7309
qlge->instance, qlge->fm_capabilities));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7315
if (qlge->fm_capabilities)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7316
ddi_fm_init(qlge->dip, &qlge->fm_capabilities, &iblk);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7321
if (DDI_FM_EREPORT_CAP(qlge->fm_capabilities) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7322
DDI_FM_ERRCB_CAP(qlge->fm_capabilities)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7323
pci_ereport_setup(qlge->dip);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7327
if (DDI_FM_ERRCB_CAP(qlge->fm_capabilities)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7328
ddi_fm_handler_register(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7329
ql_fm_error_cb, (void*) qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
733
if (qlge->tx_max_coalesced_frames != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7339
if (DDI_FM_ACC_ERR_CAP(qlge->fm_capabilities)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
734
qlge->tx_max_coalesced_frames = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7350
if (DDI_FM_DMA_ERR_CAP(qlge->fm_capabilities)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7355
qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7359
ql_fm_fini(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7362
qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7364
if (qlge->fm_capabilities) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7369
if (DDI_FM_EREPORT_CAP(qlge->fm_capabilities) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7370
DDI_FM_ERRCB_CAP(qlge->fm_capabilities))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7371
pci_ereport_teardown(qlge->dip);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7376
if (DDI_FM_ERRCB_CAP(qlge->fm_capabilities))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7377
ddi_fm_handler_unregister(qlge->dip);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7380
ddi_fm_fini(qlge->dip);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7383
qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
739
qlge->payload_copy_thresh = DFLT_PAYLOAD_COPY_THRESH;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7392
qlge_t *qlge = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
740
data = ql_get_prop(qlge, "payload_copy_thresh");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7408
qlge = (qlge_t *)kmem_zalloc(sizeof (*qlge), KM_SLEEP);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7409
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7410
qlge->sequence |= INIT_SOFTSTATE_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7412
qlge->dip = dip;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7413
qlge->instance = instance;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7415
qlge->ql_dbgprnt = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7417
qlge->ql_dbgprnt = QL_DEBUG;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7424
qlge->fm_capabilities =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7426
data = ql_get_prop(qlge, "fm-capable");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7428
qlge->fm_capabilities = data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
743
if (qlge->payload_copy_thresh != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7430
ql_fm_init(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7431
qlge->sequence |= INIT_FM;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7433
qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
744
qlge->payload_copy_thresh = data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7444
if (ddi_regs_map_setup(dip, w, (caddr_t *)&qlge->iobase, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7446
&qlge->dev_handle) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7452
qlge->iobase));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7453
qlge->sequence |= INIT_REGS_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7458
(caddr_t *)&qlge->doorbell_reg_iobase, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7461
&qlge->dev_doorbell_reg_handle) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7468
qlge->doorbell_reg_iobase));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7469
qlge->sequence |= INIT_DOORBELL_REGS_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7480
ddi_set_driver_private(dip, qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7483
qlge->sequence |= INIT_MAC_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7489
if (pci_config_setup(dip, &qlge->pci_handle) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
749
qlge->lso_enable = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7492
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7493
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7494
ddi_fm_service_impact(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7499
qlge->sequence |= INIT_PCI_CONFIG_SETUP;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
750
data = ql_get_prop(qlge, "lso_enable");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7503
if (ql_init_instance(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7506
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7507
ql_fm_ereport(qlge, DDI_FM_DEVICE_INVAL_STATE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7508
ddi_fm_service_impact(qlge->dip,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7517
if (ql_alloc_irqs(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7520
qlge->sequence |= INIT_INTR_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7525
if (ql_setup_rings(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7528
qlge->sequence |= INIT_SETUP_RINGS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
753
if (qlge->lso_enable != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7535
if (ql_alloc_mem_resources(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7537
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
754
qlge->lso_enable = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7540
qlge->sequence |= INIT_MEMORY_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7547
ql_resolve_queues_to_irqs(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7550
(void) ql_init_rx_tx_locks(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7551
qlge->sequence |= INIT_LOCKS_CREATED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7559
if (ddi_intr_add_softint(qlge->dip, &qlge->mpi_event_intr_hdl,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7560
DDI_INTR_SOFTPRI_MIN, ql_mpi_event_work, (caddr_t)qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7565
if (ddi_intr_add_softint(qlge->dip, &qlge->asic_reset_intr_hdl,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7566
DDI_INTR_SOFTPRI_MIN, ql_asic_reset_work, (caddr_t)qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7571
if (ddi_intr_add_softint(qlge->dip, &qlge->mpi_reset_intr_hdl,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7572
DDI_INTR_SOFTPRI_MIN, ql_mpi_reset_work, (caddr_t)qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7576
qlge->sequence |= INIT_ADD_SOFT_INTERRUPT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7584
mutex_init(&qlge->gen_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7585
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7586
mutex_init(&qlge->hw_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7587
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7588
mutex_init(&qlge->mbx_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7589
DDI_INTR_PRI(qlge->intr_pri));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
759
qlge->dcbx_enable = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7592
cv_init(&qlge->cv_mbx_intr, NULL, CV_DRIVER, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7593
qlge->sequence |= INIT_MUTEX;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
760
data = ql_get_prop(qlge, "dcbx_enable");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7600
if (ql_init_kstats(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7605
qlge->sequence |= INIT_KSTATS;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7612
ql_gld3_init(qlge, macp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7616
if (ql_add_intr_handlers(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7621
qlge->sequence |= INIT_ADD_INTERRUPT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7628
if (mac_register(macp, &qlge->mh) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
763
if (qlge->dcbx_enable != data) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7633
qlge->sequence |= INIT_MAC_REGISTERED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
764
qlge->dcbx_enable = (uint16_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7640
qlge->mac_flags = QL_MAC_ATTACHED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7660
if ((qlge = (qlge_t *)QL_GET_DEV(dip)) == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7664
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7666
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7667
rval = ql_do_start(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7668
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7676
if ((cmd == DDI_ATTACH) && (rval != DDI_SUCCESS) && (qlge != NULL)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7678
qlge->sequence);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7679
ql_free_resources(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
768
qlge->fm_enable = B_TRUE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
769
data = ql_get_prop(qlge, "fm-enable");
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
771
qlge->fm_enable = (boolean_t)data;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7712
ql_wait_tx_quiesce(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7726
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7727
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7728
temp = ql_read_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7733
if (qlge->isr_stride) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7735
ob_ring = &qlge->rx_ring[tx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7761
if (rings_done >= qlge->tx_ring_count) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7764
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7780
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7781
(qlge->tx_ring[i].wq_len -
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7782
qlge->tx_ring[i].tx_free_count),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7785
rx_ring = &qlge->rx_ring[i+1];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7786
temp = ql_read_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7792
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7796
temp = ql_read_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
780
ql_enable_global_interrupt(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7802
__func__, qlge->instance, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7811
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7812
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7813
if (qlge->tx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7814
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7815
qlge->tx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7818
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
782
ql_write_reg(qlge, REG_INTERRUPT_ENABLE,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7826
ql_wait_rx_complete(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7830
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7831
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7832
if (qlge->rx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7833
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7834
qlge->rx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7837
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
784
qlge->flags |= INTERRUPTS_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7848
ql_bringdown_adapter(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7853
qlge->mac_flags = QL_MAC_BRINGDOWN;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7854
if (qlge->sequence & ADAPTER_INIT) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7856
status = ql_sem_spinlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7859
(void) ql_stop_routing(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7860
ql_sem_unlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7865
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7866
mutex_enter(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7867
qlge->tx_ring[i].mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7868
mutex_exit(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7871
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7872
mutex_enter(&qlge->rx_ring[i].rx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7873
qlge->rx_ring[i].mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7874
mutex_exit(&qlge->rx_ring[i].rx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7882
(void) ql_wait_tx_quiesce(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7884
ql_disable_all_completion_interrupts(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7886
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7888
ql_disable_global_interrupt(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7889
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7892
status = ql_wait_rx_complete(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7894
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7896
(void) ql_asic_reset(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7901
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7902
ql_unbind_pending_tx_dma_handle(&qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7905
qlge->sequence &= ~ADAPTER_INIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7907
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
791
ql_disable_global_interrupt(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7921
qlge_t *qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7929
if ((qlge = QL_GET_DEV(dip)) == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
793
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, (INTR_EN_EI << 16));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7931
rval = ql_bringdown_adapter(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7935
qlge->mac_flags = QL_MAC_DETACH;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7938
if (qlge->sequence & INIT_MEMORY_ALLOC) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7939
ql_free_mem_resources(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
794
qlge->flags &= ~INTERRUPTS_ENABLED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7940
qlge->sequence &= ~INIT_MEMORY_ALLOC;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7942
ql_free_resources(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7947
if ((qlge = QL_GET_DEV(dip)) == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7950
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7951
if ((qlge->mac_flags == QL_MAC_ATTACHED) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7952
(qlge->mac_flags == QL_MAC_STARTED)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7953
(void) ql_do_stop(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7955
qlge->mac_flags = QL_MAC_SUSPENDED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7956
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7979
qlge_t *qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7982
if ((qlge = QL_GET_DEV(dip)) == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7985
if (CFG_IST(qlge, CFG_CHIP_8100)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7987
(void) ql_sem_spinlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7988
(void) ql_stop_routing(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7989
ql_sem_unlock(qlge, SEM_RT_IDX_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7991
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7992
if (qlge->tx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7993
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7994
qlge->tx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8000
ql_write_reg(qlge, REG_INTERRUPT_MASK,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8002
ql_disable_global_interrupt(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8005
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8006
if (qlge->rx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8007
ql_write_doorbell_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8008
qlge->rx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
801
ql_enable_completion_interrupt(qlge_t *qlge, uint32_t intr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8012
qlge->mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
8014
(void) ql_asic_reset(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
803
struct intr_ctx *ctx = qlge->intr_ctx + intr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
806
__func__, qlge->instance, intr, ctx->irq_cnt));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
808
if ((qlge->intr_type == DDI_INTR_TYPE_MSIX) && intr) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
813
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, ctx->intr_en_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
818
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
819
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, ctx->intr_en_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
820
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
823
__func__, qlge->instance, ctx->intr_en_mask));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
833
ql_forced_disable_completion_interrupt(qlge_t *qlge, uint32_t intr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
836
struct intr_ctx *ctx = qlge->intr_ctx + intr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
839
__func__, qlge->instance, intr, ctx->irq_cnt));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
841
if ((qlge->intr_type == DDI_INTR_TYPE_MSIX) && intr) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
842
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, ctx->intr_dis_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
843
var = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
847
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
848
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, ctx->intr_dis_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
849
var = ql_read_reg(qlge, REG_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
850
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
859
ql_disable_completion_interrupt(qlge_t *qlge, uint32_t intr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
863
ctx = qlge->intr_ctx + intr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
865
__func__, qlge->instance, intr, ctx->irq_cnt));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
870
if ((qlge->intr_type == DDI_INTR_TYPE_MSIX) && (intr != 0))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
874
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
875
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, ctx->intr_dis_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
876
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
885
ql_enable_all_completion_interrupts(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
890
for (i = 0; i < qlge->intr_cnt; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
895
if ((qlge->intr_type != DDI_INTR_TYPE_MSIX) || i == 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
896
ql_atomic_set_32(&qlge->intr_ctx[i].irq_cnt, value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
898
ql_enable_completion_interrupt(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
906
ql_disable_all_completion_interrupts(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
911
for (i = 0; i < qlge->intr_cnt; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
917
if ((qlge->intr_type != DDI_INTR_TYPE_MSIX) || i == 0)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
918
ql_atomic_set_32(&qlge->intr_ctx[i].irq_cnt, value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
920
ql_disable_completion_interrupt(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
928
ql_update_sbq_prod_idx(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
933
ql_write_doorbell_reg(qlge, rx_ring->sbq_prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
941
ql_update_lbq_prod_idx(qlge_t *qlge, struct rx_ring *rx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
946
ql_write_doorbell_reg(qlge, rx_ring->lbq_prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1006
*pvalue = qlge->ql_dbgprnt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1013
qlge->ql_dbgprnt = *pvalue;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1020
ql_write_reg(qlge, reg->addr, reg->value);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
103
ql_put32(qlge_t *qlge, uint32_t index, uint32_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1031
(uint16_t)pci_config_get16(qlge->pci_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1042
pci_config_put16(qlge->pci_handle, pci_reg->addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
105
ddi_put32(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1057
bcopy((const void *)(&qlge->pci_cfg),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
106
(uint32_t *)(void *)(((caddr_t)qlge->iobase) + index), data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1073
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1074
(void) ql_get_firmware_version(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1076
(void) ql_get_fw_state(qlge, &prop_ptr->fw_state);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1077
(void) qlge_get_link_status(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1079
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1087
if (ql_get_pci_bus_info(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1092
qlge->pci_cfg.vendor_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1094
qlge->pci_cfg.sub_vendor_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1096
qlge->pci_cfg.device_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1098
qlge->pci_cfg.sub_device_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1100
bcopy(qlge->unicst_addr[0].addr.ether_addr_octet,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1107
if (CFG_IST(qlge, CFG_CHIP_8100))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1113
if (qlge->ioctl_buf_ptr == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1116
bp = qlge->ioctl_buf_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1117
bp += qlge->ioctl_transferred_bytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1119
qlge->ioctl_total_length -
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1120
qlge->ioctl_transferred_bytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1127
pheader->total_length = qlge->ioctl_total_length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1129
qlge->expected_trans_times;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
113
ql_read_reg(qlge_t *qlge, uint32_t reg)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1135
qlge->ioctl_transferred_bytes +=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1139
if (qlge->ioctl_transferred_bytes >=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1140
qlge->ioctl_total_length) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1142
kmem_free(qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1143
qlge->ioctl_buf_lenth);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1144
qlge->ioctl_buf_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1145
qlge->ioctl_buf_lenth = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
115
uint32_t data = ql_get32(qlge, reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1151
if (qlge->ioctl_buf_ptr == NULL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1154
bdesc = qlge->ioctl_buf_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1155
bdesc += qlge->ioctl_transferred_bytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1156
remaining_bytes = qlge->ioctl_total_length -
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1157
qlge->ioctl_transferred_bytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1162
pheader->total_length = qlge->ioctl_total_length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1164
qlge->expected_trans_times;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1169
qlge->ioctl_transferred_bytes +=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1173
if (qlge->ioctl_transferred_bytes >=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1174
qlge->ioctl_total_length) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1176
(void) ql_get_flash_table_region_info(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1181
(void) qlge_load_flash(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1182
(uint8_t *)qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1183
qlge->ioctl_transferred_bytes /* size */,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1187
qlge->ioctl_transferred_bytes));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1188
kmem_free(qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1189
qlge->ioctl_buf_lenth);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1190
qlge->ioctl_buf_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1191
qlge->ioctl_buf_lenth = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1197
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1198
qlge->ioctl_buf_lenth =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1200
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1201
kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1203
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1206
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1210
len = read_ctrl_reg_set(qlge, qlge->ioctl_buf_ptr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1213
build_init_pkt_header(qlge, pheader, len);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1220
if (CFG_IST(qlge, CFG_CHIP_8100))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1228
rval = ql_binary_core_dump(qlge, requested_dump, &len);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1233
build_init_pkt_header(qlge, pheader, len);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
124
ql_write_reg(qlge_t *qlge, uint32_t reg, uint32_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1242
(void) ql_trigger_system_error_event(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1246
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1247
qlge->ioctl_buf_lenth =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1249
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1250
kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1252
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1255
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
126
ql_put32(qlge, reg, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1262
(void) ql_flash_vpd(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1263
(uint8_t *)qlge->ioctl_buf_ptr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1266
build_init_pkt_header(qlge, pheader,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1272
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1273
qlge->ioctl_buf_lenth =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1275
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1276
kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1278
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1281
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1286
rval = qlge_dump_fcode(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1287
(uint8_t *)qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1295
build_init_pkt_header(qlge, pheader,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1301
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1302
qlge->ioctl_buf_lenth = IOCTL_MAX_BUF_SIZE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1303
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1304
kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1306
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1309
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1315
if (ql_get_flash_table_region_info(qlge, region, &addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1318
rval = qlge_dump_fcode(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1319
(uint8_t *)qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1326
build_init_pkt_header(qlge, pheader, size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
133
ql_sem_lock(qlge_t *qlge, uint32_t sem_mask, uint32_t sem_bits)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1334
qlge->ioctl_buf_lenth = pheader->total_length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1335
qlge->ioctl_total_length = pheader->total_length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1336
qlge->expected_trans_times =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1338
qlge->ioctl_transferred_bytes = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1339
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1340
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1341
kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1343
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1346
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1352
region, qlge->ioctl_buf_lenth));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1357
if (qlge->ioctl_buf_ptr != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1358
kmem_free(qlge->ioctl_buf_ptr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1359
qlge->ioctl_buf_lenth);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1361
qlge->ioctl_buf_lenth = IOCTL_MAX_BUF_SIZE * 4;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1362
qlge->ioctl_buf_ptr = kmem_zalloc(qlge->ioctl_buf_lenth,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1364
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1367
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
137
ql_put32(qlge, REG_SEMAPHORE, (sem_mask | sem_bits));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1372
(void *)qlge->ioctl_buf_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
138
value = ql_get32(qlge, REG_SEMAPHORE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1384
bdesc = qlge->ioctl_buf_ptr +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1390
if (ql_get_flash_table_region_info(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1396
rval = qlge_dump_fcode(qlge, (uint8_t *)bdesc,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1436
build_init_pkt_header(qlge, pheader, offset);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1463
ql_wake_asic_reset_soft_intr(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
147
ql_wait_reg_bit(qlge_t *qlge, uint32_t reg, uint32_t wait_bit, int set,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1488
qlge_set_loop_mode(qlge_t *qlge, uint32_t mode)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1493
if (mode == qlge->loop_back_mode)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1513
qlge->loop_back_mode = mode;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1514
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1515
(void) ql_set_loop_back_mode(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1516
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1519
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1520
(void) ql_route_initialize(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1521
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1531
ql_loop_ioctl(qlge_t *qlge, queue_t *wq, mblk_t *mp, struct iocblk *iocp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1550
__func__, qlge->instance, cmd));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1571
*lbmp = qlge->loop_back_mode;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1578
return (qlge_set_loop_mode(qlge, *lbmp));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1586
ql_8xxx_binary_core_dump_with_header(qlge_t *qlge, caddr_t buf,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1600
bcopy(&qlge->ql_mpi_coredump, bp, sizeof (ql_mpi_coredump_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1621
ql_8xxx_binary_register_dump_with_header(qlge_t *qlge, caddr_t buf,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
164
reg_status = ql_read_reg(qlge, reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1641
*data_ptr = ql_read_reg(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1666
ql_binary_core_dump(qlge_t *qlge, uint32_t requested_dumps, uint32_t *len_ptr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1675
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1676
qlge->ioctl_buf_lenth = IOCTL_MAX_BUF_SIZE; /* 512k */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1677
qlge->ioctl_buf_ptr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1678
kmem_zalloc(qlge->ioctl_buf_lenth, KM_SLEEP);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1679
if (qlge->ioctl_buf_ptr == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1682
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1688
ql_dump_header_ptr = (ql_dump_header_t *)(void *)qlge->ioctl_buf_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1701
bp = (caddr_t)qlge->ioctl_buf_ptr + length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1703
if (CFG_IST(qlge, CFG_CHIP_8100)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1707
(void) ql_8xxx_binary_core_dump_with_header(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1710
bp = (caddr_t)qlge->ioctl_buf_ptr + length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1711
(void) ql_8xxx_binary_register_dump_with_header(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1714
bp = (caddr_t)qlge->ioctl_buf_ptr + length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1717
(void) ql_8xxx_binary_core_dump_with_header(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1720
bp = (caddr_t)qlge->ioctl_buf_ptr + length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1723
(void) ql_8xxx_binary_register_dump_with_header(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1726
bp = (caddr_t)qlge->ioctl_buf_ptr + length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1729
__func__, qlge->instance, requested_dumps);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1747
__func__, qlge->instance, length));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1771
ql_unpause_mpi_risc(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1776
tmp = ql_read_reg(qlge, REG_HOST_CMD_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1780
ql_write_reg(qlge, REG_HOST_CMD_STATUS, CSR_CMD_CLR_PAUSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1788
ql_pause_mpi_risc(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1794
ql_write_reg(qlge, REG_HOST_CMD_STATUS, CSR_CMD_SET_PAUSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1796
tmp = ql_read_reg(qlge, REG_HOST_CMD_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1809
ql_get_intr_states(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1815
ql_write_reg(qlge, REG_INTERRUPT_ENABLE, 0x037f0300 + i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1816
*buf = ql_read_reg(qlge, REG_INTERRUPT_ENABLE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
182
qlge->instance, reg, wait_bit);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1824
ql_read_serdes_reg(qlge_t *qlge, uint32_t reg, uint32_t *data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1829
if (ql_wait_reg_bit(qlge, REG_XG_SERDES_ADDR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
183
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1833
ql_write_reg(qlge, REG_XG_SERDES_ADDR, reg | PROC_ADDR_R);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1835
if (ql_wait_reg_bit(qlge, REG_XG_SERDES_ADDR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1839
*data = ql_read_reg(qlge, REG_XG_SERDES_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
184
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
1849
ql_get_xgmac_regs(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
185
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
195
ql_dump_all_contrl_regs(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
201
data = ql_read_reg(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2106
status = ql_read_xgmac_reg(qlge, i, buf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2123
ql_get_mpi_regs(qlge_t *qlge, uint32_t *buf, uint32_t offset, uint32_t count)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2128
if (ql_read_processor_data(qlge, offset + i, buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2143
ql_get_mpi_shadow_regs(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2153
if (ql_write_processor_data(qlge, RISC_124,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2156
if (ql_read_processor_data(qlge, RISC_127, buf) != DDI_SUCCESS)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2175
ql_get_probe(qlge_t *qlge, uint32_t clock, uint8_t *valid, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2185
ql_write_reg(qlge, REG_PRB_MX_ADDR, probe);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2186
lo_val = ql_read_reg(qlge, REG_PRB_MX_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2192
ql_write_reg(qlge, REG_PRB_MX_ADDR, probe);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2193
hi_val = ql_read_reg(qlge, REG_PRB_MX_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2205
ql_get_probe_dump(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2350
(void) ql_write_processor_data(qlge, 0x100e, 0x18a20000);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2352
buf = ql_get_probe(qlge, SYS_CLOCK, sys_clock_valid_modules, buf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2354
buf = ql_get_probe(qlge, PCI_CLOCK, pci_clock_valid_modules, buf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2356
buf = ql_get_probe(qlge, XGM_CLOCK, xgm_clock_valid_modules, buf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2358
buf = ql_get_probe(qlge, FC_CLOCK, fc_clock_valid_modules, buf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2368
ql_get_routing_index_registers(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2383
ql_write_reg(qlge, REG_ROUTING_INDEX, val);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2387
ql_read_reg(qlge, REG_ROUTING_INDEX);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2389
result_data = ql_read_reg(qlge, REG_ROUTING_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2406
ql_get_mac_protocol_registers(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2488
ql_write_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2492
result_index = ql_read_reg(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2496
ql_read_reg(qlge, REG_MAC_PROTOCOL_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2510
ql_get_serdes_regs(qlge_t *qlge, struct ql_mpi_coredump *mpi_coredump)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2516
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2524
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2532
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2540
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2548
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2556
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2564
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2572
status = ql_read_serdes_reg(qlge, i,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2591
ql_get_ets_regs(qlge_t *qlge, uint32_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2599
ql_write_reg(qlge, REG_NIC_ENHANCED_TX_SCHEDULE,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2603
*buf = ql_read_reg(qlge, REG_NIC_ENHANCED_TX_SCHEDULE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2609
ql_write_reg(qlge, REG_CNA_ENHANCED_TX_SCHEDULE,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2612
*buf = ql_read_reg(qlge, REG_CNA_ENHANCED_TX_SCHEDULE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2622
ql_8xxx_binary_core_dump(qlge_t *qlge, ql_mpi_coredump_t *mpi_coredump)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2629
if (ql_sem_spinlock(qlge, QL_PROCESSOR_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2634
if (ql_pause_mpi_risc(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2637
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2666
(void) ql_get_mpi_regs(qlge, &mpi_coredump->mpi_core_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2669
(void) ql_get_mpi_shadow_regs(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2679
(void) ql_get_mpi_regs(qlge, &mpi_coredump->test_logic_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2688
(void) ql_get_mpi_regs(qlge, &mpi_coredump->rmii_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2697
(void) ql_get_mpi_regs(qlge, &mpi_coredump->fcmac1_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2706
(void) ql_get_mpi_regs(qlge, &mpi_coredump->fcmac2_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2715
(void) ql_get_mpi_regs(qlge, &mpi_coredump->fc1_mbx_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2724
(void) ql_get_mpi_regs(qlge, &mpi_coredump->ide_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2733
(void) ql_get_mpi_regs(qlge, &mpi_coredump->nic1_mbx_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2742
(void) ql_get_mpi_regs(qlge, &mpi_coredump->smbus_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2751
(void) ql_get_mpi_regs(qlge, &mpi_coredump->fc2_mbx_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2760
(void) ql_get_mpi_regs(qlge, &mpi_coredump->nic2_mbx_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2769
(void) ql_get_mpi_regs(qlge, &mpi_coredump->i2c_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2778
(void) ql_get_mpi_regs(qlge, &mpi_coredump->memc_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2787
(void) ql_get_mpi_regs(qlge, &mpi_coredump->pbus_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2796
(void) ql_get_mpi_regs(qlge, &mpi_coredump->mde_regs[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2847
(void) ql_get_serdes_regs(qlge, mpi_coredump);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2857
mpi_coredump->nic_regs[i] = ql_read_reg(qlge, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2866
ql_get_intr_states(qlge, &mpi_coredump->intr_states[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2873
(void) ql_get_xgmac_regs(qlge, &mpi_coredump->xgmac[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2880
(void) ql_get_probe_dump(qlge, &mpi_coredump->probe_dump[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2888
ql_get_routing_index_registers(qlge, &mpi_coredump->routing_regs[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2896
ql_get_mac_protocol_registers(qlge, &mpi_coredump->mac_prot_regs[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2904
(void) ql_get_ets_regs(qlge, &mpi_coredump->ets[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2907
if (ql_unpause_mpi_risc(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2914
if (ql_reset_mpi_risc(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2924
phy_addr = qlge->ioctl_buf_dma_attr.dma_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2925
if (ql_read_risc_ram(qlge, CODE_RAM_ADDR, phy_addr, CODE_RAM_CNT)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2927
(void) ddi_dma_sync(qlge->ioctl_buf_dma_attr.dma_handle, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2929
bcopy(qlge->ioctl_buf_dma_attr.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2933
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2943
phy_addr = qlge->ioctl_buf_dma_attr.dma_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2944
if (ql_read_risc_ram(qlge, MEMC_RAM_ADDR, phy_addr, MEMC_RAM_CNT)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2946
(void) ddi_dma_sync(qlge->ioctl_buf_dma_attr.dma_handle, 0,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2948
bcopy(qlge->ioctl_buf_dma_attr.vaddr, mpi_coredump->memc_ram,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2951
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2957
if (ql_write_processor_data(qlge, 0x1010, 1) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
2963
ql_sem_unlock(qlge, QL_PROCESSOR_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
44
ql_get8(qlge_t *qlge, uint32_t index)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
471
ql_dump_cqicb(qlge_t *qlge, struct cqicb_t *cqicb)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
473
_NOTE(ARGUNUSED(qlge));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
474
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
48
ret = (uint8_t)ddi_get8(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
49
(uint8_t *)(((caddr_t)qlge->iobase) + index));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
527
ql_dump_wqicb(qlge_t *qlge, struct wqicb_t *wqicb)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
529
_NOTE(ARGUNUSED(qlge));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
530
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
559
ql_dump_req_pkt(qlge_t *qlge, struct ob_mac_iocb_req *pkt, void *oal,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
565
ql_printf("ql_dump_req_pkt(%d):enter\n", qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
57
ql_get16(qlge_t *qlge, uint32_t index)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
61
ret = (uint16_t)ddi_get16(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
62
(uint16_t *)(void *)(((caddr_t)qlge->iobase) + index));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
628
ql_dump_pci_config(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
630
qlge->pci_cfg.vendor_id = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
631
pci_config_get16(qlge->pci_handle, PCI_CONF_VENID);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
633
qlge->pci_cfg.device_id = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
634
pci_config_get16(qlge->pci_handle, PCI_CONF_DEVID);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
636
qlge->pci_cfg.command = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
637
pci_config_get16(qlge->pci_handle, PCI_CONF_COMM);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
639
qlge->pci_cfg.status = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
640
pci_config_get16(qlge->pci_handle, PCI_CONF_STAT);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
642
qlge->pci_cfg.revision = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
643
pci_config_get8(qlge->pci_handle, PCI_CONF_REVID);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
645
qlge->pci_cfg.prog_class = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
646
pci_config_get8(qlge->pci_handle, PCI_CONF_PROGCLASS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
648
qlge->pci_cfg.sub_class = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
649
pci_config_get8(qlge->pci_handle, PCI_CONF_SUBCLASS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
651
qlge->pci_cfg.base_class = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
652
pci_config_get8(qlge->pci_handle, PCI_CONF_BASCLASS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
654
qlge->pci_cfg.cache_line_size = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
655
pci_config_get8(qlge->pci_handle, PCI_CONF_CACHE_LINESZ);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
657
qlge->pci_cfg.latency_timer = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
658
pci_config_get8(qlge->pci_handle, PCI_CONF_LATENCY_TIMER);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
660
qlge->pci_cfg.header_type = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
661
pci_config_get8(qlge->pci_handle, PCI_CONF_HEADER);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
663
qlge->pci_cfg.io_base_address =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
664
pci_config_get32(qlge->pci_handle, PCI_CONF_BASE0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
666
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_lower =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
667
pci_config_get32(qlge->pci_handle, PCI_CONF_BASE1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
669
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_upper =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
670
pci_config_get32(qlge->pci_handle, PCI_CONF_BASE2);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
672
qlge->pci_cfg.pci_doorbell_mem_base_address_lower =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
673
pci_config_get32(qlge->pci_handle, PCI_CONF_BASE3);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
675
qlge->pci_cfg.pci_doorbell_mem_base_address_upper =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
676
pci_config_get32(qlge->pci_handle, PCI_CONF_BASE4);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
678
qlge->pci_cfg.sub_vendor_id = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
679
pci_config_get16(qlge->pci_handle, PCI_CONF_SUBVENID);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
681
qlge->pci_cfg.sub_device_id = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
682
pci_config_get16(qlge->pci_handle, PCI_CONF_SUBSYSID);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
684
qlge->pci_cfg.expansion_rom =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
685
pci_config_get32(qlge->pci_handle, PCI_CONF_ROM);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
687
qlge->pci_cfg.intr_line = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
688
pci_config_get8(qlge->pci_handle, PCI_CONF_ILINE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
690
qlge->pci_cfg.intr_pin = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
691
pci_config_get8(qlge->pci_handle, PCI_CONF_IPIN);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
693
qlge->pci_cfg.min_grant = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
694
pci_config_get8(qlge->pci_handle, PCI_CONF_MIN_G);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
696
qlge->pci_cfg.max_latency = (uint8_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
697
pci_config_get8(qlge->pci_handle, PCI_CONF_MAX_L);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
699
qlge->pci_cfg.pcie_device_control = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
70
ql_get32(qlge_t *qlge, uint32_t index)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
700
pci_config_get16(qlge->pci_handle, 0x54);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
702
qlge->pci_cfg.link_status = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
703
pci_config_get16(qlge->pci_handle, 0x5e);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
705
qlge->pci_cfg.msi_msg_control = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
706
pci_config_get16(qlge->pci_handle, 0x8a);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
708
qlge->pci_cfg.msi_x_msg_control = (uint16_t)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
709
pci_config_get16(qlge->pci_handle, 0xa2);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
711
if (qlge->ql_dbgprnt & DBG_GLD) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
713
qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
715
qlge->pci_cfg.vendor_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
717
qlge->pci_cfg.device_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
719
qlge->pci_cfg.command);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
721
qlge->pci_cfg.status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
723
qlge->pci_cfg.revision);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
725
qlge->pci_cfg.prog_class);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
727
qlge->pci_cfg.sub_class);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
729
qlge->pci_cfg.base_class);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
731
qlge->pci_cfg.cache_line_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
733
qlge->pci_cfg.latency_timer);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
735
qlge->pci_cfg.header_type);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
737
qlge->pci_cfg.io_base_address);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
739
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_lower);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
74
ret = ddi_get32(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
741
qlge->pci_cfg.pci_cntl_reg_set_mem_base_address_upper);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
743
qlge->pci_cfg.pci_doorbell_mem_base_address_lower);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
745
qlge->pci_cfg.pci_doorbell_mem_base_address_upper);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
747
qlge->pci_cfg.sub_vendor_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
749
qlge->pci_cfg.sub_device_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
75
(uint32_t *)(void *)(((caddr_t)qlge->iobase) + index));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
751
qlge->pci_cfg.expansion_rom);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
753
qlge->pci_cfg.intr_line);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
755
qlge->pci_cfg.intr_pin);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
757
qlge->pci_cfg.min_grant);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
759
qlge->pci_cfg.max_latency);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
761
qlge->pci_cfg.pcie_device_control);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
763
qlge->pci_cfg.link_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
765
qlge->pci_cfg.msi_msg_control);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
767
qlge->pci_cfg.msi_x_msg_control);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
769
ql_printf("ql_dump_pci_config(%d): exit\n", qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
791
read_ctrl_reg_set(qlge_t *qlge, caddr_t bufp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
800
data = ql_read_reg(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
806
ql_write_reg(qlge, i, (data | (data << 16)));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
807
data = ql_read_reg(qlge, i);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
824
__func__, qlge->instance, cnt));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
83
ql_put8(qlge_t *qlge, uint32_t index, uint8_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
832
ql_get_flash_table_region_info(qlge_t *qlge, uint32_t region, uint32_t *addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
85
ddi_put8(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
86
(uint8_t *)(((caddr_t)qlge->iobase) + index), data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
892
__func__, qlge->instance, region);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
902
ql_get_pci_bus_info(qlge_t *qlge, uint32_t *pci_bus_info_ptr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
909
dip = qlge->dip;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
913
__func__, qlge->instance, noptions));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
929
build_init_pkt_header(qlge_t *qlge, ioctl_header_info_t *pheader, uint32_t size)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
93
ql_put16(qlge_t *qlge, uint32_t index, uint16_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
931
qlge->ioctl_total_length = size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
933
qlge->ioctl_total_length));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
934
qlge->expected_trans_times =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
935
(uint16_t)(qlge->ioctl_total_length / IOCTL_MAX_DATA_LEN);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
936
if ((qlge->ioctl_total_length % IOCTL_MAX_DATA_LEN) != 0)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
937
qlge->expected_trans_times++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
939
qlge->expected_trans_times));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
940
qlge->ioctl_transferred_bytes = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
946
pheader->total_length = qlge->ioctl_total_length;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
948
pheader->expected_trans_times = qlge->expected_trans_times;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
95
ddi_put16(qlge->dev_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
956
ql_chip_ioctl(qlge_t *qlge, queue_t *q, mblk_t *mp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
96
(uint16_t *)(void *)(((caddr_t)qlge->iobase) + index), data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_dbg.c
989
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
100
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1026
ql_wait_flash_reg_ready(qlge_t *qlge, uint32_t wait_bit)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1033
reg_status = ql_read_reg(qlge, REG_FLASH_ADDRESS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1037
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1049
"%s(%d) timeout error!", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1050
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1051
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1052
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1053
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1065
ql_read_flash(qlge_t *qlge, uint32_t faddr, uint32_t *bp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1069
ql_write_reg(qlge, REG_FLASH_ADDRESS, faddr | FLASH_R_FLAG);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1072
rval = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1075
*bp = ql_read_reg(qlge, REG_FLASH_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1081
ql_read_flash_status(qlge_t *qlge, uint8_t *value)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1086
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1091
ql_write_reg(qlge, REG_FLASH_ADDRESS, cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1092
if ((rtn_val = ql_wait_flash_reg_ready(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1096
data = ql_read_reg(qlge, REG_FLASH_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1102
ql_flash_write_enable(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1109
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1112
"%s(%d) timeout!", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1116
cmd |= qlge->fdesc.write_enable_cmd;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1117
ql_write_reg(qlge, REG_FLASH_ADDRESS, cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1119
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1122
(void) ql_read_flash_status(qlge, ®_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1131
__func__, qlge->instance, reg_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1138
ql_flash_erase_sector(qlge_t *qlge, uint32_t sectorAddr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1145
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
115
rval = ql_read_flash(qlge, addr++, &data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1150
cmd |= (0x0300 | qlge->fdesc.erase_cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1154
ql_write_reg(qlge, REG_FLASH_DATA, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1155
ql_write_reg(qlge, REG_FLASH_ADDRESS, cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1157
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1161
(void) ql_read_flash_status(qlge, &flash_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1173
__func__, qlge->instance, flash_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1184
ql_write_flash(qlge_t *qlge, uint32_t addr, uint32_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1190
ql_write_reg(qlge, REG_FLASH_DATA, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1191
(void) ql_read_reg(qlge, REG_FLASH_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1192
ql_write_reg(qlge, REG_FLASH_ADDRESS, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1194
if ((rval = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1199
(void) ql_read_flash_status(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1213
__func__, qlge->instance, flash_status);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1225
ql_unprotect_flash(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1229
if ((rtn_val = ql_flash_write_enable(qlge)) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1233
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1243
(void) ql_write_flash(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1244
FLASH_CONF_ADDR | 0x100 | qlge->fdesc.write_statusreg_cmd,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1245
qlge->fdesc.write_enable_bits);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1247
if (qlge->fdesc.unprotect_sector_cmd != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1249
(void) ql_write_flash(qlge, FLASH_CONF_ADDR |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1250
0x300 | qlge->fdesc.unprotect_sector_cmd, fdata);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1253
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x300 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1254
qlge->fdesc.unprotect_sector_cmd, 0x00400f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1255
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x300 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1256
qlge->fdesc.unprotect_sector_cmd, 0x00600f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1257
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x300 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1258
qlge->fdesc.unprotect_sector_cmd, 0x00800f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1260
rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1269
ql_protect_flash(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1273
if ((rtn_val = ql_flash_write_enable(qlge)) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1277
if ((rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1287
if (qlge->fdesc.protect_sector_cmd != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1289
(void) ql_write_flash(qlge, FLASH_CONF_ADDR |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1290
0x330 | qlge->fdesc.protect_sector_cmd, fdata);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1292
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x330 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1293
qlge->fdesc.protect_sector_cmd, 0x00400f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1294
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x330 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1295
qlge->fdesc.protect_sector_cmd, 0x00600f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1296
(void) ql_write_flash(qlge, FLASH_CONF_ADDR | 0x330 |
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1297
qlge->fdesc.protect_sector_cmd, 0x00800f);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1299
(void) ql_write_flash(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1302
(void) ql_write_flash(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1303
FLASH_CONF_ADDR | 0x100 | qlge->fdesc.write_statusreg_cmd,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1304
qlge->fdesc.write_disable_bits /* 0x9c */);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1307
rtn_val = ql_wait_flash_reg_ready(qlge, FLASH_RDY_FLAG);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1316
ql_write_flash_test(qlge_t *qlge, uint32_t test_addr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1322
(void) ql_read_flash(qlge, addr, &old_data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1327
(void) ql_unprotect_flash(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
133
ql_erase_and_write_to_flash(qlge_t *qlge, uint8_t *dp, uint32_t size,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1330
(void) ql_flash_erase_sector(qlge, test_addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1331
(void) ql_read_flash(qlge, addr, &data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1337
(void) ql_write_flash(qlge, addr, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1340
(void) ql_read_flash(qlge, addr, &data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1347
(void) ql_flash_erase_sector(qlge, test_addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1348
(void) ql_write_flash(qlge, addr, old_data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1349
(void) ql_read_flash(qlge, addr, &data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1354
(void) ql_protect_flash(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1360
ql_write_flash_test2(qlge_t *qlge, uint32_t test_addr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1364
(void) qlge_dump_fcode(qlge, (uint8_t *)&old_data, sizeof (old_data),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1372
(void) qlge_load_flash(qlge, (uint8_t *)&data, sizeof (data),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1374
(void) qlge_dump_fcode(qlge, (uint8_t *)&data, sizeof (data),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1382
(void) qlge_load_flash(qlge, (uint8_t *)&old_data, sizeof (old_data),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1384
(void) qlge_dump_fcode(qlge, (uint8_t *)&data, sizeof (data),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1396
ql_sem_flash_lock(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
140
__func__, qlge->instance, faddr, size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1401
if (ql_sem_spinlock(qlge, QL_FLASH_SEM_MASK)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1408
ql_sem_flash_unlock(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
1410
ql_sem_unlock(qlge, QL_FLASH_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
145
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
150
rest_addr = (qlge->fdesc.block_size - 1) >> 2;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
167
rval = ql_write_flash(qlge, /* 0xd8 */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
168
FLASH_CONF_ADDR | 0x0300 | qlge->fdesc.erase_cmd,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
183
rval = ql_write_flash(qlge, faddr, fdata);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
202
__func__, qlge->instance, rval);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
208
get_sector_number(qlge_t *qlge, uint32_t faddr, uint32_t *psector)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
210
*psector = faddr / qlge->fdesc.block_size; /* 0x10000 */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
219
qlge_load_flash(qlge_t *qlge, uint8_t *dp, uint32_t len, uint32_t faddr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
230
__func__, qlge->instance, faddr, len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
232
sector_size = qlge->fdesc.block_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
234
if (faddr > qlge->fdesc.flash_size) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
236
__func__, qlge->instance, faddr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
240
if (ql_sem_spinlock(qlge, QL_FLASH_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
246
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
247
ql_sem_unlock(qlge, QL_FLASH_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
251
(void) ql_unprotect_flash(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
253
get_sector_number(qlge, faddr, &start_block);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
254
get_sector_number(qlge, faddr + len - 1, &end_block);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
257
__func__, qlge->instance, start_block, end_block));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
262
__func__, qlge->instance, sector_size, num * sector_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
264
rval = qlge_dump_fcode(qlge, (uint8_t *)temp, sector_size,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
281
if (ql_erase_and_write_to_flash(qlge, temp, sector_size,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
287
(void) ql_protect_flash(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
290
ql_sem_unlock(qlge, QL_FLASH_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
294
__func__, qlge->instance, rval);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
308
ql_check_pci(qlge_t *qlge, uint8_t *buf, uint32_t *nextpos)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
318
__func__, qlge->instance, *nextpos));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
324
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
339
"off=%xh\n", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
350
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
360
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
364
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
368
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
372
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
376
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
381
__func__, qlge->instance, image_size, *nextpos));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
385
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
406
ql_find_flash_layout_table_data_structure_addr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
41
ql_flash_id(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
413
if (qlge->flash_fltds_addr != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
415
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
422
qlge->fdesc.flash_size = FLASH_FIRMWARE_IMAGE_ADDR;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
426
if ((rval = qlge_dump_fcode(qlge, buf, FBUFSIZE, freadpos))
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
430
__func__, qlge->instance, freadpos, rval);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
437
result = ql_check_pci(qlge, buf, &freadpos);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
446
qlge->instance, freadpos));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
447
qlge->flash_fltds_addr = freadpos;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
453
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
465
ql_flash_fltds(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
471
rval = qlge_dump_fcode(qlge, (uint8_t *)&qlge->fltds,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
472
sizeof (ql_fltds_t), qlge->flash_fltds_addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
475
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
476
bzero(&qlge->fltds, sizeof (ql_fltds_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
481
&qlge->fltds, 8, sizeof (ql_fltds_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
485
bp = (uint16_t *)&qlge->fltds;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
493
LITTLE_ENDIAN_32(&qlge->fltds.signature);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
494
LITTLE_ENDIAN_16(&qlge->fltds.flt_addr_lo);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
495
LITTLE_ENDIAN_16(&qlge->fltds.flt_addr_hi);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
496
LITTLE_ENDIAN_16(&qlge->fltds.checksum);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
499
__func__, qlge->instance, qlge->fltds.signature));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
50
rval = ql_read_flash(qlge, FLASH_CONF_ADDR | 0x300 | FLASH_RES_CMD,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
501
__func__, qlge->instance, qlge->fltds.flt_addr_lo));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
503
__func__, qlge->instance, qlge->fltds.flt_addr_hi));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
505
__func__, qlge->instance, qlge->fltds.version));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
507
__func__, qlge->instance, qlge->fltds.checksum));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
509
if (chksum != 0 || qlge->fltds.signature != FLASH_FLTDS_SIGNATURE) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
511
" structure", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
512
bzero(&qlge->fltds, sizeof (ql_fltds_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
523
ql_flash_flt(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
53
__func__, qlge->instance, fdata));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
530
addr = qlge->fltds.flt_addr_hi;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
532
addr |= qlge->fltds.flt_addr_lo;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
535
rval = qlge_dump_fcode(qlge, (uint8_t *)&qlge->flt.header,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
539
__func__, qlge->instance, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
540
bzero(&qlge->flt, sizeof (ql_flt_header_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
544
LITTLE_ENDIAN_16(&qlge->flt.header.version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
545
LITTLE_ENDIAN_16(&qlge->flt.header.length);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
546
LITTLE_ENDIAN_16(&qlge->flt.header.checksum);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
547
LITTLE_ENDIAN_16(&qlge->flt.header.reserved);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
549
if ((qlge->flt.header.version != 1) &&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
550
(qlge->flt.header.version != 0)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
552
__func__, qlge->instance, qlge->flt.header.version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
553
bzero(&qlge->flt, sizeof (ql_flt_header_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
557
if ((qlge->flt.ql_flt_entry_ptr = (ql_flt_entry_t *)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
558
(kmem_zalloc(qlge->flt.header.length, KM_SLEEP))) == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
560
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
564
qlge->flt.num_entries = (uint16_t)(qlge->flt.header.length /
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
57
rval = ql_read_flash(qlge, FLASH_CONF_ADDR | 0x0400 | FLASH_RDID_CMD,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
570
__func__, qlge->instance, qlge->flt.num_entries));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
571
rval = qlge_dump_fcode(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
572
(uint8_t *)qlge->flt.ql_flt_entry_ptr, qlge->flt.header.length,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
579
entry = (ql_flt_entry_t *)qlge->flt.ql_flt_entry_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
580
for (cnt = 0; cnt < qlge->flt.num_entries; cnt++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
589
entry = (ql_flt_entry_t *)qlge->flt.ql_flt_entry_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
590
qlge->flash_fdt_addr = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
591
for (cnt = 0; cnt < qlge->flt.num_entries; cnt++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
593
qlge->flash_flt_fdt_index = cnt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
594
qlge->flash_fdt_addr = entry->begin_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
595
qlge->flash_fdt_size = entry->size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
598
qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
605
if (qlge->flash_fdt_addr == 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
607
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
611
entry = (ql_flt_entry_t *)qlge->flt.ql_flt_entry_ptr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
612
if (qlge->func_number == qlge->fn0_net)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
616
qlge->flash_nic_config_table_addr = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
617
for (cnt = 0; cnt < qlge->flt.num_entries; cnt++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
619
qlge->flash_flt_nic_config_table_index = cnt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
62
__func__, qlge->instance, fdata);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
620
qlge->flash_nic_config_table_addr = entry->begin_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
621
qlge->flash_nic_config_table_size = entry->size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
625
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
631
if (qlge->flash_nic_config_table_addr == 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
633
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
639
bzero(&qlge->flt, sizeof (ql_flt_header_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
64
qlge->flash_info.flash_manuf = LSB(LSW(fdata));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
640
if (qlge->flt.ql_flt_entry_ptr != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
641
bzero(&qlge->flt.ql_flt_entry_ptr, qlge->flt.header.length);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
642
kmem_free(qlge->flt.ql_flt_entry_ptr, qlge->flt.header.length);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
643
qlge->flt.ql_flt_entry_ptr = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
645
cmn_err(CE_WARN, "%s(%d) read FLT failed", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
65
qlge->flash_info.flash_id = MSB(LSW(fdata));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
654
ql_flash_desc(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
66
qlge->flash_info.flash_cap = LSB(MSW(fdata));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
661
addr = qlge->flash_fdt_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
663
rval = qlge_dump_fcode(qlge, (uint8_t *)&qlge->fdesc,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
667
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
668
bzero(&qlge->fdesc, sizeof (flash_desc_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
674
bp = (uint16_t *)&qlge->fdesc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
682
LITTLE_ENDIAN_32(&qlge->fdesc.flash_valid);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
683
LITTLE_ENDIAN_16(&qlge->fdesc.flash_version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
684
LITTLE_ENDIAN_16(&qlge->fdesc.flash_len);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
685
LITTLE_ENDIAN_16(&qlge->fdesc.flash_checksum);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
686
LITTLE_ENDIAN_16(&qlge->fdesc.flash_unused);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
687
LITTLE_ENDIAN_16(&qlge->fdesc.flash_manuf);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
688
LITTLE_ENDIAN_16(&qlge->fdesc.flash_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
689
LITTLE_ENDIAN_32(&qlge->fdesc.block_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
69
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
690
LITTLE_ENDIAN_32(&qlge->fdesc.alt_block_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
691
LITTLE_ENDIAN_32(&qlge->fdesc.flash_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
692
LITTLE_ENDIAN_32(&qlge->fdesc.write_enable_data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
693
LITTLE_ENDIAN_32(&qlge->fdesc.read_timeout);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
696
QL_PRINT(DBG_FLASH, ("flash_valid=%xh\n", qlge->fdesc.flash_valid));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
697
QL_PRINT(DBG_FLASH, ("flash_version=%xh\n", qlge->fdesc.flash_version));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
698
QL_PRINT(DBG_FLASH, ("flash_len=%xh\n", qlge->fdesc.flash_len));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
70
qlge->flash_info.flash_manuf, qlge->flash_info.flash_id,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
700
qlge->fdesc.flash_checksum));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
702
w8 = qlge->fdesc.flash_model[15];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
703
qlge->fdesc.flash_model[15] = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
704
QL_PRINT(DBG_FLASH, ("flash_model=%s\n", qlge->fdesc.flash_model));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
705
qlge->fdesc.flash_model[15] = w8;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
706
QL_PRINT(DBG_FLASH, ("flash_size=%xK bytes\n", qlge->fdesc.flash_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
707
qlge->fdesc.flash_size = qlge->fdesc.flash_size * 0x400;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
708
qlge->flash_info.flash_size = qlge->fdesc.flash_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
71
qlge->flash_info.flash_cap));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
710
if (chksum != 0 || qlge->fdesc.flash_valid != FLASH_DESC_VAILD ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
711
qlge->fdesc.flash_version != FLASH_DESC_VERSION) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
713
bzero(&qlge->fdesc, sizeof (flash_desc_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
725
ql_flash_nic_config(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
731
addr = qlge->flash_nic_config_table_addr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
733
rval = qlge_dump_fcode(qlge, (uint8_t *)&qlge->nic_config,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
738
bzero(&qlge->nic_config, sizeof (ql_nic_config_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
744
bp = (uint16_t *)&qlge->nic_config;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
752
LITTLE_ENDIAN_32(&qlge->nic_config.signature);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
753
LITTLE_ENDIAN_16(&qlge->nic_config.version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
754
LITTLE_ENDIAN_16(&qlge->nic_config.size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
755
LITTLE_ENDIAN_16(&qlge->nic_config.checksum);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
756
LITTLE_ENDIAN_16(&qlge->nic_config.total_data_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
757
LITTLE_ENDIAN_16(&qlge->nic_config.num_of_entries);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
758
LITTLE_ENDIAN_16(&qlge->nic_config.vlan_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
759
LITTLE_ENDIAN_16(&qlge->nic_config.last_entry);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
760
LITTLE_ENDIAN_16(&qlge->nic_config.subsys_vendor_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
761
LITTLE_ENDIAN_16(&qlge->nic_config.subsys_device_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
764
qlge->instance, qlge->nic_config.signature));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
766
qlge->instance, qlge->nic_config.size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
768
qlge->instance, qlge->nic_config.checksum));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
770
qlge->instance, qlge->nic_config.version));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
772
qlge->instance, qlge->nic_config.total_data_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
774
qlge->instance, qlge->nic_config.num_of_entries));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
776
qlge->instance, qlge->nic_config.factory_data_type));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
778
qlge->instance, qlge->nic_config.factory_data_type_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
781
qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
782
qlge->nic_config.factory_MAC[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
783
qlge->nic_config.factory_MAC[1],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
784
qlge->nic_config.factory_MAC[2],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
785
qlge->nic_config.factory_MAC[3],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
786
qlge->nic_config.factory_MAC[4],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
787
qlge->nic_config.factory_MAC[5]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
790
qlge->instance, qlge->nic_config.clp_data_type));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
792
qlge->instance, qlge->nic_config.clp_data_type_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
794
qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
795
qlge->nic_config.clp_MAC[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
796
qlge->nic_config.clp_MAC[1],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
797
qlge->nic_config.clp_MAC[2],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
798
qlge->nic_config.clp_MAC[3],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
799
qlge->nic_config.clp_MAC[4],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
800
qlge->nic_config.clp_MAC[5]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
803
qlge->instance, qlge->nic_config.clp_vlan_data_type));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
805
qlge->instance, qlge->nic_config.clp_vlan_data_type_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
807
qlge->instance, qlge->nic_config.vlan_id));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
81
qlge_dump_fcode(qlge_t *qlge, uint8_t *dp, uint32_t size, uint32_t startpos)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
810
qlge->instance, qlge->nic_config.last_data_type));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
812
qlge->instance, qlge->nic_config.last_data_type_size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
814
qlge->instance, qlge->nic_config.last_entry));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
817
qlge->instance, qlge->nic_config.subsys_vendor_id));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
819
qlge->instance, qlge->nic_config.subsys_device_id));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
821
if (chksum != 0 || qlge->nic_config.signature !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
822
FLASH_NIC_CONFIG_SIGNATURE || qlge->nic_config.version != 1) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
826
chksum, qlge->nic_config.signature,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
827
qlge->nic_config.version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
835
ql_flash_vpd(qlge_t *qlge, uint8_t *buf)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
844
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
848
if (!qlge->flash_vpd_addr) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
849
if (qlge->func_number == qlge->fn0_net)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
850
qlge->flash_vpd_addr = ISP_8100_VPD0_ADDR;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
852
qlge->flash_vpd_addr = ISP_8100_VPD1_ADDR;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
855
rval = qlge_dump_fcode(qlge, buf, vpd_size, qlge->flash_vpd_addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
859
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
87
__func__, qlge->instance, startpos, size));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
877
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
884
ql_get_flash_params(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
889
if (ql_sem_spinlock(qlge, QL_FLASH_SEM_MASK)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
894
rval = ql_flash_id(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
90
if (size + startpos > qlge->fdesc.flash_size) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
902
qlge->fdesc.flash_size = 4096 * 1024; /* ie. 4M bytes */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
905
qlge->fdesc.write_statusreg_cmd = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
906
qlge->fdesc.write_enable_bits = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
907
qlge->fdesc.unprotect_sector_cmd = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
908
qlge->fdesc.protect_sector_cmd = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
909
qlge->fdesc.write_disable_bits = 0x9c;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
910
qlge->fdesc.block_size = 0x10000;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
911
qlge->fdesc.erase_cmd = 0xd8;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
915
qlge->fltds.flt_addr_hi = 0x36;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
916
qlge->fltds.flt_addr_lo = 0x1000;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
918
if (ql_flash_flt(qlge) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
919
if (CFG_IST(qlge, CFG_CHIP_8100)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
92
" flsz=%xh", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
920
qlge->flash_fdt_addr = ISP_8100_FDT_ADDR; /* 0x360000 */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
921
if (qlge->func_number == qlge->fn0_net)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
923
qlge->flash_nic_config_table_addr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
927
qlge->flash_nic_config_table_addr =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
93
size, startpos, qlge->fdesc.flash_size);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
931
(void) ql_flash_desc(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
932
(void) ql_flash_nic_config(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
935
ql_sem_unlock(qlge, QL_FLASH_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
946
ql_setup_flash(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
950
if (qlge->flash_fltds_addr != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
953
if (ql_sem_spinlock(qlge, QL_FLASH_SEM_MASK)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
958
rval = ql_flash_id(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
963
qlge->fdesc.write_statusreg_cmd = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
964
qlge->fdesc.write_enable_bits = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
965
qlge->fdesc.unprotect_sector_cmd = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
966
qlge->fdesc.protect_sector_cmd = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
967
qlge->fdesc.write_disable_bits = 0x9c;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
968
qlge->fdesc.block_size = 0x10000;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
969
qlge->fdesc.erase_cmd = 0xd8;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
971
if (ql_find_flash_layout_table_data_structure_addr(qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
974
if (ql_flash_fltds(qlge) == DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
979
if ((qlge->flash_fdt_addr == 0) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
980
(qlge->flash_nic_config_table_addr == 0)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
981
rval = ql_flash_flt(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
983
(void) ql_flash_desc(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
984
(void) ql_flash_nic_config(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_flash.c
999
ql_sem_unlock(qlge, QL_FLASH_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
31
ql_fm_ereport(qlge_t *qlge, char *detail)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
38
if (DDI_FM_EREPORT_CAP(qlge->fm_capabilities)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_fm.c
39
ddi_fm_ereport_post(qlge->dip, buf, ena, DDI_NOSLEEP,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
103
(void) ql_unicst_set(qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
104
(uint8_t *)qlge->unicst_addr[0].addr.ether_addr_octet, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
105
qlge->stats.rpackets = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
106
qlge->stats.rbytes = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
107
qlge->stats.opackets = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
108
qlge->stats.obytes = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
109
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
111
(void) ql_do_start(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
112
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
114
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
115
(void) ql_get_firmware_version(qlge, NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
116
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
127
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
129
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
130
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
131
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
134
(void) ql_do_stop(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
135
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
136
qlge->mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
145
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
148
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
149
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
150
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
154
if (qlge->mac_flags == QL_MAC_DETACH) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
155
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
161
ret = ql_add_to_multicast_list(qlge, (uint8_t *)ep);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
165
ret = ql_remove_from_multicast_list(qlge, (uint8_t *)ep);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
167
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
171
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
172
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
186
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
189
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
190
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
191
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
199
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
203
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
206
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
207
ql_set_promiscuous(qlge, mode);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
208
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
209
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
217
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
225
ASSERT(qlge != NULL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
226
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
227
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
228
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
232
cur_stats = &qlge->stats;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
237
if (CFG_IST(qlge, CFG_CHIP_8100) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
238
qlge->speed = SPEED_10G;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
240
val = qlge->speed * 1000000ull;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
253
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
254
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
262
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
263
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
279
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
280
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
288
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
289
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
297
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
298
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
306
for (i = 0; i < qlge->tx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
307
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
315
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
316
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
324
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
325
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
333
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
334
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
342
for (i = 0; i < qlge->rx_ring_count; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
343
rx_ring = &qlge->rx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
354
if (ql_sem_spinlock(qlge, qlge->xgmac_sem_mask) !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
358
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_JABBER_PKTS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
361
ql_sem_unlock(qlge, qlge->xgmac_sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
363
"status %d\n", __func__, qlge->instance, val));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
366
if (qlge->duplex == 1)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
375
if (ql_sem_spinlock(qlge, qlge->xgmac_sem_mask) !=
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
379
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_ALIGN_ERR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
382
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_FCS_ERR, &val32);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
384
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_JABBER_PKTS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
387
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_SYM_ERR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
390
(void) ql_read_xgmac_reg(qlge, REG_XGMAC_MAC_RX_INT_ERR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
393
ql_sem_unlock(qlge, qlge->xgmac_sem_mask);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
397
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
401
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
411
ql_unicst_set(qlge_t *qlge, const uint8_t *macaddr, int slot)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
415
ret = ql_sem_spinlock(qlge, SEM_MAC_ADDR_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
418
ret = ql_set_mac_addr_reg(qlge, (uint8_t *)macaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
420
(uint16_t)(qlge->func_number * MAX_CQ + slot));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
421
ql_sem_unlock(qlge, SEM_MAC_ADDR_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
426
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
427
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
445
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
448
ASSERT(qlge->mac_flags != QL_MAC_DETACH);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
449
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
450
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
451
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
455
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
456
bcopy(mac, qlge->unicst_addr[0].addr.ether_addr_octet, ETHERADDRL);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
458
status = ql_unicst_set(qlge, mac, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
459
mutex_exit(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
460
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
471
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
479
if ((qlge->port_link_state == LS_DOWN) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
480
(qlge->mac_flags != QL_MAC_STARTED)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
483
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
493
selected_ring = ql_tx_hashing(qlge, bp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
494
tx_ring = &qlge->tx_ring[selected_ring];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
535
ql_write_doorbell_reg(tx_ring->qlge, tx_ring->prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
546
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
559
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
560
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
561
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
569
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
611
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
642
status = ql_chip_ioctl(qlge, wq, mp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
648
status = ql_loop_ioctl(qlge, wq, mp, iocp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
690
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
694
qlge_set_priv_prop(qlge_t *qlge, const char *pr_name, uint_t pr_valsize,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
705
} else if (qlge->pause != (uint32_t)result) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
706
qlge->pause = (uint32_t)result;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
707
if (qlge->flags & INTERRUPTS_ENABLED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
708
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
709
if (ql_set_pause_mode(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
711
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
719
} else if (qlge->fm_enable != (boolean_t)result) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
720
qlge->fm_enable = (boolean_t)result;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
735
qlge_t *qlge = barg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
739
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
740
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
741
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
747
cur_mtu = qlge->mtu;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
751
__func__, qlge->instance, new_mtu));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
764
if ((qlge->mac_flags == QL_MAC_STARTED) ||
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
765
(qlge->mac_flags == QL_MAC_DETACH)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
769
qlge->instance, new_mtu, qlge->mac_flags);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
772
qlge->mtu = new_mtu;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
773
err = mac_maxsdu_update(qlge->mh, qlge->mtu);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
777
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
782
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
783
err = qlge_set_priv_prop(qlge, pr_name, pr_valsize,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
785
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
791
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
796
qlge_get_priv_prop(qlge_t *qlge, const char *pr_name, uint_t pr_valsize,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
803
value = qlge->pause;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
806
value = qlge->fm_enable;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
821
qlge_t *qlge = barg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
827
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
828
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
836
if (qlge->duplex)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
846
speed = qlge->speed * 1000000ull;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
851
if (qlge->port_link_state == LS_DOWN)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
86
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
860
err = qlge_get_priv_prop(qlge, pr_name, pr_valsize, pr_val);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
867
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
909
qlge_t *qlge = (qlge_t *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
913
if ((qlge->cfg_flags & CFG_CKSUM_FULL_IPv4) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
916
if ((qlge->cfg_flags & CFG_CKSUM_FULL_IPv6) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
919
if ((qlge->cfg_flags & CFG_CKSUM_HEADER_IPv4) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
92
mutex_enter(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
922
if ((qlge->cfg_flags & CFG_CKSUM_PARTIAL) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
925
qlge->chksum_cap = cksum;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
93
if (qlge->mac_flags == QL_MAC_SUSPENDED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
935
if ((qlge->cfg_flags & CFG_LSO)&&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
936
(qlge->cfg_flags & CFG_SUPPORT_SCATTER_GATHER)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
938
page_size = ddi_ptob(qlge->dip, (ulong_t)1);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
94
mutex_exit(&qlge->gen_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
954
ql_gld3_init(qlge_t *qlge, mac_register_t *macp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
957
macp->m_driver = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
958
macp->m_dip = qlge->dip;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
960
macp->m_src_addr = qlge->dev_addr.ether_addr_octet;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
962
macp->m_max_sdu = qlge->mtu;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
97
mutex_enter(&qlge->hw_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
98
qlge->mac_flags = QL_MAC_INIT;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1002
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1004
" failed.", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1010
qlge->instance, mbx_cmds.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1014
qlge->port_cfg_info.link_cfg = mbx_cmds.mb[1];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1015
qlge->port_cfg_info.max_frame_size = mbx_cmds.mb[2];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
102
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1025
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1026
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1027
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1038
qlge_get_link_status(qlge_t *qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1046
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1050
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1056
qlge->instance, mbx_cmds.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
106
ql_write_reg(qlge, REG_PROCESSOR_ADDR, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1073
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1074
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1075
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
108
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1085
ql_get_firmware_version(qlge_t *qlge,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1093
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1097
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1104
qlge->instance, mbx_cmds.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1106
qlge->fw_version_info.major_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1108
qlge->fw_version_info.minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
111
*data = ql_read_reg(qlge, REG_PROCESSOR_DATA);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1110
qlge->fw_version_info.sub_minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1112
qlge->phy_version_info.major_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1114
qlge->phy_version_info.minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1116
qlge->phy_version_info.sub_minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1120
qlge->fw_version_info.major_version,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1121
qlge->fw_version_info.minor_version,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1122
qlge->fw_version_info.sub_minor_version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1126
(qlge->fw_version_info.major_version<<16)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1127
|(qlge->fw_version_info.minor_version<<8)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1128
|(qlge->fw_version_info.sub_minor_version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1130
(qlge->phy_version_info.major_version<<16)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1131
|(qlge->phy_version_info.minor_version<<8)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1132
|(qlge->phy_version_info.sub_minor_version);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1137
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1138
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1139
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1148
ql_trigger_system_error_event(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1154
if (ql_issue_mailbox_cmd(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1156
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1168
ql_reset_mpi_risc(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1173
ql_write_reg(qlge, REG_HOST_CMD_STATUS, HOST_CMD_SET_RISC_RESET);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1174
if (ql_wait_reg_bit(qlge, REG_HOST_CMD_STATUS, RISC_RESET,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1176
(void) ql_read_reg(qlge, REG_HOST_CMD_STATUS);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1179
ql_write_reg(qlge, REG_HOST_CMD_STATUS, HOST_CMD_CLEAR_RISC_RESET);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1186
ql_read_risc_ram(qlge_t *qlge, uint32_t risc_address, uint64_t bp,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1195
"phys_addr %x,%x words\n", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1197
if (CFG_IST(qlge, CFG_CHIP_8100)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1210
if (ql_issue_mailbox_cmd_and_poll_rsp(qlge, mcp, &mbx_results)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1215
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1218
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
1222
qlge->instance, mbx_results.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
125
ql_read_mailbox_cmd(qlge_t *qlge, mbx_data_t *mbx_buf, uint32_t count)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
132
if (ql_sem_spinlock(qlge, QL_PROCESSOR_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
135
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
139
if (qlge->func_number == qlge->fn0_net)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
147
if (ql_read_processor_data(qlge, addr, ®_status)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
151
__func__, qlge->instance, i, reg_status));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
159
ql_sem_unlock(qlge, QL_PROCESSOR_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
169
ql_issue_mailbox_cmd(qlge_t *qlge, mbx_cmd_t *mbx_cmd)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
178
if (ql_sem_spinlock(qlge, QL_PROCESSOR_SEM_MASK) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
182
if (ql_wait_reg_bit(qlge, REG_HOST_CMD_STATUS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
187
if (qlge->func_number == qlge->fn0_net)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
193
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
199
ql_write_reg(qlge, REG_PROCESSOR_DATA, mbx_cmd->mb[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
201
ql_write_reg(qlge, REG_PROCESSOR_ADDR, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
203
__func__, qlge->instance, mbx_cmd->mb[i], i, addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
209
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
213
ql_write_reg(qlge, REG_HOST_CMD_STATUS, HOST_CMD_SET_RISC_INTR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
216
ql_sem_unlock(qlge, QL_PROCESSOR_SEM_MASK);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
228
ql_issue_mailbox_cmd_and_poll_rsp(qlge_t *qlge, mbx_cmd_t *mbx_cmd,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
238
rtn_val = ql_issue_mailbox_cmd(qlge, mbx_cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
241
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
249
if (ql_poll_processor_intr(qlge, (uint8_t)mbx_cmd->timeout)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
252
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
253
(void) ql_read_mailbox_cmd(qlge, p_results, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
262
if (ql_async_event_parser(qlge, p_results) == B_FALSE) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
273
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
275
ql_write_reg(qlge, REG_HOST_CMD_STATUS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
293
ql_issue_mailbox_cmd_and_wait_rsp(qlge_t *qlge, mbx_cmd_t *mbx_cmd)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
303
ASSERT(mutex_owned(&qlge->mbx_mutex));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
306
if (!(qlge->flags & INTERRUPTS_ENABLED)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
307
rtn_val = ql_issue_mailbox_cmd_and_poll_rsp(qlge, mbx_cmd,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
308
&qlge->received_mbx_cmds);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
311
mbx_cmd->mb[i] = qlge->received_mbx_cmds.mb[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
314
rtn_val = ql_issue_mailbox_cmd(qlge, mbx_cmd);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
317
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
320
qlge->mbx_wait_completion = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
321
while (!done && qlge->mbx_wait_completion && !ddi_in_panic()) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
330
if (cv_timedwait(&qlge->cv_mbx_intr, &qlge->mbx_mutex,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
339
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
345
" \n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
348
qlge->received_mbx_cmds.mb[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
35
ql_poll_processor_intr(qlge_t *qlge, uint8_t timeout)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
363
ql_async_event_parser(qlge_t *qlge, mbx_data_t *mbx_cmds)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
376
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
380
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
383
__func__, qlge->instance, mbx_cmds->mb[1],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
386
(void) ql_8xxx_binary_core_dump(qlge, &qlge->ql_mpi_coredump);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
39
if (ql_wait_reg_bit(qlge, REG_STATUS, STS_PI, BIT_SET, timeout)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
390
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
393
__func__, qlge->instance, link_status));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
397
qlge->speed = SPEED_100;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
399
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
401
qlge->speed = SPEED_1000;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
403
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
405
qlge->speed = SPEED_10G;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
407
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
410
qlge->link_type = link_type = (uint8_t)(link_status & 0x07);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
416
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
421
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
426
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
431
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
436
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
441
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
446
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
449
qlge->instance, qlge->speed);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
454
ql_restart_timer(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
460
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
465
__func__, qlge->instance, link_status));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
469
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
475
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
481
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
484
cmn_err(CE_NOTE, "qlge(%d) mpi link down!\n", qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
485
ql_restart_timer(qlge);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
491
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
497
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
502
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
507
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
51
ql_wait_processor_addr_reg_ready(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
512
"completed\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
517
" event %x %x\n", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
526
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
532
" received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
537
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
542
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
547
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
55
if (ql_wait_reg_bit(qlge, REG_PROCESSOR_ADDR,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
552
__func__, qlge->instance, mbx_cmds->mb[1],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
560
if (ql_issue_mailbox_cmd(qlge, &reply_cmd)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
564
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
575
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
580
__func__, qlge->instance, mbx_cmds->mb[0],
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
587
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
592
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
597
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
602
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
607
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
612
"received\n", __func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
615
qlge->instance, mbx_cmds->mb[1], mbx_cmds->mb[2]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
616
qlge->fw_init_complete = B_TRUE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
617
qlge->fw_version_info.major_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
619
qlge->fw_version_info.minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
621
qlge->fw_version_info.sub_minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
623
qlge->phy_version_info.major_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
625
qlge->phy_version_info.minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
627
qlge->phy_version_info.sub_minor_version =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
634
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
643
__func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
653
if (qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
654
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
655
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_LOST);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
656
atomic_or_32(&qlge->flags, ADAPTER_ERROR);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
668
ql_do_mpi_intr(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
674
mutex_enter(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
676
(void) ql_read_mailbox_cmd(qlge, &qlge->received_mbx_cmds,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
677
qlge->max_read_mbx);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
683
if (ql_async_event_parser(qlge, &qlge->received_mbx_cmds) == B_FALSE) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
685
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
69
ql_write_processor_data(qlge_t *qlge, uint32_t addr, uint32_t data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
690
if (qlge->mbx_wait_completion == 1) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
691
qlge->mbx_wait_completion = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
692
cv_broadcast(&qlge->cv_mbx_intr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
695
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
699
ql_write_reg(qlge, REG_HOST_CMD_STATUS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
701
mutex_exit(&qlge->mbx_mutex);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
702
ql_enable_completion_interrupt(qlge, 0); /* MPI is on irq 0 */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
710
ql_mbx_test(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
721
if (ql_issue_mailbox_cmd(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
723
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
728
if (ql_poll_processor_intr(qlge, (uint8_t)mbx_cmds.timeout)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
731
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
732
(void) ql_read_mailbox_cmd(qlge, &mbx_results, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
734
ql_write_reg(qlge, REG_HOST_CMD_STATUS,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
74
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
751
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
755
"PI Intr not received ", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
768
ql_mbx_test2(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
77
ql_write_reg(qlge, REG_PROCESSOR_DATA, data);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
778
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
781
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
789
for (i = 1; i < qlge->max_read_mbx; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
79
ql_write_reg(qlge, REG_PROCESSOR_ADDR, addr);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
800
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
803
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
804
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
805
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
81
if (ql_wait_processor_addr_reg_ready(qlge) == DDI_FAILURE)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
816
ql_get_fw_state(qlge_t *qlge, uint32_t *fw_state_ptr)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
823
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
826
" failed.", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
832
__func__, qlge->instance, mbx_cmds.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
841
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
842
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
843
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
855
ql_set_IDC_Req(qlge_t *qlge, uint8_t dest_functions, uint8_t timeout)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
861
mbx_cmds.mb[1] = (timeout<<8) | qlge->func_number;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
885
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
888
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
894
__func__, qlge->instance, mbx_cmds.mb[1], mbx_cmds.mb[2]));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
898
__func__, qlge->instance));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
902
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
905
__func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
908
" 0x%x; mbx[2]: 0x%x", __func__, qlge->instance,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
913
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
914
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
915
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
926
ql_set_mpi_port_config(qlge_t *qlge, port_cfg_info_t new_cfg)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
935
if (ql_issue_mailbox_cmd_and_wait_rsp(qlge, &mbx_cmds) != DDI_SUCCESS) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
937
" failed.", __func__, qlge->instance);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
944
qlge->instance, mbx_cmds.mb[0]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
948
if ((rtn_val != DDI_SUCCESS) && qlge->fm_enable) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
949
ql_fm_ereport(qlge, DDI_FM_DEVICE_NO_RESPONSE);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
95
ql_read_processor_data(qlge_t *qlge, uint32_t addr, uint32_t *data)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
950
ddi_fm_service_impact(qlge->dip, DDI_SERVICE_DEGRADED);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
956
ql_set_pause_mode(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
961
qlge->port_cfg_info.link_cfg &= ~pause_bit_mask;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
964
if (qlge->pause == PAUSE_MODE_STANDARD)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
965
qlge->port_cfg_info.link_cfg |= STD_PAUSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
966
else if (qlge->pause == PAUSE_MODE_PER_PRIORITY)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
967
qlge->port_cfg_info.link_cfg |= PP_PAUSE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
969
return (ql_set_mpi_port_config(qlge, qlge->port_cfg_info));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
973
ql_set_loop_back_mode(qlge_t *qlge)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
978
qlge->port_cfg_info.link_cfg &= ~loop_back_bit_mask;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
980
if (qlge->loop_back_mode == QLGE_LOOP_INTERNAL_PARALLEL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
981
qlge->port_cfg_info.link_cfg |= LOOP_INTERNAL_PARALLEL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
982
else if (qlge->loop_back_mode == QLGE_LOOP_INTERNAL_SERIAL)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
983
qlge->port_cfg_info.link_cfg |= LOOP_INTERNAL_SERIAL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
984
else if (qlge->loop_back_mode == QLGE_LOOP_EXTERNAL_PHY)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
985
qlge->port_cfg_info.link_cfg |= LOOP_EXTERNAL_PHY;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
987
return (ql_set_mpi_port_config(qlge, qlge->port_cfg_info));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c
996
ql_get_port_cfg(qlge_t *qlge)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
133
#define CARRIER_ON(qlge) mac_link_update((qlge)->mh, LINK_STATE_UP)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
134
#define CARRIER_OFF(qlge) mac_link_update((qlge)->mh, LINK_STATE_DOWN)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
190
#define RESUME_TX(tx_ring) mac_tx_update(tx_ring->qlge->mh);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
191
#define RX_UPSTREAM(rx_ring, mp) mac_rx(rx_ring->qlge->mh, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
192
rx_ring->qlge->handle, mp);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
445
struct qlge *qlge;
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
511
struct qlge *qlge;
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
581
struct qlge *qlge;
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
645
#define CFG_IST(qlge, cfgflags) (qlge->cfg_flags & cfgflags)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
873
extern void ql_disable_completion_interrupt(qlge_t *qlge, uint32_t intr);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
875
extern uint8_t ql_tx_hashing(qlge_t *qlge, caddr_t bp);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
878
extern void ql_restart_timer(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
887
extern int ql_flash_vpd(qlge_t *qlge, uint8_t *buf);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
888
extern int ql_get_flash_params(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
892
extern void ql_do_mpi_intr(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
896
extern int ql_mbx_test(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
897
extern int ql_mbx_test2(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
898
extern int ql_get_port_cfg(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
899
extern int ql_set_mpi_port_config(qlge_t *qlge, port_cfg_info_t new_cfg);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
900
extern int ql_set_loop_back_mode(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
901
extern int ql_set_pause_mode(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
905
extern void ql_write_flash_test(qlge_t *qlge, uint32_t testAddr);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
906
extern void ql_write_flash_test2(qlge_t *qlge, uint32_t testAddr);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
912
extern int ql_trigger_system_error_event(qlge_t *qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
922
extern int ql_unicst_set(qlge_t *qlge, const uint8_t *macaddr, int slot);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
927
extern void ql_fm_ereport(qlge_t *qlge, char *detail);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
51
#define QLA_CORE_DUMP(qlge) ql_core_dump(qlge);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
52
#define QLA_DUMP_CRASH_RECORD(qlge) ql_dump_crash_record(qlge)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
54
#define QLA_CORE_DUMP(qlge)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
55
#define QLA_DUMP_CRASH_RECORD(qlge)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
66
if (qlge->ql_dbgprnt & dbg_level) ql_printf x
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
68
if (qlge->ql_dbgprnt & dbg_level) QL_DUMP_BUFFER(a, b, c, d)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
70
#define QL_DUMP_REQ_PKT(qlge, pkt, oal, num) if (qlge->ql_dbgprnt & DBG_TX) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
71
ql_dump_req_pkt(qlge, pkt, oal, num)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
73
#define QL_DUMP_CQICB(qlge, cqicb) if (qlge->ql_dbgprnt & DBG_INIT) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
74
ql_dump_cqicb(qlge, cqicb)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
76
#define QL_DUMP_WQICB(qlge, wqicb) if (qlge->ql_dbgprnt & DBG_INIT) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
77
ql_dump_wqicb(qlge, wqicb)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
81
#define QLA_HOST_PCI_REGS(qlge)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_dbg.h
87
#define QL_DUMP_REQ_PKT(qlge, pkt, oal, num)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1124
#define ISP_ENABLE_INTR(qlge) ql_put32(qlge, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1127
#define ISP_DISABLE_INTR(qlge) ql_put32(qlge, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1130
#define ISP_ENABLE_PI_INTR(qlge) ql_put32(qlge, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1132
#define ISP_DISABLE_PI_INTR(qlge) ql_put32(qlge, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1135
#define ISP_ENABLE_GLOBAL_INTRS(qlge) { \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1136
ql_put32(qlge, REG_INTERRUPT_ENABLE, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1138
qlge->flags |= INTERRUPTS_ENABLED; \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1140
#define ISP_DISABLE_GLOBAL_INTRS(qlge) { \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1141
ql_put32(qlge, \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1143
qlge->flags &= ~INTERRUPTS_ENABLED; \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1302
#define RD_REG_BYTE(qlge, addr) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1303
ddi_get8(qlge->dev_handle, (uint8_t *)addr)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1304
#define RD_REG_DWORD(qlge, addr) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1305
ddi_get32(qlge->dev_handle, (uint32_t *)addr)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1306
#define WRT_REG_BYTE(qlge, addr, data) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1307
ddi_put8(qlge->dev_handle, (uint8_t *)addr, data)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1308
#define WRT_REG_WORD(qlge, addr, data) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1309
ddi_put16(qlge->dev_handle, (uint16_t *)addr, data)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1310
#define WRT_REG_DWORD(qlge, addr, data) \
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
1311
ddi_put32(qlge->dev_handle, (uint32_t *)addr, data)
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge_hw.h
39
#define QLA_SCHULTZ(qlge) ((qlge)->device_id == ISP_SCHULTZ)