diff options
author | jfv <jfv@FreeBSD.org> | 2009-04-10 00:05:46 +0000 |
---|---|---|
committer | jfv <jfv@FreeBSD.org> | 2009-04-10 00:05:46 +0000 |
commit | fa07963f1d89bc36ab035edc2bd9b82f159ab1b7 (patch) | |
tree | f981ffc31c178842e845ff35aa845659f6847a58 /sys/dev/e1000/e1000_api.c | |
parent | 29a481dce88c82f750433e906c9c1a579e5b16fe (diff) | |
download | FreeBSD-src-fa07963f1d89bc36ab035edc2bd9b82f159ab1b7.zip FreeBSD-src-fa07963f1d89bc36ab035edc2bd9b82f159ab1b7.tar.gz |
This delta syncs the em and igb drivers with Intel,
adds header split and SCTP support into the igb driver.
Various small improvements and fixes.
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/e1000/e1000_api.c')
-rw-r--r-- | sys/dev/e1000/e1000_api.c | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/sys/dev/e1000/e1000_api.c b/sys/dev/e1000/e1000_api.c index 47bffb5..1f47d34 100644 --- a/sys/dev/e1000/e1000_api.c +++ b/sys/dev/e1000/e1000_api.c @@ -1,6 +1,6 @@ /****************************************************************************** - Copyright (c) 2001-2008, Intel Corporation + Copyright (c) 2001-2009, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -112,6 +112,7 @@ out: return ret_val; } + /** * e1000_set_mac_type - Sets MAC type * @hw: pointer to the HW structure @@ -250,12 +251,14 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_82575EB_COPPER: case E1000_DEV_ID_82575EB_FIBER_SERDES: case E1000_DEV_ID_82575GB_QUAD_COPPER: + case E1000_DEV_ID_82575GB_QUAD_COPPER_PM: mac->type = e1000_82575; break; case E1000_DEV_ID_82576: case E1000_DEV_ID_82576_FIBER: case E1000_DEV_ID_82576_SERDES: case E1000_DEV_ID_82576_QUAD_COPPER: + case E1000_DEV_ID_82576_NS: mac->type = e1000_82576; break; default: @@ -370,7 +373,6 @@ s32 e1000_setup_init_funcs(struct e1000_hw *hw, bool init_device) ret_val = e1000_init_phy_params(hw); if (ret_val) goto out; - } out: @@ -426,26 +428,16 @@ void e1000_write_vfta(struct e1000_hw *hw, u32 offset, u32 value) * @hw: pointer to the HW structure * @mc_addr_list: array of multicast addresses to program * @mc_addr_count: number of multicast addresses to program - * @rar_used_count: the first RAR register free to program - * @rar_count: total number of supported Receive Address Registers * - * Updates the Receive Address Registers and Multicast Table Array. + * Updates the Multicast Table Array. * The caller must have a packed mc_addr_list of multicast addresses. - * The parameter rar_count will usually be hw->mac.rar_entry_count - * unless there are workarounds that change this. Currently no func pointer - * exists and all implementations are handled in the generic version of this - * function. **/ void e1000_update_mc_addr_list(struct e1000_hw *hw, u8 *mc_addr_list, - u32 mc_addr_count, u32 rar_used_count, - u32 rar_count) + u32 mc_addr_count) { if (hw->mac.ops.update_mc_addr_list) - hw->mac.ops.update_mc_addr_list(hw, - mc_addr_list, - mc_addr_count, - rar_used_count, - rar_count); + hw->mac.ops.update_mc_addr_list(hw, mc_addr_list, + mc_addr_count); } /** @@ -617,6 +609,21 @@ s32 e1000_blink_led(struct e1000_hw *hw) } /** + * e1000_id_led_init - store LED configurations in SW + * @hw: pointer to the HW structure + * + * Initializes the LED config in SW. This is a function pointer entry point + * called by drivers. + **/ +s32 e1000_id_led_init(struct e1000_hw *hw) +{ + if (hw->mac.ops.id_led_init) + return hw->mac.ops.id_led_init(hw); + + return E1000_SUCCESS; +} + +/** * e1000_led_on - Turn on SW controllable LED * @hw: pointer to the HW structure * |