/Linux-v5.10/net/smc/ |
D | smc_diag.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 5 * Monitoring SMC transport protocol sockets 20 #include <net/smc.h> 22 #include "smc.h" 31 return (struct smc_diag_dump_ctx *)cb->ctx; in smc_dump_context() 49 struct smc_sock *smc = smc_sk(sk); in smc_diag_msg_common_fill() local 52 r->diag_family = sk->sk_family; in smc_diag_msg_common_fill() 53 sock_diag_save_cookie(sk, r->id.idiag_cookie); in smc_diag_msg_common_fill() 54 if (!smc->clcsock) in smc_diag_msg_common_fill() [all …]
|
D | smc_clc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 18 #include "smc.h" 25 #define SMC_TYPE_R 0 /* SMC-R only */ 26 #define SMC_TYPE_D 1 /* SMC-D only */ 27 #define SMC_TYPE_N 2 /* neither SMC-R nor SMC-D */ 28 #define SMC_TYPE_B 3 /* SMC-R and SMC-D */ 35 #define SMC_CLC_DECL_PEERNOSMC 0x03010000 /* peer did not indicate SMC */ 37 #define SMC_CLC_DECL_NOSMCDEV 0x03030000 /* no SMC device found (R or D) */ 38 #define SMC_CLC_DECL_NOSMCDDEV 0x03030001 /* no SMC-D device found */ [all …]
|
D | smc_core.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 5 * Definitions for SMC Connections, Link Groups and Links 18 #include "smc.h" 76 struct smc_ib_device *smcibdev; /* ib-device */ 77 u8 ibport; /* port - values 1 | 2 */ 111 u8 gid[SMC_GID_SIZE];/* gid matching used vlan id*/ 112 u8 sgid_index; /* gid index for vlan id */ 121 u8 link_uid[SMC_LGR_ID_SIZE]; /* unique lnk id */ 134 /* For now we just allow one parallel link per link group. The SMC protocol [all …]
|
D | af_smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 7 * offers an alternative communication option for TCP-protocol sockets 8 * applicable with RoCE-cards only 11 * - support for alternate links postponed 19 #define KMSG_COMPONENT "smc" 33 #include <net/smc.h> 40 #include "smc.h" 67 struct smc_sock *smc = smc_sk(sk); in smc_set_keepalive() local 69 smc->clcsock->sk->sk_prot->keepalive(smc->clcsock->sk, val); in smc_set_keepalive() [all …]
|
D | smc_ism.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Shared Memory Communications Direct over ISM devices (SMC-D) 4 * SMC-D ISM device structure definitions. 15 #include "smc.h" 27 struct smc_ism_vlanid { /* VLAN id set on ISM device */ 29 unsigned short vlanid; /* Vlan id */
|
D | smc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 5 * Definitions for the SMC module (socket related) 21 #define SMC_V1 1 /* SMC version V1 */ 22 #define SMC_V2 2 /* SMC version V2 */ 25 #define SMCPROTO_SMC 0 /* SMC protocol, IPv4 */ 26 #define SMCPROTO_SMC6 1 /* SMC protocol, IPv6 */ 28 #define SMC_MAX_ISM_DEVS 8 /* max # of proposed non-native ISM 42 enum smc_state { /* possible states of an SMC socket */ 98 union smc_host_cursor { /* SMC cursor - an offset in an RMBE */ [all …]
|
D | smc_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 24 #include "smc.h" 57 if (lgr->is_smcd) { in smc_lgr_list_head() 58 *lgr_lock = &lgr->smcd->lgr_lock; in smc_lgr_list_head() 59 return &lgr->smcd->lgr_list; in smc_lgr_list_head() 70 * otherwise there is a risk of out-of-sync link groups. in smc_lgr_schedule_free_work() 72 if (!lgr->freeing) { in smc_lgr_schedule_free_work() 73 mod_delayed_work(system_wq, &lgr->free_work, in smc_lgr_schedule_free_work() 74 (!lgr->is_smcd && lgr->role == SMC_CLNT) ? in smc_lgr_schedule_free_work() [all …]
|
/Linux-v5.10/drivers/net/fddi/skfp/ |
D | drvfbi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include "h/smc.h" 48 * | --------------------- the patched POS_ID of the Adapter 49 * | xxxx = (Vendor ID low byte, 50 * | Vendor ID high byte, 51 * | Device ID low byte, 52 * | Device ID high byte) 53 * +------------------------------ the patched oem_id must be 55 * this is a short id for the driver. 64 #define OEMID(smc,i) oem_id[ID_BYTE0 + i] argument [all …]
|
D | smt.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 #include "h/smc.h" 26 #define m_fc(mb) ((mb)->sm_data[0]) 54 static int mac_index(struct s_smc *smc, int mac); 55 static int phy_index(struct s_smc *smc, int phy); 56 static int mac_con_resource_index(struct s_smc *smc, int mac); 57 static int phy_con_resource_index(struct s_smc *smc, int phy); 58 static void smt_send_rdf(struct s_smc *smc, SMbuf *rej, int fc, int reason, 60 static void smt_send_nif(struct s_smc *smc, const struct fddi_addr *dest, 62 static void smt_send_ecf(struct s_smc *smc, struct fddi_addr *dest, int fc, [all …]
|
D | smtinit.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 #include "h/smc.h" 26 void init_fddi_driver(struct s_smc *smc, u_char *mac_addr); 34 #define OEMID(smc,i) oem_id[i] argument 37 #define OEMID(smc,i) smc->hw.oem_id->oi_mark[i] argument 45 * the OEM ID is already defined. 47 static void set_oem_spec_val(struct s_smc *smc) in set_oem_spec_val() argument 51 mib = &smc->mib ; in set_oem_spec_val() 56 if (OEMID(smc,0) == 'I') { in set_oem_spec_val() 57 mib->fddiSMTConnectionPolicy = POLICY_MM ; in set_oem_spec_val() [all …]
|
D | ess.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 27 * FDDI sub-system supporting the SBA application. 34 #include "h/smc.h" 51 ------------------------------------------------------------- 53 ------------------------------------------------------------- 67 ------------------------------------------------------------- 69 ------------------------------------------------------------- 74 ------------------------------------------------------------- 76 ------------------------------------------------------------- 79 static void ess_send_response(struct s_smc *smc, struct smt_header *sm, [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/watchdog/ |
D | arm-smc-wdt.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/watchdog/arm-smc-wdt.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - $ref: "watchdog.yaml#" 13 - Julius Werner <jwerner@chromium.org> 18 - arm,smc-wdt 19 arm,smc-id: 22 The ATF smc function id used by the firmware. 26 - compatible [all …]
|
/Linux-v5.10/arch/arm/mach-omap2/ |
D | omap-smc.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 23 .arch armv7-a 26 stmfd sp!, {r2-r12, lr} 30 smc #0 31 ldmfd sp!, {r2-r12, pc} 35 * u32 omap_smc2(u32 id, u32 falg, u32 pargs) 37 * @id: Application ID of HAL APIs 43 stmfd sp!, {r4-r12, lr} 46 mov r1, #0x0 @ Process ID 48 mov r12, #0x00 @ Secure Service ID [all …]
|
/Linux-v5.10/drivers/mfd/ |
D | atmel-smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Atmel SMC (Static Memory Controller) helper functions. 8 * Author: Boris Brezillon <boris.brezillon@free-electrons.com> 11 #include <linux/mfd/syscon/atmel-smc.h> 15 * atmel_smc_cs_conf_init - initialize a SMC CS conf 16 * @conf: the SMC CS conf to initialize 27 * atmel_smc_cs_encode_ncycles - encode a number of MCK clk cycles in the 28 * format expected by the SMC engine 36 * (section "SMC Setup/Pulse/Cycle/Timings Register"). This is a generic 40 * If the @ncycles value is too big to be encoded, -ERANGE is returned and [all …]
|
/Linux-v5.10/drivers/tee/optee/ |
D | optee_smc.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2019, Linaro Limited 8 #include <linux/arm-smccc.h> 19 * Function specified by SMC Calling convention. 28 * Normal cached memory (write-back), shareable for SMP systems and not 36 * 32-bit registers. 40 * Function specified by SMC Calling convention 44 * 65cb6b93-af0c-4617-8ed6-644a8d1140f8 54 * Function specified by SMC Calling convention 75 * Used by non-secure world to figure out which Trusted OS is installed. [all …]
|
/Linux-v5.10/drivers/firmware/ |
D | qcom_scm-legacy.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/arm-smccc.h> 14 #include <linux/dma-mapping.h> 23 * @args: The array of values used in registers in smc instruction 31 * struct scm_legacy_command - one SCM command buffer 35 * @id: command to be executed 40 * ------------------- <--- struct scm_legacy_command 42 * ------------------- <--- scm_legacy_get_command_buffer() 44 * ------------------- <--- struct scm_legacy_response and 46 * ------------------- <--- scm_legacy_get_response_buffer() [all …]
|
D | qcom_scm-smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <linux/arm-smccc.h> 13 #include <linux/dma-mapping.h> 19 * @args: The array of values used in registers in smc instruction 31 #define SCM_SMC_FIRST_EXT_IDX (SCM_SMC_N_REG_ARGS - 1) 32 #define SCM_SMC_N_EXT_ARGS (MAX_QCOM_SCM_ARGS - SCM_SMC_N_REG_ARGS + 1) 34 #define SCM_SMC_LAST_REG_IDX (SCM_SMC_FIRST_REG_IDX + SCM_SMC_N_REG_ARGS - 1) 36 static void __scm_smc_do_quirk(const struct arm_smccc_args *smc, in __scm_smc_do_quirk() argument 39 unsigned long a0 = smc->args[0]; in __scm_smc_do_quirk() 40 struct arm_smccc_quirk quirk = { .id = ARM_SMCCC_QUIRK_QCOM_A6 }; in __scm_smc_do_quirk() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/memory-controllers/ |
D | atmel,ebi.txt | 5 The EBI provides a glue-less interface to asynchronous memories through the SMC 10 - compatible: "atmel,at91sam9260-ebi" 11 "atmel,at91sam9261-ebi" 12 "atmel,at91sam9263-ebi0" 13 "atmel,at91sam9263-ebi1" 14 "atmel,at91sam9rl-ebi" 15 "atmel,at91sam9g45-ebi" 16 "atmel,at91sam9x5-ebi" 17 "atmel,sama5d3-ebi" 18 "microchip,sam9x60-ebi" [all …]
|
/Linux-v5.10/arch/arm/mach-bcm/ |
D | bcm_kona_smc.c | 37 {.compatible = "brcm,kona-smc"}, 38 {.compatible = "bcm,kona-smc"}, /* deprecated name */ 54 return -ENODEV; in bcm_kona_smc_init() 58 return -EINVAL; in bcm_kona_smc_init() 60 /* We assume space for four 32-bit arguments */ in bcm_kona_smc_init() 62 return -EINVAL; in bcm_kona_smc_init() 67 return -EINVAL; in bcm_kona_smc_init() 71 return -ENOMEM; in bcm_kona_smc_init() 82 * Only core 0 can run the secure monitor code. If an "smc" request 86 * Each "smc" request supplies a service id and the address of a [all …]
|
/Linux-v5.10/drivers/firmware/arm_scmi/ |
D | smc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * System Control and Management Interface (SCMI) Message SMC/HVC 9 #include <linux/arm-smccc.h> 20 * struct scmi_smc - Structure representing a SCMI smc transport 25 * @func_id: smc/hvc call function id 37 struct device_node *np = of_parse_phandle(dev->of_node, "shmem", 0); in smc_chan_available() 48 struct device *cdev = cinfo->dev; in smc_chan_setup() 57 return -ENODEV; in smc_chan_setup() 61 return -ENOMEM; in smc_chan_setup() 63 np = of_parse_phandle(cdev->of_node, "shmem", 0); in smc_chan_setup() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/arm/ |
D | arm,scmi.txt | 2 ---------------------------------------------------------- 17 - compatible : shall be "arm,scmi" or "arm,scmi-smc" for smc/hvc transports 18 - mboxes: List of phandle and mailbox channel specifiers. It should contain 22 - shmem : List of phandle pointing to the shared memory(SHM) area as per 24 - #address-cells : should be '1' if the device has sub-nodes, maps to 25 protocol identifier for a given sub-node. 26 - #size-cells : should be '0' as 'reg' property doesn't have any size 28 - arm,smc-id : SMC id required when using smc or hvc transports 32 - mbox-names: shall be "tx" or "rx" depending on mboxes entries. 41 Each protocol supported shall have a sub-node with corresponding compatible [all …]
|
D | psci.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/arm/psci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 15 processors") can be used by Linux to initiate various CPU-centric power 25 r0 => 32-bit Function ID / return value 26 {r1 - r3} => Parameters 40 - description: 44 - description: [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/arm/firmware/ |
D | sdei.txt | 6 firmware-first error handling, or from an IRQ that has been promoted to 7 a firmware-assisted NMI. 12 below) and passing arguments in a manner specified by the "SMC Calling 15 r0 => 32-bit Function ID / return value 16 {r1 - r3} => Parameters 27 - compatible : should contain: 28 * "arm,sdei-1.0" : For implementations complying to SDEI version 1.x. 30 - method : The method of calling the SDEI firmware. Permitted 32 * "smc" : SMC #0, with the register assignments specified in this 39 compatible = "arm,sdei-1.0"; [all …]
|
/Linux-v5.10/include/linux/ |
D | arm-smccc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 * This file provides common defines for ARM SMC Calling Convention as 16 * This code is up-to-date with version DEN 0028 C 110 #define SMCCC_RET_NOT_SUPPORTED -1 111 #define SMCCC_RET_NOT_REQUIRED -2 112 #define SMCCC_RET_INVALID_PARAMETER -3 148 * struct arm_smccc_res - Result from SMC/HVC call 149 * @a0-a3 result values from registers 0 to 3 159 * struct arm_smccc_quirk - Contains quirk information 160 * @id: quirk identification [all …]
|
/Linux-v5.10/drivers/mtd/nand/raw/atmel/ |
D | nand-controller.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Author: Boris Brezillon <boris.brezillon@free-electrons.com> 23 * Derived from Das U-Boot source code 24 * (u-boot-1.1.5/board/atmel/at91sam9263ek/nand.c) 38 * - atmel_nand_: all generic structures/functions 39 * - atmel_smc_nand_: all structures/functions specific to the SMC interface 41 * - atmel_hsmc_nand_: all structures/functions specific to the HSMC interface 43 * - atmel_nfc_: all structures/functions used to manipulate the NFC sub-block 45 * - <soc>_nand_: all SoC specific structures/functions 49 #include <linux/dma-mapping.h> [all …]
|