1 /* Broadcom NetXtreme-C/E network driver. 2 * 3 * Copyright (c) 2014-2016 Broadcom Corporation 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation. 8 */ 9 10 #ifndef BNXT_ETHTOOL_H 11 #define BNXT_ETHTOOL_H 12 13 struct bnxt_led_cfg { 14 u8 led_id; 15 u8 led_state; 16 u8 led_color; 17 u8 unused; 18 __le16 led_blink_on; 19 __le16 led_blink_off; 20 u8 led_group_id; 21 u8 rsvd; 22 }; 23 24 #define BNXT_LED_DFLT_ENA \ 25 (PORT_LED_CFG_REQ_ENABLES_LED0_ID | \ 26 PORT_LED_CFG_REQ_ENABLES_LED0_STATE | \ 27 PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON | \ 28 PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF | \ 29 PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID) 30 31 #define BNXT_LED_DFLT_ENA_SHIFT 6 32 33 #define BNXT_LED_DFLT_ENABLES(x) \ 34 cpu_to_le32(BNXT_LED_DFLT_ENA << (BNXT_LED_DFLT_ENA_SHIFT * (x))) 35 36 extern const struct ethtool_ops bnxt_ethtool_ops; 37 38 u32 _bnxt_fw_to_ethtool_adv_spds(u16, u8); 39 u32 bnxt_fw_to_ethtool_speed(u16); 40 u16 bnxt_get_fw_auto_link_speeds(u32); 41 42 #endif 43