Lines Matching defs:vpath

41  * @vpath_reg: Pointer to vpath registers
158 * @vpath_reg: Pointer to vpath registers
282 * @vpath_reg: Pointer to vpath registers
399 * @vpath_reg: Pointer to vpath registers
609 * @vpath_reg: Pointer to vpath registers
648 * @vpath: VIrtual Path
653 __hal_vpath_lag_mode_get(__hal_virtualpath_t *vpath)
661 vxge_assert(vpath != NULL);
663 hldev = vpath->hldev;
668 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
669 (ptr_t) vpath);
672 vpath->vp_id, vpath->vp_reg,
693 * __hal_vpath_vpath_map_get - Get the vpath map
700 * @vpath_reg: Pointer to vpath registers
702 * Returns vpath map for a give hierarchy and function
746 * @vpath: Virtual Path object.
751 * Read from the vpath pci config space.
807 * @vpath_reg: Pointer to vpath registers
1393 __hal_virtualpath_t *vpath;
1398 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
1400 hldev = vpath->hldev;
1409 vpath->vp_id,
1471 __hal_virtualpath_t *vpath;
1477 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
1479 hldev = vpath->hldev;
1510 &vpath->vp_reg->rts_access_steer_ctrl);
1517 &vpath->vp_reg->rts_access_steer_ctrl);
1524 &vpath->vp_reg->rts_access_steer_ctrl, 0,
1538 &vpath->vp_reg->rts_access_steer_ctrl);
1550 &vpath->vp_reg->rts_access_steer_data0);
1559 &vpath->vp_reg->rts_access_steer_data1);
1620 __hal_virtualpath_t *vpath;
1625 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
1627 hldev = vpath->hldev;
1640 &vpath->vp_reg->rts_access_steer_data0);
1650 &vpath->vp_reg->rts_access_steer_data1);
1663 &vpath->vp_reg->rts_access_steer_ctrl);
1670 &vpath->vp_reg->rts_access_steer_ctrl);
1677 &vpath->vp_reg->rts_access_steer_ctrl, 0,
1691 &vpath->vp_reg->rts_access_steer_ctrl);
1709 * vxge_hal_vpath_mac_addr_add - Add the mac address entry for this vpath
1712 * @macaddr: MAC address to be added for this vpath into the list
1718 * vpath.
1734 __hal_virtualpath_t *vpath;
1739 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
1741 hldev = vpath->hldev;
1798 * __hal_vpath_hw_addr_get - Get the hw address entry for this vpath
1804 * @vpath_reg: Pointer to vpath registers
1805 * @macaddr: First MAC address entry for this vpath in the list
1809 * vpath.
1917 * vxge_hal_vpath_mac_addr_get - Get the first mac address entry for this vpath
1920 * @macaddr: First MAC address entry for this vpath in the list
1924 * vpath.
1943 hldev = vp->vpath->hldev;
1987 * vxge_hal_vpath_mac_addr_get_next - Get the next mac address entry for vpath
1990 * @macaddr: Next MAC address entry for this vpath in the list
1994 * vpath.
2013 hldev = vp->vpath->hldev;
2056 * vxge_hal_vpath_mac_addr_delete - Delete the mac address entry for this vpath
2059 * @macaddr: MAC address to be added for this vpath into the list
2063 * vpath.
2083 hldev = vp->vpath->hldev;
2119 * vxge_hal_vpath_vid_add - Add the vlan id entry for this vpath
2122 * @vid: vlan id to be added for this vpath into the list
2124 * Adds the given vlan id into the list for this vpath.
2140 hldev = vp->vpath->hldev;
2161 * vxge_hal_vpath_vid_get - Get the first vid entry for this vpath
2166 * Returns the first vlan id in the list for this vpath.
2181 hldev = vp->vpath->hldev;
2207 * vxge_hal_vpath_vid_get_next - Get the next vid entry for this vpath
2212 * Returns the next vlan id in the list for this vpath.
2227 hldev = vp->vpath->hldev;
2252 * vxge_hal_vpath_vid_delete - Delete the vlan id entry for this vpath
2255 * @vid: vlan id to be added for this vpath into the list
2257 * Adds the given vlan id into the list for this vpath.
2273 hldev = vp->vpath->hldev;
2296 * vxge_hal_vpath_etype_add - Add the Ethertype entry for this vpath
2299 * @etype: ethertype to be added for this vpath into the list
2301 * Adds the given Ethertype into the list for this vpath.
2317 hldev = vp->vpath->hldev;
2340 * vxge_hal_vpath_etype_get - Get the first ethertype entry for this vpath
2345 * Returns the first ethype entry in the list for this vpath.
2360 hldev = vp->vpath->hldev;
2384 * vxge_hal_vpath_etype_get_next - Get the next Ethertype entry for this vpath
2389 * Returns the next Ethwrtype in the list for this vpath.
2404 hldev = vp->vpath->hldev;
2430 * vxge_hal_vpath_etype_delete - Delete the Ethertype entry for this vpath
2433 * @etype: ethertype to be added for this vpath into the list
2435 * Adds the given Ethertype into the list for this vpath.
2449 hldev = vp->vpath->hldev;
2472 * vxge_hal_vpath_port_add - Add the port entry for this vpath
2477 * @port: port to be added for this vpath into the list
2479 * Adds the given port into the list for this vpath.
2498 hldev = vp->vpath->hldev;
2532 * Get the first port number entry for this vpath from port number table.
2538 * Returns the first port number entry in the list for this vpath.
2557 hldev = vp->vpath->hldev;
2590 * Get the next port number entry for this vpath from port number table.
2596 * Returns the next port number entry in the list for this vpath.
2614 hldev = vp->vpath->hldev;
2649 * Delete the port entry for this vpath to port number table.
2653 * @port: port to be added for this vpath into the list
2655 * Adds the given port into the list for this vpath.
2674 hldev = vp->vpath->hldev;
2733 hldev = vp->vpath->hldev;
2837 hldev = vp->vpath->hldev;
2919 hldev = vp->vpath->hldev;
2971 hldev = vp->vpath->hldev;
3020 hldev = vp->vpath->hldev;
3068 hldev = vp->vpath->hldev;
3143 hldev = vp->vpath->hldev;
3231 hldev = vp->vpath->hldev;
3294 * @vpath_count: Number of vpath handles passed in vpath_handles
3319 hldev = vp->vpath->hldev;
3445 * @vpath_count: Number of vpath handles passed in vpath_handles
3469 hldev = vp->vpath->hldev;
3588 * @vpath_count: Number of vpath handles passed in vpath_handles
3609 hldev = vp->vpath->hldev;
3690 __hal_virtualpath_t *vpath;
3694 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
3696 hldev = vpath->hldev;
3704 if (vpath->ringh == NULL) {
3711 if (vpath->promisc_en == VXGE_HAL_VP_PROMISC_ENABLE) {
3721 &vpath->vp_reg->rxmac_vcfg0);
3732 &vpath->vp_reg->rxmac_vcfg0);
3734 vpath->promisc_en = VXGE_HAL_VP_PROMISC_ENABLE;
3754 __hal_virtualpath_t *vpath;
3758 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
3760 hldev = vpath->hldev;
3768 if (vpath->ringh == NULL) {
3774 if (vpath->promisc_en == VXGE_HAL_VP_PROMISC_DISABLE) {
3784 &vpath->vp_reg->rxmac_vcfg0);
3786 if (vpath->vp_config->rpa_ucast_all_addr_en ==
3791 if (vpath->vp_config->rpa_mcast_all_addr_en ==
3796 if (vpath->vp_config->rpa_bcast_en ==
3801 if (vpath->vp_config->rpa_all_vid_en ==
3810 &vpath->vp_reg->rxmac_vcfg0);
3812 vpath->promisc_en = VXGE_HAL_VP_PROMISC_DISABLE;
3831 __hal_virtualpath_t *vpath;
3835 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
3837 hldev = vpath->hldev;
3845 if (vpath->ringh == NULL) {
3853 if (vpath->vp_config->rpa_bcast_en ==
3863 &vpath->vp_reg->rxmac_vcfg0);
3870 &vpath->vp_reg->rxmac_vcfg0);
3872 vpath->vp_config->rpa_bcast_en = VXGE_HAL_VPATH_RPA_BCAST_ENABLE;
3891 __hal_virtualpath_t *vpath;
3895 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
3897 hldev = vpath->hldev;
3905 if (vpath->ringh == NULL) {
3911 if (vpath->vp_config->rpa_bcast_en ==
3922 &vpath->vp_reg->rxmac_vcfg0);
3930 &vpath->vp_reg->rxmac_vcfg0);
3932 vpath->vp_config->rpa_bcast_en = VXGE_HAL_VPATH_RPA_BCAST_DISABLE;
3953 __hal_virtualpath_t *vpath;
3957 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
3959 hldev = vpath->hldev;
3967 if (vpath->ringh == NULL) {
3973 if (vpath->vp_config->rpa_mcast_all_addr_en ==
3983 &vpath->vp_reg->rxmac_vcfg0);
3991 &vpath->vp_reg->rxmac_vcfg0);
3993 vpath->vp_config->rpa_mcast_all_addr_en =
4017 __hal_virtualpath_t *vpath;
4021 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4023 hldev = vpath->hldev;
4031 if (vpath->ringh == NULL) {
4037 if (vpath->vp_config->rpa_mcast_all_addr_en ==
4048 &vpath->vp_reg->rxmac_vcfg0);
4056 &vpath->vp_reg->rxmac_vcfg0);
4058 vpath->vp_config->rpa_mcast_all_addr_en =
4080 __hal_virtualpath_t *vpath;
4084 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4086 hldev = vpath->hldev;
4094 if (vpath->ringh == NULL) {
4100 if (vpath->vp_config->rpa_ucast_all_addr_en ==
4110 &vpath->vp_reg->rxmac_vcfg0);
4118 &vpath->vp_reg->rxmac_vcfg0);
4120 vpath->vp_config->rpa_ucast_all_addr_en =
4143 __hal_virtualpath_t *vpath;
4147 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4149 hldev = vpath->hldev;
4157 if (vpath->ringh == NULL) {
4163 if (vpath->vp_config->rpa_ucast_all_addr_en ==
4174 &vpath->vp_reg->rxmac_vcfg0);
4182 &vpath->vp_reg->rxmac_vcfg0);
4184 vpath->vp_config->rpa_ucast_all_addr_en =
4206 __hal_virtualpath_t *vpath;
4210 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4212 hldev = vpath->hldev;
4220 if (vpath->ringh == NULL) {
4226 if (vpath->vp_config->rpa_all_vid_en ==
4236 &vpath->vp_reg->rxmac_vcfg0);
4244 &vpath->vp_reg->rxmac_vcfg0);
4246 vpath->vp_config->rpa_all_vid_en = VXGE_HAL_VPATH_RPA_ALL_VID_ENABLE;
4267 __hal_virtualpath_t *vpath;
4271 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4273 hldev = vpath->hldev;
4281 if (vpath->ringh == NULL) {
4287 if (vpath->vp_config->rpa_all_vid_en ==
4298 &vpath->vp_reg->rxmac_vcfg0);
4306 &vpath->vp_reg->rxmac_vcfg0);
4308 vpath->vp_config->rpa_all_vid_en = VXGE_HAL_VPATH_RPA_ALL_VID_DISABLE;
4329 __hal_virtualpath_t *vpath;
4333 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4335 hldev = vpath->hldev;
4343 if (vpath->ringh == NULL) {
4349 if (vpath->vp_config->rpa_strip_vlan_tag ==
4358 &vpath->vp_reg->xmac_rpa_vcfg);
4365 &vpath->vp_reg->xmac_rpa_vcfg);
4367 vpath->vp_config->rpa_strip_vlan_tag =
4389 __hal_virtualpath_t *vpath;
4393 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4395 hldev = vpath->hldev;
4403 if (vpath->ringh == NULL) {
4409 if (vpath->vp_config->rpa_strip_vlan_tag ==
4418 &vpath->vp_reg->xmac_rpa_vcfg);
4425 &vpath->vp_reg->xmac_rpa_vcfg);
4427 vpath->vp_config->rpa_strip_vlan_tag =
4441 * The function sets the tpa parametrs for the vpath.
4451 __hal_virtualpath_t *vpath;
4455 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4457 hldev = vpath->hldev;
4466 if (vpath->fifoh == NULL) {
4474 &vpath->vp_reg->tpa_cfg);
4507 &vpath->vp_reg->tpa_cfg);
4509 vpath->vp_config->tpa_ignore_frame_error =
4511 vpath->vp_config->tpa_l4_pshdr_present =
4513 vpath->vp_config->tpa_support_mobile_ipv6_hdrs =
4518 &vpath->vp_reg->tx_protocol_assist_cfg);
4539 &vpath->vp_reg->tx_protocol_assist_cfg);
4541 vpath->vp_config->tpa_lsov2_en = params->tpa_lsov2_en;
4542 vpath->vp_config->tpa_ipv6_keep_searching =
4556 * The function sets the rpa parametrs for the vpath.
4566 __hal_virtualpath_t *vpath;
4570 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
4572 hldev = vpath->hldev;
4581 if (vpath->ringh == NULL) {
4589 &vpath->vp_reg->xmac_rpa_vcfg);
4636 &vpath->vp_reg->xmac_rpa_vcfg);
4638 vpath->vp_config->rpa_ipv4_tcp_incl_ph = params->rpa_ipv4_tcp_incl_ph;
4639 vpath->vp_config->rpa_ipv6_tcp_incl_ph = params->rpa_ipv6_tcp_incl_ph;
4640 vpath->vp_config->rpa_ipv4_udp_incl_ph = params->rpa_ipv4_udp_incl_ph;
4641 vpath->vp_config->rpa_ipv6_udp_incl_ph = params->rpa_ipv6_udp_incl_ph;
4642 vpath->vp_config->rpa_l4_incl_cf = params->rpa_l4_incl_cf;
4643 vpath->vp_config->rpa_strip_vlan_tag = params->rpa_strip_vlan_tag;
4647 &vpath->vp_reg->rxmac_vcfg0);
4680 &vpath->vp_reg->rxmac_vcfg0);
4682 vpath->vp_config->rpa_ucast_all_addr_en = params->rpa_ucast_all_addr_en;
4683 vpath->vp_config->rpa_mcast_all_addr_en = params->rpa_mcast_all_addr_en;
4684 vpath->vp_config->rpa_bcast_en = params->rpa_bcast_en;
4685 vpath->vp_config->rpa_all_vid_en = params->rpa_all_vid_en;
4689 &vpath->vp_reg->fau_rpa_vcfg);
4715 &vpath->vp_reg->fau_rpa_vcfg);
4717 vpath->vp_config->rpa_l4_comp_csum = params->rpa_l4_comp_csum;
4718 vpath->vp_config->rpa_l3_incl_cf = params->rpa_l3_incl_cf;
4719 vpath->vp_config->rpa_l3_comp_csum = params->rpa_l3_comp_csum;
4728 * __hal_vpath_intr_enable - Enable vpath interrupts.
4729 * @vpath: Virtual Path.
4733 * Enable vpath interrupts. The function is to be executed the last in
4734 * vpath initialization sequence.
4739 __hal_vpath_intr_enable(__hal_virtualpath_t *vpath)
4744 vxge_assert(vpath != NULL);
4746 hldev = vpath->hldev;
4751 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
4752 (ptr_t) vpath);
4754 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
4764 &vpath->vp_reg->kdfcctl_errors_reg);
4769 &vpath->vp_reg->general_errors_reg);
4774 &vpath->vp_reg->pci_config_errors_reg);
4779 &vpath->vp_reg->mrpcim_to_vpath_alarm_reg);
4784 &vpath->vp_reg->srpcim_to_vpath_alarm_reg);
4789 &vpath->vp_reg->vpath_ppif_int_status);
4794 &vpath->vp_reg->srpcim_msg_to_vpath_reg);
4799 &vpath->vp_reg->vpath_pcipif_int_status);
4804 &vpath->vp_reg->prc_alarm_reg);
4809 &vpath->vp_reg->wrdma_alarm_status);
4814 &vpath->vp_reg->asic_ntwk_vp_err_reg);
4819 &vpath->vp_reg->xgmac_vp_int_status);
4823 &vpath->vp_reg->vpath_general_int_status);
4829 &vpath->vp_reg->kdfcctl_errors_mask);
4834 &vpath->vp_reg->general_errors_mask);
4839 &vpath->vp_reg->pci_config_errors_mask);
4841 if (hldev->first_vp_id != vpath->vp_id) {
4845 &vpath->vp_reg->mrpcim_to_vpath_alarm_mask);
4850 &vpath->vp_reg->srpcim_to_vpath_alarm_mask);
4855 &vpath->vp_reg->mrpcim_to_vpath_alarm_mask);
4862 &vpath->vp_reg->srpcim_to_vpath_alarm_mask);
4869 &vpath->vp_reg->vpath_ppif_int_mask);
4874 &vpath->vp_reg->srpcim_msg_to_vpath_mask);
4879 &vpath->vp_reg->vpath_pcipif_int_mask);
4884 &vpath->vp_reg->prc_alarm_mask);
4889 &vpath->vp_reg->wrdma_alarm_mask);
4894 &vpath->vp_reg->xgmac_vp_int_mask);
4896 if (hldev->first_vp_id != vpath->vp_id) {
4900 &vpath->vp_reg->asic_ntwk_vp_err_mask);
4906 &vpath->vp_reg->asic_ntwk_vp_err_mask);
4913 /* val64 |= VXGE_HAL_TIM_SET_INT_EN_VP(1 << (16 - vpath->vp_id)); */
4924 &vpath->vp_reg->vpath_general_int_mask);
4934 * vxge_hal_vpath_intr_enable - Enable vpath interrupts.
4939 * Enable vpath interrupts. The function is to be executed the last in
4940 * vpath initialization sequence.
4955 hldev = vp->vpath->hldev;
4963 status = __hal_vpath_intr_enable((__hal_virtualpath_t *) vp->vpath);
4975 * __hal_vpath_intr_disable - Disable vpath interrupts.
4976 * @vpath: Virtual Path.
4980 * Disable vpath interrupts. The function is to be executed the last in
4981 * vpath initialization sequence.
4986 __hal_vpath_intr_disable(__hal_virtualpath_t *vpath)
4991 vxge_assert(vpath != NULL);
4993 hldev = vpath->hldev;
4998 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
4999 (ptr_t) vpath);
5001 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
5012 &vpath->vp_reg->vpath_general_int_mask);
5014 val64 = VXGE_HAL_TIM_CLR_INT_EN_VP(1 << (16 - vpath->vp_id));
5024 &vpath->vp_reg->kdfcctl_errors_mask);
5029 &vpath->vp_reg->general_errors_mask);
5034 &vpath->vp_reg->pci_config_errors_mask);
5039 &vpath->vp_reg->mrpcim_to_vpath_alarm_mask);
5044 &vpath->vp_reg->srpcim_to_vpath_alarm_mask);
5049 &vpath->vp_reg->vpath_ppif_int_mask);
5054 &vpath->vp_reg->srpcim_msg_to_vpath_mask);
5059 &vpath->vp_reg->vpath_pcipif_int_mask);
5064 &vpath->vp_reg->prc_alarm_mask);
5069 &vpath->vp_reg->wrdma_alarm_mask);
5074 &vpath->vp_reg->asic_ntwk_vp_err_mask);
5079 &vpath->vp_reg->xgmac_vp_int_mask);
5088 * vxge_hal_vpath_intr_disable - Disable vpath interrupts.
5093 * Disable vpath interrupts.
5101 __hal_virtualpath_t *vpath;
5105 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
5106 hldev = vpath->hldev;
5116 (void) __hal_vpath_intr_disable(vpath);
5125 * vxge_hal_vpath_mask_all - Mask all vpath interrupts.
5128 * Mask all vpath interrupts.
5143 hldev = vp->vpath->hldev;
5160 &vp->vpath->vp_reg->vpath_general_int_mask);
5162 if (vp->vpath->vp_id < 16) {
5168 val64 |= vBIT(0xf, (vp->vpath->vp_id * 4), 4);
5189 * vxge_hal_vpath_unmask_all - Unmask all vpath interrupts.
5192 * Unmask all vpath interrupts.
5205 hldev = vp->vpath->hldev;
5223 &vp->vpath->vp_reg->vpath_general_int_mask);
5225 if (vp->vpath->vp_id < 16) {
5231 val64 &= ~(vBIT(0xf, (vp->vpath->vp_id * 4), 4));
5253 * @vpath: Virtual Path.
5259 __hal_vpath_link_state_test(__hal_virtualpath_t *vpath)
5263 vxge_assert(vpath != NULL);
5264 hldev = vpath->hldev;
5269 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
5270 (ptr_t) vpath);
5275 &vpath->vp_reg->asic_ntwk_vp_ctrl);
5279 &vpath->vp_reg->asic_ntwk_vp_ctrl,
5292 * @vpath: Virtual Path.
5298 __hal_vpath_link_state_poll(__hal_virtualpath_t *vpath)
5303 vxge_assert(vpath != NULL);
5305 hldev = vpath->hldev;
5310 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
5311 (ptr_t) vpath);
5313 if (vpath == NULL) {
5321 &vpath->vpmgmt_reg->xgmac_gen_status_vpmgmt_clone);
5325 (void) __hal_device_handle_link_up_ind(vpath->hldev);
5329 VXGE_HAL_DEVICE_DATA_RATE_SET(vpath->hldev,
5333 VXGE_HAL_DEVICE_DATA_RATE_SET(vpath->hldev,
5338 (void) __hal_device_handle_link_down_ind(vpath->hldev);
5344 return (vpath->hldev->header.link_state);
5349 * @vpath: Virtual Path.
5356 __hal_virtualpath_t *vpath)
5361 vxge_assert(vpath != NULL);
5363 hldev = vpath->hldev;
5368 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
5369 (ptr_t) vpath);
5371 if (vpath == NULL) {
5379 &vpath->vpmgmt_reg->xgmac_gen_status_vpmgmt_clone);
5401 * @vpath: Virtual Path.
5404 * Process vpath alarms.
5408 __hal_vpath_alarm_process(__hal_virtualpath_t *vpath, u32 skip_alarms)
5419 vxge_assert(vpath != NULL);
5421 hldev = vpath->hldev;
5426 vxge_hal_trace_log_vpath_irq("vpath = 0x"VXGE_OS_STXFMT,
5427 (ptr_t) vpath);
5431 &vpath->vp_reg->vpath_general_int_status);
5447 &vpath->vp_reg->vpath_ppif_int_status);
5456 &vpath->vp_reg->general_errors_reg);
5463 vpath->sw_stats->error_stats.ini_serr_det++;
5468 __hal_device_handle_error(hldev, vpath->vp_id,
5475 &vpath->vp_reg->general_errors_reg);
5488 &vpath->vp_reg->pci_config_errors_reg);
5496 vpath->sw_stats->error_stats.pci_config_status_err++;
5503 vpath->sw_stats->error_stats.pci_config_uncor_err++;
5510 vpath->sw_stats->error_stats.pci_config_cor_err++;
5519 &vpath->vp_reg->pci_config_errors_reg);
5527 &vpath->vp_reg->mrpcim_to_vpath_alarm_reg);
5536 vpath->sw_stats->error_stats.mrpcim_to_vpath_alarms++;
5542 __hal_device_handle_error(hldev, vpath->vp_id,
5549 &vpath->vp_reg->mrpcim_to_vpath_alarm_reg);
5557 &vpath->vp_reg->mrpcim_to_vpath_alarm_reg);
5565 &vpath->vp_reg->srpcim_to_vpath_alarm_reg);
5571 vpath->sw_stats->error_stats.srpcim_to_vpath_alarms++;
5585 &vpath->vp_reg->srpcim_to_vpath_alarm_reg);
5596 &vpath->vp_reg->wrdma_alarm_status);
5606 &vpath->vp_reg->prc_alarm_reg);
5612 vpath->sw_stats->error_stats.prc_ring_bumps++;
5619 vpath->sw_stats->error_stats.prc_rxdcm_sc_err++;
5624 vpath->vp_id,
5631 &vpath->vp_reg->prc_alarm_reg);
5643 vpath->sw_stats->error_stats.prc_rxdcm_sc_abort++;
5648 __hal_device_handle_error(hldev, vpath->vp_id,
5655 &vpath->vp_reg->prc_alarm_reg);
5666 vpath->sw_stats->error_stats.prc_quanta_size_err++;
5675 &vpath->vp_reg->prc_alarm_reg);
5686 &vpath->vp_reg->general_errors_reg);
5695 vpath->sw_stats->error_stats.dblgen_fifo0_overflow++;
5701 __hal_device_handle_error(hldev, vpath->vp_id,
5708 &vpath->vp_reg->general_errors_reg);
5719 vpath->sw_stats->error_stats.dblgen_fifo1_overflow++;
5728 vpath->sw_stats->error_stats.dblgen_fifo2_overflow++;
5736 vpath->sw_stats->error_stats.statsb_pif_chain_error++;
5744 vpath->sw_stats->error_stats.statsb_drop_timeout++;
5751 vpath->sw_stats->error_stats.target_illegal_access++;
5761 &vpath->vp_reg->general_errors_reg);
5768 &vpath->vp_reg->kdfcctl_errors_reg);
5776 vpath->sw_stats->error_stats.kdfcctl_fifo0_overwrite++;
5780 __hal_device_handle_error(hldev, vpath->vp_id,
5787 &vpath->vp_reg->kdfcctl_errors_reg);
5798 vpath->sw_stats->error_stats.kdfcctl_fifo1_overwrite++;
5807 vpath->sw_stats->error_stats.kdfcctl_fifo2_overwrite++;
5815 vpath->sw_stats->error_stats.kdfcctl_fifo0_poison++;
5819 __hal_device_handle_error(hldev, vpath->vp_id,
5826 &vpath->vp_reg->kdfcctl_errors_reg);
5837 vpath->sw_stats->error_stats.kdfcctl_fifo1_poison++;
5846 vpath->sw_stats->error_stats.kdfcctl_fifo2_poison++;
5854 vpath->sw_stats->error_stats.kdfcctl_fifo0_dma_error++;
5859 __hal_device_handle_error(hldev, vpath->vp_id,
5866 &vpath->vp_reg->kdfcctl_errors_reg);
5877 vpath->sw_stats->error_stats.kdfcctl_fifo1_dma_error++;
5885 vpath->sw_stats->error_stats.kdfcctl_fifo2_dma_error++;
5895 &vpath->vp_reg->kdfcctl_errors_reg);
5904 &vpath->vp_reg->vpath_pcipif_int_status);
5915 &vpath->vp_reg->srpcim_msg_to_vpath_reg);
5926 &vpath->vpmgmt_reg->srpcim_to_vpath_wmsg);
5928 __hal_ifmsg_wmsg_process(vpath, val64);
5930 vpath->sw_stats->error_stats.srpcim_msg_to_vpath++;
5935 &vpath->vpmgmt_reg->srpcim_to_vpath_wmsg);
5940 &vpath->vp_reg->srpcim_msg_to_vpath_mask);
5950 &vpath->vp_reg->srpcim_msg_to_vpath_reg);
5958 &vpath->vp_reg->xgmac_vp_int_status);
5968 &vpath->vp_reg->asic_ntwk_vp_err_reg);
5978 vpath->sw_stats->error_stats.network_sustained_fault++;
5982 vxge_os_pio_mem_write64(vpath->hldev->header.pdev,
5985 &vpath->vp_reg->asic_ntwk_vp_err_mask);
5994 vpath->sw_stats->error_stats.network_sustained_ok++;
6002 &vpath->vp_reg->asic_ntwk_vp_err_mask);
6010 &vpath->vp_reg->asic_ntwk_vp_err_reg);
6021 vpath->sw_stats->error_stats.unknown_alarms++;
6025 __hal_device_handle_error(hldev, vpath->vp_id,
6044 * @reason: "Reason" for the interrupt, the value of vpath's
6057 * vpath remain enabled).
6069 __hal_virtualpath_t *vpath;
6074 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6076 hldev = vpath->hldev;
6086 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6112 vpath->vp_id,
6123 1 << (16 - vpath->vp_id))) {
6125 if (vpath->vp_id < 16) {
6131 *reason = bVAL4(val64, (vpath->vp_id * 4));
6169 ret_val = __hal_vpath_alarm_process(vpath, skip_alarms);
6185 * Process completed descriptors and unmask the vpath interrupts.
6211 hldev = vp->vpath->hldev;
6222 if (got_rx && (vp->vpath->ringh != NULL))
6225 if (got_tx && (vp->vpath->fifoh != NULL))
6240 * vxge_hal_vpath_handle_irq - Handle vpath IRQ.
6247 * the interrupt and mask the vpath interrupts.
6262 __hal_virtualpath_t *vpath;
6266 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6268 hldev = vpath->hldev;
6276 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6340 __hal_virtualpath_t *vpath;
6344 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6346 hldev = vpath->hldev;
6354 if (vpath->fifoh == NULL) {
6361 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6368 if (vpath->vp_id < 16) {
6374 val64 |= vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6413 __hal_virtualpath_t *vpath;
6417 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6419 hldev = vpath->hldev;
6427 if (vpath->fifoh == NULL) {
6434 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6441 if (vpath->vp_id < 16) {
6445 vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4),
6466 * Unmask Tx vpath interrupts.
6475 __hal_virtualpath_t *vpath;
6479 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6481 hldev = vpath->hldev;
6489 if (vpath->fifoh == NULL) {
6496 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6503 if (vpath->vp_id < 16) {
6509 val64 &= ~vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6540 * Mask Rx vpath interrupts.
6550 __hal_virtualpath_t *vpath;
6554 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6556 hldev = vpath->hldev;
6564 if (vpath->ringh == NULL) {
6570 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6576 if (vpath->vp_id < 16) {
6582 val64 |= vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6623 __hal_virtualpath_t *vpath;
6627 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6629 hldev = vpath->hldev;
6637 if (vpath->ringh == NULL) {
6643 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6649 if (vpath->vp_id < 16) {
6653 vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4),
6674 * Unmask Rx vpath interrupts.
6683 __hal_virtualpath_t *vpath;
6687 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6689 hldev = vpath->hldev;
6697 if (vpath->ringh == NULL) {
6703 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6709 if (vpath->vp_id < 16) {
6715 val64 &= ~vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6747 * Mask Tx and Rx vpath interrupts.
6756 __hal_virtualpath_t *vpath;
6760 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6762 hldev = vpath->hldev;
6770 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6776 if (vpath->vp_id < 16) {
6782 val64 |= vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4) |
6783 vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6827 __hal_virtualpath_t *vpath;
6831 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6833 hldev = vpath->hldev;
6841 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6849 if (vpath->vp_id < 16) {
6851 if (vpath->fifoh != NULL)
6852 val64 |= vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6854 val64 &= ~vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6856 if (vpath->ringh != NULL)
6857 val64 |= vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6859 val64 &= ~vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6868 if (vpath->fifoh != NULL)
6871 if (vpath->ringh != NULL)
6891 * Unmask Tx and Rx vpath interrupts.
6900 __hal_virtualpath_t *vpath;
6904 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
6906 hldev = vpath->hldev;
6914 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
6920 if (vpath->vp_id < 16) {
6926 if (vpath->fifoh != NULL)
6927 val64 &= ~vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6929 val64 |= vBIT(VXGE_HAL_INTR_TX, (vpath->vp_id * 4), 4);
6931 if (vpath->ringh != NULL)
6932 val64 &= ~vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6934 val64 |= vBIT(VXGE_HAL_INTR_RX, (vpath->vp_id * 4), 4);
6947 if (vpath->fifoh != NULL)
6954 if (vpath->ringh != NULL)
6974 * @vpath: Virtual Path.
6977 * Process vpath alarms.
6989 hldev = vp->vpath->hldev;
6998 vp->vpath,
7022 hldev = vp->vpath->hldev;
7063 hldev = vp->vpath->hldev;
7113 &vp->vpath->vp_reg->interrupt_cfg0);
7120 &vp->vpath->vp_reg->interrupt_cfg2);
7128 &vp->vpath->vp_reg->one_shot_vect0_en);
7133 &vp->vpath->vp_reg->one_shot_vect1_en);
7138 &vp->vpath->vp_reg->one_shot_vect2_en);
7143 &vp->vpath->vp_reg->one_shot_vect3_en);
7151 &vp->vpath->vp_reg->one_shot_vect1_en);
7183 hldev = vp->vpath->hldev;
7225 hldev = vp->vpath->hldev;
7280 hldev = vp->vpath->hldev;
7290 (vp->vpath->vp_id * 4) + tim_msix_id[2]);
7296 &vp->vpath->vp_reg->interrupt_cfg0);
7300 &vp->vpath->vp_reg->interrupt_cfg0);
7306 &vp->vpath->vp_reg->interrupt_cfg2);
7318 &vp->vpath->vp_reg->one_shot_vect1_en);
7326 &vp->vpath->vp_reg->one_shot_vect2_en);
7331 &vp->vpath->vp_reg->one_shot_vect3_en);
7354 vxge_hal_pio_mem_write32_upper(vp->vpath->hldev->header.pdev,
7355 vp->vpath->hldev->header.regh0, (u32) bVAL32(mBIT(msix_id >> 2), 0),
7356 &vp->vpath->hldev->common_reg->set_msix_mask_vect[msix_id % 4]);
7379 hldev = vp->vpath->hldev;
7416 vxge_hal_pio_mem_write32_upper(vp->vpath->hldev->header.pdev,
7417 vp->vpath->hldev->header.regh0,
7419 &vp->vpath->hldev->common_reg->
7447 hldev = vp->vpath->hldev;
7467 * vxge_hal_vpath_msix_mask_all - Mask all MSIX vectors for the vpath.
7470 * The function masks all msix interrupt for the given vpath
7481 hldev = vp->vpath->hldev;
7491 (u32) bVAL32(mBIT(vp->vpath->vp_id), 0),
7500 * vxge_hal_vpath_msix_unmask_all - Unmask all MSIX vectors for the vpath.
7503 * The function unmasks the msix interrupt for the given vpath
7514 hldev = vp->vpath->hldev;
7524 (u32) bVAL32(mBIT(vp->vpath->vp_id), 0),
7554 __hal_virtualpath_t *vpath;
7559 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
7561 hldev = vpath->hldev;
7570 ring = (__hal_ring_t *) vpath->ringh;
7617 __hal_virtualpath_t *vpath;
7624 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
7626 hldev = vpath->hldev;
7635 fifo = (__hal_fifo_t *) vpath->fifoh;
7664 * @vpath: Virtual path structure
7671 __hal_virtualpath_t *vpath)
7677 vxge_assert((hldev != NULL) && (vpath != NULL));
7683 "hldev = 0x"VXGE_OS_STXFMT", vpath = 0x"VXGE_OS_STXFMT,
7684 (ptr_t) hldev, (ptr_t) vpath);
7686 vpath->sess_grps_available = vxge_os_pio_mem_read64(hldev->header.pdev,
7688 &vpath->vpmgmt_reg->sgrp_own);
7692 &vpath->vpmgmt_reg->vpath_is_first);
7694 vpath->is_first_vpath =
7699 &vpath->vpmgmt_reg->tim_vpath_assignment);
7701 vpath->bmap_root_assigned =
7710 &vpath->vpmgmt_reg->rxmac_cfg0_port_vpmgmt_clone[i]);
7721 vpath->max_mtu = mtu + VXGE_HAL_MAC_HEADER_MAX_SIZE;
7725 &vpath->vpmgmt_reg->xmac_vsport_choices_vp);
7727 vpath->vsport_choices =
7733 vpath->vsport_number = i;
7739 &vpath->vpmgmt_reg->xgmac_gen_status_vpmgmt_clone);
7743 VXGE_HAL_DEVICE_LINK_STATE_SET(vpath->hldev, VXGE_HAL_LINK_UP);
7747 VXGE_HAL_DEVICE_LINK_STATE_SET(vpath->hldev,
7755 VXGE_HAL_DEVICE_DATA_RATE_SET(vpath->hldev,
7760 VXGE_HAL_DEVICE_DATA_RATE_SET(vpath->hldev,
7772 * __hal_vpath_reset_check - Check if resetting the vpath completed
7774 * @vpath: Virtual Path
7777 * completed the reset process for the vpath
7781 __hal_virtualpath_t *vpath)
7786 vxge_assert(vpath != NULL);
7788 hldev = vpath->hldev;
7793 vxge_hal_trace_log_vpath("vpath = 0x"VXGE_OS_STXFMT,
7794 (ptr_t) vpath);
7801 1 << (16 - vpath->vp_id)),
7815 * This routine resets the vpath on the device
7858 * This routine resets the vpath structures
7867 __hal_virtualpath_t *vpath;
7871 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
7879 if (vpath->ringh) {
7881 status = __hal_ring_reset(vpath->ringh);
7890 if (vpath->fifoh) {
7892 status = __hal_fifo_reset(vpath->fifoh);
7908 * @vpath_handle: Handle to the vpath object
7910 * This routine clears the vpath reset and puts vpath in service
7919 __hal_virtualpath_t *vpath;
7923 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
7925 hldev = vpath->hldev;
7934 1 << (16 - vpath->vp_id));
7942 vpath->vp_id,
7947 VXGE_HAL_RING_POST_DOORBELL(vpath_handle, vpath->ringh);
7972 __hal_virtualpath_t *vpath;
7977 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
7985 vp_config = vpath->vp_config;
7995 &vpath->vp_reg->prc_cfg1);
8025 &vpath->vp_reg->prc_cfg1);
8029 &vpath->vp_reg->prc_cfg7);
8031 if (vpath->vp_config->ring.scatter_mode !=
8036 switch (vpath->vp_config->ring.scatter_mode) {
8055 &vpath->vp_reg->prc_cfg7);
8059 &vpath->vp_reg->prc_cfg6);
8061 if (vpath->vp_config->ring.post_mode !=
8064 if (vpath->vp_config->ring.post_mode ==
8072 vpath->vp_config->ring.post_mode =
8082 &vpath->vp_reg->prc_cfg6);
8087 __hal_ring_first_block_address_get(vpath->ringh) >> 3),
8088 &vpath->vp_reg->prc_cfg5);
8092 &vpath->vp_reg->prc_cfg4);
8158 &vpath->vp_reg->prc_cfg4);
8183 __hal_virtualpath_t *vpath;
8187 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
8206 if ((vpath->vp_config->ring.post_mode ==
8212 &vpath->vp_reg->rxdmem_size);
8214 vpath->rxd_mem_size =
8219 vpath->rxd_mem_size = (VXGE_HAL_MAX_RING_LENGTH /
8221 vpath->vp_config->ring.buffer_mode)) *
8228 &vpath->vp_reg->kdfc_drbl_triplet_total);
8230 vpath->max_kdfc_db =
8233 vpath->max_ofl_db = 0;
8235 if (vpath->vp_config->fifo.enable == VXGE_HAL_FIFO_ENABLE) {
8237 vpath->max_nofl_db = vpath->max_kdfc_db - 1;
8238 vpath->max_msg_db = 0;
8240 if (vpath->max_nofl_db < vpath->vp_config->fifo.fifo_length) {
8250 vpath->max_nofl_db = 0;
8251 vpath->max_msg_db = vpath->max_kdfc_db;
8256 if (vpath->max_nofl_db)
8258 (vpath->max_nofl_db * 2) - 1);
8260 if (vpath->max_msg_db)
8262 (vpath->max_msg_db * 2) - 1);
8267 &vpath->vp_reg->kdfc_fifo_trpl_partition);
8272 &vpath->vp_reg->kdfc_fifo_trpl_ctrl);
8276 &vpath->vp_reg->kdfc_trpl_fifo_0_ctrl);
8278 if (vpath->max_nofl_db) {
8290 if (vpath->vp_config->no_snoop !=
8292 if (vpath->vp_config->no_snoop)
8304 &vpath->vp_reg->kdfc_trpl_fifo_0_ctrl);
8308 &vpath->vp_reg->kdfc_trpl_fifo_1_ctrl);
8310 if (vpath->max_msg_db) {
8322 if (vpath->vp_config->no_snoop !=
8324 if (vpath->vp_config->no_snoop)
8336 &vpath->vp_reg->kdfc_trpl_fifo_1_ctrl);
8341 &vpath->vp_reg->kdfc_trpl_fifo_2_ctrl);
8346 &vpath->vp_reg->kdfc_trpl_fifo_0_wb_address);
8351 &vpath->vp_reg->kdfc_trpl_fifo_1_wb_address);
8356 &vpath->vp_reg->kdfc_trpl_fifo_2_wb_address);
8369 vpath->nofl_db = (__hal_non_offload_db_wrapper_t *) ((void *)(hldev->kdfc +
8373 vpath->msg_db = (__hal_messaging_db_wrapper_t *) ((void *)(hldev->kdfc +
8399 __hal_virtualpath_t *vpath;
8404 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
8412 vp_config = vpath->vp_config;
8416 VXGE_HAL_XMAC_VSPORT_CHOICE_VSPORT_NUMBER(vpath->vsport_number),
8417 &vpath->vp_reg->xmac_vsport_choice);
8423 &vpath->vp_reg->xmac_rpa_vcfg);
8484 &vpath->vp_reg->xmac_rpa_vcfg);
8488 &vpath->vp_reg->rxmac_vcfg0);
8494 vpath->max_mtu)
8500 vpath->max_mtu);
8569 if (vpath->promisc_en == VXGE_HAL_VP_PROMISC_ENABLE) {
8579 &vpath->vp_reg->rxmac_vcfg0);
8583 &vpath->vp_reg->rxmac_vcfg1);
8606 &vpath->vp_reg->rxmac_vcfg1);
8610 &vpath->vp_reg->fau_rpa_vcfg);
8639 &vpath->vp_reg->fau_rpa_vcfg);
8646 &vpath->vp_reg->tpa_cfg);
8685 &vpath->vp_reg->tpa_cfg);
8689 &vpath->vp_reg->tx_protocol_assist_cfg);
8712 &vpath->vp_reg->tx_protocol_assist_cfg);
8737 __hal_virtualpath_t *vpath;
8747 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
8752 &vpath->vp_reg->tim_dest_addr);
8757 &vpath->vp_reg->tim_vpath_map);
8762 &vpath->vp_reg->tim_bitmap);
8767 &vpath->vp_reg->tim_remap);
8771 &vpath->vp_reg->rtdma_rd_optimization_ctrl);
8781 &vpath->vp_reg->rtdma_rd_optimization_ctrl);
8785 &vpath->vp_reg->tim_wrkld_clc);
8795 &vpath->vp_reg->tim_wrkld_clc);
8797 if (vpath->vp_config->ring.enable == VXGE_HAL_RING_ENABLE) {
8801 VXGE_HAL_TIM_RING_ASSN_INT_NUM(vpath->rx_intr_num),
8802 &vpath->vp_reg->tim_ring_assn);
8808 &vpath->vp_reg->tim_pci_cfg);
8812 if (vpath->vp_config->no_snoop !=
8814 if (vpath->vp_config->no_snoop)
8823 &vpath->vp_reg->tim_pci_cfg);
8825 if (vpath->vp_config->fifo.enable == VXGE_HAL_FIFO_ENABLE) {
8829 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
8831 if (vpath->vp_config->tti.btimer_val !=
8836 vpath->vp_config->tti.btimer_val);
8841 if (vpath->vp_config->tti.txfrm_cnt_en !=
8843 if (vpath->vp_config->tti.txfrm_cnt_en)
8851 if (vpath->vp_config->tti.txd_cnt_en !=
8853 if (vpath->vp_config->tti.txd_cnt_en)
8859 if (vpath->vp_config->tti.timer_ac_en !=
8861 if (vpath->vp_config->tti.timer_ac_en)
8867 if (vpath->vp_config->tti.timer_ci_en !=
8869 if (vpath->vp_config->tti.timer_ci_en)
8875 if (vpath->vp_config->tti.urange_a !=
8879 vpath->vp_config->tti.urange_a);
8882 if (vpath->vp_config->tti.urange_b !=
8886 vpath->vp_config->tti.urange_b);
8889 if (vpath->vp_config->tti.urange_c !=
8893 vpath->vp_config->tti.urange_c);
8899 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
8901 vpath->tim_tti_cfg1_saved = val64;
8905 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_TX]);
8907 if (vpath->vp_config->tti.uec_a !=
8911 vpath->vp_config->tti.uec_a);
8914 if (vpath->vp_config->tti.uec_b !=
8918 vpath->vp_config->tti.uec_b);
8921 if (vpath->vp_config->tti.uec_c !=
8925 vpath->vp_config->tti.uec_c);
8928 if (vpath->vp_config->tti.uec_d !=
8932 vpath->vp_config->tti.uec_d);
8938 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_TX]);
8942 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_TX]);
8944 if (vpath->vp_config->tti.timer_ri_en !=
8946 if (vpath->vp_config->tti.timer_ri_en)
8952 if (vpath->vp_config->tti.rtimer_event_sf !=
8957 vpath->vp_config->tti.rtimer_event_sf);
8960 if (vpath->vp_config->tti.rtimer_val !=
8965 vpath->vp_config->tti.rtimer_val);
8968 if (vpath->vp_config->tti.util_sel !=
8972 vpath->vp_config->tti.util_sel);
8975 if (vpath->vp_config->tti.ltimer_val !=
8980 vpath->vp_config->tti.ltimer_val);
8986 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_TX]);
8988 vpath->tim_tti_cfg3_saved = val64;
8991 if (vpath->vp_config->ring.enable == VXGE_HAL_RING_ENABLE) {
8995 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);
8997 if (vpath->vp_config->rti.btimer_val !=
9002 vpath->vp_config->rti.btimer_val);
9007 if (vpath->vp_config->rti.txfrm_cnt_en !=
9009 if (vpath->vp_config->rti.txfrm_cnt_en)
9017 if (vpath->vp_config->rti.txd_cnt_en !=
9019 if (vpath->vp_config->rti.txd_cnt_en)
9025 if (vpath->vp_config->rti.timer_ac_en !=
9027 if (vpath->vp_config->rti.timer_ac_en)
9033 if (vpath->vp_config->rti.timer_ci_en !=
9035 if (vpath->vp_config->rti.timer_ci_en)
9041 if (vpath->vp_config->rti.urange_a !=
9045 vpath->vp_config->rti.urange_a);
9048 if (vpath->vp_config->rti.urange_b !=
9052 vpath->vp_config->rti.urange_b);
9055 if (vpath->vp_config->rti.urange_c !=
9059 vpath->vp_config->rti.urange_c);
9065 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);
9067 vpath->tim_rti_cfg1_saved = val64;
9071 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_RX]);
9073 if (vpath->vp_config->rti.uec_a !=
9077 vpath->vp_config->rti.uec_a);
9080 if (vpath->vp_config->rti.uec_b !=
9084 vpath->vp_config->rti.uec_b);
9087 if (vpath->vp_config->rti.uec_c !=
9091 vpath->vp_config->rti.uec_c);
9094 if (vpath->vp_config->rti.uec_d !=
9098 vpath->vp_config->rti.uec_d);
9104 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_RX]);
9108 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_RX]);
9110 if (vpath->vp_config->rti.timer_ri_en !=
9112 if (vpath->vp_config->rti.timer_ri_en)
9118 if (vpath->vp_config->rti.rtimer_event_sf !=
9123 vpath->vp_config->rti.rtimer_event_sf);
9126 if (vpath->vp_config->rti.rtimer_val !=
9131 vpath->vp_config->rti.rtimer_val);
9134 if (vpath->vp_config->rti.util_sel !=
9138 vpath->vp_config->rti.util_sel);
9141 if (vpath->vp_config->rti.ltimer_val !=
9146 vpath->vp_config->rti.ltimer_val);
9152 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_RX]);
9154 vpath->tim_rti_cfg3_saved = val64;
9170 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_EINTA]);
9175 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_EINTA]);
9180 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_EINTA]);
9185 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_BMAP]);
9190 &vpath->vp_reg->tim_cfg2_int_num[VXGE_HAL_VPATH_INTR_BMAP]);
9195 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_BMAP]);
9219 hldev = vp->vpath->hldev;
9227 if (vp->vpath->vp_config->ring.enable == VXGE_HAL_RING_DISABLE) {
9235 &vp->vpath->vp_reg->prc_rxd_doorbell);
9241 &vp->vpath->vp_reg->prc_cfg6);
9275 hldev = vp->vpath->hldev;
9292 if ((new_mtu < VXGE_HAL_MIN_MTU) || (new_mtu > vp->vpath->max_mtu)) {
9321 hldev = vp->vpath->hldev;
9338 if ((new_mtu < VXGE_HAL_MIN_MTU) || (new_mtu > vp->vpath->max_mtu)) {
9344 &vp->vpath->vp_reg->rxmac_vcfg0);
9352 &vp->vpath->vp_reg->rxmac_vcfg0);
9354 vp->vpath->vp_config->mtu = new_mtu - VXGE_HAL_MAC_HEADER_MAX_SIZE;
9378 __hal_virtualpath_t *vpath;
9388 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
9417 &vpath->vp_reg->vpath_general_cfg2);
9440 __hal_virtualpath_t *vpath;
9452 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
9505 vpath->sess_grps_available),
9506 &vpath->vp_reg->usdc_vpath);
9512 &vpath->vp_reg->qcc_pci_cfg);
9521 if (vpath->vp_config->no_snoop !=
9523 if (vpath->vp_config->no_snoop) {
9536 &vpath->vp_reg->qcc_pci_cfg);
9540 &vpath->vp_reg->h2l_vpath_config);
9542 if (vpath->vp_config->no_snoop !=
9544 if (vpath->vp_config->no_snoop) {
9553 &vpath->vp_reg->h2l_vpath_config);
9557 &vpath->vp_reg->ph2l_vp_cfg0);
9559 if (vpath->vp_config->no_snoop !=
9561 if (vpath->vp_config->no_snoop) {
9570 &vpath->vp_reg->ph2l_vp_cfg0);
9574 &vpath->vp_reg->gendma_int);
9588 &vpath->vp_reg->rtdma_rd_optimization_ctrl);
9609 __hal_virtualpath_t *vpath;
9629 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
9630 vpath->vp_id = vp_id;
9632 vpath->vp_open = VXGE_HAL_VP_OPEN;
9634 vpath->hldev = (__hal_device_t *) devh;
9636 vpath->vp_config = config;
9638 vpath->vp_reg = hldev->vpath_reg[vp_id];
9640 vpath->vpmgmt_reg = hldev->vpmgmt_reg[vp_id];
9646 "vpath is already in reset %s:%s:%d",
9650 status = __hal_vpath_reset_check(vpath);
9653 vxge_os_memzero(vpath, sizeof(__hal_virtualpath_t));
9660 status = __hal_vpath_mgmt_read(hldev, vpath);
9663 vxge_os_memzero(vpath, sizeof(__hal_virtualpath_t));
9669 vpath->tx_intr_num =
9672 vpath->rx_intr_num =
9675 vpath->einta_intr_num =
9678 vpath->bmap_intr_num =
9683 vxge_os_spin_lock_init(&vpath->vpath_handles_lock, hldev->pdev);
9685 vxge_os_spin_lock_init_irq(&vpath->vpath_handles_lock, hldev->irqh);
9688 vxge_list_init(&vpath->vpath_handles);
9690 vpath->sw_stats = &hldev->stats.sw_dev_info_stats.vpath_info[vp_id];
9692 vxge_os_memzero(&vpath->sw_stats->obj_counts,
9695 VXGE_HAL_DEVICE_TIM_INT_MASK_SET(vpath->hldev, vpath->vp_id);
9697 status = __hal_vpath_hw_initialize(vpath->hldev, vpath->vp_id);
9718 __hal_virtualpath_t *vpath;
9729 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[vp_id];
9731 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
9740 VXGE_HAL_DEVICE_TIM_INT_MASK_RESET(vpath->hldev, vpath->vp_id);
9745 &vpath->vpath_handles_lock, hldev->header.pdev);
9748 &vpath->vpath_handles_lock, hldev->header.pdev);
9751 vxge_os_memzero(vpath, sizeof(__hal_virtualpath_t));
9777 hldev = vp->vpath->hldev;
9786 vxge_os_memcpy(obj_count, &vp->vpath->sw_stats->obj_counts,
9801 * @vpath_handle: Buffer to return a handle to the vpath
9815 __hal_virtualpath_t *vpath;
9833 vpath = (__hal_virtualpath_t *) &hldev->virtual_paths[attr->vp_id];
9835 if (vpath->vp_open == VXGE_HAL_VP_OPEN) {
9867 vp->vpath = vpath;
9872 if (vp->vpath->vp_config->fifo.enable == VXGE_HAL_FIFO_ENABLE) {
9880 if (vp->vpath->vp_config->ring.enable == VXGE_HAL_RING_ENABLE) {
9895 vp->vpath->stats_block = __hal_blockpool_block_allocate(devh,
9898 if (vp->vpath->stats_block == NULL) {
9906 vp->vpath->hw_stats =
9907 (vxge_hal_vpath_stats_hw_info_t *) vp->vpath->stats_block->memblock;
9909 vxge_os_memzero(vp->vpath->hw_stats,
9913 vp->vpath->hw_stats;
9915 vp->vpath->hw_stats_sav =
9918 vxge_os_memzero(vp->vpath->hw_stats_sav,
9923 vp->vpath->stats_block->dma_addr,
9924 &vpath->vp_reg->stats_cfg);
9934 vxge_list_insert(&vp->item, &vpath->vpath_handles);
9936 hldev->vpaths_deployed |= mBIT(vpath->vp_id);
9944 if (vpath->ringh != NULL)
9947 if (vpath->fifoh != NULL)
9964 * @vpath_handle: Handle got from previous vpath open
9978 hldev = vp->vpath->hldev;
9986 id = ((__hal_vpath_handle_t *) vpath_handle)->vpath->vp_id;
9995 * vxge_hal_vpath_close - Close the handle got from previous vpath (vpath) open
9996 * @vpath_handle: Handle got from previous vpath open
10006 __hal_virtualpath_t *vpath;
10013 vpath = (__hal_virtualpath_t *) vp->vpath;
10015 hldev = (__hal_device_t *) vpath->hldev;
10017 vp_id = vpath->vp_id;
10025 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10032 vxge_os_spin_lock(&vpath->vpath_handles_lock);
10034 vxge_os_spin_lock_irq(&vpath->vpath_handles_lock, flags);
10039 if (!vxge_list_is_empty(&vpath->vpath_handles)) {
10040 vxge_list_insert(&vp->item, &vpath->vpath_handles);
10045 vxge_os_spin_unlock(&vpath->vpath_handles_lock);
10047 vxge_os_spin_unlock_irq(&vpath->vpath_handles_lock, flags);
10058 vpath->hldev->vpaths_deployed &= ~mBIT(vp_id);
10060 if (vpath->ringh != NULL)
10063 if (vpath->fifoh != NULL)
10067 if (vpath->stats_block != NULL) {
10068 __hal_blockpool_block_free(hldev, vpath->stats_block);
10076 vpath->vp_open = VXGE_HAL_VP_NOT_OPEN;
10090 * vxge_hal_vpath_reset - Resets vpath
10091 * @vpath_handle: Handle got from previous vpath open
10093 * This function is used to request a reset of vpath
10106 hldev = vp->vpath->hldev;
10114 if (vp->vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10120 vxge_hw_vpath_set_zero_rx_frm_len(hldev, vp->vpath->vp_id);
10122 vxge_hw_vpath_wait_receive_idle(hldev, vp->vpath->vp_id,
10126 vp->vpath->vp_id);
10129 vp->vpath->sw_stats->soft_reset_cnt++;
10138 * @vpath_handle: Handle got from previous vpath open
10140 * This function is used to poll for the vpath reset completion
10152 hldev = vp->vpath->hldev;
10160 if (vp->vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10166 status = __hal_vpath_reset_check(vp->vpath);
10177 vp->vpath->vp_id);
10185 vxge_os_memzero(vp->vpath->sw_stats,
10189 vp->vpath->vp_id);
10197 if (vp->vpath->ringh != NULL) {
10201 vp->vpath->vp_id);
10210 vxge_os_memzero(vp->vpath->hw_stats,
10213 vxge_os_memzero(vp->vpath->hw_stats_sav,
10218 vp->vpath->stats_block->dma_addr,
10219 &vp->vpath->vp_reg->stats_cfg);
10239 * vxge_hal_vpath_hw_stats_enable - Enable vpath h/wstatistics.
10242 * Enable the DMA vpath statistics. The function is to be called to re-enable
10253 __hal_virtualpath_t *vpath;
10258 hldev = vp->vpath->hldev;
10263 vxge_hal_trace_log_stats("vpath = 0x"VXGE_OS_STXFMT,
10266 vpath = vp->vpath;
10268 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10275 vxge_os_memcpy(vpath->hw_stats_sav,
10276 vpath->hw_stats,
10286 (1 << (16 - vpath->vp_id)));
10294 vpath,
10295 vpath->hw_stats);
10305 * vxge_hal_vpath_hw_stats_disable - Disable vpath h/w statistics.
10308 * Enable the DMA vpath statistics. The function is to be called to disable
10319 __hal_virtualpath_t *vpath;
10324 hldev = vp->vpath->hldev;
10330 "vpath = 0x"VXGE_OS_STXFMT, (ptr_t) vpath_handle);
10332 vpath = (__hal_virtualpath_t *)
10333 ((__hal_vpath_handle_t *) vpath_handle)->vpath;
10335 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10346 val64 &= ~VXGE_HAL_STATS_CFG0_STATS_ENABLE((1 << (16 - vpath->vp_id)));
10360 * vxge_hal_vpath_hw_stats_get - Get the vpath hw statistics.
10364 * Returns the vpath h/w stats.
10373 __hal_virtualpath_t *vpath;
10380 hldev = vp->vpath->hldev;
10386 "vpath = 0x"VXGE_OS_STXFMT", hw_stats = 0x"VXGE_OS_STXFMT,
10389 vpath = (__hal_virtualpath_t *)
10390 ((__hal_vpath_handle_t *) vpath_handle)->vpath;
10392 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10402 VXGE_HAL_STATS_CFG0_STATS_ENABLE((1 << (16 - vpath->vp_id))),
10407 vpath->hw_stats,
10417 * vxge_hal_vpath_sw_stats_get - Get the vpath sw statistics.
10421 * Returns the vpath s/w stats.
10430 __hal_virtualpath_t *vpath;
10435 hldev = vp->vpath->hldev;
10441 "vpath = 0x"VXGE_OS_STXFMT", sw_stats = 0x"VXGE_OS_STXFMT,
10444 vpath = (__hal_virtualpath_t *)
10445 ((__hal_vpath_handle_t *) vpath_handle)->vpath;
10447 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10460 vpath->sw_stats->fifo_stats.common_stats.avg_compl_per_intr_cnt =
10461 vpath->sw_stats->fifo_stats.common_stats.total_compl_cnt / intrcnt;
10463 if (vpath->sw_stats->fifo_stats.common_stats.avg_compl_per_intr_cnt ==
10466 vpath->sw_stats->fifo_stats.common_stats.avg_compl_per_intr_cnt = 1;
10469 vpath->sw_stats->ring_stats.common_stats.avg_compl_per_intr_cnt =
10470 vpath->sw_stats->ring_stats.common_stats.total_compl_cnt / intrcnt;
10472 if (vpath->sw_stats->ring_stats.common_stats.avg_compl_per_intr_cnt ==
10475 vpath->sw_stats->ring_stats.common_stats.avg_compl_per_intr_cnt = 1;
10479 if (vpath->sw_stats->fifo_stats.total_posts) {
10480 vpath->sw_stats->fifo_stats.avg_buffers_per_post =
10481 vpath->sw_stats->fifo_stats.total_buffers /
10482 vpath->sw_stats->fifo_stats.total_posts;
10484 vpath->sw_stats->fifo_stats.avg_post_size =
10485 (u32) (vpath->hw_stats->tx_stats.tx_ttl_eth_octets /
10486 vpath->sw_stats->fifo_stats.total_posts);
10489 if (vpath->sw_stats->fifo_stats.total_buffers) {
10490 vpath->sw_stats->fifo_stats.avg_buffer_size =
10491 (u32) (vpath->hw_stats->tx_stats.tx_ttl_eth_octets /
10492 vpath->sw_stats->fifo_stats.total_buffers);
10496 vpath->sw_stats,
10507 * @vpath: Virtual path.
10509 * @location: Location (one of vpath id, aggregate or port)
10518 __hal_virtualpath_t *vpath,
10527 vxge_assert(vpath != NULL);
10529 hldev = vpath->hldev;
10534 vxge_hal_trace_log_stats("vpath = 0x"VXGE_OS_STXFMT,
10535 (ptr_t) vpath);
10537 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10552 &vpath->vp_reg->xmac_stats_access_cmd);
10558 &vpath->vp_reg->xmac_stats_access_cmd);
10563 &vpath->vp_reg->xmac_stats_access_cmd,
10572 &vpath->vp_reg->xmac_stats_access_data);
10607 hldev = vp->vpath->hldev;
10615 status = __hal_vpath_stats_access(vp->vpath,
10627 * __hal_vpath_xmac_tx_stats_get - Get the TX Statistics of a vpath
10628 * @vpath: vpath
10629 * @vpath_tx_stats: Buffer to return TX Statistics of vpath.
10631 * Get the TX Statistics of a vpath
10635 __hal_vpath_xmac_tx_stats_get(__hal_virtualpath_t *vpath,
10642 vxge_assert(vpath != NULL);
10644 hldev = vpath->hldev;
10649 vxge_hal_trace_log_stats("vpath = 0x"VXGE_OS_STXFMT,
10650 (ptr_t) vpath);
10652 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
10776 * __hal_vpath_xmac_rx_stats_get - Get the RX Statistics of a vpath
10777 * @vpath: vpath
10778 * @vpath_rx_stats: Buffer to return RX Statistics of vpath.
10780 * Get the RX Statistics of a vpath
10784 __hal_vpath_xmac_rx_stats_get(__hal_virtualpath_t *vpath,
10791 vxge_assert(vpath != NULL);
10793 hldev = vpath->hldev;
10798 vxge_hal_trace_log_stats("vpath = 0x"VXGE_OS_STXFMT,
10799 (ptr_t) vpath);
10801 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
11053 * vxge_hal_vpath_xmac_tx_stats_get - Get the TX Statistics of a vpath
11054 * @vpath_handle: vpath handle.
11055 * @vpath_tx_stats: Buffer to return TX Statistics of vpath.
11057 * Get the TX Statistics of a vpath
11070 hldev = vp->vpath->hldev;
11078 status = __hal_vpath_xmac_tx_stats_get(vp->vpath, vpath_tx_stats);
11087 * vxge_hal_vpath_xmac_rx_stats_get - Get the RX Statistics of a vpath
11088 * @vpath_handle: vpath handle.
11089 * @vpath_rx_stats: Buffer to return RX Statistics of vpath.
11091 * Get the RX Statistics of a vpath
11104 hldev = vp->vpath->hldev;
11112 status = __hal_vpath_xmac_rx_stats_get(vp->vpath, vpath_rx_stats);
11121 * __hal_vpath_hw_stats_get - Get the vpath hw statistics.
11122 * @vpath: Virtual Path.
11125 * Returns the vpath h/w stats.
11131 __hal_vpath_hw_stats_get(__hal_virtualpath_t *vpath,
11138 vxge_assert((vpath != NULL) && (hw_stats != NULL));
11140 hldev = vpath->hldev;
11146 "vpath = 0x"VXGE_OS_STXFMT", hw_stats = 0x"VXGE_OS_STXFMT,
11147 (ptr_t) vpath, (ptr_t) hw_stats);
11149 if (vpath->vp_open == VXGE_HAL_VP_NOT_OPEN) {
11157 &vpath->vp_reg->vpath_debug_stats0);
11164 &vpath->vp_reg->vpath_debug_stats1);
11171 &vpath->vp_reg->vpath_debug_stats2);
11178 &vpath->vp_reg->vpath_debug_stats3);
11185 &vpath->vp_reg->vpath_debug_stats4);
11192 &vpath->vp_reg->vpath_debug_stats5);
11199 &vpath->vp_reg->vpath_debug_stats6);
11206 &vpath->vp_reg->vpath_genstats_count01);
11214 &vpath->vp_reg->vpath_genstats_count01);
11222 &vpath->vp_reg->vpath_genstats_count23);
11230 &vpath->vp_reg->vpath_genstats_count01);
11238 &vpath->vp_reg->vpath_genstats_count4);
11246 &vpath->vp_reg->vpath_genstats_count5);
11252 status = __hal_vpath_xmac_tx_stats_get(vpath, &hw_stats->tx_stats);
11259 status = __hal_vpath_xmac_rx_stats_get(vpath, &hw_stats->rx_stats);
11286 &vpath->vp_reg->rx_multi_cast_stats);
11293 &vpath->vp_reg->rx_frm_transferred);
11300 &vpath->vp_reg->rxd_returned);
11308 &vpath->vp_reg->dbg_stats_rx_mpa);
11319 &vpath->vp_reg->dbg_stats_rx_fau);
11330 &vpath->vp_reg->tx_vp_reset_discarded_frms);
11343 * vxge_hal_vpath_stats_clear - Clear all the statistics of vpath
11346 * Clear the statistics of the given vpath.
11359 hldev = vp->vpath->hldev;
11364 vxge_hal_trace_log_stats("vpath = 0x"VXGE_OS_STXFMT,
11367 vxge_os_memcpy(vp->vpath->hw_stats_sav,
11368 vp->vpath->hw_stats,
11371 vxge_os_memzero(vp->vpath->hw_stats,
11374 vxge_os_memzero(vp->vpath->sw_stats,
11409 /* Assumption: Privileged vpath is zero */
11475 /* Assumption: Privileged vpath is zero */
11597 /* get the first vpath number assigned to this function */
11933 __hal_virtualpath_t *vpath;
11935 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
11936 hldev = vpath->hldev;
11938 val64 = vpath->tim_tti_cfg3_saved;
11949 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_TX]);
11964 __hal_virtualpath_t *vpath;
11966 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
11967 hldev = vpath->hldev;
11969 val64 = vpath->tim_rti_cfg3_saved;
11980 &vpath->vp_reg->tim_cfg3_int_num[VXGE_HAL_VPATH_INTR_RX]);
11994 __hal_virtualpath_t *vpath;
11996 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
11997 hldev = vpath->hldev;
11999 if (vpath->vp_config->fifo.enable == VXGE_HAL_FIFO_ENABLE) {
12000 if (vpath->vp_config->tti.timer_ci_en != VXGE_HAL_TIM_TIMER_CI_ENABLE) {
12001 vpath->vp_config->tti.timer_ci_en = VXGE_HAL_TIM_TIMER_CI_ENABLE;
12005 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
12008 vpath->tim_rti_cfg1_saved = val64;
12013 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
12024 __hal_virtualpath_t *vpath;
12026 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
12027 hldev = vpath->hldev;
12029 if (vpath->vp_config->fifo.enable == VXGE_HAL_FIFO_ENABLE) {
12030 if (vpath->vp_config->tti.timer_ci_en != VXGE_HAL_TIM_TIMER_CI_DISABLE) {
12031 vpath->vp_config->tti.timer_ci_en = VXGE_HAL_TIM_TIMER_CI_DISABLE;
12035 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
12038 vpath->tim_rti_cfg1_saved = val64;
12043 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_TX]);
12054 __hal_virtualpath_t *vpath;
12056 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
12057 hldev = vpath->hldev;
12059 if (vpath->vp_config->ring.enable == VXGE_HAL_RING_ENABLE) {
12060 if (vpath->vp_config->rti.timer_ci_en != VXGE_HAL_TIM_TIMER_CI_ENABLE) {
12061 vpath->vp_config->rti.timer_ci_en = VXGE_HAL_TIM_TIMER_CI_ENABLE;
12065 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);
12068 vpath->tim_rti_cfg1_saved = val64;
12073 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);
12084 __hal_virtualpath_t *vpath;
12086 vpath = ((__hal_vpath_handle_t *) vpath_handle)->vpath;
12087 hldev = vpath->hldev;
12089 if (vpath->vp_config->ring.enable == VXGE_HAL_RING_ENABLE) {
12090 if (vpath->vp_config->rti.timer_ci_en != VXGE_HAL_TIM_TIMER_CI_DISABLE) {
12091 vpath->vp_config->rti.timer_ci_en = VXGE_HAL_TIM_TIMER_CI_DISABLE;
12095 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);
12098 vpath->tim_rti_cfg1_saved = val64;
12103 &vpath->vp_reg->tim_cfg1_int_num[VXGE_HAL_VPATH_INTR_RX]);