Lines Matching refs:hw

132 		if (!ha->hw.flags.fdt_valid) {
156 if (!ha->hw.flags.fdt_valid) {
183 if (!ha->hw.flags.fdt_valid) {
213 if (ha->hw.mdump_init == 0) {
219 fw_dump->minidump_size = ha->hw.mdump_buffer_size +
220 ha->hw.mdump_template_size;
227 if (ha->hw.mdump_init == 0) {
236 (fw_dump->minidump_size != (ha->hw.mdump_buffer_size +
237 ha->hw.mdump_template_size))) {
241 (ha->hw.mdump_buffer_size + ha->hw.mdump_template_size));
260 fw_dump->usec_ts = ha->hw.mdump_usec_ts;
262 if (!ha->hw.mdump_done) {
272 if (!ha->hw.mdump_done) {
291 if (ha->hw.mdump_done)
297 if (!ha->hw.mdump_done) {
303 fw_dump->usec_ts = ha->hw.mdump_usec_ts;
306 ha->hw.mdump_done = 0;
315 if ((rval = copyout(ha->hw.mdump_template,
316 fw_dump->minidump, ha->hw.mdump_template_size))) {
322 if ((rval = copyout(ha->hw.mdump_buffer,
324 ha->hw.mdump_template_size),
325 ha->hw.mdump_buffer_size))) {
373 if (ha->hw.drvr_state == NULL)
378 rval = copyout(ha->hw.drvr_state, state->buffer, drvr_state_size);
380 bzero(ha->hw.drvr_state, drvr_state_size);
394 size = ha->hw.num_tx_rings * (sizeof (qla_drvr_state_tx_t));
397 size = ha->hw.num_rds_rings * (sizeof (qla_drvr_state_rx_t));
400 size = ha->hw.num_sds_rings * (sizeof (qla_drvr_state_sds_t));
403 size = sizeof(q80_tx_cmd_t) * NUM_TX_DESCRIPTORS * ha->hw.num_tx_rings;
406 size = sizeof(q80_recv_desc_t) * NUM_RX_DESCRIPTORS * ha->hw.num_rds_rings;
410 ha->hw.num_sds_rings;
421 for (i = 0; i < ha->hw.num_tx_rings; i++) {
422 tx_state->base_p_addr = ha->hw.tx_cntxt[i].tx_ring_paddr;
423 tx_state->cons_p_addr = ha->hw.tx_cntxt[i].tx_cons_paddr;
424 tx_state->tx_prod_reg = ha->hw.tx_cntxt[i].tx_prod_reg;
425 tx_state->tx_cntxt_id = ha->hw.tx_cntxt[i].tx_cntxt_id;
426 tx_state->txr_free = ha->hw.tx_cntxt[i].txr_free;
427 tx_state->txr_next = ha->hw.tx_cntxt[i].txr_next;
428 tx_state->txr_comp = ha->hw.tx_cntxt[i].txr_comp;
439 for (i = 0; i < ha->hw.num_rds_rings; i++) {
440 rx_state->prod_std = ha->hw.rds[i].prod_std;
441 rx_state->rx_next = ha->hw.rds[i].rx_next;
452 for (i = 0; i < ha->hw.num_sds_rings; i++) {
453 sds_state->sdsr_next = ha->hw.sds[i].sdsr_next;
454 sds_state->sds_consumer = ha->hw.sds[i].sds_consumer;
469 state_buffer = ha->hw.drvr_state;
489 bcopy(ha->hw.mac_addr, hdr->mac_addr, ETHER_ADDR_LEN);
491 hdr->link_speed = ha->hw.link_speed;
492 hdr->cable_length = ha->hw.cable_length;
493 hdr->cable_oui = ha->hw.cable_oui;
494 hdr->link_up = ha->hw.link_up;
495 hdr->module_type = ha->hw.module_type;
496 hdr->link_faults = ha->hw.link_faults;
497 hdr->rcv_intr_coalesce = ha->hw.rcv_intr_coalesce;
498 hdr->xmt_intr_coalesce = ha->hw.xmt_intr_coalesce;
507 size = ha->hw.num_tx_rings * (sizeof (qla_drvr_state_tx_t));
513 size = ha->hw.num_rds_rings * (sizeof (qla_drvr_state_rx_t));
519 size = ha->hw.num_sds_rings * (sizeof (qla_drvr_state_sds_t));
523 hdr->num_tx_rings = ha->hw.num_tx_rings;
528 bcopy(ha->hw.dma_buf.tx_ring.dma_b, ptr, size);
535 hdr->num_rx_rings = ha->hw.num_rds_rings;
537 for (i = 0; i < ha->hw.num_rds_rings; i++) {
538 bcopy(ha->hw.dma_buf.rds_ring[i].dma_b, ptr, hdr->rxr_size);
546 hdr->num_sds_rings = ha->hw.num_sds_rings;
549 for (i = 0; i < ha->hw.num_sds_rings; i++) {
550 bcopy(ha->hw.dma_buf.sds_ring[i].dma_b, ptr, hdr->sds_ring_size);
563 ha->hw.drvr_state = malloc(drvr_state_size, M_QLA83XXBUF, M_NOWAIT);
565 if (ha->hw.drvr_state != NULL)
566 bzero(ha->hw.drvr_state, drvr_state_size);
574 if (ha->hw.drvr_state != NULL)
575 free(ha->hw.drvr_state, M_QLA83XXBUF);
586 if (((sp_log = ha->hw.sp_log) == NULL) || ha->hw.sp_log_stop)
591 sp_e = &sp_log[ha->hw.sp_log_index];
606 ha->hw.sp_log_index = (ha->hw.sp_log_index + 1) & (NUM_LOG_ENTRIES - 1);
608 if (ha->hw.sp_log_num_entries < NUM_LOG_ENTRIES)
609 ha->hw.sp_log_num_entries++;
623 ha->hw.sp_log = malloc(size, M_QLA83XXBUF, M_NOWAIT);
625 if (ha->hw.sp_log != NULL)
626 bzero(ha->hw.sp_log, size);
628 ha->hw.sp_log_index = 0;
629 ha->hw.sp_log_num_entries = 0;
637 if (ha->hw.sp_log != NULL)
638 free(ha->hw.sp_log, M_QLA83XXBUF);
648 if ((ha->hw.sp_log == NULL) || (log->buffer == NULL))
655 rval = copyout(ha->hw.sp_log, log->buffer, size);
658 log->next_idx = ha->hw.sp_log_index;
659 log->num_entries = ha->hw.sp_log_num_entries;