net/ice/base: add basic Tx scheduler
[dpdk.git] / drivers / net / e1000 / base / e1000_82571.c
index 8ae1cb1..397dd94 100644 (file)
@@ -1,6 +1,6 @@
 /*******************************************************************************
 
-Copyright (c) 2001-2014, Intel Corporation
+Copyright (c) 2001-2015, Intel Corporation
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -1257,6 +1257,11 @@ STATIC s32 e1000_init_hw_82571(struct e1000_hw *hw)
         */
        e1000_clear_hw_cntrs_82571(hw);
 
+       /* MSI-X configure for 82574 */
+       if (mac->type == e1000_82574)
+               E1000_WRITE_REG(hw, E1000_IVAR,
+                               (E1000_IVAR_INT_ALLOC_VALID << 16));
+
        return ret_val;
 }
 
@@ -1452,10 +1457,14 @@ STATIC void e1000_clear_vfta_82571(struct e1000_hw *hw)
 STATIC bool e1000_check_mng_mode_82574(struct e1000_hw *hw)
 {
        u16 data;
+       s32 ret_val;
 
        DEBUGFUNC("e1000_check_mng_mode_82574");
 
-       hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG, 1, &data);
+       ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG, 1, &data);
+       if (ret_val)
+               return false;
+
        return (data & E1000_NVM_INIT_CTRL2_MNGM) != 0;
 }