Print this page
8368 remove warlock leftovers from usr/src/uts

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/ib/adapters/hermon/hermon_event.c
          +++ new/usr/src/uts/common/io/ib/adapters/hermon/hermon_event.c
↓ open down ↓ 510 lines elided ↑ open up ↑
 511  511          hermon_hw_eqe_t *eqe;
 512  512          int             polled_some;
 513  513          uint32_t        cons_indx, wrap_around_mask, shift;
 514  514          int (*eqfunction)(hermon_state_t *state, hermon_eqhdl_t eq,
 515  515              hermon_hw_eqe_t *eqe);
 516  516          ddi_acc_handle_t uarhdl = hermon_get_uarhdl(state);
 517  517  
 518  518          /* initialize the FMA retry loop */
 519  519          hermon_pio_init(fm_loop_cnt, fm_status, fm_test);
 520  520  
 521      -        _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*eq))
 522      -
 523  521          /* Get the consumer pointer index */
 524  522          cons_indx = eq->eq_consindx;
 525  523          shift = eq->eq_log_eqsz - HERMON_EQE_OWNER_SHIFT;
 526  524  
 527  525          /*
 528  526           * Calculate the wrap around mask.  Note: This operation only works
 529  527           * because all Hermon event queues have power-of-2 sizes
 530  528           */
 531  529          wrap_around_mask = (eq->eq_bufsz - 1);
 532  530  
 533  531          /* Calculate the pointer to the first EQ entry */
 534  532          eqe = &eq->eq_buf[(cons_indx & wrap_around_mask)];
 535  533  
 536  534  
 537      -        _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*eqe))
 538      -
 539  535          /*
 540  536           * Pull the handler function for this EQ from the Hermon Event Queue
 541  537           * handle
 542  538           */
 543  539          eqfunction = eq->eq_func;
 544  540  
 545  541          for (;;) {
 546  542                  polled_some = 0;
 547  543                  while (HERMON_EQE_OWNER_IS_SW(eq, eqe, cons_indx, shift)) {
 548  544  
↓ open down ↓ 254 lines elided ↑ open up ↑
 803  799          mr_attr.mr_flags = IBT_MR_NOSLEEP | IBT_MR_ENABLE_LOCAL_WRITE;
 804  800          op.mro_bind_type   = state->hs_cfg_profile->cp_iommu_bypass;
 805  801          op.mro_bind_dmahdl = eq->eq_eqinfo.qa_dmahdl;
 806  802          op.mro_bind_override_addr = 0;
 807  803          status = hermon_mr_register(state, pd, &mr_attr, &mr, &op,
 808  804              HERMON_EQ_CMPT);
 809  805          if (status != DDI_SUCCESS) {
 810  806                  status = DDI_FAILURE;
 811  807                  goto eqalloc_fail4;
 812  808          }
 813      -        _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*mr))
 814  809  
 815  810          /*
 816  811           * Fill in the EQC entry.  This is the final step before passing
 817  812           * ownership of the EQC entry to the Hermon hardware.  We use all of
 818  813           * the information collected/calculated above to fill in the
 819  814           * requisite portions of the EQC.  Note:  We create all EQs in the
 820  815           * "fired" state.  We will arm them later (after our interrupt
 821  816           * routine had been registered.)
 822  817           */
 823  818          bzero(&eqc_entry, sizeof (hermon_hw_eqc_t));
↓ open down ↓ 919 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX