The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/bnxt/bnxt_ioctl.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Broadcom NetXtreme-C/E network driver.
    3  *
    4  * Copyright (c) 2016 Broadcom, All Rights Reserved.
    5  * The term Broadcom refers to Broadcom Limited and/or its subsidiaries
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  *
   16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'
   17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
   20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
   26  * THE POSSIBILITY OF SUCH DAMAGE.
   27  */
   28 
   29 #include <sys/cdefs.h>
   30 __FBSDID("$FreeBSD: releng/12.0/sys/dev/bnxt/bnxt_ioctl.h 308696 2016-11-15 20:35:29Z shurd $");
   31 
   32 #ifndef _BNXT_IOCTL_H
   33 #define _BNXT_IOCTL_H
   34 
   35 enum bnxt_ioctl_type {
   36         BNXT_HWRM_NVM_FIND_DIR_ENTRY,
   37         BNXT_HWRM_NVM_READ,
   38         BNXT_HWRM_FW_RESET,
   39         BNXT_HWRM_FW_QSTATUS,
   40         BNXT_HWRM_NVM_WRITE,
   41         BNXT_HWRM_NVM_ERASE_DIR_ENTRY,
   42         BNXT_HWRM_NVM_GET_DIR_INFO,
   43         BNXT_HWRM_NVM_GET_DIR_ENTRIES,
   44         BNXT_HWRM_NVM_MODIFY,
   45         BNXT_HWRM_NVM_VERIFY_UPDATE,
   46         BNXT_HWRM_NVM_INSTALL_UPDATE,
   47         BNXT_HWRM_FW_GET_TIME,
   48         BNXT_HWRM_FW_SET_TIME,
   49 };
   50 
   51 struct bnxt_ioctl_header {
   52         enum bnxt_ioctl_type type;
   53         int             rc;
   54 };
   55 
   56 struct bnxt_ioctl_hwrm_nvm_find_dir_entry {
   57         struct bnxt_ioctl_header hdr;
   58         uint32_t        data_length;
   59         uint32_t        fw_ver;
   60         uint32_t        item_length;
   61         uint16_t        ext;
   62         uint16_t        index;
   63         uint16_t        ordinal;
   64         uint16_t        type;
   65         uint8_t         search_opt;
   66         bool            use_index;
   67 };
   68 
   69 struct bnxt_ioctl_hwrm_nvm_read {
   70         struct bnxt_ioctl_header hdr;
   71         uint8_t         *data;
   72         uint32_t        length;
   73         uint32_t        offset;
   74         uint16_t        index;
   75 };
   76 
   77 struct bnxt_ioctl_hwrm_fw_reset {
   78         struct bnxt_ioctl_header hdr;
   79         uint8_t         processor;
   80         uint8_t         selfreset;
   81 };
   82 
   83 struct bnxt_ioctl_hwrm_fw_qstatus {
   84         struct bnxt_ioctl_header hdr;
   85         uint8_t         processor;
   86         uint8_t         selfreset;
   87 };
   88 
   89 struct bnxt_ioctl_hwrm_nvm_write {
   90         struct bnxt_ioctl_header hdr;
   91         uint8_t         *data;
   92         uint32_t        data_length;
   93         uint32_t        item_length;
   94         uint16_t        attr;
   95         uint16_t        ext;
   96         uint16_t        index;
   97         uint16_t        option;
   98         uint16_t        ordinal;
   99         uint16_t        type;
  100         bool            keep;
  101 };
  102 
  103 struct bnxt_ioctl_hwrm_nvm_erase_dir_entry {
  104         struct bnxt_ioctl_header hdr;
  105         enum bnxt_ioctl_type type;
  106         int             rc;
  107         uint16_t        index;
  108 };
  109 
  110 struct bnxt_ioctl_hwrm_nvm_get_dir_info {
  111         struct bnxt_ioctl_header hdr;
  112         uint32_t        entries;
  113         uint32_t        entry_length;
  114 };
  115 
  116 struct bnxt_ioctl_hwrm_nvm_get_dir_entries {
  117         struct bnxt_ioctl_header hdr;
  118         uint8_t         *data;
  119         size_t          max_size;
  120         uint32_t        entries;
  121         uint32_t        entry_length;
  122 };
  123 
  124 struct bnxt_ioctl_hwrm_nvm_install_update {
  125         struct bnxt_ioctl_header hdr;
  126         uint64_t        installed_items;
  127         uint32_t        install_type;
  128         uint8_t         problem_item;
  129         uint8_t         reset_required;
  130         uint8_t         result;
  131 };
  132 
  133 struct bnxt_ioctl_hwrm_nvm_verify_update {
  134         struct bnxt_ioctl_header hdr;
  135         uint16_t        ext;
  136         uint16_t        ordinal;
  137         uint16_t        type;
  138 };
  139 
  140 struct bnxt_ioctl_hwrm_nvm_modify {
  141         struct bnxt_ioctl_header hdr;
  142         uint8_t         *data;
  143         uint32_t        length;
  144         uint32_t        offset;
  145         uint16_t        index;
  146 };
  147 
  148 struct bnxt_ioctl_hwrm_fw_get_time {
  149         struct bnxt_ioctl_header hdr;
  150         uint16_t        millisecond;
  151         uint16_t        year;
  152         uint16_t        zone;
  153         uint8_t         day;
  154         uint8_t         hour;
  155         uint8_t         minute;
  156         uint8_t         month;
  157         uint8_t         second;
  158 };
  159 
  160 struct bnxt_ioctl_hwrm_fw_set_time {
  161         struct bnxt_ioctl_header hdr;
  162         uint16_t        millisecond;
  163         uint16_t        year;
  164         uint16_t        zone;
  165         uint8_t         day;
  166         uint8_t         hour;
  167         uint8_t         minute;
  168         uint8_t         month;
  169         uint8_t         second;
  170 };
  171 
  172 /* IOCTL interface */
  173 struct bnxt_ioctl_data {
  174         union {
  175                 struct bnxt_ioctl_header                        hdr;
  176                 struct bnxt_ioctl_hwrm_nvm_find_dir_entry       find;
  177                 struct bnxt_ioctl_hwrm_nvm_read                 read;
  178                 struct bnxt_ioctl_hwrm_fw_reset                 reset;
  179                 struct bnxt_ioctl_hwrm_fw_qstatus               status;
  180                 struct bnxt_ioctl_hwrm_nvm_write                write;
  181                 struct bnxt_ioctl_hwrm_nvm_erase_dir_entry      erase;
  182                 struct bnxt_ioctl_hwrm_nvm_get_dir_info         dir_info;
  183                 struct bnxt_ioctl_hwrm_nvm_get_dir_entries      dir_entries;
  184                 struct bnxt_ioctl_hwrm_nvm_install_update       install;
  185                 struct bnxt_ioctl_hwrm_nvm_verify_update        verify;
  186                 struct bnxt_ioctl_hwrm_nvm_modify               modify;
  187                 struct bnxt_ioctl_hwrm_fw_get_time              get_time;
  188                 struct bnxt_ioctl_hwrm_fw_set_time              set_time;
  189         };
  190 };
  191 
  192 #endif

Cache object: 9544378f678f31e35c11a31d69673aac


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.