From: Harald Høeg Date: Fri, 15 Jul 2016 08:03:26 +0000 (+0200) Subject: EPSC_API_VERSION(2,6) - Adding retrieval of SMP and vlink connect modes X-Git-Tag: v4.1.12-92~96^2~11 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f5f4f95b9f6eb6cf1e5b5b2ef5b5f33363a0e77a;p=users%2Fjedix%2Flinux-maple.git EPSC_API_VERSION(2,6) - Adding retrieval of SMP and vlink connect modes Orabug: 23634562 Change-Id: Ic3eea7a7297c9ff97e72cb25dda4ba44fdfa2937 Signed-off-by: Harald Høeg Reviewed-by: Knut Omang --- diff --git a/drivers/infiniband/hw/sif/psif_api.h b/drivers/infiniband/hw/sif/psif_api.h index eb82f476828cb..f99af66dd741b 100644 --- a/drivers/infiniband/hw/sif/psif_api.h +++ b/drivers/infiniband/hw/sif/psif_api.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -43,7 +43,7 @@ typedef uint64_t __be64; * Update when new operations are added or otherwise * backward compatible changes are made */ -#define EPSC_MINOR_VERSION 5 +#define EPSC_MINOR_VERSION 6 /* * Macros for EPSC API #if checking in code @@ -55,7 +55,7 @@ typedef uint64_t __be64; * Macro to conver 16 bit sequence number to 64 bit wire format */ #define EPSC_STATUS_16_to_64(s) ((((u64)(s)) << 0) | (((u64)(s)) << 16) | \ - (((u64)(s)) << 32) | ((((u64)s)) << 48)) + (((u64)(s)) << 32) | ((((u64)s)) << 48)) /* * Macros to force layout to match HW implementation */ diff --git a/drivers/infiniband/hw/sif/psif_endian.h b/drivers/infiniband/hw/sif/psif_endian.h index 1ca474ec01163..94bc5a8389d41 100644 --- a/drivers/infiniband/hw/sif/psif_endian.h +++ b/drivers/infiniband/hw/sif/psif_endian.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */ #ifndef _PSIF_ENDIAN_H diff --git a/drivers/infiniband/hw/sif/psif_hw_csr.h b/drivers/infiniband/hw/sif/psif_hw_csr.h index 2d9bca1e4f742..0548766b0fde8 100644 --- a/drivers/infiniband/hw/sif/psif_hw_csr.h +++ b/drivers/infiniband/hw/sif/psif_hw_csr.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * * THIS FILE IS AUTOMATICALLY GENERATED & MANUALLY SCRUBBED. DO NOT EDIT */ diff --git a/drivers/infiniband/hw/sif/psif_hw_data.h b/drivers/infiniband/hw/sif/psif_hw_data.h index 8fa75845b15a9..69d885c2297b9 100644 --- a/drivers/infiniband/hw/sif/psif_hw_data.h +++ b/drivers/infiniband/hw/sif/psif_hw_data.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -70,7 +70,7 @@ enum psif_enum_extent { PSIF_EPSC_CSR_UPDATE_OPCODE_EXTENT = 0x8u, PSIF_EPSC_FLASH_SLOT_EXTENT = 0x6u, PSIF_EPSC_UPDATE_SET_EXTENT = 0x5u, - PSIF_EPSC_CSR_UF_CTRL_OPCODE_EXTENT = 0x9u, + PSIF_EPSC_CSR_UF_CTRL_OPCODE_EXTENT = 0xbu, PSIF_EPSC_VIMMA_CTRL_OPCODE_EXTENT = 0x8u, PSIF_EPSC_VIMMA_ADMMODE_EXTENT = 0x2u, PSIF_EPSC_CSR_PMA_COUNTERS_ENUM_EXTENT = 0x17u, @@ -1661,6 +1661,10 @@ enum psif_epsc_csr_uf_ctrl_opcode { EPSC_UF_CTRL_GET_HIGHEST_QP_IDX, /** Reset the highest QP number cache for the given UF */ EPSC_UF_CTRL_RESET_HIGHEST_QP_IDX, + /** Retrieve the current UF settings for SMP enable */ + EPSC_UF_CTRL_GET_SMP_ENABLE, + /** Retrieve the current UF settings for vlink connect */ + EPSC_UF_CTRL_GET_VLINK_CONNECT, /* Padding out to required bits allocated */ PSIF_EPSC_CSR_UF_CTRL_OPCODE_FIELD_MAX = 0x7fffffffu }; /* enum psif_epsc_csr_uf_ctrl_opcode [32 bits] */ @@ -1741,10 +1745,19 @@ enum psif_epsc_vimma_ctrl_opcode { PSIF_EPSC_VIMMA_CTRL_OPCODE_FIELD_MAX = 0x7fffffffu }; /* enum psif_epsc_vimma_ctrl_opcode [32 bits] */ - +/** \brief IB admin modes supported by VIMMA + * \details + * VIMMA IB admin mode defines the way the VF will be configured + * by the fabric, either by SM alone, or by SM/VIMM combo. + * \par Classification + * external + */ enum psif_epsc_vimma_admmode { + /** SM only mode is default and behaves according to IBTA standard */ EPSC_VIMMA_CTRL_IB_ADM_MODE_SM_STANDARD, - /* VFP used as short for VM Fabric Profile */ + /** VFP mode requires support of a VIMM service in the fabric. + * VFP = VM Fabric Profile + */ EPSC_VIMMA_CTRL_IB_ADM_MODE_VM_FABRIC_PROFILE, /* Padding out to required bits allocated */ PSIF_EPSC_VIMMA_ADMMODE_FIELD_MAX = 0xffffu diff --git a/drivers/infiniband/hw/sif/psif_hw_data_be.h b/drivers/infiniband/hw/sif/psif_hw_data_be.h index 117a086c8225f..2ec955fb8603d 100644 --- a/drivers/infiniband/hw/sif/psif_hw_data_be.h +++ b/drivers/infiniband/hw/sif/psif_hw_data_be.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -2779,16 +2779,16 @@ union psif_epsc_vimma_ctrl_cmd { * external */ struct psif_epsc_csr_vimma_ctrl { - /* VIMMA sub-opcodes triggered by EPSC_VIMMA_CTRL */ + /** VIMMA sub-opcodes triggered by EPSC_VIMMA_CTRL */ enum psif_epsc_vimma_ctrl_opcode opcode:32; /* length of DMA response buffer pinned in host memory */ u32 length; - /* Size 5*64 bits: union of the params for the various opcodes */ + /** Size 5*64 bits: union of the params for the various opcodes */ union psif_epsc_vimma_ctrl_cmd u; - /* Size 64 bits */ + /** Size 64 bits */ struct psif_mmu_cntx mmu_cntx; - /* Place to DMA back longer responses during retrieval */ + /** Place to DMA back longer responses during retrieval */ u64 host_addr; /* Summing up to 11 * u64 which is total and max */ u64 reserved[3]; diff --git a/drivers/infiniband/hw/sif/psif_hw_data_le.h b/drivers/infiniband/hw/sif/psif_hw_data_le.h index ed818d2905cf5..d3f3957a2e0d0 100644 --- a/drivers/infiniband/hw/sif/psif_hw_data_le.h +++ b/drivers/infiniband/hw/sif/psif_hw_data_le.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -2781,14 +2781,14 @@ union psif_epsc_vimma_ctrl_cmd { struct psif_epsc_csr_vimma_ctrl { /* length of DMA response buffer pinned in host memory */ u32 length; - /* VIMMA sub-opcodes triggered by EPSC_VIMMA_CTRL */ + /** VIMMA sub-opcodes triggered by EPSC_VIMMA_CTRL */ enum psif_epsc_vimma_ctrl_opcode opcode:32; - /* Size 5*64 bits: union of the params for the various opcodes */ + /** Size 5*64 bits: union of the params for the various opcodes */ union psif_epsc_vimma_ctrl_cmd u; - /* Size 64 bits */ + /** Size 64 bits */ struct psif_mmu_cntx mmu_cntx; - /* Place to DMA back longer responses during retrieval */ + /** Place to DMA back longer responses during retrieval */ u64 host_addr; /* Summing up to 11 * u64 which is total and max */ u64 reserved[3]; diff --git a/drivers/infiniband/hw/sif/psif_hw_macro.h b/drivers/infiniband/hw/sif/psif_hw_macro.h index c1bc9483f6f33..57f09def4cad1 100644 --- a/drivers/infiniband/hw/sif/psif_hw_macro.h +++ b/drivers/infiniband/hw/sif/psif_hw_macro.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_macro_be.h b/drivers/infiniband/hw/sif/psif_hw_macro_be.h index df3165cd8c77e..c181895920955 100644 --- a/drivers/infiniband/hw/sif/psif_hw_macro_be.h +++ b/drivers/infiniband/hw/sif/psif_hw_macro_be.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_macro_le.h b/drivers/infiniband/hw/sif/psif_hw_macro_le.h index 62a2f435dae7f..b908b8652fc2f 100644 --- a/drivers/infiniband/hw/sif/psif_hw_macro_le.h +++ b/drivers/infiniband/hw/sif/psif_hw_macro_le.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_print.c b/drivers/infiniband/hw/sif/psif_hw_print.c index 462dde6b5f7ab..e061ef5f6b426 100644 --- a/drivers/infiniband/hw/sif/psif_hw_print.c +++ b/drivers/infiniband/hw/sif/psif_hw_print.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 @@ -1920,6 +1920,10 @@ const char *string_enum_psif_epsc_csr_uf_ctrl_opcode(enum psif_epsc_csr_uf_ctrl_ return "EPSC_UF_CTRL_GET_HIGHEST_QP_IDX"; case EPSC_UF_CTRL_RESET_HIGHEST_QP_IDX: return "EPSC_UF_CTRL_RESET_HIGHEST_QP_IDX"; + case EPSC_UF_CTRL_GET_SMP_ENABLE: + return "EPSC_UF_CTRL_GET_SMP_ENABLE"; + case EPSC_UF_CTRL_GET_VLINK_CONNECT: + return "EPSC_UF_CTRL_GET_VLINK_CONNECT"; case PSIF_EPSC_CSR_UF_CTRL_OPCODE_FIELD_MAX: return "PSIF_EPSC_CSR_UF_CTRL_OPCODE_FIELD_MAX"; default: diff --git a/drivers/infiniband/hw/sif/psif_hw_print.h b/drivers/infiniband/hw/sif/psif_hw_print.h index 46405273d7d1b..47018e5ffe046 100644 --- a/drivers/infiniband/hw/sif/psif_hw_print.h +++ b/drivers/infiniband/hw/sif/psif_hw_print.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_setget.h b/drivers/infiniband/hw/sif/psif_hw_setget.h index ba9231c13618f..957ba2fb169d4 100644 --- a/drivers/infiniband/hw/sif/psif_hw_setget.h +++ b/drivers/infiniband/hw/sif/psif_hw_setget.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_setget_be.h b/drivers/infiniband/hw/sif/psif_hw_setget_be.h index 0e439e31a3a5c..4a237a674fe8b 100644 --- a/drivers/infiniband/hw/sif/psif_hw_setget_be.h +++ b/drivers/infiniband/hw/sif/psif_hw_setget_be.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/psif_hw_setget_le.h b/drivers/infiniband/hw/sif/psif_hw_setget_le.h index 2919d33ffcdd8..43d9094aa98ed 100644 --- a/drivers/infiniband/hw/sif/psif_hw_setget_le.h +++ b/drivers/infiniband/hw/sif/psif_hw_setget_le.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 diff --git a/drivers/infiniband/hw/sif/version.c b/drivers/infiniband/hw/sif/version.c index e855e75f3015f..eafe8f7bf5795 100644 --- a/drivers/infiniband/hw/sif/version.c +++ b/drivers/infiniband/hw/sif/version.c @@ -4,13 +4,14 @@ struct sif_version sif_version = { .git_repo = "sifdrv [origin/master]", -.last_commit = "titan_1.0.0.1 transform filters: Replace 'automatically generated'", +.last_commit = "titan_1.0.0.1-4-g3865298 eq: increase cq_eq_max to 46", .git_status = """?? drivers/\n" +"?? drv/sif_epsc.c~\n" , -.build_git_time = "Sun, 03 Jul 2016 12:44:15 +0000", +.build_git_time = "Fri, 15 Jul 2016 07:58:00 +0000", .build_user = "komang", .git_psifapi_repo = "psifapi [origin/master]", -.last_psifapi_commit = "titan_1.0.0.1 EPSC_API_VERSION(2,5) - EPSC_QUERY_HW_REVISION", +.last_psifapi_commit = "titan_1.0.0.1-3-g7496ad1 EPSC_API_VERSION(2,6) - Adding retrieval of SMP and vlink connect modes", .git_psifapi_status = "", }; diff --git a/drivers/infiniband/hw/sif/versioninfo.h b/drivers/infiniband/hw/sif/versioninfo.h index 720b8cada2c9f..e77cff976a6bc 100644 --- a/drivers/infiniband/hw/sif/versioninfo.h +++ b/drivers/infiniband/hw/sif/versioninfo.h @@ -1,6 +1,6 @@ /* Misc driver release info */ -#define BUILD_DATE "2016-07-03" -#define BUILD_TIME "12:44:15" -#define BUILD_EPOCH 1467549855 -#define TITAN_RELEASE "1.0.0.1" +#define BUILD_DATE "2016-07-15" +#define BUILD_TIME "07:58:00" +#define BUILD_EPOCH 1468569480 +#define TITAN_RELEASE "1.0.0.1+4"