1221167Sgnn/*- 2221167Sgnn * Copyright(c) 2002-2011 Exar Corp. 3221167Sgnn * All rights reserved. 4221167Sgnn * 5221167Sgnn * Redistribution and use in source and binary forms, with or without 6221167Sgnn * modification are permitted provided the following conditions are met: 7221167Sgnn * 8221167Sgnn * 1. Redistributions of source code must retain the above copyright notice, 9221167Sgnn * this list of conditions and the following disclaimer. 10221167Sgnn * 11221167Sgnn * 2. Redistributions in binary form must reproduce the above copyright 12221167Sgnn * notice, this list of conditions and the following disclaimer in the 13221167Sgnn * documentation and/or other materials provided with the distribution. 14221167Sgnn * 15221167Sgnn * 3. Neither the name of the Exar Corporation nor the names of its 16221167Sgnn * contributors may be used to endorse or promote products derived from 17221167Sgnn * this software without specific prior written permission. 18221167Sgnn * 19221167Sgnn * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20221167Sgnn * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21221167Sgnn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22221167Sgnn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23221167Sgnn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24221167Sgnn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25221167Sgnn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26221167Sgnn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27221167Sgnn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28221167Sgnn * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29221167Sgnn * POSSIBILITY OF SUCH DAMAGE. 30221167Sgnn */ 31221167Sgnn/*$FreeBSD: releng/10.3/sys/dev/vxge/vxgehal/vxgehal-mgmtaux.c 221167 2011-04-28 14:33:15Z gnn $*/ 32221167Sgnn 33221167Sgnn#include <dev/vxge/vxgehal/vxgehal.h> 34221167Sgnn 35221167Sgnn#define VXGE_HAL_AUX_SEPA ' ' 36221167Sgnn 37221167Sgnn#define __hal_aux_snprintf(retbuf, bufsize, fmt, key, value, retsize) \ 38221167Sgnn if (bufsize <= 0) \ 39221167Sgnn return (VXGE_HAL_ERR_OUT_OF_SPACE); \ 40221167Sgnn retsize = vxge_os_snprintf(retbuf, bufsize, fmt, key, \ 41221167Sgnn VXGE_HAL_AUX_SEPA, value); \ 42221167Sgnn if (retsize < 0 || retsize >= bufsize) \ 43221167Sgnn return (VXGE_HAL_ERR_OUT_OF_SPACE); 44221167Sgnn 45221167Sgnn#define __HAL_AUX_ENTRY_DECLARE(size, buf) \ 46221167Sgnn int entrysize = 0, leftsize = size; \ 47221167Sgnn char *ptr; ptr = buf; 48221167Sgnn 49221167Sgnn#define __HAL_AUX_ENTRY(key, value, fmt) \ 50221167Sgnn __hal_aux_snprintf(ptr, leftsize, "%s%c"fmt"\n", key, value, entrysize)\ 51221167Sgnn ptr += entrysize; leftsize -= entrysize; 52221167Sgnn 53221167Sgnn#define __HAL_AUX_CONFIG_ENTRY(key, value, fmt) \ 54221167Sgnn if (value == VXGE_HAL_USE_FLASH_DEFAULT) { \ 55221167Sgnn __HAL_AUX_ENTRY(key, "FLASH DEFAULT", "%s"); \ 56221167Sgnn } else { \ 57221167Sgnn __HAL_AUX_ENTRY(key, value, fmt); \ 58221167Sgnn } 59221167Sgnn 60221167Sgnn#define __HAL_AUX_ENTRY_END(bufsize, retsize) \ 61221167Sgnn *retsize = bufsize - leftsize; 62221167Sgnn 63221167Sgnn#define __hal_aux_pci_link_info(name, index, var) { \ 64221167Sgnn __HAL_AUX_ENTRY(name, \ 65221167Sgnn (u64)pcim.link_info[index].var, "%llu") \ 66221167Sgnn } 67221167Sgnn 68221167Sgnn#define __hal_aux_pci_aggr_info(name, index, var) { \ 69221167Sgnn __HAL_AUX_ENTRY(name, \ 70221167Sgnn (u64)pcim.aggr_info[index].var, "%llu") \ 71221167Sgnn } 72221167Sgnn 73221167Sgnn/* 74221167Sgnn * vxge_hal_aux_about_read - Retrieve and format about info. 75221167Sgnn * @devh: HAL device handle. 76221167Sgnn * @bufsize: Buffer size. 77221167Sgnn * @retbuf: Buffer pointer. 78221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 79221167Sgnn * 80221167Sgnn * Retrieve about info (using vxge_hal_mgmt_about()) and sprintf it 81221167Sgnn * into the provided @retbuf. 82221167Sgnn * 83221167Sgnn * Returns: VXGE_HAL_OK - success. 84221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 85221167Sgnn * VXGE_HAL_ERR_VERSION_CONFLICT - Version it not maching. 86221167Sgnn * VXGE_HAL_FAIL - Failed to retrieve the information. 87221167Sgnn * 88221167Sgnn * See also: vxge_hal_mgmt_about(), vxge_hal_aux_device_dump(). 89221167Sgnn */ 90221167Sgnnvxge_hal_status_e 91221167Sgnnvxge_hal_aux_about_read(vxge_hal_device_h devh, int bufsize, 92221167Sgnn char *retbuf, int *retsize) 93221167Sgnn{ 94221167Sgnn u32 size = sizeof(vxge_hal_mgmt_about_info_t); 95221167Sgnn vxge_hal_status_e status; 96221167Sgnn vxge_hal_mgmt_about_info_t about_info; 97221167Sgnn 98221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 99221167Sgnn 100221167Sgnn status = vxge_hal_mgmt_about(devh, &about_info, &size); 101221167Sgnn if (status != VXGE_HAL_OK) 102221167Sgnn return (status); 103221167Sgnn 104221167Sgnn __HAL_AUX_ENTRY("vendor", about_info.vendor, "0x%x"); 105221167Sgnn __HAL_AUX_ENTRY("device", about_info.device, "0x%x"); 106221167Sgnn __HAL_AUX_ENTRY("subsys_vendor", about_info.subsys_vendor, "0x%x"); 107221167Sgnn __HAL_AUX_ENTRY("subsys_device", about_info.subsys_device, "0x%x"); 108221167Sgnn __HAL_AUX_ENTRY("board_rev", about_info.board_rev, "0x%x"); 109221167Sgnn __HAL_AUX_ENTRY("vendor_name", about_info.vendor_name, "%s"); 110221167Sgnn __HAL_AUX_ENTRY("chip_name", about_info.chip_name, "%s"); 111221167Sgnn __HAL_AUX_ENTRY("media", about_info.media, "%s"); 112221167Sgnn __HAL_AUX_ENTRY("hal_major", about_info.hal_major, "%s"); 113221167Sgnn __HAL_AUX_ENTRY("hal_minor", about_info.hal_minor, "%s"); 114221167Sgnn __HAL_AUX_ENTRY("hal_fix", about_info.hal_fix, "%s"); 115221167Sgnn __HAL_AUX_ENTRY("hal_build", about_info.hal_build, "%s"); 116221167Sgnn __HAL_AUX_ENTRY("ll_major", about_info.ll_major, "%s"); 117221167Sgnn __HAL_AUX_ENTRY("ll_minor", about_info.ll_minor, "%s"); 118221167Sgnn __HAL_AUX_ENTRY("ll_fix", about_info.ll_fix, "%s"); 119221167Sgnn __HAL_AUX_ENTRY("ll_build", about_info.ll_build, "%s"); 120221167Sgnn 121221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 122221167Sgnn 123221167Sgnn return (VXGE_HAL_OK); 124221167Sgnn} 125221167Sgnn 126221167Sgnn/* 127221167Sgnn * vxge_hal_aux_driver_config_read - Read Driver configuration. 128221167Sgnn * @bufsize: Buffer size. 129221167Sgnn * @retbuf: Buffer pointer. 130221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 131221167Sgnn * 132221167Sgnn * Read driver configuration, 133221167Sgnn * 134221167Sgnn * Returns: VXGE_HAL_OK - success. 135221167Sgnn * VXGE_HAL_ERR_VERSION_CONFLICT - Version it not maching. 136221167Sgnn * 137221167Sgnn * See also: vxge_hal_aux_device_config_read(). 138221167Sgnn */ 139221167Sgnnvxge_hal_status_e 140221167Sgnnvxge_hal_aux_driver_config_read(int bufsize, char *retbuf, int *retsize) 141221167Sgnn{ 142221167Sgnn u32 size = sizeof(vxge_hal_driver_config_t); 143221167Sgnn vxge_hal_status_e status; 144221167Sgnn vxge_hal_driver_config_t drv_config; 145221167Sgnn 146221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 147221167Sgnn 148221167Sgnn status = vxge_hal_mgmt_driver_config(&drv_config, &size); 149221167Sgnn if (status != VXGE_HAL_OK) 150221167Sgnn return (status); 151221167Sgnn 152221167Sgnn __HAL_AUX_ENTRY("Debug Level", 153221167Sgnn g_vxge_hal_driver->debug_level, "%u"); 154221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 155221167Sgnn 156221167Sgnn return (VXGE_HAL_OK); 157221167Sgnn} 158221167Sgnn 159221167Sgnn/* 160221167Sgnn * vxge_hal_aux_pci_config_read - Retrieve and format PCI Configuration 161221167Sgnn * info. 162221167Sgnn * @devh: HAL device handle. 163221167Sgnn * @bufsize: Buffer size. 164221167Sgnn * @retbuf: Buffer pointer. 165221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 166221167Sgnn * 167221167Sgnn * Retrieve about info (using vxge_hal_mgmt_pci_config()) and sprintf it 168221167Sgnn * into the provided @retbuf. 169221167Sgnn * 170221167Sgnn * Returns: VXGE_HAL_OK - success. 171221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 172221167Sgnn * VXGE_HAL_ERR_VERSION_CONFLICT - Version it not maching. 173221167Sgnn * 174221167Sgnn * See also: vxge_hal_mgmt_pci_config(), vxge_hal_aux_device_dump(). 175221167Sgnn */ 176221167Sgnnvxge_hal_status_e 177221167Sgnnvxge_hal_aux_pci_config_read( 178221167Sgnn vxge_hal_device_h devh, 179221167Sgnn int bufsize, 180221167Sgnn char *retbuf, 181221167Sgnn int *retsize) 182221167Sgnn{ 183221167Sgnn u8 cap_id; 184221167Sgnn u16 ext_cap_id; 185221167Sgnn u16 next_ptr; 186221167Sgnn u32 size = sizeof(vxge_hal_pci_config_t); 187221167Sgnn vxge_hal_status_e status; 188221167Sgnn vxge_hal_pci_config_t *pci_config = 189221167Sgnn &((__hal_device_t *) devh)->pci_config_space; 190221167Sgnn vxge_hal_mgmt_pm_cap_t pm_cap; 191221167Sgnn vxge_hal_mgmt_sid_cap_t sid_cap; 192221167Sgnn vxge_hal_mgmt_msi_cap_t msi_cap; 193221167Sgnn vxge_hal_mgmt_msix_cap_t msix_cap; 194221167Sgnn vxge_hal_pci_err_cap_t err_cap; 195221167Sgnn 196221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 197221167Sgnn 198221167Sgnn status = vxge_hal_mgmt_pci_config(devh, (u8 *) pci_config, &size); 199221167Sgnn if (status != VXGE_HAL_OK) 200221167Sgnn return (status); 201221167Sgnn 202221167Sgnn __HAL_AUX_ENTRY("vendor_id", pci_config->vendor_id, "0x%04X"); 203221167Sgnn __HAL_AUX_ENTRY("device_id", pci_config->device_id, "0x%04X"); 204221167Sgnn __HAL_AUX_ENTRY("command", pci_config->command, "0x%04X"); 205221167Sgnn __HAL_AUX_ENTRY("status", pci_config->status, "0x%04X"); 206221167Sgnn __HAL_AUX_ENTRY("revision", pci_config->revision, "0x%02X"); 207221167Sgnn __HAL_AUX_ENTRY("pciClass1", pci_config->pciClass[0], "0x%02X"); 208221167Sgnn __HAL_AUX_ENTRY("pciClass2", pci_config->pciClass[1], "0x%02X"); 209221167Sgnn __HAL_AUX_ENTRY("pciClass3", pci_config->pciClass[2], "0x%02X"); 210221167Sgnn __HAL_AUX_ENTRY("cache_line_size", 211221167Sgnn pci_config->cache_line_size, "0x%02X"); 212221167Sgnn __HAL_AUX_ENTRY("header_type", pci_config->header_type, "0x%02X"); 213221167Sgnn __HAL_AUX_ENTRY("bist", pci_config->bist, "0x%02X"); 214221167Sgnn __HAL_AUX_ENTRY("base_addr0_lo", pci_config->base_addr0_lo, "0x%08X"); 215221167Sgnn __HAL_AUX_ENTRY("base_addr0_hi", pci_config->base_addr0_hi, "0x%08X"); 216221167Sgnn __HAL_AUX_ENTRY("base_addr1_lo", pci_config->base_addr1_lo, "0x%08X"); 217221167Sgnn __HAL_AUX_ENTRY("base_addr1_hi", pci_config->base_addr1_hi, "0x%08X"); 218221167Sgnn __HAL_AUX_ENTRY("not_Implemented1", 219221167Sgnn pci_config->not_Implemented1, "0x%08X"); 220221167Sgnn __HAL_AUX_ENTRY("not_Implemented2", pci_config->not_Implemented2, 221221167Sgnn "0x%08X"); 222221167Sgnn __HAL_AUX_ENTRY("cardbus_cis_pointer", pci_config->cardbus_cis_pointer, 223221167Sgnn "0x%08X"); 224221167Sgnn __HAL_AUX_ENTRY("subsystem_vendor_id", pci_config->subsystem_vendor_id, 225221167Sgnn "0x%04X"); 226221167Sgnn __HAL_AUX_ENTRY("subsystem_id", pci_config->subsystem_id, "0x%04X"); 227221167Sgnn __HAL_AUX_ENTRY("rom_base", pci_config->rom_base, "0x%08X"); 228221167Sgnn __HAL_AUX_ENTRY("capabilities_pointer", 229221167Sgnn pci_config->capabilities_pointer, "0x%02X"); 230221167Sgnn __HAL_AUX_ENTRY("interrupt_line", pci_config->interrupt_line, "0x%02X"); 231221167Sgnn __HAL_AUX_ENTRY("interrupt_pin", pci_config->interrupt_pin, "0x%02X"); 232221167Sgnn __HAL_AUX_ENTRY("min_grant", pci_config->min_grant, "0x%02X"); 233221167Sgnn __HAL_AUX_ENTRY("max_latency", pci_config->max_latency, "0x%02X"); 234221167Sgnn 235221167Sgnn next_ptr = pci_config->capabilities_pointer; 236221167Sgnn 237221167Sgnn while (next_ptr != 0) { 238221167Sgnn 239221167Sgnn cap_id = VXGE_HAL_PCI_CAP_ID((((u8 *) pci_config) + next_ptr)); 240221167Sgnn 241221167Sgnn switch (cap_id) { 242221167Sgnn 243221167Sgnn case VXGE_HAL_PCI_CAP_ID_PM: 244221167Sgnn status = vxge_hal_mgmt_pm_capabilities_get(devh, 245221167Sgnn &pm_cap); 246221167Sgnn if (status != VXGE_HAL_OK) 247221167Sgnn return (status); 248221167Sgnn 249221167Sgnn __HAL_AUX_ENTRY("PM Capability", 250221167Sgnn cap_id, "0x%02X"); 251221167Sgnn __HAL_AUX_ENTRY("pm_cap_ver", 252221167Sgnn pm_cap.pm_cap_ver, "%u"); 253221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_clock", 254221167Sgnn pm_cap.pm_cap_pme_clock, "%u"); 255221167Sgnn __HAL_AUX_ENTRY("pm_cap_aux_power", 256221167Sgnn pm_cap.pm_cap_aux_power, "%u"); 257221167Sgnn __HAL_AUX_ENTRY("pm_cap_dsi", 258221167Sgnn pm_cap.pm_cap_dsi, "%u"); 259221167Sgnn __HAL_AUX_ENTRY("pm_cap_aux_current", 260221167Sgnn pm_cap.pm_cap_aux_current, "%u"); 261221167Sgnn __HAL_AUX_ENTRY("pm_cap_cap_d0", 262221167Sgnn pm_cap.pm_cap_cap_d0, "%u"); 263221167Sgnn __HAL_AUX_ENTRY("pm_cap_cap_d1", 264221167Sgnn pm_cap.pm_cap_cap_d1, "%u"); 265221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_d0", 266221167Sgnn pm_cap.pm_cap_pme_d0, "%u"); 267221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_d1", 268221167Sgnn pm_cap.pm_cap_pme_d1, "%u"); 269221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_d2", 270221167Sgnn pm_cap.pm_cap_pme_d2, "%u"); 271221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_d3_hot", 272221167Sgnn pm_cap.pm_cap_pme_d3_hot, "%u"); 273221167Sgnn __HAL_AUX_ENTRY("pm_cap_pme_d3_cold", 274221167Sgnn pm_cap.pm_cap_pme_d3_cold, "%u"); 275221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_state", 276221167Sgnn pm_cap.pm_ctrl_state, "%u"); 277221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_no_soft_reset", 278221167Sgnn pm_cap.pm_ctrl_no_soft_reset, "%u"); 279221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_pme_enable", 280221167Sgnn pm_cap.pm_ctrl_pme_enable, "%u"); 281221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_pme_data_sel", 282221167Sgnn pm_cap.pm_ctrl_pme_data_sel, "%u"); 283221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_pme_data_scale", 284221167Sgnn pm_cap.pm_ctrl_pme_data_scale, "%u"); 285221167Sgnn __HAL_AUX_ENTRY("pm_ctrl_pme_status", 286221167Sgnn pm_cap.pm_ctrl_pme_status, "%u"); 287221167Sgnn __HAL_AUX_ENTRY("pm_ppb_ext_b2_b3", 288221167Sgnn pm_cap.pm_ppb_ext_b2_b3, "%u"); 289221167Sgnn __HAL_AUX_ENTRY("pm_ppb_ext_ecc_en", 290221167Sgnn pm_cap.pm_ppb_ext_ecc_en, "%u"); 291221167Sgnn __HAL_AUX_ENTRY("pm_data_reg", 292221167Sgnn pm_cap.pm_data_reg, "%u"); 293221167Sgnn break; 294221167Sgnn case VXGE_HAL_PCI_CAP_ID_VPD: 295221167Sgnn break; 296221167Sgnn case VXGE_HAL_PCI_CAP_ID_SLOTID: 297221167Sgnn status = vxge_hal_mgmt_sid_capabilities_get(devh, 298221167Sgnn &sid_cap); 299221167Sgnn if (status != VXGE_HAL_OK) 300221167Sgnn return (status); 301221167Sgnn 302221167Sgnn __HAL_AUX_ENTRY("SID Capability", cap_id, "0x%02X"); 303221167Sgnn __HAL_AUX_ENTRY("sid_number_of_slots", 304221167Sgnn sid_cap.sid_number_of_slots, "%u"); 305221167Sgnn __HAL_AUX_ENTRY("sid_first_in_chasis", 306221167Sgnn sid_cap.sid_first_in_chasis, "%u"); 307221167Sgnn __HAL_AUX_ENTRY("sid_chasis_number", 308221167Sgnn sid_cap.sid_chasis_number, "0x%u"); 309221167Sgnn break; 310221167Sgnn case VXGE_HAL_PCI_CAP_ID_MSI: 311221167Sgnn status = vxge_hal_mgmt_msi_capabilities_get(devh, 312221167Sgnn &msi_cap); 313221167Sgnn if (status != VXGE_HAL_OK) 314221167Sgnn return (status); 315221167Sgnn 316221167Sgnn __HAL_AUX_ENTRY("MSI Capability", cap_id, "0x%02X"); 317221167Sgnn __HAL_AUX_ENTRY("MSI Enable", msi_cap.enable, "%u"); 318221167Sgnn __HAL_AUX_ENTRY("MSI 64bit Address Capable", 319221167Sgnn msi_cap.is_64bit_addr_capable, "%u"); 320221167Sgnn __HAL_AUX_ENTRY("MSI PVM Capable", 321221167Sgnn msi_cap.is_pvm_capable, "0x%02X"); 322221167Sgnn __HAL_AUX_ENTRY("MSI Vectors Allocated", 323221167Sgnn msi_cap.vectors_allocated, "0x%02X"); 324221167Sgnn __HAL_AUX_ENTRY("MSI Max Vectors", 325221167Sgnn msi_cap.max_vectors_capable, "0x%02X"); 326221167Sgnn if (msi_cap.is_64bit_addr_capable) { 327221167Sgnn __HAL_AUX_ENTRY("MSI address", 328221167Sgnn msi_cap.address, "0x%016llX"); 329221167Sgnn } else { 330221167Sgnn __HAL_AUX_ENTRY("MSI address", 331221167Sgnn msi_cap.address, "0x%08llX"); 332221167Sgnn } 333221167Sgnn __HAL_AUX_ENTRY("MSI Data", msi_cap.data, "0x%04X"); 334221167Sgnn if (msi_cap.is_pvm_capable) { 335221167Sgnn __HAL_AUX_ENTRY("MSI Mask bits", 336221167Sgnn msi_cap.mask_bits, "0x%08X"); 337221167Sgnn __HAL_AUX_ENTRY("MSI Pending bits", 338221167Sgnn msi_cap.pending_bits, "0x%08X"); 339221167Sgnn } 340221167Sgnn break; 341221167Sgnn case VXGE_HAL_PCI_CAP_ID_VS: 342221167Sgnn break; 343221167Sgnn case VXGE_HAL_PCI_CAP_ID_SHPC: 344221167Sgnn break; 345221167Sgnn case VXGE_HAL_PCI_CAP_ID_PCIE: 346221167Sgnn break; 347221167Sgnn case VXGE_HAL_PCI_CAP_ID_MSIX: 348221167Sgnn status = vxge_hal_mgmt_msix_capabilities_get(devh, 349221167Sgnn &msix_cap); 350221167Sgnn if (status != VXGE_HAL_OK) 351221167Sgnn return (status); 352221167Sgnn 353221167Sgnn __HAL_AUX_ENTRY("MSIX Capability", cap_id, "0x%02X"); 354221167Sgnn __HAL_AUX_ENTRY("MSIX Enable", msix_cap.enable, "%u"); 355221167Sgnn __HAL_AUX_ENTRY("MSIX Mask All vectors", 356221167Sgnn msix_cap.mask_all_vect, "%u"); 357221167Sgnn __HAL_AUX_ENTRY("MSIX Table Size", 358221167Sgnn msix_cap.table_size, "%u"); 359221167Sgnn __HAL_AUX_ENTRY("MSIX Table Offset", 360221167Sgnn msix_cap.table_offset, "%u"); 361221167Sgnn __HAL_AUX_ENTRY("MSIX Table BIR", 362221167Sgnn msix_cap.table_bir, "%u"); 363221167Sgnn __HAL_AUX_ENTRY("MSIX PBA Offset", 364221167Sgnn msix_cap.pba_offset, "%u"); 365221167Sgnn __HAL_AUX_ENTRY("MSIX PBA BIR", msix_cap.pba_bir, "%u"); 366221167Sgnn break; 367221167Sgnn case VXGE_HAL_PCI_CAP_ID_AGP: 368221167Sgnn case VXGE_HAL_PCI_CAP_ID_CHSWP: 369221167Sgnn case VXGE_HAL_PCI_CAP_ID_PCIX: 370221167Sgnn case VXGE_HAL_PCI_CAP_ID_HT: 371221167Sgnn case VXGE_HAL_PCI_CAP_ID_DBGPORT: 372221167Sgnn case VXGE_HAL_PCI_CAP_ID_CPCICSR: 373221167Sgnn case VXGE_HAL_PCI_CAP_ID_PCIBSVID: 374221167Sgnn case VXGE_HAL_PCI_CAP_ID_AGP8X: 375221167Sgnn case VXGE_HAL_PCI_CAP_ID_SECDEV: 376221167Sgnn __HAL_AUX_ENTRY("Unexpected Capability", 377221167Sgnn cap_id, "0x%02X"); 378221167Sgnn break; 379221167Sgnn default: 380221167Sgnn __HAL_AUX_ENTRY("Unknown Capability", 381221167Sgnn cap_id, "0x%02X"); 382221167Sgnn break; 383221167Sgnn } 384221167Sgnn 385221167Sgnn next_ptr = 386221167Sgnn VXGE_HAL_PCI_CAP_NEXT((((u8 *) pci_config) + next_ptr)); 387221167Sgnn 388221167Sgnn } 389221167Sgnn 390221167Sgnn /* CONSTCOND */ 391221167Sgnn if (VXGE_HAL_PCI_CONFIG_SPACE_SIZE > 0x100) { 392221167Sgnn 393221167Sgnn next_ptr = 0x100; 394221167Sgnn 395221167Sgnn while (next_ptr != 0) { 396221167Sgnn 397221167Sgnn ext_cap_id = (u16) VXGE_HAL_PCI_EXT_CAP_ID( 398221167Sgnn *(u32 *)((void *)(((u8 *) pci_config) + next_ptr))); 399221167Sgnn 400221167Sgnn switch (ext_cap_id) { 401221167Sgnn 402221167Sgnn case VXGE_HAL_PCI_EXT_CAP_ID_ERR: 403221167Sgnn status = 404221167Sgnn vxge_hal_mgmt_pci_err_capabilities_get(devh, 405221167Sgnn &err_cap); 406221167Sgnn if (status != VXGE_HAL_OK) 407221167Sgnn return (status); 408221167Sgnn 409221167Sgnn __HAL_AUX_ENTRY("pci_err_header", 410221167Sgnn err_cap.pci_err_header, "0x%08X"); 411221167Sgnn __HAL_AUX_ENTRY("pci_err_uncor_status", 412221167Sgnn err_cap.pci_err_uncor_status, "0x%08X"); 413221167Sgnn __HAL_AUX_ENTRY("pci_err_uncor_mask", 414221167Sgnn err_cap.pci_err_uncor_mask, "0x%08X"); 415221167Sgnn __HAL_AUX_ENTRY("pci_err_uncor_server", 416221167Sgnn err_cap.pci_err_uncor_server, "0x%08X"); 417221167Sgnn __HAL_AUX_ENTRY("pci_err_cor_status", 418221167Sgnn err_cap.pci_err_cor_status, "0x%08X"); 419221167Sgnn __HAL_AUX_ENTRY("pci_err_cap", 420221167Sgnn err_cap.pci_err_cap, "0x%08X"); 421221167Sgnn __HAL_AUX_ENTRY("err_header_log", 422221167Sgnn err_cap.err_header_log, "%u"); 423221167Sgnn __HAL_AUX_ENTRY("pci_err_root_command", 424221167Sgnn err_cap.pci_err_root_command, "0x%08X"); 425221167Sgnn __HAL_AUX_ENTRY("pci_err_root_status", 426221167Sgnn err_cap.pci_err_root_status, "0x%08X"); 427221167Sgnn __HAL_AUX_ENTRY("pci_err_root_cor_src", 428221167Sgnn err_cap.pci_err_root_cor_src, "0x%04X"); 429221167Sgnn __HAL_AUX_ENTRY("pci_err_root_src", 430221167Sgnn err_cap.pci_err_root_src, "0x%04X"); 431221167Sgnn break; 432221167Sgnn case VXGE_HAL_PCI_EXT_CAP_ID_VC: 433221167Sgnn break; 434221167Sgnn case VXGE_HAL_PCI_EXT_CAP_ID_DSN: 435221167Sgnn break; 436221167Sgnn case VXGE_HAL_PCI_EXT_CAP_ID_PWR: 437221167Sgnn break; 438221167Sgnn default: 439221167Sgnn __HAL_AUX_ENTRY("Unknown Capability", cap_id, 440221167Sgnn "0x%02X"); 441221167Sgnn break; 442221167Sgnn } 443221167Sgnn next_ptr = (u16) VXGE_HAL_PCI_EXT_CAP_NEXT( 444221167Sgnn *(u32 *)((void *)(((u8 *) pci_config) + next_ptr))); 445221167Sgnn 446221167Sgnn } 447221167Sgnn 448221167Sgnn } 449221167Sgnn 450221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 451221167Sgnn 452221167Sgnn return (VXGE_HAL_OK); 453221167Sgnn} 454221167Sgnn 455221167Sgnn/* 456221167Sgnn * vxge_hal_aux_device_config_read - Read device configuration. 457221167Sgnn * @devh: HAL device handle. 458221167Sgnn * @bufsize: Buffer size. 459221167Sgnn * @retbuf: Buffer pointer. 460221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 461221167Sgnn * 462221167Sgnn * Read device configuration, 463221167Sgnn * 464221167Sgnn * Returns: VXGE_HAL_OK - success. 465221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 466221167Sgnn * VXGE_HAL_ERR_VERSION_CONFLICT - Version it not maching. 467221167Sgnn * 468221167Sgnn * See also: vxge_hal_aux_driver_config_read(). 469221167Sgnn */ 470221167Sgnnvxge_hal_status_e 471221167Sgnnvxge_hal_aux_device_config_read(vxge_hal_device_h devh, 472221167Sgnn int bufsize, char *retbuf, int *retsize) 473221167Sgnn{ 474221167Sgnn int i; 475221167Sgnn u32 size = sizeof(vxge_hal_device_config_t); 476221167Sgnn vxge_hal_status_e status; 477221167Sgnn vxge_hal_mac_config_t *mac_config; 478221167Sgnn vxge_hal_device_config_t *dev_config; 479221167Sgnn vxge_hal_device_t *hldev = (vxge_hal_device_t *) devh; 480221167Sgnn 481221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 482221167Sgnn 483221167Sgnn dev_config = (vxge_hal_device_config_t *) vxge_os_malloc(hldev->pdev, 484221167Sgnn sizeof(vxge_hal_device_config_t)); 485221167Sgnn if (dev_config == NULL) { 486221167Sgnn return (VXGE_HAL_FAIL); 487221167Sgnn } 488221167Sgnn 489221167Sgnn status = vxge_hal_mgmt_device_config(devh, dev_config, &size); 490221167Sgnn if (status != VXGE_HAL_OK) { 491221167Sgnn vxge_os_free(hldev->pdev, dev_config, 492221167Sgnn sizeof(vxge_hal_device_config_t)); 493221167Sgnn return (status); 494221167Sgnn } 495221167Sgnn 496221167Sgnn __HAL_AUX_CONFIG_ENTRY("DMA Block Pool size-Minimum", 497221167Sgnn dev_config->dma_blockpool_min, "%u"); 498221167Sgnn __HAL_AUX_CONFIG_ENTRY("DMA Block Pool size-Initial", 499221167Sgnn dev_config->dma_blockpool_initial, "%u"); 500221167Sgnn __HAL_AUX_CONFIG_ENTRY("DMA Block Pool size-Increment", 501221167Sgnn dev_config->dma_blockpool_incr, "%u"); 502221167Sgnn __HAL_AUX_CONFIG_ENTRY("DMA Block Pool size-Maximum", 503221167Sgnn dev_config->dma_blockpool_max, "%u"); 504221167Sgnn for (i = 0; i < VXGE_HAL_MAC_MAX_WIRE_PORTS; i++) { 505221167Sgnn mac_config = &dev_config->mrpcim_config.mac_config; 506221167Sgnn __HAL_AUX_CONFIG_ENTRY("port_id", 507221167Sgnn mac_config->wire_port_config[i].port_id, "%u"); 508221167Sgnn __HAL_AUX_CONFIG_ENTRY("media", 509221167Sgnn mac_config->wire_port_config[i].media, "%u"); 510221167Sgnn __HAL_AUX_CONFIG_ENTRY("mtu", 511221167Sgnn mac_config->wire_port_config[i].mtu, "%u"); 512221167Sgnn __HAL_AUX_CONFIG_ENTRY("autoneg_mode", 513221167Sgnn mac_config->wire_port_config[i].autoneg_mode, "%u"); 514221167Sgnn __HAL_AUX_CONFIG_ENTRY("fixed_use_fsm", 515221167Sgnn mac_config->wire_port_config[i].fixed_use_fsm, "%u"); 516221167Sgnn __HAL_AUX_CONFIG_ENTRY("antp_use_fsm", 517221167Sgnn mac_config->wire_port_config[i].antp_use_fsm, "%u"); 518221167Sgnn __HAL_AUX_CONFIG_ENTRY("anbe_use_fsm", 519221167Sgnn mac_config->wire_port_config[i].anbe_use_fsm, "%u"); 520221167Sgnn __HAL_AUX_CONFIG_ENTRY("link_stability_period", 521221167Sgnn mac_config->wire_port_config[i].link_stability_period, 522221167Sgnn "%u"); 523221167Sgnn __HAL_AUX_CONFIG_ENTRY("port_stability_period", 524221167Sgnn mac_config->wire_port_config[i].port_stability_period, 525221167Sgnn "%u"); 526221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_en", 527221167Sgnn mac_config->wire_port_config[i].tmac_en, "%u"); 528221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_en", 529221167Sgnn mac_config->wire_port_config[i].rmac_en, "%u"); 530221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_pad", 531221167Sgnn mac_config->wire_port_config[i].tmac_pad, "%u"); 532221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_pad_byte", 533221167Sgnn mac_config->wire_port_config[i].tmac_pad_byte, "%u"); 534221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_util_period", 535221167Sgnn mac_config->wire_port_config[i].tmac_util_period, "%u"); 536221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_strip_fcs", 537221167Sgnn mac_config->wire_port_config[i].rmac_strip_fcs, "%u"); 538221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_prom_en", 539221167Sgnn mac_config->wire_port_config[i].rmac_prom_en, "%u"); 540221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_discard_pfrm", 541221167Sgnn mac_config->wire_port_config[i].rmac_discard_pfrm, "%u"); 542221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_util_period", 543221167Sgnn mac_config->wire_port_config[i].rmac_util_period, "%u"); 544221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_gen_en", 545221167Sgnn mac_config->wire_port_config[i].rmac_pause_gen_en, "%u"); 546221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_rcv_en", 547221167Sgnn mac_config->wire_port_config[i].rmac_pause_rcv_en, "%u"); 548221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_time", 549221167Sgnn mac_config->wire_port_config[i].rmac_pause_time, "%u"); 550221167Sgnn __HAL_AUX_CONFIG_ENTRY("limiter_en", 551221167Sgnn mac_config->wire_port_config[i].limiter_en, "%u"); 552221167Sgnn __HAL_AUX_CONFIG_ENTRY("max_limit", 553221167Sgnn mac_config->wire_port_config[i].max_limit, "%u"); 554221167Sgnn } 555221167Sgnn 556221167Sgnn /* CONSTCOND */ 557221167Sgnn __HAL_AUX_CONFIG_ENTRY("port_id", 558221167Sgnn VXGE_HAL_MAC_SWITCH_PORT, "%u"); 559221167Sgnn __HAL_AUX_CONFIG_ENTRY("mtu", 560221167Sgnn mac_config->switch_port_config.mtu, "%u"); 561221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_en", 562221167Sgnn mac_config->switch_port_config.tmac_en, "%u"); 563221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_en", 564221167Sgnn mac_config->switch_port_config.rmac_en, "%u"); 565221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_pad", 566221167Sgnn mac_config->switch_port_config.tmac_pad, "%u"); 567221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_pad_byte", 568221167Sgnn mac_config->switch_port_config.tmac_pad_byte, "%u"); 569221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_util_period", 570221167Sgnn mac_config->switch_port_config.tmac_util_period, "%u"); 571221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_strip_fcs", 572221167Sgnn mac_config->switch_port_config.rmac_strip_fcs, "%u"); 573221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_prom_en", 574221167Sgnn mac_config->switch_port_config.rmac_prom_en, "%u"); 575221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_discard_pfrm", 576221167Sgnn mac_config->switch_port_config.rmac_discard_pfrm, "%u"); 577221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_util_period", 578221167Sgnn mac_config->switch_port_config.rmac_util_period, "%u"); 579221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_gen_en", 580221167Sgnn mac_config->switch_port_config.rmac_pause_gen_en, "%u"); 581221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_rcv_en", 582221167Sgnn mac_config->switch_port_config.rmac_pause_rcv_en, "%u"); 583221167Sgnn __HAL_AUX_CONFIG_ENTRY("rmac_pause_time", 584221167Sgnn mac_config->switch_port_config.rmac_pause_time, "%u"); 585221167Sgnn __HAL_AUX_CONFIG_ENTRY("limiter_en", 586221167Sgnn mac_config->switch_port_config.limiter_en, "%u"); 587221167Sgnn __HAL_AUX_CONFIG_ENTRY("max_limit", 588221167Sgnn mac_config->switch_port_config.max_limit, "%u"); 589221167Sgnn 590221167Sgnn __HAL_AUX_CONFIG_ENTRY("network_stability_period", 591221167Sgnn mac_config->network_stability_period, "%u"); 592221167Sgnn for (i = 0; i < 16; i++) { 593221167Sgnn __HAL_AUX_CONFIG_ENTRY("mc_pause_threshold[i]", 594221167Sgnn mac_config->mc_pause_threshold[i], "%u"); 595221167Sgnn } 596221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_perma_stop_en", 597221167Sgnn mac_config->tmac_perma_stop_en, "%u"); 598221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_tx_switch_dis", 599221167Sgnn mac_config->tmac_tx_switch_dis, "%u"); 600221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_lossy_switch_en", 601221167Sgnn mac_config->tmac_lossy_switch_en, "%u"); 602221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_lossy_wire_en", 603221167Sgnn mac_config->tmac_lossy_wire_en, "%u"); 604221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_bcast_to_wire_dis", 605221167Sgnn mac_config->tmac_bcast_to_wire_dis, "%u"); 606221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_bcast_to_switch_dis", 607221167Sgnn mac_config->tmac_bcast_to_switch_dis, "%u"); 608221167Sgnn __HAL_AUX_CONFIG_ENTRY("tmac_host_append_fcs_en", 609221167Sgnn mac_config->tmac_host_append_fcs_en, "%u"); 610221167Sgnn __HAL_AUX_CONFIG_ENTRY("tpa_support_snap_ab_n", 611221167Sgnn mac_config->tpa_support_snap_ab_n, "%u"); 612221167Sgnn __HAL_AUX_CONFIG_ENTRY("tpa_ecc_enable_n", 613221167Sgnn mac_config->tpa_ecc_enable_n, "%u"); 614221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_ignore_frame_err", 615221167Sgnn mac_config->rpa_ignore_frame_err, "%u"); 616221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_support_snap_ab_n", 617221167Sgnn mac_config->rpa_support_snap_ab_n, "%u"); 618221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_search_for_hao", 619221167Sgnn mac_config->rpa_search_for_hao, "%u"); 620221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_support_ipv6_mobile_hdrs", 621221167Sgnn mac_config->rpa_support_ipv6_mobile_hdrs, "%u"); 622221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_ipv6_stop_searching", 623221167Sgnn mac_config->rpa_ipv6_stop_searching, "%u"); 624221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_no_ps_if_unknown", 625221167Sgnn mac_config->rpa_no_ps_if_unknown, "%u"); 626221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_search_for_etype", 627221167Sgnn mac_config->rpa_search_for_etype, "%u"); 628221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_l4_comp_csum", 629221167Sgnn mac_config->rpa_repl_l4_comp_csum, "%u"); 630221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_l3_incl_cf", 631221167Sgnn mac_config->rpa_repl_l3_incl_cf, "%u"); 632221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_l3_comp_csum", 633221167Sgnn mac_config->rpa_repl_l3_comp_csum, "%u"); 634221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_ipv4_tcp_incl_ph", 635221167Sgnn mac_config->rpa_repl_ipv4_tcp_incl_ph, "%u"); 636221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_ipv6_tcp_incl_ph", 637221167Sgnn mac_config->rpa_repl_ipv6_tcp_incl_ph, "%u"); 638221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_ipv4_udp_incl_ph", 639221167Sgnn mac_config->rpa_repl_ipv4_udp_incl_ph, "%u"); 640221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_ipv6_udp_incl_ph", 641221167Sgnn mac_config->rpa_repl_ipv6_udp_incl_ph, "%u"); 642221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_l4_incl_cf", 643221167Sgnn mac_config->rpa_repl_l4_incl_cf, "%u"); 644221167Sgnn __HAL_AUX_CONFIG_ENTRY("rpa_repl_strip_vlan_tag", 645221167Sgnn mac_config->rpa_repl_strip_vlan_tag, "%u"); 646221167Sgnn __HAL_AUX_CONFIG_ENTRY("ISR Polling count", 647221167Sgnn dev_config->isr_polling_cnt, "%u"); 648221167Sgnn __HAL_AUX_CONFIG_ENTRY("Maximum Payload Size", 649221167Sgnn dev_config->max_payload_size, "%u"); 650221167Sgnn __HAL_AUX_CONFIG_ENTRY("MMRB Count", 651221167Sgnn dev_config->mmrb_count, "%u"); 652221167Sgnn __HAL_AUX_CONFIG_ENTRY("Statistics Refresh Time", 653221167Sgnn dev_config->stats_refresh_time_sec, "%u"); 654221167Sgnn __HAL_AUX_CONFIG_ENTRY("Interrupt Mode", 655221167Sgnn dev_config->intr_mode, "%u"); 656221167Sgnn __HAL_AUX_CONFIG_ENTRY("Dump on Unknwon Error", 657221167Sgnn dev_config->dump_on_unknown, "%u"); 658221167Sgnn __HAL_AUX_CONFIG_ENTRY("Dump on Serious Error", 659221167Sgnn dev_config->dump_on_serr, "%u"); 660221167Sgnn __HAL_AUX_CONFIG_ENTRY("Dump on Critical Error", 661221167Sgnn dev_config->dump_on_critical, "%u"); 662221167Sgnn __HAL_AUX_CONFIG_ENTRY("Dump on ECC Error", 663221167Sgnn dev_config->dump_on_eccerr, "%u"); 664221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTH Enable", 665221167Sgnn dev_config->rth_en, "%u"); 666221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTS MAC Enable", 667221167Sgnn dev_config->rts_mac_en, "%u"); 668221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTS QOS Enable", 669221167Sgnn dev_config->rts_qos_en, "%u"); 670221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTS Port Enable", 671221167Sgnn dev_config->rts_port_en, "%u"); 672221167Sgnn __HAL_AUX_CONFIG_ENTRY("Max CQE Groups", 673221167Sgnn dev_config->max_cqe_groups, "%u"); 674221167Sgnn __HAL_AUX_CONFIG_ENTRY("Max Number of OD Groups", 675221167Sgnn dev_config->max_num_wqe_od_groups, "%u"); 676221167Sgnn __HAL_AUX_CONFIG_ENTRY("No WQE Threshold", 677221167Sgnn dev_config->no_wqe_threshold, "%u"); 678221167Sgnn __HAL_AUX_CONFIG_ENTRY("Refill Threshold-High", 679221167Sgnn dev_config->refill_threshold_high, "%u"); 680221167Sgnn __HAL_AUX_CONFIG_ENTRY("Refill Threshold-Low", 681221167Sgnn dev_config->refill_threshold_low, "%u"); 682221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ack Block Limit", 683221167Sgnn dev_config->ack_blk_limit, "%u"); 684221167Sgnn __HAL_AUX_CONFIG_ENTRY("Poll or Doorbell", 685221167Sgnn dev_config->poll_or_doorbell, "%u"); 686221167Sgnn __HAL_AUX_CONFIG_ENTRY("stats_read_method", 687221167Sgnn dev_config->stats_read_method, "%u"); 688221167Sgnn __HAL_AUX_CONFIG_ENTRY("Device Poll Timeout", 689221167Sgnn dev_config->device_poll_millis, "%u"); 690221167Sgnn __HAL_AUX_CONFIG_ENTRY("debug_level", 691221167Sgnn dev_config->debug_level, "%u"); 692221167Sgnn __HAL_AUX_CONFIG_ENTRY("debug_mask", 693221167Sgnn dev_config->debug_mask, "%u"); 694221167Sgnn 695221167Sgnn#if defined(VXGE_TRACE_INTO_CIRCULAR_ARR) 696221167Sgnn __HAL_AUX_CONFIG_ENTRY("Trace buffer size", 697221167Sgnn dev_config->tracebuf_size, "%u"); 698221167Sgnn#endif 699221167Sgnn 700221167Sgnn for (i = 0; i < VXGE_HAL_MAX_VIRTUAL_PATHS; i++) { 701221167Sgnn if (!(((__hal_device_t *) hldev)->vpath_assignments & mBIT(i))) 702221167Sgnn continue; 703221167Sgnn 704221167Sgnn __HAL_AUX_CONFIG_ENTRY("Virtual Path id", 705221167Sgnn dev_config->vp_config[i].vp_id, "%u"); 706221167Sgnn __HAL_AUX_CONFIG_ENTRY("No Snoop", 707221167Sgnn dev_config->vp_config[i].no_snoop, "%u"); 708221167Sgnn __HAL_AUX_CONFIG_ENTRY("mtu", 709221167Sgnn dev_config->vp_config[i].mtu, "%u"); 710221167Sgnn __HAL_AUX_CONFIG_ENTRY("TPA LSOv2 Enable", 711221167Sgnn dev_config->vp_config[i].tpa_lsov2_en, "%u"); 712221167Sgnn __HAL_AUX_CONFIG_ENTRY("TPA Ignore Frame Error", 713221167Sgnn dev_config->vp_config[i].tpa_ignore_frame_error, "%u"); 714221167Sgnn __HAL_AUX_CONFIG_ENTRY("TPA IPv6 Keep Searching", 715221167Sgnn dev_config->vp_config[i].tpa_ipv6_keep_searching, "%u"); 716221167Sgnn __HAL_AUX_CONFIG_ENTRY("TPA L4 pseudo header present", 717221167Sgnn dev_config->vp_config[i].tpa_l4_pshdr_present, "%u"); 718221167Sgnn __HAL_AUX_CONFIG_ENTRY("TPA support mobile IPv6 Headers", 719221167Sgnn dev_config->vp_config[i].tpa_support_mobile_ipv6_hdrs, 720221167Sgnn "%u"); 721221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA IPv4 TCP Include pseudo header", 722221167Sgnn dev_config->vp_config[i].rpa_ipv4_tcp_incl_ph, "%u"); 723221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA IPv6 TCP Include pseudo header", 724221167Sgnn dev_config->vp_config[i].rpa_ipv6_tcp_incl_ph, "%u"); 725221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA IPv4 UDP Include pseudo header", 726221167Sgnn dev_config->vp_config[i].rpa_ipv4_udp_incl_ph, "%u"); 727221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA IPv6 UDP Include pseudo header", 728221167Sgnn dev_config->vp_config[i].rpa_ipv6_udp_incl_ph, "%u"); 729221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA L4 Include CF", 730221167Sgnn dev_config->vp_config[i].rpa_l4_incl_cf, "%u"); 731221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA Strip VLAN Tag", 732221167Sgnn dev_config->vp_config[i].rpa_strip_vlan_tag, "%u"); 733221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA L4 Comp Csum Enable", 734221167Sgnn dev_config->vp_config[i].rpa_l4_comp_csum, "%u"); 735221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA L3 Include CF Enable", 736221167Sgnn dev_config->vp_config[i].rpa_l3_incl_cf, "%u"); 737221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA L3 Comp Csum", 738221167Sgnn dev_config->vp_config[i].rpa_l3_comp_csum, "%u"); 739221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA Unicast All Address Enable", 740221167Sgnn dev_config->vp_config[i].rpa_ucast_all_addr_en, "%u"); 741221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA Unicast All Address Enable", 742221167Sgnn dev_config->vp_config[i].rpa_ucast_all_addr_en, "%u"); 743221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA Multicast All Address Enable", 744221167Sgnn dev_config->vp_config[i].rpa_mcast_all_addr_en, "%u"); 745221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA Broadcast Enable", 746221167Sgnn dev_config->vp_config[i].rpa_bcast_en, "%u"); 747221167Sgnn __HAL_AUX_CONFIG_ENTRY("RPA All VID Enable", 748221167Sgnn dev_config->vp_config[i].rpa_all_vid_en, "%u"); 749221167Sgnn __HAL_AUX_CONFIG_ENTRY("VP Queue L2 Flow", 750221167Sgnn dev_config->vp_config[i].vp_queue_l2_flow, "%u"); 751221167Sgnn 752221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ring blocks", 753221167Sgnn dev_config->vp_config[i].ring.ring_length, "%u"); 754221167Sgnn __HAL_AUX_CONFIG_ENTRY("Buffer Mode", 755221167Sgnn dev_config->vp_config[i].ring.buffer_mode, "%u"); 756221167Sgnn __HAL_AUX_CONFIG_ENTRY("Scatter Mode", 757221167Sgnn dev_config->vp_config[i].ring.scatter_mode, "%u"); 758221167Sgnn __HAL_AUX_CONFIG_ENTRY("Post Mode", 759221167Sgnn dev_config->vp_config[i].ring.post_mode, "%u"); 760221167Sgnn __HAL_AUX_CONFIG_ENTRY("Maximum Frame Length", 761221167Sgnn dev_config->vp_config[i].ring.max_frm_len, "%u"); 762221167Sgnn __HAL_AUX_CONFIG_ENTRY("No Snoop Bits", 763221167Sgnn dev_config->vp_config[i].ring.no_snoop_bits, "%u"); 764221167Sgnn __HAL_AUX_CONFIG_ENTRY("Rx Timer Value", 765221167Sgnn dev_config->vp_config[i].ring.rx_timer_val, "%u"); 766221167Sgnn __HAL_AUX_CONFIG_ENTRY("Greedy return", 767221167Sgnn dev_config->vp_config[i].ring.greedy_return, "%u"); 768221167Sgnn __HAL_AUX_CONFIG_ENTRY("Rx Timer CI", 769221167Sgnn dev_config->vp_config[i].ring.rx_timer_ci, "%u"); 770221167Sgnn __HAL_AUX_CONFIG_ENTRY("Backoff Interval", 771221167Sgnn dev_config->vp_config[i].ring.backoff_interval_us, "%u"); 772221167Sgnn __HAL_AUX_CONFIG_ENTRY("Indicate Max Packets", 773221167Sgnn dev_config->vp_config[i].ring.indicate_max_pkts, "%u"); 774221167Sgnn 775221167Sgnn 776221167Sgnn __HAL_AUX_CONFIG_ENTRY("FIFO Blocks", 777221167Sgnn dev_config->vp_config[i].fifo.fifo_length, "%u"); 778221167Sgnn __HAL_AUX_CONFIG_ENTRY("Max Frags", 779221167Sgnn dev_config->vp_config[i].fifo.max_frags, "%u"); 780221167Sgnn __HAL_AUX_CONFIG_ENTRY("Alignment Size", 781221167Sgnn dev_config->vp_config[i].fifo.alignment_size, "%u"); 782221167Sgnn __HAL_AUX_CONFIG_ENTRY("Maximum Aligned Frags", 783221167Sgnn dev_config->vp_config[i].fifo.max_aligned_frags, "%u"); 784221167Sgnn __HAL_AUX_CONFIG_ENTRY("Interrupt Enable", 785221167Sgnn dev_config->vp_config[i].fifo.intr, "%u"); 786221167Sgnn __HAL_AUX_CONFIG_ENTRY("No Snoop Bits", 787221167Sgnn dev_config->vp_config[i].fifo.no_snoop_bits, "%u"); 788221167Sgnn 789221167Sgnn 790221167Sgnn __HAL_AUX_CONFIG_ENTRY("Interrupt Enable", 791221167Sgnn dev_config->vp_config[i].tti.intr_enable, "%u"); 792221167Sgnn __HAL_AUX_CONFIG_ENTRY("BTimer Value", 793221167Sgnn dev_config->vp_config[i].tti.btimer_val, "%u"); 794221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer AC Enable", 795221167Sgnn dev_config->vp_config[i].tti.timer_ac_en, "%u"); 796221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer CI Enable", 797221167Sgnn dev_config->vp_config[i].tti.timer_ci_en, "%u"); 798221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer RI Enable", 799221167Sgnn dev_config->vp_config[i].tti.timer_ri_en, "%u"); 800221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer Event SF", 801221167Sgnn dev_config->vp_config[i].tti.rtimer_event_sf, "%u"); 802221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTimer Value", 803221167Sgnn dev_config->vp_config[i].tti.rtimer_val, "%u"); 804221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Sel", 805221167Sgnn dev_config->vp_config[i].tti.util_sel, "%u"); 806221167Sgnn __HAL_AUX_CONFIG_ENTRY("LTimer Value", 807221167Sgnn dev_config->vp_config[i].tti.ltimer_val, "%u"); 808221167Sgnn __HAL_AUX_CONFIG_ENTRY("Tx Frame Count Enable", 809221167Sgnn dev_config->vp_config[i].tti.txfrm_cnt_en, "%u"); 810221167Sgnn __HAL_AUX_CONFIG_ENTRY("Txd Count Enable", 811221167Sgnn dev_config->vp_config[i].tti.txd_cnt_en, "%u"); 812221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range A", 813221167Sgnn dev_config->vp_config[i].tti.urange_a, "%u"); 814221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count A", 815221167Sgnn dev_config->vp_config[i].tti.uec_a, "%u"); 816221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range B", 817221167Sgnn dev_config->vp_config[i].tti.urange_b, "%u"); 818221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count B", 819221167Sgnn dev_config->vp_config[i].tti.uec_b, "%u"); 820221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range C", 821221167Sgnn dev_config->vp_config[i].tti.urange_c, "%u"); 822221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count C", 823221167Sgnn dev_config->vp_config[i].tti.uec_c, "%u"); 824221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count D", 825221167Sgnn dev_config->vp_config[i].tti.uec_d, "%u"); 826221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca Interrupt Threshold", 827221167Sgnn dev_config->vp_config[i].tti.ufca_intr_thres, "%u"); 828221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca Low Limit", 829221167Sgnn dev_config->vp_config[i].tti.ufca_lo_lim, "%u"); 830221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca High Limit", 831221167Sgnn dev_config->vp_config[i].tti.ufca_hi_lim, "%u"); 832221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca lbolt period", 833221167Sgnn dev_config->vp_config[i].tti.ufca_lbolt_period, "%u"); 834221167Sgnn 835221167Sgnn __HAL_AUX_CONFIG_ENTRY("Interrupt Enable", 836221167Sgnn dev_config->vp_config[i].rti.intr_enable, "%u"); 837221167Sgnn __HAL_AUX_CONFIG_ENTRY("BTimer Value", 838221167Sgnn dev_config->vp_config[i].rti.btimer_val, "%u"); 839221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer AC Enable", 840221167Sgnn dev_config->vp_config[i].rti.timer_ac_en, "%u"); 841221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer CI Enable", 842221167Sgnn dev_config->vp_config[i].rti.timer_ci_en, "%u"); 843221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer RI Enable", 844221167Sgnn dev_config->vp_config[i].rti.timer_ri_en, "%u"); 845221167Sgnn __HAL_AUX_CONFIG_ENTRY("Timer Event SF", 846221167Sgnn dev_config->vp_config[i].rti.rtimer_event_sf, "%u"); 847221167Sgnn __HAL_AUX_CONFIG_ENTRY("RTimer Value", 848221167Sgnn dev_config->vp_config[i].rti.rtimer_val, "%u"); 849221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Sel", 850221167Sgnn dev_config->vp_config[i].rti.util_sel, "%u"); 851221167Sgnn __HAL_AUX_CONFIG_ENTRY("LTimer Value", 852221167Sgnn dev_config->vp_config[i].rti.ltimer_val, "%u"); 853221167Sgnn __HAL_AUX_CONFIG_ENTRY("Tx Frame Count Enable", 854221167Sgnn dev_config->vp_config[i].rti.txfrm_cnt_en, "%u"); 855221167Sgnn __HAL_AUX_CONFIG_ENTRY("Txd Count Enable", 856221167Sgnn dev_config->vp_config[i].rti.txd_cnt_en, "%u"); 857221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range A", 858221167Sgnn dev_config->vp_config[i].rti.urange_a, "%u"); 859221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count A", 860221167Sgnn dev_config->vp_config[i].rti.uec_a, "%u"); 861221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range B", 862221167Sgnn dev_config->vp_config[i].rti.urange_b, "%u"); 863221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count B", 864221167Sgnn dev_config->vp_config[i].rti.uec_b, "%u"); 865221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Range C", 866221167Sgnn dev_config->vp_config[i].rti.urange_c, "%u"); 867221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count C", 868221167Sgnn dev_config->vp_config[i].rti.uec_c, "%u"); 869221167Sgnn __HAL_AUX_CONFIG_ENTRY("Util Event Count D", 870221167Sgnn dev_config->vp_config[i].rti.uec_d, "%u"); 871221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca Interrupt Threshold", 872221167Sgnn dev_config->vp_config[i].rti.ufca_intr_thres, "%u"); 873221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca Low Limit", 874221167Sgnn dev_config->vp_config[i].rti.ufca_lo_lim, "%u"); 875221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca High Limit", 876221167Sgnn dev_config->vp_config[i].rti.ufca_hi_lim, "%u"); 877221167Sgnn __HAL_AUX_CONFIG_ENTRY("Ufca lbolt period", 878221167Sgnn dev_config->vp_config[i].rti.ufca_lbolt_period, "%u"); 879221167Sgnn } 880221167Sgnn 881221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 882221167Sgnn 883221167Sgnn vxge_os_free(hldev->pdev, dev_config, 884221167Sgnn sizeof(vxge_hal_device_config_t)); 885221167Sgnn 886221167Sgnn return (VXGE_HAL_OK); 887221167Sgnn} 888221167Sgnn 889221167Sgnn/* 890221167Sgnn * vxge_hal_aux_bar0_read - Read and format X3100 BAR0 register. 891221167Sgnn * @devh: HAL device handle. 892221167Sgnn * @offset: Register offset in the BAR0 space. 893221167Sgnn * @bufsize: Buffer size. 894221167Sgnn * @retbuf: Buffer pointer. 895221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 896221167Sgnn * 897221167Sgnn * Read X3100 register from BAR0 space. 898221167Sgnn * 899221167Sgnn * Returns: VXGE_HAL_OK - success. 900221167Sgnn * VXGE_HAL_ERR_OUT_OF_SPACE - Buffer size is very small. 901221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 902221167Sgnn * VXGE_HAL_ERR_INVALID_OFFSET - Register offset in the BAR space is not 903221167Sgnn * valid. 904221167Sgnn * 905221167Sgnn * See also: vxge_hal_mgmt_reg_read(). 906221167Sgnn */ 907221167Sgnnvxge_hal_status_e 908221167Sgnnvxge_hal_aux_bar0_read(vxge_hal_device_h devh, 909221167Sgnn unsigned int offset, int bufsize, char *retbuf, 910221167Sgnn int *retsize) 911221167Sgnn{ 912221167Sgnn vxge_hal_status_e status; 913221167Sgnn u64 retval; 914221167Sgnn 915221167Sgnn status = vxge_hal_mgmt_bar0_read(devh, offset, &retval); 916221167Sgnn if (status != VXGE_HAL_OK) 917221167Sgnn return (status); 918221167Sgnn 919221167Sgnn if (bufsize < VXGE_OS_SPRINTF_STRLEN) 920221167Sgnn return (VXGE_HAL_ERR_OUT_OF_SPACE); 921221167Sgnn 922221167Sgnn *retsize = vxge_os_snprintf(retbuf, bufsize, 923221167Sgnn "0x%04X%c0x%08X%08X\n", offset, 924221167Sgnn VXGE_HAL_AUX_SEPA, (u32) (retval >> 32), (u32) retval); 925221167Sgnn 926221167Sgnn return (VXGE_HAL_OK); 927221167Sgnn} 928221167Sgnn 929221167Sgnn/* 930221167Sgnn * vxge_hal_aux_bar1_read - Read and format X3100 BAR1 register. 931221167Sgnn * @devh: HAL device handle. 932221167Sgnn * @offset: Register offset in the BAR1 space. 933221167Sgnn * @bufsize: Buffer size. 934221167Sgnn * @retbuf: Buffer pointer. 935221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 936221167Sgnn * 937221167Sgnn * Read X3100 register from BAR1 space. 938221167Sgnn * Returns: VXGE_HAL_OK - success. 939221167Sgnn * VXGE_HAL_ERR_OUT_OF_SPACE - Buffer size is very small. 940221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 941221167Sgnn * VXGE_HAL_ERR_INVALID_OFFSET - Register offset in the BAR space is not 942221167Sgnn * valid. 943221167Sgnn * 944221167Sgnn * See also: vxge_hal_mgmt_reg_read(). 945221167Sgnn */ 946221167Sgnnvxge_hal_status_e 947221167Sgnnvxge_hal_aux_bar1_read(vxge_hal_device_h devh, 948221167Sgnn unsigned int offset, int bufsize, char *retbuf, 949221167Sgnn int *retsize) 950221167Sgnn{ 951221167Sgnn vxge_hal_status_e status; 952221167Sgnn u64 retval; 953221167Sgnn 954221167Sgnn status = vxge_hal_mgmt_bar1_read(devh, offset, &retval); 955221167Sgnn if (status != VXGE_HAL_OK) 956221167Sgnn return (status); 957221167Sgnn 958221167Sgnn if (bufsize < VXGE_OS_SPRINTF_STRLEN) 959221167Sgnn return (VXGE_HAL_ERR_OUT_OF_SPACE); 960221167Sgnn 961221167Sgnn *retsize = vxge_os_snprintf(retbuf, bufsize, "0x%04X%c0x%08X%08X\n", 962221167Sgnn offset, VXGE_HAL_AUX_SEPA, (u32) (retval >> 32), (u32) retval); 963221167Sgnn 964221167Sgnn return (VXGE_HAL_OK); 965221167Sgnn} 966221167Sgnn 967221167Sgnn/* 968221167Sgnn * vxge_hal_aux_bar0_write - Write BAR0 register. 969221167Sgnn * @devh: HAL device handle. 970221167Sgnn * @offset: Register offset in the BAR0 space. 971221167Sgnn * @value: Regsister value (to write). 972221167Sgnn * 973221167Sgnn * Write BAR0 register. 974221167Sgnn * 975221167Sgnn * Returns: VXGE_HAL_OK - success. 976221167Sgnn * VXGE_HAL_ERR_INVALID_DEVICE - Device is not valid. 977221167Sgnn * VXGE_HAL_ERR_INVALID_OFFSET - Register offset in the BAR space is not 978221167Sgnn * valid. 979221167Sgnn * 980221167Sgnn * See also: vxge_hal_mgmt_reg_write(). 981221167Sgnn */ 982221167Sgnnvxge_hal_status_e 983221167Sgnnvxge_hal_aux_bar0_write(vxge_hal_device_h devh, 984221167Sgnn unsigned int offset, u64 value) 985221167Sgnn{ 986221167Sgnn vxge_hal_status_e status; 987221167Sgnn 988221167Sgnn status = vxge_hal_mgmt_bar0_write(devh, offset, value); 989221167Sgnn if (status != VXGE_HAL_OK) 990221167Sgnn return (status); 991221167Sgnn 992221167Sgnn return (VXGE_HAL_OK); 993221167Sgnn} 994221167Sgnn 995221167Sgnn/* 996221167Sgnn * vxge_hal_aux_stats_vpath_hw_read - Read vpath hardware statistics. 997221167Sgnn * @vpath_handle: HAL Vpath handle. 998221167Sgnn * @bufsize: Buffer size. 999221167Sgnn * @retbuf: Buffer pointer. 1000221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1001221167Sgnn * 1002221167Sgnn * Read vpath hardware statistics. This is a subset of stats counters 1003221167Sgnn * from vxge_hal_vpath_stats_hw_info_t {}. 1004221167Sgnn * 1005221167Sgnn */ 1006221167Sgnnvxge_hal_status_e 1007221167Sgnnvxge_hal_aux_stats_vpath_hw_read( 1008221167Sgnn vxge_hal_vpath_h vpath_handle, 1009221167Sgnn int bufsize, 1010221167Sgnn char *retbuf, 1011221167Sgnn int *retsize) 1012221167Sgnn{ 1013221167Sgnn vxge_hal_status_e status; 1014221167Sgnn vxge_hal_vpath_stats_hw_info_t hw_info; 1015221167Sgnn 1016221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1017221167Sgnn 1018221167Sgnn vxge_assert(vpath_handle != NULL); 1019221167Sgnn 1020221167Sgnn status = vxge_hal_vpath_hw_stats_enable(vpath_handle); 1021221167Sgnn if (status != VXGE_HAL_OK) 1022221167Sgnn return (status); 1023221167Sgnn 1024221167Sgnn status = vxge_hal_vpath_hw_stats_get(vpath_handle, &hw_info); 1025221167Sgnn if (status != VXGE_HAL_OK) 1026221167Sgnn return (status); 1027221167Sgnn 1028221167Sgnn __HAL_AUX_ENTRY("ini_num_mwr_sent", 1029221167Sgnn hw_info.ini_num_mwr_sent, "%u"); 1030221167Sgnn __HAL_AUX_ENTRY("ini_num_mrd_sent", 1031221167Sgnn hw_info.ini_num_mrd_sent, "%u"); 1032221167Sgnn __HAL_AUX_ENTRY("ini_num_cpl_rcvd", 1033221167Sgnn hw_info.ini_num_cpl_rcvd, "%u"); 1034221167Sgnn __HAL_AUX_ENTRY("ini_num_mwr_byte_sent", 1035221167Sgnn hw_info.ini_num_mwr_byte_sent, "%llu"); 1036221167Sgnn __HAL_AUX_ENTRY("ini_num_cpl_byte_rcvd", 1037221167Sgnn hw_info.ini_num_cpl_byte_rcvd, "%llu"); 1038221167Sgnn __HAL_AUX_ENTRY("wrcrdtarb_xoff", 1039221167Sgnn hw_info.wrcrdtarb_xoff, "%u"); 1040221167Sgnn __HAL_AUX_ENTRY("rdcrdtarb_xoff", 1041221167Sgnn hw_info.rdcrdtarb_xoff, "%u"); 1042221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count0", 1043221167Sgnn hw_info.vpath_genstats_count0, "%u"); 1044221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count1", 1045221167Sgnn hw_info.vpath_genstats_count1, "%u"); 1046221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count2", 1047221167Sgnn hw_info.vpath_genstats_count2, "%u"); 1048221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count3", 1049221167Sgnn hw_info.vpath_genstats_count3, "%u"); 1050221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count4", 1051221167Sgnn hw_info.vpath_genstats_count4, "%u"); 1052221167Sgnn __HAL_AUX_ENTRY("vpath_genstats_count5", 1053221167Sgnn hw_info.vpath_genstats_count5, "%u"); 1054221167Sgnn __HAL_AUX_ENTRY("tx_ttl_eth_frms", 1055221167Sgnn hw_info.tx_stats.tx_ttl_eth_frms, "%llu"); 1056221167Sgnn __HAL_AUX_ENTRY("tx_ttl_eth_octets", 1057221167Sgnn hw_info.tx_stats.tx_ttl_eth_octets, "%llu"); 1058221167Sgnn __HAL_AUX_ENTRY("tx_data_octets", 1059221167Sgnn hw_info.tx_stats.tx_data_octets, "%llu"); 1060221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms", 1061221167Sgnn hw_info.tx_stats.tx_mcast_frms, "%llu"); 1062221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms", 1063221167Sgnn hw_info.tx_stats.tx_bcast_frms, "%llu"); 1064221167Sgnn __HAL_AUX_ENTRY("tx_ucast_frms", 1065221167Sgnn hw_info.tx_stats.tx_ucast_frms, "%llu"); 1066221167Sgnn __HAL_AUX_ENTRY("tx_tagged_frms", 1067221167Sgnn hw_info.tx_stats.tx_tagged_frms, "%llu"); 1068221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip", 1069221167Sgnn hw_info.tx_stats.tx_vld_ip, "%llu"); 1070221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_octets", 1071221167Sgnn hw_info.tx_stats.tx_vld_ip_octets, "%llu"); 1072221167Sgnn __HAL_AUX_ENTRY("tx_icmp", 1073221167Sgnn hw_info.tx_stats.tx_icmp, "%llu"); 1074221167Sgnn __HAL_AUX_ENTRY("tx_tcp", 1075221167Sgnn hw_info.tx_stats.tx_tcp, "%llu"); 1076221167Sgnn __HAL_AUX_ENTRY("tx_rst_tcp", 1077221167Sgnn hw_info.tx_stats.tx_rst_tcp, "%llu"); 1078221167Sgnn __HAL_AUX_ENTRY("tx_udp", 1079221167Sgnn hw_info.tx_stats.tx_udp, "%llu"); 1080221167Sgnn __HAL_AUX_ENTRY("tx_unknown_protocol", 1081221167Sgnn hw_info.tx_stats.tx_unknown_protocol, "%u"); 1082221167Sgnn __HAL_AUX_ENTRY("tx_lost_ip", 1083221167Sgnn hw_info.tx_stats.tx_lost_ip, "%u"); 1084221167Sgnn __HAL_AUX_ENTRY("tx_parse_error", 1085221167Sgnn hw_info.tx_stats.tx_parse_error, "%u"); 1086221167Sgnn __HAL_AUX_ENTRY("tx_tcp_offload", 1087221167Sgnn hw_info.tx_stats.tx_tcp_offload, "%llu"); 1088221167Sgnn __HAL_AUX_ENTRY("tx_retx_tcp_offload", 1089221167Sgnn hw_info.tx_stats.tx_retx_tcp_offload, "%llu"); 1090221167Sgnn __HAL_AUX_ENTRY("tx_lost_ip_offload", 1091221167Sgnn hw_info.tx_stats.tx_lost_ip_offload, "%llu"); 1092221167Sgnn __HAL_AUX_ENTRY("rx_ttl_eth_frms", 1093221167Sgnn hw_info.rx_stats.rx_ttl_eth_frms, "%llu"); 1094221167Sgnn __HAL_AUX_ENTRY("rx_vld_frms", 1095221167Sgnn hw_info.rx_stats.rx_vld_frms, "%llu"); 1096221167Sgnn __HAL_AUX_ENTRY("rx_offload_frms", 1097221167Sgnn hw_info.rx_stats.rx_offload_frms, "%llu"); 1098221167Sgnn __HAL_AUX_ENTRY("rx_ttl_eth_octets", 1099221167Sgnn hw_info.rx_stats.rx_ttl_eth_octets, "%llu"); 1100221167Sgnn __HAL_AUX_ENTRY("rx_data_octets", 1101221167Sgnn hw_info.rx_stats.rx_data_octets, "%llu"); 1102221167Sgnn __HAL_AUX_ENTRY("rx_offload_octets", 1103221167Sgnn hw_info.rx_stats.rx_offload_octets, "%llu"); 1104221167Sgnn __HAL_AUX_ENTRY("rx_vld_mcast_frms", 1105221167Sgnn hw_info.rx_stats.rx_vld_mcast_frms, "%llu"); 1106221167Sgnn __HAL_AUX_ENTRY("rx_vld_bcast_frms", 1107221167Sgnn hw_info.rx_stats.rx_vld_bcast_frms, "%llu"); 1108221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ucast_frms", 1109221167Sgnn hw_info.rx_stats.rx_accepted_ucast_frms, "%llu"); 1110221167Sgnn __HAL_AUX_ENTRY("rx_accepted_nucast_frms", 1111221167Sgnn hw_info.rx_stats.rx_accepted_nucast_frms, "%llu"); 1112221167Sgnn __HAL_AUX_ENTRY("rx_tagged_frms", 1113221167Sgnn hw_info.rx_stats.rx_tagged_frms, "%llu"); 1114221167Sgnn __HAL_AUX_ENTRY("rx_long_frms", 1115221167Sgnn hw_info.rx_stats.rx_long_frms, "%llu"); 1116221167Sgnn __HAL_AUX_ENTRY("rx_usized_frms", 1117221167Sgnn hw_info.rx_stats.rx_usized_frms, "%llu"); 1118221167Sgnn __HAL_AUX_ENTRY("rx_osized_frms", 1119221167Sgnn hw_info.rx_stats.rx_osized_frms, "%llu"); 1120221167Sgnn __HAL_AUX_ENTRY("rx_frag_frms", 1121221167Sgnn hw_info.rx_stats.rx_frag_frms, "%llu"); 1122221167Sgnn __HAL_AUX_ENTRY("rx_jabber_frms", 1123221167Sgnn hw_info.rx_stats.rx_jabber_frms, "%llu"); 1124221167Sgnn __HAL_AUX_ENTRY("rx_ttl_64_frms", 1125221167Sgnn hw_info.rx_stats.rx_ttl_64_frms, "%llu"); 1126221167Sgnn __HAL_AUX_ENTRY("rx_ttl_65_127_frms", 1127221167Sgnn hw_info.rx_stats.rx_ttl_65_127_frms, "%llu"); 1128221167Sgnn __HAL_AUX_ENTRY("rx_ttl_128_255_frms", 1129221167Sgnn hw_info.rx_stats.rx_ttl_128_255_frms, "%llu"); 1130221167Sgnn __HAL_AUX_ENTRY("rx_ttl_256_511_frms", 1131221167Sgnn hw_info.rx_stats.rx_ttl_256_511_frms, "%llu"); 1132221167Sgnn __HAL_AUX_ENTRY("rx_ttl_512_1023_frms", 1133221167Sgnn hw_info.rx_stats.rx_ttl_512_1023_frms, "%llu"); 1134221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1024_1518_frms", 1135221167Sgnn hw_info.rx_stats.rx_ttl_1024_1518_frms, "%llu"); 1136221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1519_4095_frms", 1137221167Sgnn hw_info.rx_stats.rx_ttl_1519_4095_frms, "%llu"); 1138221167Sgnn __HAL_AUX_ENTRY("rx_ttl_4096_8191_frms", 1139221167Sgnn hw_info.rx_stats.rx_ttl_4096_8191_frms, "%llu"); 1140221167Sgnn __HAL_AUX_ENTRY("rx_ttl_8192_max_frms", 1141221167Sgnn hw_info.rx_stats.rx_ttl_8192_max_frms, "%llu"); 1142221167Sgnn __HAL_AUX_ENTRY("rx_ttl_gt_max_frms", 1143221167Sgnn hw_info.rx_stats.rx_ttl_gt_max_frms, "%llu"); 1144221167Sgnn __HAL_AUX_ENTRY("rx_ip", 1145221167Sgnn hw_info.rx_stats.rx_ip, "%llu"); 1146221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ip", 1147221167Sgnn hw_info.rx_stats.rx_accepted_ip, "%llu"); 1148221167Sgnn __HAL_AUX_ENTRY("rx_ip_octets", 1149221167Sgnn hw_info.rx_stats.rx_ip_octets, "%llu"); 1150221167Sgnn __HAL_AUX_ENTRY("rx_err_ip", 1151221167Sgnn hw_info.rx_stats.rx_err_ip, "%llu"); 1152221167Sgnn __HAL_AUX_ENTRY("rx_icmp", 1153221167Sgnn hw_info.rx_stats.rx_icmp, "%llu"); 1154221167Sgnn __HAL_AUX_ENTRY("rx_tcp", 1155221167Sgnn hw_info.rx_stats.rx_tcp, "%llu"); 1156221167Sgnn __HAL_AUX_ENTRY("rx_udp", 1157221167Sgnn hw_info.rx_stats.rx_udp, "%llu"); 1158221167Sgnn __HAL_AUX_ENTRY("rx_err_tcp", 1159221167Sgnn hw_info.rx_stats.rx_err_tcp, "%llu"); 1160221167Sgnn __HAL_AUX_ENTRY("rx_lost_frms", 1161221167Sgnn hw_info.rx_stats.rx_lost_frms, "%llu"); 1162221167Sgnn __HAL_AUX_ENTRY("rx_lost_ip", 1163221167Sgnn hw_info.rx_stats.rx_lost_ip, "%llu"); 1164221167Sgnn __HAL_AUX_ENTRY("rx_lost_ip_offload", 1165221167Sgnn hw_info.rx_stats.rx_lost_ip_offload, "%llu"); 1166221167Sgnn __HAL_AUX_ENTRY("rx_various_discard", 1167221167Sgnn hw_info.rx_stats.rx_various_discard, "%u"); 1168221167Sgnn __HAL_AUX_ENTRY("rx_sleep_discard", 1169221167Sgnn hw_info.rx_stats.rx_sleep_discard, "%u"); 1170221167Sgnn __HAL_AUX_ENTRY("rx_red_discard", 1171221167Sgnn hw_info.rx_stats.rx_red_discard, "%u"); 1172221167Sgnn __HAL_AUX_ENTRY("rx_queue_full_discard", 1173221167Sgnn hw_info.rx_stats.rx_queue_full_discard, "%u"); 1174221167Sgnn __HAL_AUX_ENTRY("rx_mpa_ok_frms", 1175221167Sgnn hw_info.rx_stats.rx_mpa_ok_frms, "%llu"); 1176221167Sgnn __HAL_AUX_ENTRY("prog_event_vnum1", 1177221167Sgnn hw_info.prog_event_vnum1, "%u"); 1178221167Sgnn __HAL_AUX_ENTRY("prog_event_vnum0", 1179221167Sgnn hw_info.prog_event_vnum0, "%u"); 1180221167Sgnn __HAL_AUX_ENTRY("prog_event_vnum3", 1181221167Sgnn hw_info.prog_event_vnum3, "%u"); 1182221167Sgnn __HAL_AUX_ENTRY("prog_event_vnum2", 1183221167Sgnn hw_info.prog_event_vnum2, "%u"); 1184221167Sgnn __HAL_AUX_ENTRY("rx_multi_cast_frame_discard", 1185221167Sgnn hw_info.rx_multi_cast_frame_discard, "%u"); 1186221167Sgnn __HAL_AUX_ENTRY("rx_frm_transferred", 1187221167Sgnn hw_info.rx_frm_transferred, "%u"); 1188221167Sgnn __HAL_AUX_ENTRY("rxd_returned", 1189221167Sgnn hw_info.rxd_returned, "%u"); 1190221167Sgnn __HAL_AUX_ENTRY("rx_mpa_len_fail_frms", 1191221167Sgnn hw_info.rx_mpa_len_fail_frms, "%u"); 1192221167Sgnn __HAL_AUX_ENTRY("rx_mpa_mrk_fail_frms", 1193221167Sgnn hw_info.rx_mpa_mrk_fail_frms, "%u"); 1194221167Sgnn __HAL_AUX_ENTRY("rx_mpa_crc_fail_frms", 1195221167Sgnn hw_info.rx_mpa_crc_fail_frms, "%u"); 1196221167Sgnn __HAL_AUX_ENTRY("rx_permitted_frms", 1197221167Sgnn hw_info.rx_permitted_frms, "%u"); 1198221167Sgnn __HAL_AUX_ENTRY("rx_vp_reset_discarded_frms", 1199221167Sgnn hw_info.rx_vp_reset_discarded_frms, "%llu"); 1200221167Sgnn __HAL_AUX_ENTRY("rx_wol_frms", 1201221167Sgnn hw_info.rx_wol_frms, "%llu"); 1202221167Sgnn __HAL_AUX_ENTRY("tx_vp_reset_discarded_frms", 1203221167Sgnn hw_info.tx_vp_reset_discarded_frms, "%llu"); 1204221167Sgnn 1205221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1206221167Sgnn 1207221167Sgnn return (VXGE_HAL_OK); 1208221167Sgnn} 1209221167Sgnn 1210221167Sgnn/* 1211221167Sgnn * vxge_hal_aux_stats_device_hw_read - Read device hardware statistics. 1212221167Sgnn * @devh: HAL device handle. 1213221167Sgnn * @bufsize: Buffer size. 1214221167Sgnn * @retbuf: Buffer pointer. 1215221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1216221167Sgnn * 1217221167Sgnn * Read device hardware statistics. This is a subset of stats counters 1218221167Sgnn * from vxge_hal_device_stats_hw_info_t {}. 1219221167Sgnn * 1220221167Sgnn */ 1221221167Sgnnvxge_hal_status_e 1222221167Sgnnvxge_hal_aux_stats_device_hw_read(vxge_hal_device_h devh, 1223221167Sgnn int bufsize, char *retbuf, int *retsize) 1224221167Sgnn{ 1225221167Sgnn u32 i; 1226221167Sgnn int rsize = 0; 1227221167Sgnn vxge_hal_status_e status; 1228221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 1229221167Sgnn 1230221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1231221167Sgnn 1232221167Sgnn vxge_assert(devh); 1233221167Sgnn 1234221167Sgnn for (i = 0; i < VXGE_HAL_MAX_VIRTUAL_PATHS; i++) { 1235221167Sgnn 1236221167Sgnn if (!(hldev->vpaths_deployed & mBIT(i))) 1237221167Sgnn continue; 1238221167Sgnn 1239221167Sgnn __HAL_AUX_ENTRY("H/W stats for vpath id", i, "%u"); 1240221167Sgnn 1241221167Sgnn status = vxge_hal_aux_stats_vpath_hw_read( 1242221167Sgnn VXGE_HAL_VIRTUAL_PATH_HANDLE(&hldev->virtual_paths[i]), 1243221167Sgnn leftsize, ptr, &rsize); 1244221167Sgnn 1245221167Sgnn if (status != VXGE_HAL_OK) 1246221167Sgnn return (status); 1247221167Sgnn 1248221167Sgnn ptr += rsize; 1249221167Sgnn leftsize -= rsize; 1250221167Sgnn 1251221167Sgnn } 1252221167Sgnn 1253221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1254221167Sgnn 1255221167Sgnn return (VXGE_HAL_OK); 1256221167Sgnn} 1257221167Sgnn 1258221167Sgnn#define __HAL_AUX_VPATH_SW_COMMON_INFO(prefix, common) {\ 1259221167Sgnn __HAL_AUX_ENTRY(prefix"full_cnt", (common)->full_cnt, "%u");\ 1260221167Sgnn __HAL_AUX_ENTRY(prefix"usage_cnt", (common)->usage_cnt, "%u");\ 1261221167Sgnn __HAL_AUX_ENTRY(prefix"usage_max", (common)->usage_max, "%u");\ 1262221167Sgnn __HAL_AUX_ENTRY(prefix"avg_compl_per_intr_cnt",\ 1263221167Sgnn (common)->avg_compl_per_intr_cnt, "%u");\ 1264221167Sgnn __HAL_AUX_ENTRY(prefix"total_compl_cnt",\ 1265221167Sgnn (common)->total_compl_cnt, "%u");\ 1266221167Sgnn} 1267221167Sgnn 1268221167Sgnn/* 1269221167Sgnn * vxge_hal_aux_stats_vpath_sw_fifo_read - Read vpath fifo software statistics. 1270221167Sgnn * @vpath_handle: HAL Vpath handle. 1271221167Sgnn * @bufsize: Buffer size. 1272221167Sgnn * @retbuf: Buffer pointer. 1273221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1274221167Sgnn * 1275221167Sgnn * Read vpath fifo software statistics. This is a subset of stats counters 1276221167Sgnn * from vxge_hal_vpath_stats_sw_fifo_info_t {}. 1277221167Sgnn * 1278221167Sgnn */ 1279221167Sgnnvxge_hal_status_e 1280221167Sgnnvxge_hal_aux_stats_vpath_sw_fifo_read( 1281221167Sgnn vxge_hal_vpath_h vpath_handle, 1282221167Sgnn int bufsize, 1283221167Sgnn char *retbuf, 1284221167Sgnn int *retsize) 1285221167Sgnn{ 1286221167Sgnn u32 i; 1287221167Sgnn u8 strbuf[256]; 1288221167Sgnn vxge_hal_status_e status; 1289221167Sgnn vxge_hal_vpath_stats_sw_fifo_info_t *fifo_info; 1290221167Sgnn vxge_hal_vpath_stats_sw_info_t sw_stats; 1291221167Sgnn 1292221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1293221167Sgnn 1294221167Sgnn vxge_assert(vpath_handle != NULL); 1295221167Sgnn 1296221167Sgnn status = vxge_hal_vpath_sw_stats_get(vpath_handle, &sw_stats); 1297221167Sgnn if (status != VXGE_HAL_OK) 1298221167Sgnn return (status); 1299221167Sgnn 1300221167Sgnn fifo_info = &sw_stats.fifo_stats; 1301221167Sgnn 1302221167Sgnn __HAL_AUX_VPATH_SW_COMMON_INFO("fifo_", 1303221167Sgnn &fifo_info->common_stats); 1304221167Sgnn 1305221167Sgnn __HAL_AUX_ENTRY("total_posts", 1306221167Sgnn fifo_info->total_posts, "%u"); 1307221167Sgnn __HAL_AUX_ENTRY("total_buffers", 1308221167Sgnn fifo_info->total_buffers, "%u"); 1309221167Sgnn __HAL_AUX_ENTRY("avg_buffers_per_post", 1310221167Sgnn fifo_info->avg_buffers_per_post, "%u"); 1311221167Sgnn __HAL_AUX_ENTRY("copied_frags", 1312221167Sgnn fifo_info->copied_frags, "%u"); 1313221167Sgnn __HAL_AUX_ENTRY("copied_buffers", 1314221167Sgnn fifo_info->copied_buffers, "%u"); 1315221167Sgnn __HAL_AUX_ENTRY("avg_buffer_size", 1316221167Sgnn fifo_info->avg_buffer_size, "%u"); 1317221167Sgnn __HAL_AUX_ENTRY("avg_post_size", 1318221167Sgnn fifo_info->avg_post_size, "%u"); 1319221167Sgnn __HAL_AUX_ENTRY("total_frags", 1320221167Sgnn fifo_info->total_frags, "%u"); 1321221167Sgnn __HAL_AUX_ENTRY("copied_frags", 1322221167Sgnn fifo_info->copied_frags, "%u"); 1323221167Sgnn __HAL_AUX_ENTRY("total_posts_dang_dtrs", 1324221167Sgnn fifo_info->total_posts_dang_dtrs, "%u"); 1325221167Sgnn __HAL_AUX_ENTRY("total_posts_dang_frags", 1326221167Sgnn fifo_info->total_posts_dang_frags, "%u"); 1327221167Sgnn 1328221167Sgnn for (i = 0; i < 16; i++) { 1329221167Sgnn (void) vxge_os_snprintf((char *) strbuf, 1330221167Sgnn sizeof(strbuf), "txd_t_code_err_cnt[%d]", i); 1331221167Sgnn __HAL_AUX_ENTRY(strbuf, 1332221167Sgnn fifo_info->txd_t_code_err_cnt[i], "%u"); 1333221167Sgnn } 1334221167Sgnn 1335221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1336221167Sgnn 1337221167Sgnn return (VXGE_HAL_OK); 1338221167Sgnn} 1339221167Sgnn 1340221167Sgnn/* 1341221167Sgnn * vxge_hal_aux_stats_vpath_sw_ring_read - Read vpath ring software statistics. 1342221167Sgnn * @vpath_handle: HAL Vpath handle. 1343221167Sgnn * @bufsize: Buffer size. 1344221167Sgnn * @retbuf: Buffer pointer. 1345221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1346221167Sgnn * 1347221167Sgnn * Read vpath ring software statistics. This is a subset of stats counters 1348221167Sgnn * from vxge_hal_vpath_stats_sw_ring_info_t {}. 1349221167Sgnn * 1350221167Sgnn */ 1351221167Sgnnvxge_hal_status_e 1352221167Sgnnvxge_hal_aux_stats_vpath_sw_ring_read( 1353221167Sgnn vxge_hal_vpath_h vpath_handle, 1354221167Sgnn int bufsize, 1355221167Sgnn char *retbuf, 1356221167Sgnn int *retsize) 1357221167Sgnn{ 1358221167Sgnn u32 i; 1359221167Sgnn u8 strbuf[256]; 1360221167Sgnn vxge_hal_status_e status; 1361221167Sgnn vxge_hal_vpath_stats_sw_ring_info_t *ring_info; 1362221167Sgnn vxge_hal_vpath_stats_sw_info_t sw_stats; 1363221167Sgnn 1364221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1365221167Sgnn 1366221167Sgnn vxge_assert(vpath_handle != NULL); 1367221167Sgnn 1368221167Sgnn status = vxge_hal_vpath_sw_stats_get(vpath_handle, &sw_stats); 1369221167Sgnn if (status != VXGE_HAL_OK) 1370221167Sgnn return (status); 1371221167Sgnn 1372221167Sgnn ring_info = &sw_stats.ring_stats; 1373221167Sgnn 1374221167Sgnn __HAL_AUX_VPATH_SW_COMMON_INFO("ring_", 1375221167Sgnn &ring_info->common_stats); 1376221167Sgnn 1377221167Sgnn for (i = 0; i < 16; i++) { 1378221167Sgnn (void) vxge_os_snprintf((char *) strbuf, 1379221167Sgnn sizeof(strbuf), "rxd_t_code_err_cnt[%d]", i); 1380221167Sgnn __HAL_AUX_ENTRY(strbuf, 1381221167Sgnn ring_info->rxd_t_code_err_cnt[i], "%u"); 1382221167Sgnn } 1383221167Sgnn 1384221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1385221167Sgnn 1386221167Sgnn return (VXGE_HAL_OK); 1387221167Sgnn} 1388221167Sgnn 1389221167Sgnn 1390221167Sgnn/* 1391221167Sgnn * vxge_hal_aux_stats_vpath_sw_err_read - Read vpath err software statistics. 1392221167Sgnn * @vpath_handle: HAL Vpath handle. 1393221167Sgnn * @bufsize: Buffer size. 1394221167Sgnn * @retbuf: Buffer pointer. 1395221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1396221167Sgnn * 1397221167Sgnn * Read vpath err software statistics. This is a subset of stats counters 1398221167Sgnn * from vxge_hal_vpath_stats_sw_err_info_t {}. 1399221167Sgnn * 1400221167Sgnn */ 1401221167Sgnnvxge_hal_status_e 1402221167Sgnnvxge_hal_aux_stats_vpath_sw_err_read( 1403221167Sgnn vxge_hal_vpath_h vpath_handle, 1404221167Sgnn int bufsize, 1405221167Sgnn char *retbuf, 1406221167Sgnn int *retsize) 1407221167Sgnn{ 1408221167Sgnn vxge_hal_vpath_stats_sw_err_t *err_info; 1409221167Sgnn __hal_vpath_handle_t *vp = (__hal_vpath_handle_t *) vpath_handle; 1410221167Sgnn 1411221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1412221167Sgnn 1413221167Sgnn vxge_assert(vpath_handle != NULL); 1414221167Sgnn 1415221167Sgnn err_info = &vp->vpath->sw_stats->error_stats; 1416221167Sgnn 1417221167Sgnn __HAL_AUX_ENTRY("unknown_alarms", 1418221167Sgnn err_info->unknown_alarms, "%u"); 1419221167Sgnn __HAL_AUX_ENTRY("network_sustained_fault", 1420221167Sgnn err_info->network_sustained_fault, "%u"); 1421221167Sgnn __HAL_AUX_ENTRY("network_sustained_ok", 1422221167Sgnn err_info->network_sustained_ok, "%u"); 1423221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo0_overwrite", 1424221167Sgnn err_info->kdfcctl_fifo0_overwrite, "%u"); 1425221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo0_poison", 1426221167Sgnn err_info->kdfcctl_fifo0_poison, "%u"); 1427221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo0_dma_error", 1428221167Sgnn err_info->kdfcctl_fifo0_dma_error, "%u"); 1429221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo1_overwrite", 1430221167Sgnn err_info->kdfcctl_fifo1_overwrite, "%u"); 1431221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo1_poison", 1432221167Sgnn err_info->kdfcctl_fifo1_poison, "%u"); 1433221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo1_dma_error", 1434221167Sgnn err_info->kdfcctl_fifo1_dma_error, "%u"); 1435221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo2_overwrite", 1436221167Sgnn err_info->kdfcctl_fifo2_overwrite, "%u"); 1437221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo2_poison", 1438221167Sgnn err_info->kdfcctl_fifo2_poison, "%u"); 1439221167Sgnn __HAL_AUX_ENTRY("kdfcctl_fifo2_dma_error", 1440221167Sgnn err_info->kdfcctl_fifo2_dma_error, "%u"); 1441221167Sgnn __HAL_AUX_ENTRY("dblgen_fifo0_overflow", 1442221167Sgnn err_info->dblgen_fifo0_overflow, "%u"); 1443221167Sgnn __HAL_AUX_ENTRY("dblgen_fifo1_overflow", 1444221167Sgnn err_info->dblgen_fifo1_overflow, "%u"); 1445221167Sgnn __HAL_AUX_ENTRY("dblgen_fifo2_overflow", 1446221167Sgnn err_info->dblgen_fifo2_overflow, "%u"); 1447221167Sgnn __HAL_AUX_ENTRY("statsb_pif_chain_error", 1448221167Sgnn err_info->statsb_pif_chain_error, "%u"); 1449221167Sgnn __HAL_AUX_ENTRY("statsb_drop_timeout", 1450221167Sgnn err_info->statsb_drop_timeout, "%u"); 1451221167Sgnn __HAL_AUX_ENTRY("target_illegal_access", 1452221167Sgnn err_info->target_illegal_access, "%u"); 1453221167Sgnn __HAL_AUX_ENTRY("ini_serr_det", 1454221167Sgnn err_info->ini_serr_det, "%u"); 1455221167Sgnn __HAL_AUX_ENTRY("pci_config_status_err", 1456221167Sgnn err_info->pci_config_status_err, "%u"); 1457221167Sgnn __HAL_AUX_ENTRY("pci_config_uncor_err", 1458221167Sgnn err_info->pci_config_uncor_err, "%u"); 1459221167Sgnn __HAL_AUX_ENTRY("pci_config_cor_err", 1460221167Sgnn err_info->pci_config_cor_err, "%u"); 1461221167Sgnn __HAL_AUX_ENTRY("mrpcim_to_vpath_alarms", 1462221167Sgnn err_info->mrpcim_to_vpath_alarms, "%u"); 1463221167Sgnn __HAL_AUX_ENTRY("srpcim_to_vpath_alarms", 1464221167Sgnn err_info->srpcim_to_vpath_alarms, "%u"); 1465221167Sgnn __HAL_AUX_ENTRY("srpcim_msg_to_vpath", 1466221167Sgnn err_info->srpcim_msg_to_vpath, "%u"); 1467221167Sgnn __HAL_AUX_ENTRY("prc_ring_bumps", 1468221167Sgnn err_info->prc_ring_bumps, "%u"); 1469221167Sgnn __HAL_AUX_ENTRY("prc_rxdcm_sc_err", 1470221167Sgnn err_info->prc_rxdcm_sc_err, "%u"); 1471221167Sgnn __HAL_AUX_ENTRY("prc_rxdcm_sc_abort", 1472221167Sgnn err_info->prc_rxdcm_sc_abort, "%u"); 1473221167Sgnn __HAL_AUX_ENTRY("prc_quanta_size_err", 1474221167Sgnn err_info->prc_quanta_size_err, "%u"); 1475221167Sgnn 1476221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1477221167Sgnn 1478221167Sgnn return (VXGE_HAL_OK); 1479221167Sgnn} 1480221167Sgnn 1481221167Sgnn/* 1482221167Sgnn * vxge_hal_aux_stats_vpath_sw_read - Read vpath soft statistics. 1483221167Sgnn * @vpath_handle: HAL Vpath handle. 1484221167Sgnn * @bufsize: Buffer size. 1485221167Sgnn * @retbuf: Buffer pointer. 1486221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1487221167Sgnn * 1488221167Sgnn * Read device hardware statistics. This is a subset of stats counters 1489221167Sgnn * from vxge_hal_vpath_stats_sw_info_t {}. 1490221167Sgnn * 1491221167Sgnn */ 1492221167Sgnnvxge_hal_status_e 1493221167Sgnnvxge_hal_aux_stats_vpath_sw_read( 1494221167Sgnn vxge_hal_vpath_h vpath_handle, 1495221167Sgnn int bufsize, 1496221167Sgnn char *retbuf, 1497221167Sgnn int *retsize) 1498221167Sgnn{ 1499221167Sgnn int rsize = 0; 1500221167Sgnn vxge_hal_status_e status; 1501221167Sgnn vxge_hal_vpath_stats_sw_info_t *sw_info; 1502221167Sgnn __hal_vpath_handle_t *vp = (__hal_vpath_handle_t *) vpath_handle; 1503221167Sgnn 1504221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1505221167Sgnn 1506221167Sgnn vxge_assert(vpath_handle != NULL); 1507221167Sgnn 1508221167Sgnn sw_info = vp->vpath->sw_stats; 1509221167Sgnn 1510221167Sgnn __HAL_AUX_ENTRY("soft_reset_cnt", sw_info->soft_reset_cnt, "%u"); 1511221167Sgnn 1512221167Sgnn 1513221167Sgnn status = vxge_hal_aux_stats_vpath_sw_err_read(vpath_handle, 1514221167Sgnn leftsize, ptr, &rsize); 1515221167Sgnn if (status != VXGE_HAL_OK) 1516221167Sgnn return (status); 1517221167Sgnn 1518221167Sgnn ptr += rsize; 1519221167Sgnn leftsize -= rsize; 1520221167Sgnn 1521221167Sgnn status = vxge_hal_aux_stats_vpath_sw_ring_read(vpath_handle, 1522221167Sgnn leftsize, ptr, &rsize); 1523221167Sgnn if (status != VXGE_HAL_OK) 1524221167Sgnn return (status); 1525221167Sgnn 1526221167Sgnn ptr += rsize; 1527221167Sgnn leftsize -= rsize; 1528221167Sgnn 1529221167Sgnn status = vxge_hal_aux_stats_vpath_sw_fifo_read(vpath_handle, 1530221167Sgnn leftsize, ptr, &rsize); 1531221167Sgnn if (status != VXGE_HAL_OK) 1532221167Sgnn return (status); 1533221167Sgnn 1534221167Sgnn 1535221167Sgnn leftsize -= rsize; 1536221167Sgnn 1537221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1538221167Sgnn 1539221167Sgnn return (VXGE_HAL_OK); 1540221167Sgnn} 1541221167Sgnn 1542221167Sgnn/* 1543221167Sgnn * vxge_hal_aux_stats_device_sw_read - Read device software statistics. 1544221167Sgnn * @devh: HAL device handle. 1545221167Sgnn * @bufsize: Buffer size. 1546221167Sgnn * @retbuf: Buffer pointer. 1547221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1548221167Sgnn * 1549221167Sgnn * Read device software statistics. This is a subset of stats counters 1550221167Sgnn * from vxge_hal_device_stats_sw_info_t {}. 1551221167Sgnn * 1552221167Sgnn */ 1553221167Sgnnvxge_hal_status_e 1554221167Sgnnvxge_hal_aux_stats_device_sw_read(vxge_hal_device_h devh, 1555221167Sgnn int bufsize, char *retbuf, int *retsize) 1556221167Sgnn{ 1557221167Sgnn u32 i; 1558221167Sgnn int rsize = 0; 1559221167Sgnn vxge_hal_status_e status; 1560221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 1561221167Sgnn 1562221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1563221167Sgnn 1564221167Sgnn vxge_assert(devh); 1565221167Sgnn 1566221167Sgnn __HAL_AUX_ENTRY("not_traffic_intr_cnt", 1567221167Sgnn hldev->header.not_traffic_intr_cnt, "%u"); 1568221167Sgnn __HAL_AUX_ENTRY("traffic_intr_cnt", 1569221167Sgnn hldev->header.traffic_intr_cnt, "%u"); 1570221167Sgnn __HAL_AUX_ENTRY("total_intr_cnt", 1571221167Sgnn hldev->header.not_traffic_intr_cnt + 1572221167Sgnn hldev->header.traffic_intr_cnt, "%u"); 1573221167Sgnn __HAL_AUX_ENTRY("soft_reset_cnt", 1574221167Sgnn hldev->stats.sw_dev_info_stats.soft_reset_cnt, "%u"); 1575221167Sgnn 1576221167Sgnn for (i = 0; i < VXGE_HAL_MAX_VIRTUAL_PATHS; i++) { 1577221167Sgnn 1578221167Sgnn if (!(hldev->vpaths_deployed & mBIT(i))) 1579221167Sgnn continue; 1580221167Sgnn 1581221167Sgnn __HAL_AUX_ENTRY("S/W stats for vpath id", i, "%u"); 1582221167Sgnn 1583221167Sgnn status = vxge_hal_aux_stats_vpath_sw_read( 1584221167Sgnn VXGE_HAL_VIRTUAL_PATH_HANDLE(&hldev->virtual_paths[i]), 1585221167Sgnn leftsize, ptr, &rsize); 1586221167Sgnn 1587221167Sgnn if (status != VXGE_HAL_OK) 1588221167Sgnn return (status); 1589221167Sgnn 1590221167Sgnn ptr += rsize; 1591221167Sgnn leftsize -= rsize; 1592221167Sgnn } 1593221167Sgnn 1594221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1595221167Sgnn 1596221167Sgnn return (VXGE_HAL_OK); 1597221167Sgnn} 1598221167Sgnn 1599221167Sgnn/* 1600221167Sgnn * vxge_hal_aux_stats_device_sw_err_read - Read device software error statistics 1601221167Sgnn * @devh: HAL device handle. 1602221167Sgnn * @bufsize: Buffer size. 1603221167Sgnn * @retbuf: Buffer pointer. 1604221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1605221167Sgnn * 1606221167Sgnn * Read device software error statistics. This is a subset of stats counters 1607221167Sgnn * from vxge_hal_device_stats_sw_info_t {}. 1608221167Sgnn * 1609221167Sgnn */ 1610221167Sgnnvxge_hal_status_e 1611221167Sgnnvxge_hal_aux_stats_device_sw_err_read(vxge_hal_device_h devh, 1612221167Sgnn int bufsize, char *retbuf, int *retsize) 1613221167Sgnn{ 1614221167Sgnn vxge_hal_device_stats_sw_err_t *sw_err; 1615221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 1616221167Sgnn 1617221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1618221167Sgnn 1619221167Sgnn vxge_assert(devh); 1620221167Sgnn 1621221167Sgnn sw_err = &hldev->stats.sw_dev_err_stats; 1622221167Sgnn 1623221167Sgnn __HAL_AUX_ENTRY("mrpcim_alarms", sw_err->mrpcim_alarms, "%u"); 1624221167Sgnn __HAL_AUX_ENTRY("srpcim_alarms", sw_err->srpcim_alarms, "%u"); 1625221167Sgnn __HAL_AUX_ENTRY("vpath_alarms", sw_err->vpath_alarms, "%u"); 1626221167Sgnn 1627221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1628221167Sgnn 1629221167Sgnn return (VXGE_HAL_OK); 1630221167Sgnn} 1631221167Sgnn 1632221167Sgnn/* 1633221167Sgnn * vxge_hal_aux_stats_device_read - Read device statistics. 1634221167Sgnn * @devh: HAL device handle. 1635221167Sgnn * @bufsize: Buffer size. 1636221167Sgnn * @retbuf: Buffer pointer. 1637221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1638221167Sgnn * 1639221167Sgnn * Read device statistics. This is a subset of stats counters 1640221167Sgnn * from vxge_hal_device_stats_t {}. 1641221167Sgnn * 1642221167Sgnn */ 1643221167Sgnnvxge_hal_status_e 1644221167Sgnnvxge_hal_aux_stats_device_read(vxge_hal_device_h devh, 1645221167Sgnn int bufsize, char *retbuf, int *retsize) 1646221167Sgnn{ 1647221167Sgnn char *ptr = retbuf; 1648221167Sgnn int rsize = 0, leftsize = bufsize; 1649221167Sgnn vxge_hal_status_e status; 1650221167Sgnn 1651221167Sgnn vxge_assert(devh); 1652221167Sgnn 1653221167Sgnn status = vxge_hal_aux_stats_device_hw_read(devh, 1654221167Sgnn leftsize, ptr, &rsize); 1655221167Sgnn if (status != VXGE_HAL_OK) 1656221167Sgnn return (status); 1657221167Sgnn 1658221167Sgnn ptr += rsize; 1659221167Sgnn leftsize -= rsize; 1660221167Sgnn 1661221167Sgnn status = vxge_hal_aux_stats_device_sw_err_read(devh, 1662221167Sgnn leftsize, ptr, &rsize); 1663221167Sgnn if (status != VXGE_HAL_OK) 1664221167Sgnn return (status); 1665221167Sgnn 1666221167Sgnn ptr += rsize; 1667221167Sgnn leftsize -= rsize; 1668221167Sgnn 1669221167Sgnn status = vxge_hal_aux_stats_device_sw_read(devh, 1670221167Sgnn leftsize, ptr, &rsize); 1671221167Sgnn if (status != VXGE_HAL_OK) 1672221167Sgnn return (status); 1673221167Sgnn 1674221167Sgnn leftsize -= rsize; 1675221167Sgnn 1676221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1677221167Sgnn 1678221167Sgnn return (VXGE_HAL_OK); 1679221167Sgnn} 1680221167Sgnn 1681221167Sgnn/* 1682221167Sgnn * vxge_hal_aux_stats_xpak_read - Read device xpak statistics. 1683221167Sgnn * @devh: HAL device handle. 1684221167Sgnn * @bufsize: Buffer size. 1685221167Sgnn * @retbuf: Buffer pointer. 1686221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1687221167Sgnn * 1688221167Sgnn * Read device xpak statistics. This is valid for function 0 device only 1689221167Sgnn * 1690221167Sgnn */ 1691221167Sgnnvxge_hal_status_e 1692221167Sgnnvxge_hal_aux_stats_xpak_read(vxge_hal_device_h devh, 1693221167Sgnn int bufsize, char *retbuf, int *retsize) 1694221167Sgnn{ 1695221167Sgnn u32 i; 1696221167Sgnn vxge_hal_mrpcim_xpak_stats_t *xpak_stats; 1697221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 1698221167Sgnn 1699221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1700221167Sgnn 1701221167Sgnn vxge_assert(devh); 1702221167Sgnn 1703221167Sgnn if (!(hldev->access_rights & VXGE_HAL_DEVICE_ACCESS_RIGHT_MRPCIM)) 1704221167Sgnn return (VXGE_HAL_ERR_PRIVILAGED_OPEARATION); 1705221167Sgnn 1706221167Sgnn for (i = 0; i < VXGE_HAL_MAC_MAX_WIRE_PORTS; i++) { 1707221167Sgnn 1708221167Sgnn xpak_stats = &hldev->mrpcim->xpak_stats[i]; 1709221167Sgnn 1710221167Sgnn __HAL_AUX_ENTRY("Wire Port Id : ", i, "%u"); 1711221167Sgnn __HAL_AUX_ENTRY("alarm_transceiver_temp_high", 1712221167Sgnn xpak_stats->excess_bias_current, "%u"); 1713221167Sgnn __HAL_AUX_ENTRY("alarm_transceiver_temp_high", 1714221167Sgnn xpak_stats->excess_laser_output, "%u"); 1715221167Sgnn __HAL_AUX_ENTRY("alarm_transceiver_temp_high", 1716221167Sgnn xpak_stats->excess_temp, "%u"); 1717221167Sgnn __HAL_AUX_ENTRY("alarm_transceiver_temp_high", 1718221167Sgnn xpak_stats->alarm_transceiver_temp_high, "%u"); 1719221167Sgnn __HAL_AUX_ENTRY("alarm_transceiver_temp_low", 1720221167Sgnn xpak_stats->alarm_transceiver_temp_low, "%u"); 1721221167Sgnn __HAL_AUX_ENTRY("alarm_laser_bias_current_high", 1722221167Sgnn xpak_stats->alarm_laser_bias_current_high, "%u"); 1723221167Sgnn __HAL_AUX_ENTRY("alarm_laser_bias_current_low", 1724221167Sgnn xpak_stats->alarm_laser_bias_current_low, "%u"); 1725221167Sgnn __HAL_AUX_ENTRY("alarm_laser_output_power_high", 1726221167Sgnn xpak_stats->alarm_laser_output_power_high, "%u"); 1727221167Sgnn __HAL_AUX_ENTRY("alarm_laser_output_power_low", 1728221167Sgnn xpak_stats->alarm_laser_output_power_low, "%u"); 1729221167Sgnn __HAL_AUX_ENTRY("warn_transceiver_temp_high", 1730221167Sgnn xpak_stats->warn_transceiver_temp_high, "%u"); 1731221167Sgnn __HAL_AUX_ENTRY("warn_transceiver_temp_low", 1732221167Sgnn xpak_stats->warn_transceiver_temp_low, "%u"); 1733221167Sgnn __HAL_AUX_ENTRY("warn_laser_bias_current_high", 1734221167Sgnn xpak_stats->warn_laser_bias_current_high, "%u"); 1735221167Sgnn __HAL_AUX_ENTRY("warn_laser_bias_current_low", 1736221167Sgnn xpak_stats->warn_laser_bias_current_low, "%u"); 1737221167Sgnn __HAL_AUX_ENTRY("warn_laser_output_power_high", 1738221167Sgnn xpak_stats->warn_laser_output_power_high, "%u"); 1739221167Sgnn __HAL_AUX_ENTRY("warn_laser_output_power_low", 1740221167Sgnn xpak_stats->warn_laser_output_power_low, "%u"); 1741221167Sgnn 1742221167Sgnn } 1743221167Sgnn 1744221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 1745221167Sgnn 1746221167Sgnn return (VXGE_HAL_OK); 1747221167Sgnn} 1748221167Sgnn/* 1749221167Sgnn * vxge_hal_aux_stats_mrpcim_read - Read device mrpcim statistics. 1750221167Sgnn * @devh: HAL device handle. 1751221167Sgnn * @bufsize: Buffer size. 1752221167Sgnn * @retbuf: Buffer pointer. 1753221167Sgnn * @retsize: Size of the result. Cannot be greater than @bufsize. 1754221167Sgnn * 1755221167Sgnn * Read device mrpcim statistics. This is valid for function 0 device only 1756221167Sgnn * 1757221167Sgnn */ 1758221167Sgnnvxge_hal_status_e 1759221167Sgnnvxge_hal_aux_stats_mrpcim_read(vxge_hal_device_h devh, 1760221167Sgnn int bufsize, char *retbuf, int *retsize) 1761221167Sgnn{ 1762221167Sgnn vxge_hal_status_e status; 1763221167Sgnn vxge_hal_mrpcim_stats_hw_info_t mrpcim_info; 1764221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 1765221167Sgnn 1766221167Sgnn __HAL_AUX_ENTRY_DECLARE(bufsize, retbuf); 1767221167Sgnn 1768221167Sgnn vxge_assert(devh); 1769221167Sgnn 1770221167Sgnn if (!(hldev->access_rights & VXGE_HAL_DEVICE_ACCESS_RIGHT_MRPCIM)) 1771221167Sgnn return (VXGE_HAL_ERR_PRIVILAGED_OPEARATION); 1772221167Sgnn 1773221167Sgnn status = vxge_hal_mrpcim_stats_enable(devh); 1774221167Sgnn if (status != VXGE_HAL_OK) 1775221167Sgnn return (status); 1776221167Sgnn 1777221167Sgnn status = vxge_hal_mrpcim_stats_get(devh, &mrpcim_info); 1778221167Sgnn if (status != VXGE_HAL_OK) 1779221167Sgnn return (status); 1780221167Sgnn 1781221167Sgnn __HAL_AUX_ENTRY("pic_ini_rd_drop", mrpcim_info.pic_ini_rd_drop, "%u"); 1782221167Sgnn __HAL_AUX_ENTRY("pic_ini_wr_drop", mrpcim_info.pic_ini_wr_drop, "%u"); 1783221167Sgnn 1784221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane0", 1785221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[0]. 1786221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1787221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane1", 1788221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[1]. 1789221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1790221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane2", 1791221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[2]. 1792221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1793221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane3", 1794221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[3]. 1795221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1796221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane4", 1797221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[4]. 1798221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1799221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane5", 1800221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[5]. 1801221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1802221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane6", 1803221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[6]. 1804221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1805221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane7", 1806221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[7]. 1807221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1808221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane8", 1809221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[8]. 1810221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1811221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane9", 1812221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[9]. 1813221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1814221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane10", 1815221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[10]. 1816221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1817221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane11", 1818221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[11]. 1819221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1820221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane12", 1821221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[12]. 1822221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1823221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane13", 1824221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[13]. 1825221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1826221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane14", 1827221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[14]. 1828221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1829221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane15", 1830221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[15]. 1831221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1832221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_ph_crdt_depleted_vplane16", 1833221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[16]. 1834221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1835221167Sgnn 1836221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane0", 1837221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[0]. 1838221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1839221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane1", 1840221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[1]. 1841221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1842221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane2", 1843221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[2]. 1844221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1845221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane3", 1846221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[3]. 1847221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1848221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane4", 1849221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[4]. 1850221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1851221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane5", 1852221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[5]. 1853221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1854221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane6", 1855221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[6]. 1856221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1857221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane7", 1858221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[7]. 1859221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1860221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane8", 1861221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[8]. 1862221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1863221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane9", 1864221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[9]. 1865221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1866221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane10", 1867221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[10]. 1868221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1869221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane11", 1870221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[11]. 1871221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1872221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane12", 1873221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[12]. 1874221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1875221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane13", 1876221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[13]. 1877221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1878221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane14", 1879221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[14]. 1880221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1881221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane15", 1882221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[15]. 1883221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1884221167Sgnn __HAL_AUX_ENTRY("pic_wrcrdtarb_pd_crdt_depleted_vplane16", 1885221167Sgnn mrpcim_info.pic_wrcrdtarb_pd_crdt_depleted_vplane[16]. 1886221167Sgnn pic_wrcrdtarb_pd_crdt_depleted, "%u"); 1887221167Sgnn 1888221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane0", 1889221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[0]. 1890221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1891221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane1", 1892221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[1]. 1893221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1894221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane2", 1895221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[2]. 1896221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1897221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane3", 1898221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[3]. 1899221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1900221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane4", 1901221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[4]. 1902221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1903221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane5", 1904221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[5]. 1905221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1906221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane6", 1907221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[6]. 1908221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1909221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane7", 1910221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[7]. 1911221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1912221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane8", 1913221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[8]. 1914221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1915221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane9", 1916221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[9]. 1917221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1918221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane10", 1919221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[10]. 1920221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1921221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane11", 1922221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[11]. 1923221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1924221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane12", 1925221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[12]. 1926221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1927221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane13", 1928221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[13]. 1929221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1930221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane14", 1931221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[14]. 1932221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1933221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane15", 1934221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[15]. 1935221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1936221167Sgnn __HAL_AUX_ENTRY("pic_rdcrdtarb_nph_crdt_depleted_vplane16", 1937221167Sgnn mrpcim_info.pic_rdcrdtarb_nph_crdt_depleted_vplane[16]. 1938221167Sgnn pic_rdcrdtarb_nph_crdt_depleted, "%u"); 1939221167Sgnn 1940221167Sgnn __HAL_AUX_ENTRY("pic_ini_rd_vpin_drop", 1941221167Sgnn mrpcim_info.pic_ini_rd_vpin_drop, "%u"); 1942221167Sgnn __HAL_AUX_ENTRY("pic_ini_wr_vpin_drop", 1943221167Sgnn mrpcim_info.pic_ini_wr_vpin_drop, "%u"); 1944221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count0", 1945221167Sgnn mrpcim_info.pic_genstats_count0, "%u"); 1946221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count1", 1947221167Sgnn mrpcim_info.pic_genstats_count1, "%u"); 1948221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count2", 1949221167Sgnn mrpcim_info.pic_genstats_count2, "%u"); 1950221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count3", 1951221167Sgnn mrpcim_info.pic_genstats_count3, "%u"); 1952221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count4", 1953221167Sgnn mrpcim_info.pic_genstats_count4, "%u"); 1954221167Sgnn __HAL_AUX_ENTRY("pic_genstats_count5", 1955221167Sgnn mrpcim_info.pic_genstats_count5, "%u"); 1956221167Sgnn __HAL_AUX_ENTRY("pci_rstdrop_cpl", 1957221167Sgnn mrpcim_info.pci_rstdrop_cpl, "%u"); 1958221167Sgnn __HAL_AUX_ENTRY("pci_rstdrop_msg", 1959221167Sgnn mrpcim_info.pci_rstdrop_msg, "%u"); 1960221167Sgnn __HAL_AUX_ENTRY("pci_rstdrop_client1", 1961221167Sgnn mrpcim_info.pci_rstdrop_client1, "%u"); 1962221167Sgnn __HAL_AUX_ENTRY("pci_rstdrop_client0", 1963221167Sgnn mrpcim_info.pci_rstdrop_client0, "%u"); 1964221167Sgnn __HAL_AUX_ENTRY("pci_rstdrop_client2", 1965221167Sgnn mrpcim_info.pci_rstdrop_client2, "%u"); 1966221167Sgnn 1967221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane0", 1968221167Sgnn mrpcim_info.pci_depl_h_vplane[0].pci_depl_cplh, "%u"); 1969221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane0", 1970221167Sgnn mrpcim_info.pci_depl_h_vplane[0].pci_depl_nph, "%u"); 1971221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane0", 1972221167Sgnn mrpcim_info.pci_depl_h_vplane[0].pci_depl_ph, "%u"); 1973221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane1", 1974221167Sgnn mrpcim_info.pci_depl_h_vplane[1].pci_depl_cplh, "%u"); 1975221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane1", 1976221167Sgnn mrpcim_info.pci_depl_h_vplane[1].pci_depl_nph, "%u"); 1977221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane1", 1978221167Sgnn mrpcim_info.pci_depl_h_vplane[1].pci_depl_ph, "%u"); 1979221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane2", 1980221167Sgnn mrpcim_info.pci_depl_h_vplane[2].pci_depl_cplh, "%u"); 1981221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane2", 1982221167Sgnn mrpcim_info.pci_depl_h_vplane[2].pci_depl_nph, "%u"); 1983221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane2", 1984221167Sgnn mrpcim_info.pci_depl_h_vplane[2].pci_depl_ph, "%u"); 1985221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane3", 1986221167Sgnn mrpcim_info.pci_depl_h_vplane[3].pci_depl_cplh, "%u"); 1987221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane3", 1988221167Sgnn mrpcim_info.pci_depl_h_vplane[3].pci_depl_nph, "%u"); 1989221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane3", 1990221167Sgnn mrpcim_info.pci_depl_h_vplane[3].pci_depl_ph, "%u"); 1991221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane4", 1992221167Sgnn mrpcim_info.pci_depl_h_vplane[4].pci_depl_cplh, "%u"); 1993221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane4", 1994221167Sgnn mrpcim_info.pci_depl_h_vplane[4].pci_depl_nph, "%u"); 1995221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane4", 1996221167Sgnn mrpcim_info.pci_depl_h_vplane[4].pci_depl_ph, "%u"); 1997221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane5", 1998221167Sgnn mrpcim_info.pci_depl_h_vplane[5].pci_depl_cplh, "%u"); 1999221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane5", 2000221167Sgnn mrpcim_info.pci_depl_h_vplane[5].pci_depl_nph, "%u"); 2001221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane5", 2002221167Sgnn mrpcim_info.pci_depl_h_vplane[5].pci_depl_ph, "%u"); 2003221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane6", 2004221167Sgnn mrpcim_info.pci_depl_h_vplane[6].pci_depl_cplh, "%u"); 2005221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane6", 2006221167Sgnn mrpcim_info.pci_depl_h_vplane[6].pci_depl_nph, "%u"); 2007221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane6", 2008221167Sgnn mrpcim_info.pci_depl_h_vplane[6].pci_depl_ph, "%u"); 2009221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane7", 2010221167Sgnn mrpcim_info.pci_depl_h_vplane[7].pci_depl_cplh, "%u"); 2011221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane7", 2012221167Sgnn mrpcim_info.pci_depl_h_vplane[7].pci_depl_nph, "%u"); 2013221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane7", 2014221167Sgnn mrpcim_info.pci_depl_h_vplane[7].pci_depl_ph, "%u"); 2015221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane8", 2016221167Sgnn mrpcim_info.pci_depl_h_vplane[8].pci_depl_cplh, "%u"); 2017221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane8", 2018221167Sgnn mrpcim_info.pci_depl_h_vplane[8].pci_depl_nph, "%u"); 2019221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane8", 2020221167Sgnn mrpcim_info.pci_depl_h_vplane[8].pci_depl_ph, "%u"); 2021221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane9", 2022221167Sgnn mrpcim_info.pci_depl_h_vplane[9].pci_depl_cplh, "%u"); 2023221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane9", 2024221167Sgnn mrpcim_info.pci_depl_h_vplane[9].pci_depl_nph, "%u"); 2025221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane9", 2026221167Sgnn mrpcim_info.pci_depl_h_vplane[9].pci_depl_ph, "%u"); 2027221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane10", 2028221167Sgnn mrpcim_info.pci_depl_h_vplane[10].pci_depl_cplh, "%u"); 2029221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane10", 2030221167Sgnn mrpcim_info.pci_depl_h_vplane[10].pci_depl_nph, "%u"); 2031221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane10", 2032221167Sgnn mrpcim_info.pci_depl_h_vplane[10].pci_depl_ph, "%u"); 2033221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane11", 2034221167Sgnn mrpcim_info.pci_depl_h_vplane[11].pci_depl_cplh, "%u"); 2035221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane11", 2036221167Sgnn mrpcim_info.pci_depl_h_vplane[11].pci_depl_nph, "%u"); 2037221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane11", 2038221167Sgnn mrpcim_info.pci_depl_h_vplane[11].pci_depl_ph, "%u"); 2039221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane12", 2040221167Sgnn mrpcim_info.pci_depl_h_vplane[12].pci_depl_cplh, "%u"); 2041221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane12", 2042221167Sgnn mrpcim_info.pci_depl_h_vplane[12].pci_depl_nph, "%u"); 2043221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane12", 2044221167Sgnn mrpcim_info.pci_depl_h_vplane[12].pci_depl_ph, "%u"); 2045221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane13", 2046221167Sgnn mrpcim_info.pci_depl_h_vplane[13].pci_depl_cplh, "%u"); 2047221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane13", 2048221167Sgnn mrpcim_info.pci_depl_h_vplane[13].pci_depl_nph, "%u"); 2049221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane13", 2050221167Sgnn mrpcim_info.pci_depl_h_vplane[13].pci_depl_ph, "%u"); 2051221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane14", 2052221167Sgnn mrpcim_info.pci_depl_h_vplane[14].pci_depl_cplh, "%u"); 2053221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane14", 2054221167Sgnn mrpcim_info.pci_depl_h_vplane[14].pci_depl_nph, "%u"); 2055221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane14", 2056221167Sgnn mrpcim_info.pci_depl_h_vplane[14].pci_depl_ph, "%u"); 2057221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane15", 2058221167Sgnn mrpcim_info.pci_depl_h_vplane[15].pci_depl_cplh, "%u"); 2059221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane15", 2060221167Sgnn mrpcim_info.pci_depl_h_vplane[15].pci_depl_nph, "%u"); 2061221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane15", 2062221167Sgnn mrpcim_info.pci_depl_h_vplane[15].pci_depl_ph, "%u"); 2063221167Sgnn __HAL_AUX_ENTRY("pci_depl_cplh_vplane16", 2064221167Sgnn mrpcim_info.pci_depl_h_vplane[16].pci_depl_cplh, "%u"); 2065221167Sgnn __HAL_AUX_ENTRY("pci_depl_nph_vplane16", 2066221167Sgnn mrpcim_info.pci_depl_h_vplane[16].pci_depl_nph, "%u"); 2067221167Sgnn __HAL_AUX_ENTRY("pci_depl_ph_vplane16", 2068221167Sgnn mrpcim_info.pci_depl_h_vplane[16].pci_depl_ph, "%u"); 2069221167Sgnn 2070221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane0", 2071221167Sgnn mrpcim_info.pci_depl_d_vplane[0].pci_depl_cpld, "%u"); 2072221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane0", 2073221167Sgnn mrpcim_info.pci_depl_d_vplane[0].pci_depl_npd, "%u"); 2074221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane0", 2075221167Sgnn mrpcim_info.pci_depl_d_vplane[0].pci_depl_pd, "%u"); 2076221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane1", 2077221167Sgnn mrpcim_info.pci_depl_d_vplane[1].pci_depl_cpld, "%u"); 2078221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane1", 2079221167Sgnn mrpcim_info.pci_depl_d_vplane[1].pci_depl_npd, "%u"); 2080221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane1", 2081221167Sgnn mrpcim_info.pci_depl_d_vplane[1].pci_depl_pd, "%u"); 2082221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane2", 2083221167Sgnn mrpcim_info.pci_depl_d_vplane[2].pci_depl_cpld, "%u"); 2084221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane2", 2085221167Sgnn mrpcim_info.pci_depl_d_vplane[2].pci_depl_npd, "%u"); 2086221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane2", 2087221167Sgnn mrpcim_info.pci_depl_d_vplane[2].pci_depl_pd, "%u"); 2088221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane3", 2089221167Sgnn mrpcim_info.pci_depl_d_vplane[3].pci_depl_cpld, "%u"); 2090221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane3", 2091221167Sgnn mrpcim_info.pci_depl_d_vplane[3].pci_depl_npd, "%u"); 2092221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane3", 2093221167Sgnn mrpcim_info.pci_depl_d_vplane[3].pci_depl_pd, "%u"); 2094221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane4", 2095221167Sgnn mrpcim_info.pci_depl_d_vplane[4].pci_depl_cpld, "%u"); 2096221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane4", 2097221167Sgnn mrpcim_info.pci_depl_d_vplane[4].pci_depl_npd, "%u"); 2098221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane4", 2099221167Sgnn mrpcim_info.pci_depl_d_vplane[4].pci_depl_pd, "%u"); 2100221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane5", 2101221167Sgnn mrpcim_info.pci_depl_d_vplane[5].pci_depl_cpld, "%u"); 2102221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane5", 2103221167Sgnn mrpcim_info.pci_depl_d_vplane[5].pci_depl_npd, "%u"); 2104221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane5", 2105221167Sgnn mrpcim_info.pci_depl_d_vplane[5].pci_depl_pd, "%u"); 2106221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane6", 2107221167Sgnn mrpcim_info.pci_depl_d_vplane[6].pci_depl_cpld, "%u"); 2108221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane6", 2109221167Sgnn mrpcim_info.pci_depl_d_vplane[6].pci_depl_npd, "%u"); 2110221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane6", 2111221167Sgnn mrpcim_info.pci_depl_d_vplane[6].pci_depl_pd, "%u"); 2112221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane7", 2113221167Sgnn mrpcim_info.pci_depl_d_vplane[7].pci_depl_cpld, "%u"); 2114221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane7", 2115221167Sgnn mrpcim_info.pci_depl_d_vplane[7].pci_depl_npd, "%u"); 2116221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane7", 2117221167Sgnn mrpcim_info.pci_depl_d_vplane[7].pci_depl_pd, "%u"); 2118221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane8", 2119221167Sgnn mrpcim_info.pci_depl_d_vplane[8].pci_depl_cpld, "%u"); 2120221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane8", 2121221167Sgnn mrpcim_info.pci_depl_d_vplane[8].pci_depl_npd, "%u"); 2122221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane8", 2123221167Sgnn mrpcim_info.pci_depl_d_vplane[8].pci_depl_pd, "%u"); 2124221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane9", 2125221167Sgnn mrpcim_info.pci_depl_d_vplane[9].pci_depl_cpld, "%u"); 2126221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane9", 2127221167Sgnn mrpcim_info.pci_depl_d_vplane[9].pci_depl_npd, "%u"); 2128221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane9", 2129221167Sgnn mrpcim_info.pci_depl_d_vplane[9].pci_depl_pd, "%u"); 2130221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane10", 2131221167Sgnn mrpcim_info.pci_depl_d_vplane[10].pci_depl_cpld, "%u"); 2132221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane10", 2133221167Sgnn mrpcim_info.pci_depl_d_vplane[10].pci_depl_npd, "%u"); 2134221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane10", 2135221167Sgnn mrpcim_info.pci_depl_d_vplane[10].pci_depl_pd, "%u"); 2136221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane11", 2137221167Sgnn mrpcim_info.pci_depl_d_vplane[11].pci_depl_cpld, "%u"); 2138221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane11", 2139221167Sgnn mrpcim_info.pci_depl_d_vplane[11].pci_depl_npd, "%u"); 2140221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane11", 2141221167Sgnn mrpcim_info.pci_depl_d_vplane[11].pci_depl_pd, "%u"); 2142221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane12", 2143221167Sgnn mrpcim_info.pci_depl_d_vplane[12].pci_depl_cpld, "%u"); 2144221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane12", 2145221167Sgnn mrpcim_info.pci_depl_d_vplane[12].pci_depl_npd, "%u"); 2146221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane12", 2147221167Sgnn mrpcim_info.pci_depl_d_vplane[12].pci_depl_pd, "%u"); 2148221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane13", 2149221167Sgnn mrpcim_info.pci_depl_d_vplane[13].pci_depl_cpld, "%u"); 2150221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane13", 2151221167Sgnn mrpcim_info.pci_depl_d_vplane[13].pci_depl_npd, "%u"); 2152221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane13", 2153221167Sgnn mrpcim_info.pci_depl_d_vplane[13].pci_depl_pd, "%u"); 2154221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane14", 2155221167Sgnn mrpcim_info.pci_depl_d_vplane[14].pci_depl_cpld, "%u"); 2156221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane14", 2157221167Sgnn mrpcim_info.pci_depl_d_vplane[14].pci_depl_npd, "%u"); 2158221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane14", 2159221167Sgnn mrpcim_info.pci_depl_d_vplane[14].pci_depl_pd, "%u"); 2160221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane15", 2161221167Sgnn mrpcim_info.pci_depl_d_vplane[15].pci_depl_cpld, "%u"); 2162221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane15", 2163221167Sgnn mrpcim_info.pci_depl_d_vplane[15].pci_depl_npd, "%u"); 2164221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane15", 2165221167Sgnn mrpcim_info.pci_depl_d_vplane[15].pci_depl_pd, "%u"); 2166221167Sgnn __HAL_AUX_ENTRY("pci_depl_cpld_vplane16", 2167221167Sgnn mrpcim_info.pci_depl_d_vplane[16].pci_depl_cpld, "%u"); 2168221167Sgnn __HAL_AUX_ENTRY("pci_depl_npd_vplane16", 2169221167Sgnn mrpcim_info.pci_depl_d_vplane[16].pci_depl_npd, "%u"); 2170221167Sgnn __HAL_AUX_ENTRY("pci_depl_pd_vplane16", 2171221167Sgnn mrpcim_info.pci_depl_d_vplane[16].pci_depl_pd, "%u"); 2172221167Sgnn 2173221167Sgnn __HAL_AUX_ENTRY("tx_ttl_frms_PORT0", 2174221167Sgnn mrpcim_info.xgmac_port[0].tx_ttl_frms, "%llu"); 2175221167Sgnn __HAL_AUX_ENTRY("tx_ttl_octets_PORT0", 2176221167Sgnn mrpcim_info.xgmac_port[0].tx_ttl_octets, "%llu"); 2177221167Sgnn __HAL_AUX_ENTRY("tx_data_octets_PORT0", 2178221167Sgnn mrpcim_info.xgmac_port[0].tx_data_octets, "%llu"); 2179221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms_PORT0", 2180221167Sgnn mrpcim_info.xgmac_port[0].tx_mcast_frms, "%llu"); 2181221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms_PORT0", 2182221167Sgnn mrpcim_info.xgmac_port[0].tx_bcast_frms, "%llu"); 2183221167Sgnn __HAL_AUX_ENTRY("tx_ucast_frms_PORT0", 2184221167Sgnn mrpcim_info.xgmac_port[0].tx_ucast_frms, "%llu"); 2185221167Sgnn __HAL_AUX_ENTRY("tx_tagged_frms_PORT0", 2186221167Sgnn mrpcim_info.xgmac_port[0].tx_tagged_frms, "%llu"); 2187221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_PORT0", 2188221167Sgnn mrpcim_info.xgmac_port[0].tx_vld_ip, "%llu"); 2189221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_octets_PORT0", 2190221167Sgnn mrpcim_info.xgmac_port[0].tx_vld_ip_octets, "%llu"); 2191221167Sgnn __HAL_AUX_ENTRY("tx_icmp_PORT0", 2192221167Sgnn mrpcim_info.xgmac_port[0].tx_icmp, "%llu"); 2193221167Sgnn __HAL_AUX_ENTRY("tx_tcp_PORT0", 2194221167Sgnn mrpcim_info.xgmac_port[0].tx_tcp, "%llu"); 2195221167Sgnn __HAL_AUX_ENTRY("tx_rst_tcp_PORT0", 2196221167Sgnn mrpcim_info.xgmac_port[0].tx_rst_tcp, "%llu"); 2197221167Sgnn __HAL_AUX_ENTRY("tx_udp_PORT0", 2198221167Sgnn mrpcim_info.xgmac_port[0].tx_udp, "%llu"); 2199221167Sgnn __HAL_AUX_ENTRY("tx_parse_error_PORT0", 2200221167Sgnn mrpcim_info.xgmac_port[0].tx_parse_error, "%u"); 2201221167Sgnn __HAL_AUX_ENTRY("tx_unknown_protocol_PORT0", 2202221167Sgnn mrpcim_info.xgmac_port[0].tx_unknown_protocol, "%u"); 2203221167Sgnn __HAL_AUX_ENTRY("tx_pause_ctrl_frms_PORT0", 2204221167Sgnn mrpcim_info.xgmac_port[0].tx_pause_ctrl_frms, "%llu"); 2205221167Sgnn __HAL_AUX_ENTRY("tx_marker_pdu_frms_PORT0", 2206221167Sgnn mrpcim_info.xgmac_port[0].tx_marker_pdu_frms, "%u"); 2207221167Sgnn __HAL_AUX_ENTRY("tx_lacpdu_frms_PORT0", 2208221167Sgnn mrpcim_info.xgmac_port[0].tx_lacpdu_frms, "%u"); 2209221167Sgnn __HAL_AUX_ENTRY("tx_drop_ip_PORT0", 2210221167Sgnn mrpcim_info.xgmac_port[0].tx_drop_ip, "%u"); 2211221167Sgnn __HAL_AUX_ENTRY("tx_marker_resp_pdu_frms_PORT0", 2212221167Sgnn mrpcim_info.xgmac_port[0].tx_marker_resp_pdu_frms, "%u"); 2213221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char2_match_PORT0", 2214221167Sgnn mrpcim_info.xgmac_port[0].tx_xgmii_char2_match, "%u"); 2215221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char1_match_PORT0", 2216221167Sgnn mrpcim_info.xgmac_port[0].tx_xgmii_char1_match, "%u"); 2217221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column2_match_PORT0", 2218221167Sgnn mrpcim_info.xgmac_port[0].tx_xgmii_column2_match, "%u"); 2219221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column1_match_PORT0", 2220221167Sgnn mrpcim_info.xgmac_port[0].tx_xgmii_column1_match, "%u"); 2221221167Sgnn __HAL_AUX_ENTRY("tx_any_err_frms_PORT0", 2222221167Sgnn mrpcim_info.xgmac_port[0].tx_any_err_frms, "%u"); 2223221167Sgnn __HAL_AUX_ENTRY("tx_drop_frms_PORT0", 2224221167Sgnn mrpcim_info.xgmac_port[0].tx_drop_frms, "%u"); 2225221167Sgnn __HAL_AUX_ENTRY("rx_ttl_frms_PORT0", 2226221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_frms, "%llu"); 2227221167Sgnn __HAL_AUX_ENTRY("rx_vld_frms_PORT0", 2228221167Sgnn mrpcim_info.xgmac_port[0].rx_vld_frms, "%llu"); 2229221167Sgnn __HAL_AUX_ENTRY("rx_offload_frms_PORT0", 2230221167Sgnn mrpcim_info.xgmac_port[0].rx_offload_frms, "%llu"); 2231221167Sgnn __HAL_AUX_ENTRY("rx_ttl_octets_PORT0", 2232221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_octets, "%llu"); 2233221167Sgnn __HAL_AUX_ENTRY("rx_data_octets_PORT0", 2234221167Sgnn mrpcim_info.xgmac_port[0].rx_data_octets, "%llu"); 2235221167Sgnn __HAL_AUX_ENTRY("rx_offload_octets_PORT0", 2236221167Sgnn mrpcim_info.xgmac_port[0].rx_offload_octets, "%llu"); 2237221167Sgnn __HAL_AUX_ENTRY("rx_vld_mcast_frms_PORT0", 2238221167Sgnn mrpcim_info.xgmac_port[0].rx_vld_mcast_frms, "%llu"); 2239221167Sgnn __HAL_AUX_ENTRY("rx_vld_bcast_frms_PORT0", 2240221167Sgnn mrpcim_info.xgmac_port[0].rx_vld_bcast_frms, "%llu"); 2241221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ucast_frms_PORT0", 2242221167Sgnn mrpcim_info.xgmac_port[0].rx_accepted_ucast_frms, "%llu"); 2243221167Sgnn __HAL_AUX_ENTRY("rx_accepted_nucast_frms_PORT0", 2244221167Sgnn mrpcim_info.xgmac_port[0].rx_accepted_nucast_frms, "%llu"); 2245221167Sgnn __HAL_AUX_ENTRY("rx_tagged_frms_PORT0", 2246221167Sgnn mrpcim_info.xgmac_port[0].rx_tagged_frms, "%llu"); 2247221167Sgnn __HAL_AUX_ENTRY("rx_long_frms_PORT0", 2248221167Sgnn mrpcim_info.xgmac_port[0].rx_long_frms, "%llu"); 2249221167Sgnn __HAL_AUX_ENTRY("rx_usized_frms_PORT0", 2250221167Sgnn mrpcim_info.xgmac_port[0].rx_usized_frms, "%llu"); 2251221167Sgnn __HAL_AUX_ENTRY("rx_osized_frms_PORT0", 2252221167Sgnn mrpcim_info.xgmac_port[0].rx_osized_frms, "%llu"); 2253221167Sgnn __HAL_AUX_ENTRY("rx_frag_frms_PORT0", 2254221167Sgnn mrpcim_info.xgmac_port[0].rx_frag_frms, "%llu"); 2255221167Sgnn __HAL_AUX_ENTRY("rx_jabber_frms_PORT0", 2256221167Sgnn mrpcim_info.xgmac_port[0].rx_jabber_frms, "%llu"); 2257221167Sgnn __HAL_AUX_ENTRY("rx_ttl_64_frms_PORT0", 2258221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_64_frms, "%llu"); 2259221167Sgnn __HAL_AUX_ENTRY("rx_ttl_65_127_frms_PORT0", 2260221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_65_127_frms, "%llu"); 2261221167Sgnn __HAL_AUX_ENTRY("rx_ttl_128_255_frms_PORT0", 2262221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_128_255_frms, "%llu"); 2263221167Sgnn __HAL_AUX_ENTRY("rx_ttl_256_511_frms_PORT0", 2264221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_256_511_frms, "%llu"); 2265221167Sgnn __HAL_AUX_ENTRY("rx_ttl_512_1023_frms_PORT0", 2266221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_512_1023_frms, "%llu"); 2267221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1024_1518_frms_PORT0", 2268221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_1024_1518_frms, "%llu"); 2269221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1519_4095_frms_PORT0", 2270221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_1519_4095_frms, "%llu"); 2271221167Sgnn __HAL_AUX_ENTRY("rx_ttl_4096_8191_frms_PORT0", 2272221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_4096_8191_frms, "%llu"); 2273221167Sgnn __HAL_AUX_ENTRY("rx_ttl_8192_max_frms_PORT0", 2274221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_8192_max_frms, "%llu"); 2275221167Sgnn __HAL_AUX_ENTRY("rx_ttl_gt_max_frms_PORT0", 2276221167Sgnn mrpcim_info.xgmac_port[0].rx_ttl_gt_max_frms, "%llu"); 2277221167Sgnn __HAL_AUX_ENTRY("rx_ip_PORT0", 2278221167Sgnn mrpcim_info.xgmac_port[0].rx_ip, "%llu"); 2279221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ip_PORT0", 2280221167Sgnn mrpcim_info.xgmac_port[0].rx_accepted_ip, "%llu"); 2281221167Sgnn __HAL_AUX_ENTRY("rx_ip_octets_PORT0", 2282221167Sgnn mrpcim_info.xgmac_port[0].rx_ip_octets, "%llu"); 2283221167Sgnn __HAL_AUX_ENTRY("rx_err_ip_PORT0", 2284221167Sgnn mrpcim_info.xgmac_port[0].rx_err_ip, "%llu"); 2285221167Sgnn __HAL_AUX_ENTRY("rx_icmp_PORT0", 2286221167Sgnn mrpcim_info.xgmac_port[0].rx_icmp, "%llu"); 2287221167Sgnn __HAL_AUX_ENTRY("rx_tcp_PORT0", 2288221167Sgnn mrpcim_info.xgmac_port[0].rx_tcp, "%llu"); 2289221167Sgnn __HAL_AUX_ENTRY("rx_udp_PORT0", 2290221167Sgnn mrpcim_info.xgmac_port[0].rx_udp, "%llu"); 2291221167Sgnn __HAL_AUX_ENTRY("rx_err_tcp_PORT0", 2292221167Sgnn mrpcim_info.xgmac_port[0].rx_err_tcp, "%llu"); 2293221167Sgnn __HAL_AUX_ENTRY("rx_pause_cnt_PORT0", 2294221167Sgnn mrpcim_info.xgmac_port[0].rx_pause_count, "%llu"); 2295221167Sgnn __HAL_AUX_ENTRY("rx_pause_ctrl_frms_PORT0", 2296221167Sgnn mrpcim_info.xgmac_port[0].rx_pause_ctrl_frms, "%llu"); 2297221167Sgnn __HAL_AUX_ENTRY("rx_unsup_ctrl_frms_PORT0", 2298221167Sgnn mrpcim_info.xgmac_port[0].rx_unsup_ctrl_frms, "%llu"); 2299221167Sgnn __HAL_AUX_ENTRY("rx_fcs_err_frms_PORT0", 2300221167Sgnn mrpcim_info.xgmac_port[0].rx_fcs_err_frms, "%llu"); 2301221167Sgnn __HAL_AUX_ENTRY("rx_in_rng_len_err_frms_PORT0", 2302221167Sgnn mrpcim_info.xgmac_port[0].rx_in_rng_len_err_frms, "%llu"); 2303221167Sgnn __HAL_AUX_ENTRY("rx_out_rng_len_err_frms_PORT0", 2304221167Sgnn mrpcim_info.xgmac_port[0].rx_out_rng_len_err_frms, "%llu"); 2305221167Sgnn __HAL_AUX_ENTRY("rx_drop_frms_PORT0", 2306221167Sgnn mrpcim_info.xgmac_port[0].rx_drop_frms, "%llu"); 2307221167Sgnn __HAL_AUX_ENTRY("rx_discarded_frms_PORT0", 2308221167Sgnn mrpcim_info.xgmac_port[0].rx_discarded_frms, "%llu"); 2309221167Sgnn __HAL_AUX_ENTRY("rx_drop_ip_PORT0", 2310221167Sgnn mrpcim_info.xgmac_port[0].rx_drop_ip, "%llu"); 2311221167Sgnn __HAL_AUX_ENTRY("rx_drp_udp_PORT0", 2312221167Sgnn mrpcim_info.xgmac_port[0].rx_drop_udp, "%llu"); 2313221167Sgnn __HAL_AUX_ENTRY("rx_marker_pdu_frms_PORT0", 2314221167Sgnn mrpcim_info.xgmac_port[0].rx_marker_pdu_frms, "%u"); 2315221167Sgnn __HAL_AUX_ENTRY("rx_lacpdu_frms_PORT0", 2316221167Sgnn mrpcim_info.xgmac_port[0].rx_lacpdu_frms, "%u"); 2317221167Sgnn __HAL_AUX_ENTRY("rx_unknown_pdu_frms_PORT0", 2318221167Sgnn mrpcim_info.xgmac_port[0].rx_unknown_pdu_frms, "%u"); 2319221167Sgnn __HAL_AUX_ENTRY("rx_marker_resp_pdu_frms_PORT0", 2320221167Sgnn mrpcim_info.xgmac_port[0].rx_marker_resp_pdu_frms, "%u"); 2321221167Sgnn __HAL_AUX_ENTRY("rx_fcs_discard_PORT0", 2322221167Sgnn mrpcim_info.xgmac_port[0].rx_fcs_discard, "%u"); 2323221167Sgnn __HAL_AUX_ENTRY("rx_illegal_pdu_frms_PORT0", 2324221167Sgnn mrpcim_info.xgmac_port[0].rx_illegal_pdu_frms, "%u"); 2325221167Sgnn __HAL_AUX_ENTRY("rx_switch_discard_PORT0", 2326221167Sgnn mrpcim_info.xgmac_port[0].rx_switch_discard, "%u"); 2327221167Sgnn __HAL_AUX_ENTRY("rx_len_discard_PORT0", 2328221167Sgnn mrpcim_info.xgmac_port[0].rx_len_discard, "%u"); 2329221167Sgnn __HAL_AUX_ENTRY("rx_rpa_discard_PORT0", 2330221167Sgnn mrpcim_info.xgmac_port[0].rx_rpa_discard, "%u"); 2331221167Sgnn __HAL_AUX_ENTRY("rx_l2_mgmt_discard_PORT0", 2332221167Sgnn mrpcim_info.xgmac_port[0].rx_l2_mgmt_discard, "%u"); 2333221167Sgnn __HAL_AUX_ENTRY("rx_rts_discard_PORT0", 2334221167Sgnn mrpcim_info.xgmac_port[0].rx_rts_discard, "%u"); 2335221167Sgnn __HAL_AUX_ENTRY("rx_trash_discard_PORT0", 2336221167Sgnn mrpcim_info.xgmac_port[0].rx_trash_discard, "%u"); 2337221167Sgnn __HAL_AUX_ENTRY("rx_buff_full_discard_PORT0", 2338221167Sgnn mrpcim_info.xgmac_port[0].rx_buff_full_discard, "%u"); 2339221167Sgnn __HAL_AUX_ENTRY("rx_red_discard_PORT0", 2340221167Sgnn mrpcim_info.xgmac_port[0].rx_red_discard, "%u"); 2341221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_ctrl_err_cnt_PORT0", 2342221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_ctrl_err_cnt, "%u"); 2343221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_data_err_cnt_PORT0", 2344221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_data_err_cnt, "%u"); 2345221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char1_match_PORT0", 2346221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_char1_match, "%u"); 2347221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_err_sym_PORT0", 2348221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_err_sym, "%u"); 2349221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column1_match_PORT0", 2350221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_column1_match, "%u"); 2351221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char2_match_PORT0", 2352221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_char2_match, "%u"); 2353221167Sgnn __HAL_AUX_ENTRY("rx_local_fault_PORT0", 2354221167Sgnn mrpcim_info.xgmac_port[0].rx_local_fault, "%u"); 2355221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column2_match_PORT0", 2356221167Sgnn mrpcim_info.xgmac_port[0].rx_xgmii_column2_match, "%u"); 2357221167Sgnn __HAL_AUX_ENTRY("rx_jettison_PORT0", 2358221167Sgnn mrpcim_info.xgmac_port[0].rx_jettison, "%u"); 2359221167Sgnn __HAL_AUX_ENTRY("rx_remote_fault_PORT0", 2360221167Sgnn mrpcim_info.xgmac_port[0].rx_remote_fault, "%u"); 2361221167Sgnn 2362221167Sgnn __HAL_AUX_ENTRY("tx_ttl_frms_PORT1", 2363221167Sgnn mrpcim_info.xgmac_port[1].tx_ttl_frms, "%llu"); 2364221167Sgnn __HAL_AUX_ENTRY("tx_ttl_octets_PORT1", 2365221167Sgnn mrpcim_info.xgmac_port[1].tx_ttl_octets, "%llu"); 2366221167Sgnn __HAL_AUX_ENTRY("tx_data_octets_PORT1", 2367221167Sgnn mrpcim_info.xgmac_port[1].tx_data_octets, "%llu"); 2368221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms_PORT1", 2369221167Sgnn mrpcim_info.xgmac_port[1].tx_mcast_frms, "%llu"); 2370221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms_PORT1", 2371221167Sgnn mrpcim_info.xgmac_port[1].tx_bcast_frms, "%llu"); 2372221167Sgnn __HAL_AUX_ENTRY("tx_ucast_frms_PORT1", 2373221167Sgnn mrpcim_info.xgmac_port[1].tx_ucast_frms, "%llu"); 2374221167Sgnn __HAL_AUX_ENTRY("tx_tagged_frms_PORT1", 2375221167Sgnn mrpcim_info.xgmac_port[1].tx_tagged_frms, "%llu"); 2376221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_PORT1", 2377221167Sgnn mrpcim_info.xgmac_port[1].tx_vld_ip, "%llu"); 2378221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_octets_PORT1", 2379221167Sgnn mrpcim_info.xgmac_port[1].tx_vld_ip_octets, "%llu"); 2380221167Sgnn __HAL_AUX_ENTRY("tx_icmp_PORT1", 2381221167Sgnn mrpcim_info.xgmac_port[1].tx_icmp, "%llu"); 2382221167Sgnn __HAL_AUX_ENTRY("tx_tcp_PORT1", 2383221167Sgnn mrpcim_info.xgmac_port[1].tx_tcp, "%llu"); 2384221167Sgnn __HAL_AUX_ENTRY("tx_rst_tcp_PORT1", 2385221167Sgnn mrpcim_info.xgmac_port[1].tx_rst_tcp, "%llu"); 2386221167Sgnn __HAL_AUX_ENTRY("tx_udp_PORT1", 2387221167Sgnn mrpcim_info.xgmac_port[1].tx_udp, "%llu"); 2388221167Sgnn __HAL_AUX_ENTRY("tx_parse_error_PORT1", 2389221167Sgnn mrpcim_info.xgmac_port[1].tx_parse_error, "%u"); 2390221167Sgnn __HAL_AUX_ENTRY("tx_unknown_protocol_PORT1", 2391221167Sgnn mrpcim_info.xgmac_port[1].tx_unknown_protocol, "%u"); 2392221167Sgnn __HAL_AUX_ENTRY("tx_pause_ctrl_frms_PORT1", 2393221167Sgnn mrpcim_info.xgmac_port[1].tx_pause_ctrl_frms, "%llu"); 2394221167Sgnn __HAL_AUX_ENTRY("tx_marker_pdu_frms_PORT1", 2395221167Sgnn mrpcim_info.xgmac_port[1].tx_marker_pdu_frms, "%u"); 2396221167Sgnn __HAL_AUX_ENTRY("tx_lacpdu_frms_PORT1", 2397221167Sgnn mrpcim_info.xgmac_port[1].tx_lacpdu_frms, "%u"); 2398221167Sgnn __HAL_AUX_ENTRY("tx_drop_ip_PORT1", 2399221167Sgnn mrpcim_info.xgmac_port[1].tx_drop_ip, "%u"); 2400221167Sgnn __HAL_AUX_ENTRY("tx_marker_resp_pdu_frms_PORT1", 2401221167Sgnn mrpcim_info.xgmac_port[1].tx_marker_resp_pdu_frms, "%u"); 2402221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char2_match_PORT1", 2403221167Sgnn mrpcim_info.xgmac_port[1].tx_xgmii_char2_match, "%u"); 2404221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char1_match_PORT1", 2405221167Sgnn mrpcim_info.xgmac_port[1].tx_xgmii_char1_match, "%u"); 2406221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column2_match_PORT1", 2407221167Sgnn mrpcim_info.xgmac_port[1].tx_xgmii_column2_match, "%u"); 2408221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column1_match_PORT1", 2409221167Sgnn mrpcim_info.xgmac_port[1].tx_xgmii_column1_match, "%u"); 2410221167Sgnn __HAL_AUX_ENTRY("tx_any_err_frms_PORT1", 2411221167Sgnn mrpcim_info.xgmac_port[1].tx_any_err_frms, "%u"); 2412221167Sgnn __HAL_AUX_ENTRY("tx_drop_frms_PORT1", 2413221167Sgnn mrpcim_info.xgmac_port[1].tx_drop_frms, "%u"); 2414221167Sgnn __HAL_AUX_ENTRY("rx_ttl_frms_PORT1", 2415221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_frms, "%llu"); 2416221167Sgnn __HAL_AUX_ENTRY("rx_vld_frms_PORT1", 2417221167Sgnn mrpcim_info.xgmac_port[1].rx_vld_frms, "%llu"); 2418221167Sgnn __HAL_AUX_ENTRY("rx_offload_frms_PORT1", 2419221167Sgnn mrpcim_info.xgmac_port[1].rx_offload_frms, "%llu"); 2420221167Sgnn __HAL_AUX_ENTRY("rx_ttl_octets_PORT1", 2421221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_octets, "%llu"); 2422221167Sgnn __HAL_AUX_ENTRY("rx_data_octets_PORT1", 2423221167Sgnn mrpcim_info.xgmac_port[1].rx_data_octets, "%llu"); 2424221167Sgnn __HAL_AUX_ENTRY("rx_offload_octets_PORT1", 2425221167Sgnn mrpcim_info.xgmac_port[1].rx_offload_octets, "%llu"); 2426221167Sgnn __HAL_AUX_ENTRY("rx_vld_mcast_frms_PORT1", 2427221167Sgnn mrpcim_info.xgmac_port[1].rx_vld_mcast_frms, "%llu"); 2428221167Sgnn __HAL_AUX_ENTRY("rx_vld_bcast_frms_PORT1", 2429221167Sgnn mrpcim_info.xgmac_port[1].rx_vld_bcast_frms, "%llu"); 2430221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ucast_frms_PORT1", 2431221167Sgnn mrpcim_info.xgmac_port[1].rx_accepted_ucast_frms, "%llu"); 2432221167Sgnn __HAL_AUX_ENTRY("rx_accepted_nucast_frms_PORT1", 2433221167Sgnn mrpcim_info.xgmac_port[1].rx_accepted_nucast_frms, "%llu"); 2434221167Sgnn __HAL_AUX_ENTRY("rx_tagged_frms_PORT1", 2435221167Sgnn mrpcim_info.xgmac_port[1].rx_tagged_frms, "%llu"); 2436221167Sgnn __HAL_AUX_ENTRY("rx_long_frms_PORT1", 2437221167Sgnn mrpcim_info.xgmac_port[1].rx_long_frms, "%llu"); 2438221167Sgnn __HAL_AUX_ENTRY("rx_usized_frms_PORT1", 2439221167Sgnn mrpcim_info.xgmac_port[1].rx_usized_frms, "%llu"); 2440221167Sgnn __HAL_AUX_ENTRY("rx_osized_frms_PORT1", 2441221167Sgnn mrpcim_info.xgmac_port[1].rx_osized_frms, "%llu"); 2442221167Sgnn __HAL_AUX_ENTRY("rx_frag_frms_PORT1", 2443221167Sgnn mrpcim_info.xgmac_port[1].rx_frag_frms, "%llu"); 2444221167Sgnn __HAL_AUX_ENTRY("rx_jabber_frms_PORT1", 2445221167Sgnn mrpcim_info.xgmac_port[1].rx_jabber_frms, "%llu"); 2446221167Sgnn __HAL_AUX_ENTRY("rx_ttl_64_frms_PORT1", 2447221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_64_frms, "%llu"); 2448221167Sgnn __HAL_AUX_ENTRY("rx_ttl_65_127_frms_PORT1", 2449221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_65_127_frms, "%llu"); 2450221167Sgnn __HAL_AUX_ENTRY("rx_ttl_128_255_frms_PORT1", 2451221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_128_255_frms, "%llu"); 2452221167Sgnn __HAL_AUX_ENTRY("rx_ttl_256_511_frms_PORT1", 2453221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_256_511_frms, "%llu"); 2454221167Sgnn __HAL_AUX_ENTRY("rx_ttl_512_1023_frms_PORT1", 2455221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_512_1023_frms, "%llu"); 2456221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1024_1518_frms_PORT1", 2457221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_1024_1518_frms, "%llu"); 2458221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1519_4095_frms_PORT1", 2459221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_1519_4095_frms, "%llu"); 2460221167Sgnn __HAL_AUX_ENTRY("rx_ttl_4096_8191_frms_PORT1", 2461221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_4096_8191_frms, "%llu"); 2462221167Sgnn __HAL_AUX_ENTRY("rx_ttl_8192_max_frms_PORT1", 2463221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_8192_max_frms, "%llu"); 2464221167Sgnn __HAL_AUX_ENTRY("rx_ttl_gt_max_frms_PORT1", 2465221167Sgnn mrpcim_info.xgmac_port[1].rx_ttl_gt_max_frms, "%llu"); 2466221167Sgnn __HAL_AUX_ENTRY("rx_ip_PORT1", 2467221167Sgnn mrpcim_info.xgmac_port[1].rx_ip, "%llu"); 2468221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ip_PORT1", 2469221167Sgnn mrpcim_info.xgmac_port[1].rx_accepted_ip, "%llu"); 2470221167Sgnn __HAL_AUX_ENTRY("rx_ip_octets_PORT1", 2471221167Sgnn mrpcim_info.xgmac_port[1].rx_ip_octets, "%llu"); 2472221167Sgnn __HAL_AUX_ENTRY("rx_err_ip_PORT1", 2473221167Sgnn mrpcim_info.xgmac_port[1].rx_err_ip, "%llu"); 2474221167Sgnn __HAL_AUX_ENTRY("rx_icmp_PORT1", 2475221167Sgnn mrpcim_info.xgmac_port[1].rx_icmp, "%llu"); 2476221167Sgnn __HAL_AUX_ENTRY("rx_tcp_PORT1", 2477221167Sgnn mrpcim_info.xgmac_port[1].rx_tcp, "%llu"); 2478221167Sgnn __HAL_AUX_ENTRY("rx_udp_PORT1", 2479221167Sgnn mrpcim_info.xgmac_port[1].rx_udp, "%llu"); 2480221167Sgnn __HAL_AUX_ENTRY("rx_err_tcp_PORT1", 2481221167Sgnn mrpcim_info.xgmac_port[1].rx_err_tcp, "%llu"); 2482221167Sgnn __HAL_AUX_ENTRY("rx_pause_count_PORT1", 2483221167Sgnn mrpcim_info.xgmac_port[1].rx_pause_count, "%llu"); 2484221167Sgnn __HAL_AUX_ENTRY("rx_pause_ctrl_frms_PORT1", 2485221167Sgnn mrpcim_info.xgmac_port[1].rx_pause_ctrl_frms, "%llu"); 2486221167Sgnn __HAL_AUX_ENTRY("rx_unsup_ctrl_frms_PORT1", 2487221167Sgnn mrpcim_info.xgmac_port[1].rx_unsup_ctrl_frms, "%llu"); 2488221167Sgnn __HAL_AUX_ENTRY("rx_fcs_err_frms_PORT1", 2489221167Sgnn mrpcim_info.xgmac_port[1].rx_fcs_err_frms, "%llu"); 2490221167Sgnn __HAL_AUX_ENTRY("rx_in_rng_len_err_frms_PORT1", 2491221167Sgnn mrpcim_info.xgmac_port[1].rx_in_rng_len_err_frms, "%llu"); 2492221167Sgnn __HAL_AUX_ENTRY("rx_out_rng_len_err_frms_PORT1", 2493221167Sgnn mrpcim_info.xgmac_port[1].rx_out_rng_len_err_frms, "%llu"); 2494221167Sgnn __HAL_AUX_ENTRY("rx_drop_frms_PORT1", 2495221167Sgnn mrpcim_info.xgmac_port[1].rx_drop_frms, "%llu"); 2496221167Sgnn __HAL_AUX_ENTRY("rx_discarded_frms_PORT1", 2497221167Sgnn mrpcim_info.xgmac_port[1].rx_discarded_frms, "%llu"); 2498221167Sgnn __HAL_AUX_ENTRY("rx_drop_ip_PORT1", 2499221167Sgnn mrpcim_info.xgmac_port[1].rx_drop_ip, "%llu"); 2500221167Sgnn __HAL_AUX_ENTRY("rx_drop_udp_PORT1", 2501221167Sgnn mrpcim_info.xgmac_port[1].rx_drop_udp, "%llu"); 2502221167Sgnn __HAL_AUX_ENTRY("rx_marker_pdu_frms_PORT1", 2503221167Sgnn mrpcim_info.xgmac_port[1].rx_marker_pdu_frms, "%u"); 2504221167Sgnn __HAL_AUX_ENTRY("rx_lacpdu_frms_PORT1", 2505221167Sgnn mrpcim_info.xgmac_port[1].rx_lacpdu_frms, "%u"); 2506221167Sgnn __HAL_AUX_ENTRY("rx_unknown_pdu_frms_PORT1", 2507221167Sgnn mrpcim_info.xgmac_port[1].rx_unknown_pdu_frms, "%u"); 2508221167Sgnn __HAL_AUX_ENTRY("rx_marker_resp_pdu_frms_PORT1", 2509221167Sgnn mrpcim_info.xgmac_port[1].rx_marker_resp_pdu_frms, "%u"); 2510221167Sgnn __HAL_AUX_ENTRY("rx_fcs_discard_PORT1", 2511221167Sgnn mrpcim_info.xgmac_port[1].rx_fcs_discard, "%u"); 2512221167Sgnn __HAL_AUX_ENTRY("rx_illegal_pdu_frms_PORT1", 2513221167Sgnn mrpcim_info.xgmac_port[1].rx_illegal_pdu_frms, "%u"); 2514221167Sgnn __HAL_AUX_ENTRY("rx_switch_discard_PORT1", 2515221167Sgnn mrpcim_info.xgmac_port[1].rx_switch_discard, "%u"); 2516221167Sgnn __HAL_AUX_ENTRY("rx_len_discard_PORT1", 2517221167Sgnn mrpcim_info.xgmac_port[1].rx_len_discard, "%u"); 2518221167Sgnn __HAL_AUX_ENTRY("rx_rpa_discard_PORT1", 2519221167Sgnn mrpcim_info.xgmac_port[1].rx_rpa_discard, "%u"); 2520221167Sgnn __HAL_AUX_ENTRY("rx_l2_mgmt_discard_PORT1", 2521221167Sgnn mrpcim_info.xgmac_port[1].rx_l2_mgmt_discard, "%u"); 2522221167Sgnn __HAL_AUX_ENTRY("rx_rts_discard_PORT1", 2523221167Sgnn mrpcim_info.xgmac_port[1].rx_rts_discard, "%u"); 2524221167Sgnn __HAL_AUX_ENTRY("rx_trash_discard_PORT1", 2525221167Sgnn mrpcim_info.xgmac_port[1].rx_trash_discard, "%u"); 2526221167Sgnn __HAL_AUX_ENTRY("rx_buff_full_discard_PORT1", 2527221167Sgnn mrpcim_info.xgmac_port[1].rx_buff_full_discard, "%u"); 2528221167Sgnn __HAL_AUX_ENTRY("rx_red_discard_PORT1", 2529221167Sgnn mrpcim_info.xgmac_port[1].rx_red_discard, "%u"); 2530221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_ctrl_err_cnt_PORT1", 2531221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_ctrl_err_cnt, "%u"); 2532221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_data_err_cnt_PORT1", 2533221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_data_err_cnt, "%u"); 2534221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char1_match_PORT1", 2535221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_char1_match, "%u"); 2536221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_err_sym_PORT1", 2537221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_err_sym, "%u"); 2538221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column1_match_PORT1", 2539221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_column1_match, "%u"); 2540221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char2_match_PORT1", 2541221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_char2_match, "%u"); 2542221167Sgnn __HAL_AUX_ENTRY("rx_local_fault_PORT1", 2543221167Sgnn mrpcim_info.xgmac_port[1].rx_local_fault, "%u"); 2544221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column2_match_PORT1", 2545221167Sgnn mrpcim_info.xgmac_port[1].rx_xgmii_column2_match, "%u"); 2546221167Sgnn __HAL_AUX_ENTRY("rx_jettison_PORT1", 2547221167Sgnn mrpcim_info.xgmac_port[1].rx_jettison, "%u"); 2548221167Sgnn __HAL_AUX_ENTRY("rx_remote_fault_PORT1", 2549221167Sgnn mrpcim_info.xgmac_port[1].rx_remote_fault, "%u"); 2550221167Sgnn 2551221167Sgnn __HAL_AUX_ENTRY("tx_ttl_frms_PORT2", 2552221167Sgnn mrpcim_info.xgmac_port[2].tx_ttl_frms, "%llu"); 2553221167Sgnn __HAL_AUX_ENTRY("tx_ttl_octets_PORT2", 2554221167Sgnn mrpcim_info.xgmac_port[2].tx_ttl_octets, "%llu"); 2555221167Sgnn __HAL_AUX_ENTRY("tx_data_octets_PORT2", 2556221167Sgnn mrpcim_info.xgmac_port[2].tx_data_octets, "%llu"); 2557221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms_PORT2", 2558221167Sgnn mrpcim_info.xgmac_port[2].tx_mcast_frms, "%llu"); 2559221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms_PORT2", 2560221167Sgnn mrpcim_info.xgmac_port[2].tx_bcast_frms, "%llu"); 2561221167Sgnn __HAL_AUX_ENTRY("tx_ucast_frms_PORT2", 2562221167Sgnn mrpcim_info.xgmac_port[2].tx_ucast_frms, "%llu"); 2563221167Sgnn __HAL_AUX_ENTRY("tx_tagged_frms_PORT2", 2564221167Sgnn mrpcim_info.xgmac_port[2].tx_tagged_frms, "%llu"); 2565221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_PORT2", 2566221167Sgnn mrpcim_info.xgmac_port[2].tx_vld_ip, "%llu"); 2567221167Sgnn __HAL_AUX_ENTRY("tx_vld_ip_octets_PORT2", 2568221167Sgnn mrpcim_info.xgmac_port[2].tx_vld_ip_octets, "%llu"); 2569221167Sgnn __HAL_AUX_ENTRY("tx_icmp_PORT2", 2570221167Sgnn mrpcim_info.xgmac_port[2].tx_icmp, "%llu"); 2571221167Sgnn __HAL_AUX_ENTRY("tx_tcp_PORT2", 2572221167Sgnn mrpcim_info.xgmac_port[2].tx_tcp, "%llu"); 2573221167Sgnn __HAL_AUX_ENTRY("tx_rst_tcp_PORT2", 2574221167Sgnn mrpcim_info.xgmac_port[2].tx_rst_tcp, "%llu"); 2575221167Sgnn __HAL_AUX_ENTRY("tx_udp_PORT2", 2576221167Sgnn mrpcim_info.xgmac_port[2].tx_udp, "%llu"); 2577221167Sgnn __HAL_AUX_ENTRY("tx_parse_error_PORT2", 2578221167Sgnn mrpcim_info.xgmac_port[2].tx_parse_error, "%u"); 2579221167Sgnn __HAL_AUX_ENTRY("tx_unknown_protocol_PORT2", 2580221167Sgnn mrpcim_info.xgmac_port[2].tx_unknown_protocol, "%u"); 2581221167Sgnn __HAL_AUX_ENTRY("tx_pause_ctrl_frms_PORT2", 2582221167Sgnn mrpcim_info.xgmac_port[2].tx_pause_ctrl_frms, "%llu"); 2583221167Sgnn __HAL_AUX_ENTRY("tx_marker_pdu_frms_PORT2", 2584221167Sgnn mrpcim_info.xgmac_port[2].tx_marker_pdu_frms, "%u"); 2585221167Sgnn __HAL_AUX_ENTRY("tx_lacpdu_frms_PORT2", 2586221167Sgnn mrpcim_info.xgmac_port[2].tx_lacpdu_frms, "%u"); 2587221167Sgnn __HAL_AUX_ENTRY("tx_drop_ip_PORT2", 2588221167Sgnn mrpcim_info.xgmac_port[2].tx_drop_ip, "%u"); 2589221167Sgnn __HAL_AUX_ENTRY("tx_marker_resp_pdu_frms_PORT2", 2590221167Sgnn mrpcim_info.xgmac_port[2].tx_marker_resp_pdu_frms, "%u"); 2591221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char2_match_PORT2", 2592221167Sgnn mrpcim_info.xgmac_port[2].tx_xgmii_char2_match, "%u"); 2593221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_char1_match_PORT2", 2594221167Sgnn mrpcim_info.xgmac_port[2].tx_xgmii_char1_match, "%u"); 2595221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column2_match_PORT2", 2596221167Sgnn mrpcim_info.xgmac_port[2].tx_xgmii_column2_match, "%u"); 2597221167Sgnn __HAL_AUX_ENTRY("tx_xgmii_column1_match_PORT2", 2598221167Sgnn mrpcim_info.xgmac_port[2].tx_xgmii_column1_match, "%u"); 2599221167Sgnn __HAL_AUX_ENTRY("tx_any_err_frms_PORT2", 2600221167Sgnn mrpcim_info.xgmac_port[2].tx_any_err_frms, "%u"); 2601221167Sgnn __HAL_AUX_ENTRY("tx_drop_frms_PORT2", 2602221167Sgnn mrpcim_info.xgmac_port[2].tx_drop_frms, "%u"); 2603221167Sgnn __HAL_AUX_ENTRY("rx_ttl_frms_PORT2", 2604221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_frms, "%llu"); 2605221167Sgnn __HAL_AUX_ENTRY("rx_vld_frms_PORT2", 2606221167Sgnn mrpcim_info.xgmac_port[2].rx_vld_frms, "%llu"); 2607221167Sgnn __HAL_AUX_ENTRY("rx_offload_frms_PORT2", 2608221167Sgnn mrpcim_info.xgmac_port[2].rx_offload_frms, "%llu"); 2609221167Sgnn __HAL_AUX_ENTRY("rx_ttl_octets_PORT2", 2610221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_octets, "%llu"); 2611221167Sgnn __HAL_AUX_ENTRY("rx_data_octets_PORT2", 2612221167Sgnn mrpcim_info.xgmac_port[2].rx_data_octets, "%llu"); 2613221167Sgnn __HAL_AUX_ENTRY("rx_offload_octets_PORT2", 2614221167Sgnn mrpcim_info.xgmac_port[2].rx_offload_octets, "%llu"); 2615221167Sgnn __HAL_AUX_ENTRY("rx_vld_mcast_frms_PORT2", 2616221167Sgnn mrpcim_info.xgmac_port[2].rx_vld_mcast_frms, "%llu"); 2617221167Sgnn __HAL_AUX_ENTRY("rx_vld_bcast_frms_PORT2", 2618221167Sgnn mrpcim_info.xgmac_port[2].rx_vld_bcast_frms, "%llu"); 2619221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ucast_frms_PORT2", 2620221167Sgnn mrpcim_info.xgmac_port[2].rx_accepted_ucast_frms, "%llu"); 2621221167Sgnn __HAL_AUX_ENTRY("rx_accepted_nucast_frms_PORT2", 2622221167Sgnn mrpcim_info.xgmac_port[2].rx_accepted_nucast_frms, "%llu"); 2623221167Sgnn __HAL_AUX_ENTRY("rx_tagged_frms_PORT2", 2624221167Sgnn mrpcim_info.xgmac_port[2].rx_tagged_frms, "%llu"); 2625221167Sgnn __HAL_AUX_ENTRY("rx_long_frms_PORT2", 2626221167Sgnn mrpcim_info.xgmac_port[2].rx_long_frms, "%llu"); 2627221167Sgnn __HAL_AUX_ENTRY("rx_usized_frms_PORT2", 2628221167Sgnn mrpcim_info.xgmac_port[2].rx_usized_frms, "%llu"); 2629221167Sgnn __HAL_AUX_ENTRY("rx_osized_frms_PORT2", 2630221167Sgnn mrpcim_info.xgmac_port[2].rx_osized_frms, "%llu"); 2631221167Sgnn __HAL_AUX_ENTRY("rx_frag_frms_PORT2", 2632221167Sgnn mrpcim_info.xgmac_port[2].rx_frag_frms, "%llu"); 2633221167Sgnn __HAL_AUX_ENTRY("rx_jabber_frms_PORT2", 2634221167Sgnn mrpcim_info.xgmac_port[2].rx_jabber_frms, "%llu"); 2635221167Sgnn __HAL_AUX_ENTRY("rx_ttl_64_frms_PORT2", 2636221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_64_frms, "%llu"); 2637221167Sgnn __HAL_AUX_ENTRY("rx_ttl_65_127_frms_PORT2", 2638221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_65_127_frms, "%llu"); 2639221167Sgnn __HAL_AUX_ENTRY("rx_ttl_128_255_frms_PORT2", 2640221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_128_255_frms, "%llu"); 2641221167Sgnn __HAL_AUX_ENTRY("rx_ttl_256_511_frms_PORT2", 2642221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_256_511_frms, "%llu"); 2643221167Sgnn __HAL_AUX_ENTRY("rx_ttl_512_1023_frms_PORT2", 2644221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_512_1023_frms, "%llu"); 2645221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1024_1518_frms_PORT2", 2646221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_1024_1518_frms, "%llu"); 2647221167Sgnn __HAL_AUX_ENTRY("rx_ttl_1519_4095_frms_PORT2", 2648221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_1519_4095_frms, "%llu"); 2649221167Sgnn __HAL_AUX_ENTRY("rx_ttl_4096_8191_frms_PORT2", 2650221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_4096_8191_frms, "%llu"); 2651221167Sgnn __HAL_AUX_ENTRY("rx_ttl_8192_max_frms_PORT2", 2652221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_8192_max_frms, "%llu"); 2653221167Sgnn __HAL_AUX_ENTRY("rx_ttl_gt_max_frms_PORT2", 2654221167Sgnn mrpcim_info.xgmac_port[2].rx_ttl_gt_max_frms, "%llu"); 2655221167Sgnn __HAL_AUX_ENTRY("rx_ip_PORT2", 2656221167Sgnn mrpcim_info.xgmac_port[2].rx_ip, "%llu"); 2657221167Sgnn __HAL_AUX_ENTRY("rx_accepted_ip_PORT2", 2658221167Sgnn mrpcim_info.xgmac_port[2].rx_accepted_ip, "%llu"); 2659221167Sgnn __HAL_AUX_ENTRY("rx_ip_octets_PORT2", 2660221167Sgnn mrpcim_info.xgmac_port[2].rx_ip_octets, "%llu"); 2661221167Sgnn __HAL_AUX_ENTRY("rx_err_ip_PORT2", 2662221167Sgnn mrpcim_info.xgmac_port[2].rx_err_ip, "%llu"); 2663221167Sgnn __HAL_AUX_ENTRY("rx_icmp_PORT2", 2664221167Sgnn mrpcim_info.xgmac_port[2].rx_icmp, "%llu"); 2665221167Sgnn __HAL_AUX_ENTRY("rx_tcp_PORT2", 2666221167Sgnn mrpcim_info.xgmac_port[2].rx_tcp, "%llu"); 2667221167Sgnn __HAL_AUX_ENTRY("rx_udp_PORT2", 2668221167Sgnn mrpcim_info.xgmac_port[2].rx_udp, "%llu"); 2669221167Sgnn __HAL_AUX_ENTRY("rx_err_tcp_PORT2", 2670221167Sgnn mrpcim_info.xgmac_port[2].rx_err_tcp, "%llu"); 2671221167Sgnn __HAL_AUX_ENTRY("rx_pause_count_PORT2", 2672221167Sgnn mrpcim_info.xgmac_port[2].rx_pause_count, "%llu"); 2673221167Sgnn __HAL_AUX_ENTRY("rx_pause_ctrl_frms_PORT2", 2674221167Sgnn mrpcim_info.xgmac_port[2].rx_pause_ctrl_frms, "%llu"); 2675221167Sgnn __HAL_AUX_ENTRY("rx_unsup_ctrl_frms_PORT2", 2676221167Sgnn mrpcim_info.xgmac_port[2].rx_unsup_ctrl_frms, "%llu"); 2677221167Sgnn __HAL_AUX_ENTRY("rx_fcs_err_frms_PORT2", 2678221167Sgnn mrpcim_info.xgmac_port[2].rx_fcs_err_frms, "%llu"); 2679221167Sgnn __HAL_AUX_ENTRY("rx_in_rng_len_err_frms_PORT2", 2680221167Sgnn mrpcim_info.xgmac_port[2].rx_in_rng_len_err_frms, "%llu"); 2681221167Sgnn __HAL_AUX_ENTRY("rx_out_rng_len_err_frms_PORT2", 2682221167Sgnn mrpcim_info.xgmac_port[2].rx_out_rng_len_err_frms, "%llu"); 2683221167Sgnn __HAL_AUX_ENTRY("rx_drop_frms_PORT2", 2684221167Sgnn mrpcim_info.xgmac_port[2].rx_drop_frms, "%llu"); 2685221167Sgnn __HAL_AUX_ENTRY("rx_discarded_frms_PORT2", 2686221167Sgnn mrpcim_info.xgmac_port[2].rx_discarded_frms, "%llu"); 2687221167Sgnn __HAL_AUX_ENTRY("rx_drop_ip_PORT2", 2688221167Sgnn mrpcim_info.xgmac_port[2].rx_drop_ip, "%llu"); 2689221167Sgnn __HAL_AUX_ENTRY("rx_drop_udp_PORT2", 2690221167Sgnn mrpcim_info.xgmac_port[2].rx_drop_udp, "%llu"); 2691221167Sgnn __HAL_AUX_ENTRY("rx_marker_pdu_frms_PORT2", 2692221167Sgnn mrpcim_info.xgmac_port[2].rx_marker_pdu_frms, "%u"); 2693221167Sgnn __HAL_AUX_ENTRY("rx_lacpdu_frms_PORT2", 2694221167Sgnn mrpcim_info.xgmac_port[2].rx_lacpdu_frms, "%u"); 2695221167Sgnn __HAL_AUX_ENTRY("rx_unknown_pdu_frms_PORT2", 2696221167Sgnn mrpcim_info.xgmac_port[2].rx_unknown_pdu_frms, "%u"); 2697221167Sgnn __HAL_AUX_ENTRY("rx_marker_resp_pdu_frms_PORT2", 2698221167Sgnn mrpcim_info.xgmac_port[2].rx_marker_resp_pdu_frms, "%u"); 2699221167Sgnn __HAL_AUX_ENTRY("rx_fcs_discard_PORT2", 2700221167Sgnn mrpcim_info.xgmac_port[2].rx_fcs_discard, "%u"); 2701221167Sgnn __HAL_AUX_ENTRY("rx_illegal_pdu_frms_PORT2", 2702221167Sgnn mrpcim_info.xgmac_port[2].rx_illegal_pdu_frms, "%u"); 2703221167Sgnn __HAL_AUX_ENTRY("rx_switch_discard_PORT2", 2704221167Sgnn mrpcim_info.xgmac_port[2].rx_switch_discard, "%u"); 2705221167Sgnn __HAL_AUX_ENTRY("rx_len_discard_PORT2", 2706221167Sgnn mrpcim_info.xgmac_port[2].rx_len_discard, "%u"); 2707221167Sgnn __HAL_AUX_ENTRY("rx_rpa_discard_PORT2", 2708221167Sgnn mrpcim_info.xgmac_port[2].rx_rpa_discard, "%u"); 2709221167Sgnn __HAL_AUX_ENTRY("rx_l2_mgmt_discard_PORT2", 2710221167Sgnn mrpcim_info.xgmac_port[2].rx_l2_mgmt_discard, "%u"); 2711221167Sgnn __HAL_AUX_ENTRY("rx_rts_discard_PORT2", 2712221167Sgnn mrpcim_info.xgmac_port[2].rx_rts_discard, "%u"); 2713221167Sgnn __HAL_AUX_ENTRY("rx_trash_discard_PORT2", 2714221167Sgnn mrpcim_info.xgmac_port[2].rx_trash_discard, "%u"); 2715221167Sgnn __HAL_AUX_ENTRY("rx_buff_full_discard_PORT2", 2716221167Sgnn mrpcim_info.xgmac_port[2].rx_buff_full_discard, "%u"); 2717221167Sgnn __HAL_AUX_ENTRY("rx_red_discard_PORT2", 2718221167Sgnn mrpcim_info.xgmac_port[2].rx_red_discard, "%u"); 2719221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_ctrl_err_cnt_PORT2", 2720221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_ctrl_err_cnt, "%u"); 2721221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_data_err_cnt_PORT2", 2722221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_data_err_cnt, "%u"); 2723221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char1_match_PORT2", 2724221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_char1_match, "%u"); 2725221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_err_sym_PORT2", 2726221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_err_sym, "%u"); 2727221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column1_match_PORT2", 2728221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_column1_match, "%u"); 2729221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_char2_match_PORT2", 2730221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_char2_match, "%u"); 2731221167Sgnn __HAL_AUX_ENTRY("rx_local_fault_PORT2", 2732221167Sgnn mrpcim_info.xgmac_port[2].rx_local_fault, "%u"); 2733221167Sgnn __HAL_AUX_ENTRY("rx_xgmii_column2_match_PORT2", 2734221167Sgnn mrpcim_info.xgmac_port[2].rx_xgmii_column2_match, "%u"); 2735221167Sgnn __HAL_AUX_ENTRY("rx_jettison_PORT2", 2736221167Sgnn mrpcim_info.xgmac_port[2].rx_jettison, "%u"); 2737221167Sgnn __HAL_AUX_ENTRY("rx_remote_fault_PORT2", 2738221167Sgnn mrpcim_info.xgmac_port[2].rx_remote_fault, "%u"); 2739221167Sgnn 2740221167Sgnn __HAL_AUX_ENTRY("tx_frms_AGGR0", 2741221167Sgnn mrpcim_info.xgmac_aggr[0].tx_frms, "%llu"); 2742221167Sgnn __HAL_AUX_ENTRY("tx_data_octets_AGGR0", 2743221167Sgnn mrpcim_info.xgmac_aggr[0].tx_data_octets, "%llu"); 2744221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms_AGGR0", 2745221167Sgnn mrpcim_info.xgmac_aggr[0].tx_mcast_frms, "%llu"); 2746221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms_AGGR0", 2747221167Sgnn mrpcim_info.xgmac_aggr[0].tx_bcast_frms, "%llu"); 2748221167Sgnn __HAL_AUX_ENTRY("tx_discarded_frms_AGGR0", 2749221167Sgnn mrpcim_info.xgmac_aggr[0].tx_discarded_frms, "%llu"); 2750221167Sgnn __HAL_AUX_ENTRY("tx_errored_frms_AGGR0", 2751221167Sgnn mrpcim_info.xgmac_aggr[0].tx_errored_frms, "%llu"); 2752221167Sgnn __HAL_AUX_ENTRY("rx_frms_AGGR0", 2753221167Sgnn mrpcim_info.xgmac_aggr[0].rx_frms, "%llu"); 2754221167Sgnn __HAL_AUX_ENTRY("rx_data_octets_AGGR0", 2755221167Sgnn mrpcim_info.xgmac_aggr[0].rx_data_octets, "%llu"); 2756221167Sgnn __HAL_AUX_ENTRY("rx_mcast_frms_AGGR0", 2757221167Sgnn mrpcim_info.xgmac_aggr[0].rx_mcast_frms, "%llu"); 2758221167Sgnn __HAL_AUX_ENTRY("rx_bcast_frms_AGGR0", 2759221167Sgnn mrpcim_info.xgmac_aggr[0].rx_bcast_frms, "%llu"); 2760221167Sgnn __HAL_AUX_ENTRY("rx_discarded_frms_AGGR0", 2761221167Sgnn mrpcim_info.xgmac_aggr[0].rx_discarded_frms, "%llu"); 2762221167Sgnn __HAL_AUX_ENTRY("rx_errored_frms_AGGR0", 2763221167Sgnn mrpcim_info.xgmac_aggr[0].rx_errored_frms, "%llu"); 2764221167Sgnn __HAL_AUX_ENTRY("rx_unknown_slow_proto_frms_AGGR0", 2765221167Sgnn mrpcim_info.xgmac_aggr[0].rx_unknown_slow_proto_frms, "%llu"); 2766221167Sgnn 2767221167Sgnn __HAL_AUX_ENTRY("tx_frms_AGGR1", 2768221167Sgnn mrpcim_info.xgmac_aggr[1].tx_frms, "%llu"); 2769221167Sgnn __HAL_AUX_ENTRY("tx_data_octets_AGGR1", 2770221167Sgnn mrpcim_info.xgmac_aggr[1].tx_data_octets, "%llu"); 2771221167Sgnn __HAL_AUX_ENTRY("tx_mcast_frms_AGGR1", 2772221167Sgnn mrpcim_info.xgmac_aggr[1].tx_mcast_frms, "%llu"); 2773221167Sgnn __HAL_AUX_ENTRY("tx_bcast_frms_AGGR1", 2774221167Sgnn mrpcim_info.xgmac_aggr[1].tx_bcast_frms, "%llu"); 2775221167Sgnn __HAL_AUX_ENTRY("tx_discarded_frms_AGGR1", 2776221167Sgnn mrpcim_info.xgmac_aggr[1].tx_discarded_frms, "%llu"); 2777221167Sgnn __HAL_AUX_ENTRY("tx_errored_frms_AGGR1", 2778221167Sgnn mrpcim_info.xgmac_aggr[1].tx_errored_frms, "%llu"); 2779221167Sgnn __HAL_AUX_ENTRY("rx_frms_AGGR1", 2780221167Sgnn mrpcim_info.xgmac_aggr[1].rx_frms, "%llu"); 2781221167Sgnn __HAL_AUX_ENTRY("rx_data_octets_AGGR1", 2782221167Sgnn mrpcim_info.xgmac_aggr[1].rx_data_octets, "%llu"); 2783221167Sgnn __HAL_AUX_ENTRY("rx_mcast_frms_AGGR1", 2784221167Sgnn mrpcim_info.xgmac_aggr[1].rx_mcast_frms, "%llu"); 2785221167Sgnn __HAL_AUX_ENTRY("rx_bcast_frms_AGGR1", 2786221167Sgnn mrpcim_info.xgmac_aggr[1].rx_bcast_frms, "%llu"); 2787221167Sgnn __HAL_AUX_ENTRY("rx_discarded_frms_AGGR1", 2788221167Sgnn mrpcim_info.xgmac_aggr[1].rx_discarded_frms, "%llu"); 2789221167Sgnn __HAL_AUX_ENTRY("rx_errored_frms_AGGR1", 2790221167Sgnn mrpcim_info.xgmac_aggr[1].rx_errored_frms, "%llu"); 2791221167Sgnn __HAL_AUX_ENTRY("rx_unknown_slow_proto_frms_AGGR1", 2792221167Sgnn mrpcim_info.xgmac_aggr[1].rx_unknown_slow_proto_frms, "%llu"); 2793221167Sgnn 2794221167Sgnn __HAL_AUX_ENTRY("xgmac_global_prog_event_gnum0", 2795221167Sgnn mrpcim_info.xgmac_global_prog_event_gnum0, "%llu"); 2796221167Sgnn __HAL_AUX_ENTRY("xgmac_global_prog_event_gnum1", 2797221167Sgnn mrpcim_info.xgmac_global_prog_event_gnum1, "%llu"); 2798221167Sgnn 2799221167Sgnn __HAL_AUX_ENTRY("xgmac_orp_lro_events", 2800221167Sgnn mrpcim_info.xgmac_orp_lro_events, "%llu"); 2801221167Sgnn 2802221167Sgnn __HAL_AUX_ENTRY("xgmac_orp_bs_events", 2803221167Sgnn mrpcim_info.xgmac_orp_bs_events, "%llu"); 2804221167Sgnn 2805221167Sgnn __HAL_AUX_ENTRY("xgmac_orp_iwarp_events", 2806221167Sgnn mrpcim_info.xgmac_orp_iwarp_events, "%llu"); 2807221167Sgnn 2808221167Sgnn __HAL_AUX_ENTRY("xgmac_tx_permitted_frms", 2809221167Sgnn mrpcim_info.xgmac_tx_permitted_frms, "%u"); 2810221167Sgnn 2811221167Sgnn __HAL_AUX_ENTRY("xgmac_port2_tx_any_frms", 2812221167Sgnn mrpcim_info.xgmac_port2_tx_any_frms, "%u"); 2813221167Sgnn __HAL_AUX_ENTRY("xgmac_port1_tx_any_frms", 2814221167Sgnn mrpcim_info.xgmac_port1_tx_any_frms, "%u"); 2815221167Sgnn __HAL_AUX_ENTRY("xgmac_port0_tx_any_frms", 2816221167Sgnn mrpcim_info.xgmac_port0_tx_any_frms, "%u"); 2817221167Sgnn 2818221167Sgnn __HAL_AUX_ENTRY("xgmac_port2_rx_any_frms", 2819221167Sgnn mrpcim_info.xgmac_port2_rx_any_frms, "%u"); 2820221167Sgnn __HAL_AUX_ENTRY("xgmac_port1_rx_any_frms", 2821221167Sgnn mrpcim_info.xgmac_port1_rx_any_frms, "%u"); 2822221167Sgnn __HAL_AUX_ENTRY("xgmac_port0_rx_any_frms", 2823221167Sgnn mrpcim_info.xgmac_port0_rx_any_frms, "%u"); 2824221167Sgnn 2825221167Sgnn __HAL_AUX_ENTRY_END(bufsize, retsize); 2826221167Sgnn 2827221167Sgnn return (VXGE_HAL_OK); 2828221167Sgnn} 2829221167Sgnn 2830221167Sgnn/* 2831221167Sgnn * vxge_hal_aux_vpath_ring_dump - Dump vpath ring. 2832221167Sgnn * @vpath_handle: Vpath handle. 2833221167Sgnn * 2834221167Sgnn * Dump vpath ring. 2835221167Sgnn */ 2836221167Sgnnvxge_hal_status_e 2837221167Sgnnvxge_hal_aux_vpath_ring_dump(vxge_hal_vpath_h vpath_handle) 2838221167Sgnn{ 2839221167Sgnn u32 i; 2840221167Sgnn char buffer[4096]; 2841221167Sgnn __hal_ring_t *ring; 2842221167Sgnn vxge_hal_rxd_h rxdh; 2843221167Sgnn __hal_virtualpath_t *vpath; 2844221167Sgnn vxge_hal_ring_rxd_1_t *rxd1; 2845221167Sgnn vxge_hal_ring_rxd_3_t *rxd3; 2846221167Sgnn vxge_hal_ring_rxd_5_t *rxd5; 2847221167Sgnn 2848221167Sgnn vxge_assert(vpath_handle != NULL); 2849221167Sgnn 2850221167Sgnn vpath = (__hal_virtualpath_t *) 2851221167Sgnn ((__hal_vpath_handle_t *) vpath_handle)->vpath; 2852221167Sgnn 2853221167Sgnn ring = (__hal_ring_t *) vpath->ringh; 2854221167Sgnn 2855221167Sgnn vxge_os_println("********* vxge RING DUMP BEGIN **********"); 2856221167Sgnn 2857221167Sgnn vxge_os_println("********* vxge RING RXD LIST **********"); 2858221167Sgnn 2859221167Sgnn __hal_channel_for_each_dtr(&ring->channel, rxdh, i) { 2860221167Sgnn 2861221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2862221167Sgnn "%d : 0x"VXGE_OS_STXFMT, i, (ptr_t) rxdh); 2863221167Sgnn 2864221167Sgnn vxge_os_println(buffer); 2865221167Sgnn 2866221167Sgnn switch (ring->buffer_mode) { 2867221167Sgnn case 1: 2868221167Sgnn rxd1 = (vxge_hal_ring_rxd_1_t *) rxdh; 2869221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2870221167Sgnn "\thost_control = 0x"VXGE_OS_LLXFMT", " 2871221167Sgnn "control_0 = 0x"VXGE_OS_LLXFMT", " 2872221167Sgnn "control_1 = 0x"VXGE_OS_LLXFMT", " 2873221167Sgnn "buffer0_ptr = 0x"VXGE_OS_LLXFMT, 2874221167Sgnn rxd1->host_control, rxd1->control_0, 2875221167Sgnn rxd1->control_1, rxd1->buffer0_ptr); 2876221167Sgnn break; 2877221167Sgnn case 3: 2878221167Sgnn rxd3 = (vxge_hal_ring_rxd_3_t *) rxdh; 2879221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2880221167Sgnn "\thost_control = 0x"VXGE_OS_LLXFMT", " 2881221167Sgnn "control_0 = 0x"VXGE_OS_LLXFMT", " 2882221167Sgnn "control_1 = 0x"VXGE_OS_LLXFMT", " 2883221167Sgnn "buffer0_ptr = 0x"VXGE_OS_LLXFMT", " 2884221167Sgnn "buffer1_ptr = 0x"VXGE_OS_LLXFMT", " 2885221167Sgnn "buffer2_ptr = 0x"VXGE_OS_LLXFMT, 2886221167Sgnn rxd3->host_control, rxd3->control_0, 2887221167Sgnn rxd3->control_1, rxd3->buffer0_ptr, 2888221167Sgnn rxd3->buffer1_ptr, rxd3->buffer2_ptr); 2889221167Sgnn break; 2890221167Sgnn case 5: 2891221167Sgnn rxd5 = (vxge_hal_ring_rxd_5_t *) rxdh; 2892221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2893221167Sgnn "\thost_control = 0x%x, " 2894221167Sgnn "control_0 = 0x"VXGE_OS_LLXFMT", " 2895221167Sgnn "control_1 = 0x"VXGE_OS_LLXFMT", " 2896221167Sgnn "control_2 = 0x%x, " 2897221167Sgnn "buffer0_ptr = 0x"VXGE_OS_LLXFMT", " 2898221167Sgnn "buffer1_ptr = 0x"VXGE_OS_LLXFMT", " 2899221167Sgnn "buffer2_ptr = 0x"VXGE_OS_LLXFMT", " 2900221167Sgnn "buffer3_ptr = 0x"VXGE_OS_LLXFMT", " 2901221167Sgnn "buffer4_ptr = 0x"VXGE_OS_LLXFMT, 2902221167Sgnn rxd5->host_control, rxd5->control_0, 2903221167Sgnn rxd5->control_1, rxd5->control_2, 2904221167Sgnn rxd5->buffer0_ptr, rxd5->buffer1_ptr, 2905221167Sgnn rxd5->buffer2_ptr, rxd5->buffer3_ptr, 2906221167Sgnn rxd5->buffer4_ptr); 2907221167Sgnn break; 2908221167Sgnn default: 2909221167Sgnn continue; 2910221167Sgnn } 2911221167Sgnn 2912221167Sgnn vxge_os_println(buffer); 2913221167Sgnn } 2914221167Sgnn 2915221167Sgnn vxge_os_println("******* vxge RING RXD LIST END **********"); 2916221167Sgnn 2917221167Sgnn vxge_os_println("********* vxge RING DUMP END **********"); 2918221167Sgnn 2919221167Sgnn return (VXGE_HAL_OK); 2920221167Sgnn} 2921221167Sgnn 2922221167Sgnn/* 2923221167Sgnn * vxge_hal_aux_vpath_fifo_dump - Dump vpath fifo. 2924221167Sgnn * @vpath_handle: Vpath handle. 2925221167Sgnn * 2926221167Sgnn * Dump vpath fifo. 2927221167Sgnn */ 2928221167Sgnnvxge_hal_status_e 2929221167Sgnnvxge_hal_aux_vpath_fifo_dump(vxge_hal_vpath_h vpath_handle) 2930221167Sgnn{ 2931221167Sgnn u32 i, j; 2932221167Sgnn char buffer[4096]; 2933221167Sgnn __hal_fifo_t *fifo; 2934221167Sgnn vxge_hal_txdl_h txdlh; 2935221167Sgnn __hal_virtualpath_t *vpath; 2936221167Sgnn vxge_hal_fifo_txd_t *txd; 2937221167Sgnn __hal_fifo_txdl_priv_t *txdl_priv; 2938221167Sgnn 2939221167Sgnn vxge_assert(vpath_handle != NULL); 2940221167Sgnn 2941221167Sgnn vpath = (__hal_virtualpath_t *) 2942221167Sgnn ((__hal_vpath_handle_t *) vpath_handle)->vpath; 2943221167Sgnn 2944221167Sgnn fifo = (__hal_fifo_t *) vpath->fifoh; 2945221167Sgnn 2946221167Sgnn vxge_os_println("********* vxge FIFO DUMP BEGIN **********"); 2947221167Sgnn 2948221167Sgnn vxge_os_println("********* vxge FIFO TXDL LIST **********"); 2949221167Sgnn 2950221167Sgnn __hal_channel_for_each_dtr(&fifo->channel, txdlh, j) { 2951221167Sgnn 2952221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2953221167Sgnn "TXDL %d : 0x"VXGE_OS_STXFMT, j, (ptr_t) txdlh); 2954221167Sgnn 2955221167Sgnn vxge_os_println(buffer); 2956221167Sgnn 2957221167Sgnn txdl_priv = VXGE_HAL_FIFO_HAL_PRIV(fifo, txdlh); 2958221167Sgnn 2959221167Sgnn for (i = 0, txd = (vxge_hal_fifo_txd_t *) txdlh; 2960221167Sgnn i < txdl_priv->frags; i++, txd++) { 2961221167Sgnn 2962221167Sgnn (void) vxge_os_snprintf(buffer, sizeof(buffer), 2963221167Sgnn "\tcontrol_0 = 0x"VXGE_OS_LLXFMT", " 2964221167Sgnn "control_1 = 0x"VXGE_OS_LLXFMT", " 2965221167Sgnn "buffer_ptr = 0x"VXGE_OS_LLXFMT", " 2966221167Sgnn "host_control = 0x"VXGE_OS_LLXFMT, 2967221167Sgnn txd->control_0, txd->control_1, 2968221167Sgnn txd->buffer_pointer, txd->host_control); 2969221167Sgnn 2970221167Sgnn vxge_os_println(buffer); 2971221167Sgnn } 2972221167Sgnn 2973221167Sgnn } 2974221167Sgnn 2975221167Sgnn vxge_os_println("******* vxge FIFO TXDL LIST END **********"); 2976221167Sgnn 2977221167Sgnn vxge_os_println("********* vxge FIFO DUMP END **********"); 2978221167Sgnn 2979221167Sgnn return (VXGE_HAL_OK); 2980221167Sgnn} 2981221167Sgnn 2982221167Sgnn/* 2983221167Sgnn * vxge_hal_aux_device_dump - Dump driver "about" info and device state. 2984221167Sgnn * @devh: HAL device handle. 2985221167Sgnn * 2986221167Sgnn * Dump driver & device "about" info and device state, 2987221167Sgnn * including all BAR0 registers, hardware and software statistics, PCI 2988221167Sgnn * configuration space. 2989221167Sgnn */ 2990221167Sgnnvxge_hal_status_e 2991221167Sgnnvxge_hal_aux_device_dump(vxge_hal_device_h devh) 2992221167Sgnn{ 2993221167Sgnn vxge_hal_status_e status = VXGE_HAL_OK; 2994221167Sgnn __hal_device_t *hldev = (__hal_device_t *) devh; 2995221167Sgnn int retsize; 2996221167Sgnn u32 offset, i; 2997221167Sgnn u64 retval; 2998221167Sgnn 2999221167Sgnn vxge_assert(hldev->dump_buf != NULL); 3000221167Sgnn 3001221167Sgnn vxge_os_println("********* vxge DEVICE DUMP BEGIN **********"); 3002221167Sgnn 3003221167Sgnn status = vxge_hal_aux_about_read(hldev, VXGE_HAL_DUMP_BUF_SIZE, 3004221167Sgnn hldev->dump_buf, &retsize); 3005221167Sgnn if (status != VXGE_HAL_OK) 3006221167Sgnn goto error; 3007221167Sgnn 3008221167Sgnn vxge_os_println(hldev->dump_buf); 3009221167Sgnn 3010221167Sgnn vxge_os_println("******* PCI Config Reg **********"); 3011221167Sgnn 3012221167Sgnn status = vxge_hal_aux_pci_config_read(hldev, VXGE_HAL_DUMP_BUF_SIZE, 3013221167Sgnn hldev->dump_buf, &retsize); 3014221167Sgnn if (status != VXGE_HAL_OK) 3015221167Sgnn goto error; 3016221167Sgnn 3017221167Sgnn vxge_os_println(hldev->dump_buf); 3018221167Sgnn 3019221167Sgnn vxge_os_println("******* Legacy Reg **********"); 3020221167Sgnn 3021221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_legacy_reg_t); offset += 8) { 3022221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3023221167Sgnn vxge_hal_mgmt_reg_type_legacy, 0, offset, &retval); 3024221167Sgnn 3025221167Sgnn if (status != VXGE_HAL_OK) 3026221167Sgnn goto error; 3027221167Sgnn 3028221167Sgnn if (!retval) 3029221167Sgnn continue; 3030221167Sgnn 3031221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3032221167Sgnn (u32) (retval >> 32), (u32) retval); 3033221167Sgnn } 3034221167Sgnn vxge_os_println("\n"); 3035221167Sgnn 3036221167Sgnn vxge_os_println("******* TOC Reg *********"); 3037221167Sgnn 3038221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_toc_reg_t); offset += 8) { 3039221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3040221167Sgnn vxge_hal_mgmt_reg_type_toc, 0, offset, &retval); 3041221167Sgnn if (status != VXGE_HAL_OK) 3042221167Sgnn goto error; 3043221167Sgnn 3044221167Sgnn if (!retval) 3045221167Sgnn continue; 3046221167Sgnn 3047221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3048221167Sgnn (u32) (retval >> 32), (u32) retval); 3049221167Sgnn } 3050221167Sgnn vxge_os_println("\n"); 3051221167Sgnn 3052221167Sgnn vxge_os_println("******* Common Reg **********"); 3053221167Sgnn 3054221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_common_reg_t); offset += 8) { 3055221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3056221167Sgnn vxge_hal_mgmt_reg_type_common, 0, offset, &retval); 3057221167Sgnn if (status != VXGE_HAL_OK) 3058221167Sgnn goto error; 3059221167Sgnn 3060221167Sgnn if (!retval) 3061221167Sgnn continue; 3062221167Sgnn 3063221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3064221167Sgnn (u32) (retval >> 32), (u32) retval); 3065221167Sgnn } 3066221167Sgnn vxge_os_println("\n"); 3067221167Sgnn 3068221167Sgnn for (i = 0; i < VXGE_HAL_TITAN_PCICFGMGMT_REG_SPACES; i++) { 3069221167Sgnn vxge_os_printf("****** PCI Config Mgmt Reg : %d ********\n", i); 3070221167Sgnn 3071221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_pcicfgmgmt_reg_t); 3072221167Sgnn offset += 8) { 3073221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3074221167Sgnn vxge_hal_mgmt_reg_type_pcicfgmgmt, 3075221167Sgnn i, offset, &retval); 3076221167Sgnn if (status != VXGE_HAL_OK) 3077221167Sgnn continue; 3078221167Sgnn 3079221167Sgnn if (!retval) 3080221167Sgnn continue; 3081221167Sgnn 3082221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3083221167Sgnn (u32) (retval >> 32), (u32) retval); 3084221167Sgnn } 3085221167Sgnn } 3086221167Sgnn vxge_os_println("\n"); 3087221167Sgnn 3088221167Sgnn vxge_os_println("******* MRPCIM Reg **********"); 3089221167Sgnn 3090221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_mrpcim_reg_t); 3091221167Sgnn offset += 8) { 3092221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3093221167Sgnn vxge_hal_mgmt_reg_type_mrpcim, 0, offset, &retval); 3094221167Sgnn if (status != VXGE_HAL_OK) 3095221167Sgnn continue; 3096221167Sgnn 3097221167Sgnn if (!retval) 3098221167Sgnn continue; 3099221167Sgnn 3100221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3101221167Sgnn (u32) (retval >> 32), (u32) retval); 3102221167Sgnn } 3103221167Sgnn vxge_os_println("\n"); 3104221167Sgnn 3105221167Sgnn for (i = 0; i < VXGE_HAL_TITAN_SRPCIM_REG_SPACES; i++) { 3106221167Sgnn vxge_os_printf("******* SRPCIM Reg : %d **********\n", i); 3107221167Sgnn 3108221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_srpcim_reg_t); 3109221167Sgnn offset += 8) { 3110221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3111221167Sgnn vxge_hal_mgmt_reg_type_srpcim, i, offset, &retval); 3112221167Sgnn if (status != VXGE_HAL_OK) 3113221167Sgnn continue; 3114221167Sgnn 3115221167Sgnn if (!retval) 3116221167Sgnn continue; 3117221167Sgnn 3118221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3119221167Sgnn (u32) (retval >> 32), (u32) retval); 3120221167Sgnn } 3121221167Sgnn } 3122221167Sgnn vxge_os_println("\n"); 3123221167Sgnn 3124221167Sgnn for (i = 0; i < VXGE_HAL_TITAN_VPMGMT_REG_SPACES; i++) { 3125221167Sgnn vxge_os_printf("******* VPATH MGMT Reg : %d **********\n", i); 3126221167Sgnn 3127221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_vpmgmt_reg_t); 3128221167Sgnn offset += 8) { 3129221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3130221167Sgnn vxge_hal_mgmt_reg_type_vpmgmt, i, offset, &retval); 3131221167Sgnn if (status != VXGE_HAL_OK) 3132221167Sgnn continue; 3133221167Sgnn 3134221167Sgnn if (!retval) 3135221167Sgnn continue; 3136221167Sgnn 3137221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3138221167Sgnn (u32) (retval >> 32), (u32) retval); 3139221167Sgnn } 3140221167Sgnn } 3141221167Sgnn vxge_os_println("\n"); 3142221167Sgnn 3143221167Sgnn for (i = 0; i < VXGE_HAL_TITAN_VPATH_REG_SPACES; i++) { 3144221167Sgnn vxge_os_printf("******* VPATH Reg : %d **********\n", i); 3145221167Sgnn 3146221167Sgnn for (offset = 0; offset < sizeof(vxge_hal_vpath_reg_t); 3147221167Sgnn offset += 8) { 3148221167Sgnn status = vxge_hal_mgmt_reg_read(devh, 3149221167Sgnn vxge_hal_mgmt_reg_type_vpath, i, offset, &retval); 3150221167Sgnn if (status != VXGE_HAL_OK) 3151221167Sgnn continue; 3152221167Sgnn 3153221167Sgnn if (!retval) 3154221167Sgnn continue; 3155221167Sgnn 3156221167Sgnn vxge_os_printf("0x%04x 0x%08x%08x", offset, 3157221167Sgnn (u32) (retval >> 32), (u32) retval); 3158221167Sgnn } 3159221167Sgnn } 3160221167Sgnn 3161221167Sgnn vxge_os_println("\n"); 3162221167Sgnn 3163221167Sgnn status = vxge_hal_aux_stats_mrpcim_read(hldev, VXGE_HAL_DUMP_BUF_SIZE, 3164221167Sgnn hldev->dump_buf, 3165221167Sgnn &retsize); 3166221167Sgnn if (status == VXGE_HAL_OK) { 3167221167Sgnn vxge_os_println("******* MRPCIM Stats **********"); 3168221167Sgnn vxge_os_println(hldev->dump_buf); 3169221167Sgnn } 3170221167Sgnn 3171221167Sgnn vxge_os_println("******* Device Stats **********"); 3172221167Sgnn 3173221167Sgnn status = vxge_hal_aux_stats_device_read(hldev, VXGE_HAL_DUMP_BUF_SIZE, 3174221167Sgnn hldev->dump_buf, &retsize); 3175221167Sgnn if (status != VXGE_HAL_OK) 3176221167Sgnn goto error; 3177221167Sgnn 3178221167Sgnn vxge_os_println(hldev->dump_buf); 3179221167Sgnn 3180221167Sgnn vxge_os_println("********* DEVICE DUMP END **********"); 3181221167Sgnn 3182221167Sgnnerror: 3183221167Sgnn return (status); 3184221167Sgnn} 3185