root/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* Broadcom NetXtreme-C/E network driver.
   2  *
   3  * Copyright (c) 2014-2016 Broadcom Corporation
   4  * Copyright (c) 2016-2017 Broadcom Limited
   5  *
   6  * This program is free software; you can redistribute it and/or modify
   7  * it under the terms of the GNU General Public License as published by
   8  * the Free Software Foundation.
   9  */
  10 
  11 #ifndef BNXT_ETHTOOL_H
  12 #define BNXT_ETHTOOL_H
  13 
  14 struct bnxt_led_cfg {
  15         u8 led_id;
  16         u8 led_state;
  17         u8 led_color;
  18         u8 unused;
  19         __le16 led_blink_on;
  20         __le16 led_blink_off;
  21         u8 led_group_id;
  22         u8 rsvd;
  23 };
  24 
  25 #define COREDUMP_LIST_BUF_LEN           2048
  26 #define COREDUMP_RETRIEVE_BUF_LEN       4096
  27 
  28 struct bnxt_coredump {
  29         void            *data;
  30         int             data_size;
  31         u16             total_segs;
  32 };
  33 
  34 #define BNXT_COREDUMP_BUF_LEN(len) ((len) - sizeof(struct bnxt_coredump_record))
  35 
  36 struct bnxt_hwrm_dbg_dma_info {
  37         void *dest_buf;
  38         int dest_buf_size;
  39         u16 dma_len;
  40         u16 seq_off;
  41         u16 data_len_off;
  42         u16 segs;
  43         u32 seg_start;
  44         u32 buf_len;
  45 };
  46 
  47 struct hwrm_dbg_cmn_input {
  48         __le16 req_type;
  49         __le16 cmpl_ring;
  50         __le16 seq_id;
  51         __le16 target_id;
  52         __le64 resp_addr;
  53         __le64 host_dest_addr;
  54         __le32 host_buf_len;
  55 };
  56 
  57 struct hwrm_dbg_cmn_output {
  58         __le16 error_code;
  59         __le16 req_type;
  60         __le16 seq_id;
  61         __le16 resp_len;
  62         u8 flags;
  63         #define HWRM_DBG_CMN_FLAGS_MORE 1
  64 };
  65 
  66 #define BNXT_LED_DFLT_ENA                               \
  67         (PORT_LED_CFG_REQ_ENABLES_LED0_ID |             \
  68          PORT_LED_CFG_REQ_ENABLES_LED0_STATE |          \
  69          PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON |       \
  70          PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF |      \
  71          PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID)
  72 
  73 #define BNXT_LED_DFLT_ENA_SHIFT 6
  74 
  75 #define BNXT_LED_DFLT_ENABLES(x)                        \
  76         cpu_to_le32(BNXT_LED_DFLT_ENA << (BNXT_LED_DFLT_ENA_SHIFT * (x)))
  77 
  78 #define BNXT_FW_RESET_AP        0xfffe
  79 #define BNXT_FW_RESET_CHIP      0xffff
  80 
  81 extern const struct ethtool_ops bnxt_ethtool_ops;
  82 
  83 u32 _bnxt_fw_to_ethtool_adv_spds(u16, u8);
  84 u32 bnxt_fw_to_ethtool_speed(u16);
  85 u16 bnxt_get_fw_auto_link_speeds(u32);
  86 void bnxt_ethtool_init(struct bnxt *bp);
  87 void bnxt_ethtool_free(struct bnxt *bp);
  88 
  89 #endif

/* [<][>][^][v][top][bottom][index][help] */