summaryrefslogtreecommitdiffstats
path: root/src/drivers/infiniband/mlx_utils
diff options
context:
space:
mode:
authorRaed Salem2017-03-23 14:56:27 +0100
committerMichael Brown2017-03-23 15:03:40 +0100
commit1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf (patch)
tree7f55f56fb73766a7ae983d7cbb4c61f961f403ed /src/drivers/infiniband/mlx_utils
parent[rtl818x] Fix resource leak on error path (diff)
downloadipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.tar.gz
ipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.tar.xz
ipxe-1ff1eebcf7a93a237a1b91ea5d9dcc5b5f1a13bf.zip
[golan] Bug fixes and improved paging allocation method
Updates: - revert Support for clear interrupt via BAR Signed-off-by: Raed Salem <raeds@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/infiniband/mlx_utils')
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.c38
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.h10
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.c8
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h36
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig_defaults.c17
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.c145
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.h73
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/mlx_reg_access.h5
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.c84
-rw-r--r--src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.h61
-rw-r--r--src/drivers/infiniband/mlx_utils/src/private/uefi/mlx_logging_impl.c9
-rw-r--r--src/drivers/infiniband/mlx_utils/src/public/mlx_pci.c2
12 files changed, 86 insertions, 402 deletions
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.c b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.c
index 755730284..f0af1ecfa 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.c
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.c
@@ -20,8 +20,8 @@
FILE_LICENCE ( GPL2_OR_LATER );
#include "mlx_mtu.h"
-#include "mlx_memory.h"
-#include "mlx_bail.h"
+#include "../../include/public/mlx_memory.h"
+#include "../../include/public/mlx_bail.h"
mlx_status
mlx_get_max_mtu(
@@ -58,3 +58,37 @@ reg_err:
bad_param:
return status;
}
+
+mlx_status
+mlx_set_admin_mtu(
+ IN mlx_utils *utils,
+ IN mlx_uint8 port_num,
+ IN mlx_uint32 admin_mtu
+ )
+{
+ mlx_status status = MLX_SUCCESS;
+ struct mlx_mtu mtu;
+ mlx_uint32 reg_status;
+
+ if (utils == NULL) {
+ status = MLX_INVALID_PARAMETER;
+ goto bad_param;
+ }
+
+ mlx_memory_set(utils, &mtu, 0, sizeof(mtu));
+
+ mtu.local_port = port_num;
+ mtu.admin_mtu = admin_mtu;
+
+ status = mlx_reg_access(utils, REG_ID_PMTU, REG_ACCESS_WRITE, &mtu,
+ sizeof(mtu), &reg_status);
+ MLX_CHECK_STATUS(utils, status, reg_err, "mlx_reg_access failed ");
+ if (reg_status != 0) {
+ MLX_DEBUG_ERROR(utils,"mlx_reg_access failed with status = %d\n", reg_status);
+ status = MLX_FAILED;
+ goto reg_err;
+ }
+reg_err:
+bad_param:
+ return status;
+}
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.h b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.h
index c6222625c..bd3ded3f1 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.h
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_mtu/mlx_mtu.h
@@ -22,8 +22,8 @@
FILE_LICENCE ( GPL2_OR_LATER );
-#include "mlx_reg_access.h"
-#include "mlx_utils.h"
+#include "../../include/public/mlx_utils.h"
+#include "../../mlx_lib/mlx_reg_access/mlx_reg_access.h"
#define BYTE_TO_BIT 0x8
@@ -49,4 +49,10 @@ mlx_get_max_mtu(
OUT mlx_uint32 *max_mtu
);
+mlx_status
+mlx_set_admin_mtu(
+ IN mlx_utils *utils,
+ IN mlx_uint8 port_num,
+ IN mlx_uint32 admin_mtu
+ );
#endif /* MLX_MTU_H_ */
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.c b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.c
index 1ea68dd8a..028ba5ce6 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.c
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.c
@@ -39,7 +39,6 @@ struct nvconfig_tlv_mapping nvconfig_tlv_mapping[] = {
TlvMappingEntry(0x2001, 0x195, NVRAM_TLV_CLASS_HOST, FALSE),
TlvMappingEntry(0x2010, 0x210, NVRAM_TLV_CLASS_HOST, FALSE),
TlvMappingEntry(0x2011, 0x211, NVRAM_TLV_CLASS_GLOBAL, FALSE),
- TlvMappingEntry(0x2020, 0x2020, NVRAM_TLV_CLASS_PHYSICAL_PORT, FALSE),
TlvMappingEntry(0x2021, 0x221, NVRAM_TLV_CLASS_HOST, FALSE),
TlvMappingEntry(0x2023, 0x223, NVRAM_TLV_CLASS_HOST, FALSE),
TlvMappingEntry(0x2006, 0x206, NVRAM_TLV_CLASS_HOST, FALSE),
@@ -67,6 +66,7 @@ struct nvconfig_tlv_mapping nvconfig_tlv_mapping[] = {
TlvMappingEntry(0x110, 0x110, NVRAM_TLV_CLASS_HOST, FALSE),
TlvMappingEntry(0x192, 0x192, NVRAM_TLV_CLASS_GLOBAL, FALSE),
TlvMappingEntry(0x101, 0x101, NVRAM_TLV_CLASS_GLOBAL, TRUE),
+ TlvMappingEntry(0x194, 0x194, NVRAM_TLV_CLASS_GLOBAL, FALSE),
TlvMappingEntry(0, 0, 0, 0),
};
@@ -239,6 +239,7 @@ nvconfig_nvdata_access(
IN REG_ACCESS_OPT opt,
IN mlx_size data_size,
IN NV_DEFAULT_OPT def_en,
+ IN NVDA_WRITER_ID writer_id,
IN OUT mlx_uint8 *version,
IN OUT mlx_void *data
)
@@ -263,10 +264,9 @@ nvconfig_nvdata_access(
data_size_align_to_dword = ((data_size + 3) / sizeof(mlx_uint32)) * sizeof(mlx_uint32);
mlx_memory_set(utils, &nvda, 0, sizeof(nvda));
nvda.nv_header.length = data_size_align_to_dword;
- nvda.nv_header.rd_en = 0;
- nvda.nv_header.def_en = def_en;
- nvda.nv_header.over_en = 1;
+ nvda.nv_header.access_mode = def_en;
nvda.nv_header.version = *version;
+ nvda.nv_header.writer_id = writer_id;
nvconfig_fill_tlv_type(port, class_code, real_tlv_type, &nvda.nv_header.tlv_type);
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h
index 0a99bb1b5..3058c781a 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig.h
@@ -31,6 +31,17 @@ typedef enum {
NVRAM_TLV_CLASS_HOST = 3,
} NVRAM_CLASS_CODE;
+typedef enum {
+ NVDA_NV_HEADER_WRITER_ID_UEFI_HII = 0x6,
+ NVDA_NV_HEADER_WRITER_ID_FLEXBOOT = 0x8,
+} NVDA_WRITER_ID;
+
+typedef enum {
+ TLV_ACCESS_DEFAULT_DIS = 0,
+ TLV_ACCESS_CURRENT = 1,
+ TLV_ACCESS_DEFAULT_EN = 2,
+} NV_DEFAULT_OPT;
+
struct nvconfig_tlv_type_per_port {
mlx_uint32 param_idx :16;
mlx_uint32 port :8;
@@ -78,26 +89,24 @@ struct nvconfig_header {
mlx_uint32 length :9; /*Size of configuration item data in bytes between 0..256 */
mlx_uint32 reserved0 :3;
mlx_uint32 version :4; /* Configuration item version */
- mlx_uint32 reserved1 :7;
-
- mlx_uint32 def_en :1; /*Choose whether to access the default value or the user-defined value.
- 0x0 Read or write the user-defined value.
- 0x1 Read the default value (only valid for reads).*/
-
- mlx_uint32 rd_en :1; /*enables reading the TLV by lower priorities
- 0 - TLV can be read by the subsequent lifecycle priorities.
- 1 - TLV cannot be read by the subsequent lifecycle priorities. */
- mlx_uint32 over_en :1; /*enables overwriting the TLV by lower priorities
- 0 - Can only be overwritten by the current lifecycle priority
- 1 - Allowed to be overwritten by subsequent lifecycle priorities */
+ mlx_uint32 writer_id :5;
+ mlx_uint32 reserved1 :1;
+
+ mlx_uint32 access_mode :2; /*Defines which value of the Configuration Item will be accessed.
+ 0x0: NEXT - Next value to be applied
+ 0x1: CURRENT - Currently set values (only valid for Query operation) Supported only if NVGC.nvda_read_current_settings==1.
+ 0x2: FACTORY - Default factory values (only valid for Query operation). Supported only if NVGC.nvda_read_factory_settings==1.*/
+
+ mlx_uint32 reserved2 :2;
mlx_uint32 header_type :2;
- mlx_uint32 priority :2;
+ mlx_uint32 reserved3 :2;
mlx_uint32 valid :2;
/* -------------- */
union nvconfig_tlv_type tlv_type;;
/* -------------- */
mlx_uint32 crc :16;
mlx_uint32 reserved :16;
+
};
#define NVCONFIG_MAX_TLV_SIZE 256
@@ -149,6 +158,7 @@ nvconfig_nvdata_access(
IN REG_ACCESS_OPT opt,
IN mlx_size data_size,
IN NV_DEFAULT_OPT def_en,
+ IN NVDA_WRITER_ID writer_id,
IN OUT mlx_uint8 *version,
IN OUT mlx_void *data
);
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig_defaults.c b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig_defaults.c
index f5b2f155f..ca5a65914 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig_defaults.c
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/mlx_nvconfig_defaults.c
@@ -386,7 +386,8 @@ nvconfig_nvdata_default_access(
mlx_uint8 version = 0;
status = nvconfig_nvdata_access(utils, port, tlv_type, REG_ACCESS_READ,
- data_size, TLV_ACCESS_DEFAULT_EN, &version, data);
+ data_size, TLV_ACCESS_DEFAULT_EN, 0,
+ &version, data);
MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
"nvconfig_nvdata_access failed ");
for (index = 0; index * 4 < data_size; index++) {
@@ -493,6 +494,8 @@ nvconfig_read_rom_ini_values(
)
{
mlx_status status = MLX_SUCCESS;
+ mlx_uint8 version = 0;
+ mlx_uint32 index;
if (utils == NULL || rom_ini == NULL) {
status = MLX_INVALID_PARAMETER;
@@ -501,8 +504,16 @@ nvconfig_read_rom_ini_values(
}
mlx_memory_set(utils, rom_ini, 0, sizeof(*rom_ini));
- status = nvconfig_nvdata_default_access(utils, 0, GLOBAL_ROM_INI_TYPE,
- sizeof(*rom_ini), rom_ini);
+ status = nvconfig_nvdata_access(utils, 0, GLOBAL_ROM_INI_TYPE, REG_ACCESS_READ,
+ sizeof(*rom_ini), TLV_ACCESS_DEFAULT_DIS, 0,
+ &version, rom_ini);
+ MLX_CHECK_STATUS(NULL, status, bad_param,
+ "nvconfig_nvdata_access failed ");
+ for (index = 0; index * 4 < sizeof(*rom_ini); index++) {
+ mlx_memory_be32_to_cpu(utils, (((mlx_uint32 *) rom_ini)[index]),
+ ((mlx_uint32 *) rom_ini) + index);
+ }
+
bad_param:
return status;
}
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.c b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.c
deleted file mode 100644
index 3852efbf1..000000000
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2015 Mellanox Technologies Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-#include "mlx_ocbb.h"
-#include "mlx_icmd.h"
-#include "mlx_bail.h"
-
-mlx_status
-mlx_ocbb_init (
- IN mlx_utils *utils,
- IN mlx_uint64 address
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_ocbb_init ocbb_init;
- ocbb_init.address_hi = (mlx_uint32)(address >> 32);
- ocbb_init.address_lo = (mlx_uint32)address;
-
- if (utils == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- status = mlx_icmd_send_command(
- utils,
- OCBB_INIT,
- &ocbb_init,
- sizeof(ocbb_init),
- 0
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
-icmd_err:
-bad_param:
- return status;
-}
-
-mlx_status
-mlx_ocbb_query_header_status (
- IN mlx_utils *utils,
- OUT mlx_uint8 *ocbb_status
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_ocbb_query_status ocbb_query_status;
-
- if (utils == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- status = mlx_icmd_send_command(
- utils,
- OCBB_QUERY_HEADER_STATUS,
- &ocbb_query_status,
- 0,
- sizeof(ocbb_query_status)
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
- *ocbb_status = ocbb_query_status.status;
-icmd_err:
-bad_param:
- return status;
-}
-
-mlx_status
-mlx_ocbb_query_etoc_status (
- IN mlx_utils *utils,
- OUT mlx_uint8 *ocbb_status
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_ocbb_query_status ocbb_query_status;
-
- if (utils == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- status = mlx_icmd_send_command(
- utils,
- OCBB_QUERY_ETOC_STATUS,
- &ocbb_query_status,
- 0,
- sizeof(ocbb_query_status)
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
- *ocbb_status = ocbb_query_status.status;
-icmd_err:
-bad_param:
- return status;
-}
-
-mlx_status
-mlx_ocbb_set_event (
- IN mlx_utils *utils,
- IN mlx_uint64 event_data,
- IN mlx_uint8 event_number,
- IN mlx_uint8 event_length,
- IN mlx_uint8 data_length,
- IN mlx_uint8 data_start_offset
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_ocbb_set_event ocbb_event;
-
- if (utils == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- ocbb_event.data_length = data_length;
- ocbb_event.data_start_offset = data_start_offset;
- ocbb_event.event_number = event_number;
- ocbb_event.event_data = event_data;
- ocbb_event.event_length = event_length;
- status = mlx_icmd_send_command(
- utils,
- OCBB_QUERY_SET_EVENT,
- &ocbb_event,
- sizeof(ocbb_event),
- 0
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
-icmd_err:
-bad_param:
- return status;
-}
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.h b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.h
deleted file mode 100644
index 49312b98f..000000000
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_ocbb/mlx_ocbb.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef MLX_OCBB_H_
-#define MLX_OCBB_H_
-
-/*
- * Copyright (C) 2015 Mellanox Technologies Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-#include "mlx_utils.h"
-
-#define MLX_OCBB_EVENT_DATA_SIZE 2
-struct mlx_ocbb_init {
- mlx_uint32 address_hi;
- mlx_uint32 address_lo;
-};
-
-struct mlx_ocbb_query_status {
- mlx_uint32 reserved :24;
- mlx_uint32 status :8;
-};
-
-struct mlx_ocbb_set_event {
- mlx_uint64 event_data;
- mlx_uint32 event_number :8;
- mlx_uint32 event_length :8;
- mlx_uint32 data_length :8;
- mlx_uint32 data_start_offset :8;
-};
-
-mlx_status
-mlx_ocbb_init (
- IN mlx_utils *utils,
- IN mlx_uint64 address
- );
-
-mlx_status
-mlx_ocbb_query_header_status (
- IN mlx_utils *utils,
- OUT mlx_uint8 *ocbb_status
- );
-
-mlx_status
-mlx_ocbb_query_etoc_status (
- IN mlx_utils *utils,
- OUT mlx_uint8 *ocbb_status
- );
-
-mlx_status
-mlx_ocbb_set_event (
- IN mlx_utils *utils,
- IN mlx_uint64 EventData,
- IN mlx_uint8 EventNumber,
- IN mlx_uint8 EventLength,
- IN mlx_uint8 DataLength,
- IN mlx_uint8 DataStartOffset
- );
-#endif /* MLX_OCBB_H_ */
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/mlx_reg_access.h b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/mlx_reg_access.h
index 9fbf51631..ca7ca2f84 100644
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/mlx_reg_access.h
+++ b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/mlx_reg_access.h
@@ -31,11 +31,6 @@ typedef enum {
REG_ACCESS_WRITE = 2,
} REG_ACCESS_OPT;
-typedef enum {
- TLV_ACCESS_DEFAULT_DIS = 0,
- TLV_ACCESS_DEFAULT_EN = 1,
-} NV_DEFAULT_OPT;
-
#define REG_ID_NVDA 0x9024
#define REG_ID_NVDI 0x9025
#define REG_ID_NVIA 0x9029
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.c b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.c
deleted file mode 100644
index a6c23c4a1..000000000
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2015 Mellanox Technologies Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-#include "mlx_wol_rol.h"
-#include "mlx_icmd.h"
-#include "mlx_memory.h"
-#include "mlx_bail.h"
-
-mlx_status
-mlx_set_wol (
- IN mlx_utils *utils,
- IN mlx_uint8 wol_mask
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_wol_rol wol_rol;
-
- if (utils == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- mlx_memory_set(utils, &wol_rol, 0, sizeof(wol_rol));
- wol_rol.wol_mode_valid = TRUE;
- wol_rol.wol_mode = wol_mask;
- status = mlx_icmd_send_command(
- utils,
- SET_WOL_ROL,
- &wol_rol,
- sizeof(wol_rol),
- 0
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
-icmd_err:
-bad_param:
- return status;
-}
-
-mlx_status
-mlx_query_wol (
- IN mlx_utils *utils,
- OUT mlx_uint8 *wol_mask
- )
-{
- mlx_status status = MLX_SUCCESS;
- struct mlx_wol_rol wol_rol;
-
- if (utils == NULL || wol_mask == NULL) {
- status = MLX_INVALID_PARAMETER;
- goto bad_param;
- }
-
- mlx_memory_set(utils, &wol_rol, 0, sizeof(wol_rol));
- status = mlx_icmd_send_command(
- utils,
- QUERY_WOL_ROL,
- &wol_rol,
- 0,
- sizeof(wol_rol)
- );
- MLX_CHECK_STATUS(utils, status, icmd_err, "mlx_icmd_send_command failed");
- *wol_mask = wol_rol.wol_mode;
-icmd_err:
-bad_param:
- return status;
-}
diff --git a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.h b/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.h
deleted file mode 100644
index 610419d5d..000000000
--- a/src/drivers/infiniband/mlx_utils/mlx_lib/mlx_wol_rol/mlx_wol_rol.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef MLX_WOL_ROL_H_
-#define MLX_WOL_ROL_H_
-
-/*
- * Copyright (C) 2015 Mellanox Technologies Ltd.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-
-#include "mlx_utils.h"
-
-typedef enum {
- WOL_MODE_DISABLE = 0x0,
- WOL_MODE_SECURE = 0x2,
- WOL_MODE_MAGIC = 0x4,
- WOL_MODE_ARP = 0x8,
- WOL_MODE_BC = 0x10,
- WOL_MODE_MC = 0x20,
- WOL_MODE_UC = 0x40,
- WOL_MODE_PHY = 0x80,
-} WOL_MODE;
-
-struct mlx_wol_rol {
- mlx_uint32 reserved0 :32;
- mlx_uint32 reserved1 :32;
- mlx_uint32 wol_mode :8;
- mlx_uint32 rol_mode :8;
- mlx_uint32 reserved3 :14;
- mlx_uint32 wol_mode_valid :1;
- mlx_uint32 rol_mode_valid :1;
-};
-
-mlx_status
-mlx_set_wol (
- IN mlx_utils *utils,
- IN mlx_uint8 wol_mask
- );
-
-mlx_status
-mlx_query_wol (
- IN mlx_utils *utils,
- OUT mlx_uint8 *wol_mask
- );
-
-#endif /* MLX_WOL_ROL_H_ */
diff --git a/src/drivers/infiniband/mlx_utils/src/private/uefi/mlx_logging_impl.c b/src/drivers/infiniband/mlx_utils/src/private/uefi/mlx_logging_impl.c
deleted file mode 100644
index 4386ad9b9..000000000
--- a/src/drivers/infiniband/mlx_utils/src/private/uefi/mlx_logging_impl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-MlxDebugLogImpl()
- {
- DBGC((DEBUG),"");
- }
-MlxInfoLogImpl()
-{
- DBGC((INFO),"");
- }
-}
diff --git a/src/drivers/infiniband/mlx_utils/src/public/mlx_pci.c b/src/drivers/infiniband/mlx_utils/src/public/mlx_pci.c
index f9f9b2a12..d4ff1b9a1 100644
--- a/src/drivers/infiniband/mlx_utils/src/public/mlx_pci.c
+++ b/src/drivers/infiniband/mlx_utils/src/public/mlx_pci.c
@@ -107,7 +107,7 @@ mlx_pci_mem_read(
status = MLX_INVALID_PARAMETER;
goto bail;
}
- status = mlx_pci_mem_read_priv(utils, bar_index, width, offset, count, buffer);
+ status = mlx_pci_mem_read_priv(utils, width,bar_index, offset, count, buffer);
bail:
return status;
}