/linux-6.12.1/drivers/net/fddi/skfp/ |
D | rmt.c | 43 #include "h/smc.h" 52 #define GO_STATE(x) (smc->mib.m[MAC0].fddiMACRMTState = (x)|AFLAG) 53 #define ACTIONS_DONE() (smc->mib.m[MAC0].fddiMACRMTState &= ~AFLAG) 95 static void rmt_fsm(struct s_smc *smc, int cmd); 96 static void start_rmt_timer0(struct s_smc *smc, u_long value, int event); 97 static void start_rmt_timer1(struct s_smc *smc, u_long value, int event); 98 static void start_rmt_timer2(struct s_smc *smc, u_long value, int event); 99 static void stop_rmt_timer0(struct s_smc *smc); 100 static void stop_rmt_timer1(struct s_smc *smc); 101 static void stop_rmt_timer2(struct s_smc *smc); [all …]
|
D | cfm.c | 34 #include "h/smc.h" 43 #define GO_STATE(x) (smc->mib.fddiSMTCF_State = (x)|AFLAG) 44 #define ACTIONS_DONE() (smc->mib.fddiSMTCF_State &= ~AFLAG) 79 /* Do this within the smc structure (use in multiple cards) */ 82 * all Globals are defined in smc.h 89 static void cfm_fsm(struct s_smc *smc, int cmd); 95 void cfm_init(struct s_smc *smc) in cfm_init() argument 97 smc->mib.fddiSMTCF_State = ACTIONS(SC0_ISOLATED) ; in cfm_init() 98 smc->r.rm_join = 0 ; in cfm_init() 99 smc->r.rm_loop = 0 ; in cfm_init() [all …]
|
D | ecm.c | 38 #include "h/smc.h" 47 #define GO_STATE(x) (smc->mib.fddiSMTECMState = (x)|AFLAG) 48 #define ACTIONS_DONE() (smc->mib.fddiSMTECMState &= ~AFLAG) 78 * all Globals are defined in smc.h 86 static void ecm_fsm(struct s_smc *smc, int cmd); 87 static void start_ecm_timer(struct s_smc *smc, u_long value, int event); 88 static void stop_ecm_timer(struct s_smc *smc); 89 static void prop_actions(struct s_smc *smc); 95 void ecm_init(struct s_smc *smc) in ecm_init() argument 97 smc->e.path_test = PT_PASSED ; in ecm_init() [all …]
|
D | smt.c | 15 #include "h/smc.h" 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, 64 static void smt_echo_test(struct s_smc *smc, int dna); 65 static void smt_send_sif_config(struct s_smc *smc, struct fddi_addr *dest, [all …]
|
D | srf.c | 20 #include "h/smc.h" 32 static void clear_all_rep(struct s_smc *smc); 33 static void clear_reported(struct s_smc *smc); 34 static void smt_send_srf(struct s_smc *smc); 35 static struct s_srf_evc *smt_get_evc(struct s_smc *smc, int code, int index); 37 #define MAX_EVCS ARRAY_SIZE(smc->evcs) 63 void smt_init_evc(struct s_smc *smc) in smt_init_evc() argument 73 memset((char *)smc->evcs,0,sizeof(smc->evcs)) ; in smt_init_evc() 75 evc = smc->evcs ; in smt_init_evc() 92 if ((unsigned int) (evc - smc->evcs) > MAX_EVCS) { in smt_init_evc() [all …]
|
D | fplustm.c | 19 #include "h/smc.h" 39 static void build_claim_beacon(struct s_smc *smc, u_long t_request); 40 static int init_mac(struct s_smc *smc, int all); 41 static void rtm_init(struct s_smc *smc); 42 static void smt_split_up_fifo(struct s_smc *smc); 49 #define DUMMY_READ() smc->hw.mc_dummy = (u_short) inp(ADDR(B0_RAP)) 54 SMT_PANIC(smc,SMT_E0130, SMT_E0130_MSG) ; \ 61 SMT_PANIC(smc,SMT_E0131, SMT_E0131_MSG) ; \ 76 #define MA smc->hw.fddi_canon_addr 78 #define MA smc->hw.fddi_home_addr [all …]
|
D | hwmtm.c | 21 #include "h/smc.h" 70 static void queue_llc_rx(struct s_smc *smc, SMbuf *mb); 71 static void smt_to_llc(struct s_smc *smc, SMbuf *mb); 72 static void init_txd_ring(struct s_smc *smc); 73 static void init_rxd_ring(struct s_smc *smc); 74 static void queue_txd_mb(struct s_smc *smc, SMbuf *mb); 75 static u_long init_descr_ring(struct s_smc *smc, union s_fp_descr volatile *start, 77 static u_long repair_txd_ring(struct s_smc *smc, struct s_smt_tx_queue *queue); 78 static u_long repair_rxd_ring(struct s_smc *smc, struct s_smt_rx_queue *queue); 79 static SMbuf* get_llc_rx(struct s_smc *smc); [all …]
|
D | drvfbi.c | 19 #include "h/smc.h" 60 #define OEMID(smc,i) oem_id[ID_BYTE0 + i] argument 66 #define OEMID(smc,i) smc->hw.oem_id->oi_id[i] argument 76 static void smt_stop_watchdog(struct s_smc *smc); 81 static void card_start(struct s_smc *smc) in card_start() argument 89 smt_stop_watchdog(smc) ; in card_start() 97 hwt_wait_time(smc,hwt_quick_read(smc),MS2BCLK(10)) ; in card_start() 129 smc->hw.hw_is_64bit = TRUE ; in card_start() 131 smc->hw.hw_is_64bit = FALSE ; in card_start() 137 if (!smc->hw.hw_is_64bit) { in card_start() [all …]
|
D | smttimer.c | 19 #include "h/smc.h" 21 static void timer_done(struct s_smc *smc, int restart); 23 void smt_timer_init(struct s_smc *smc) in smt_timer_init() argument 25 smc->t.st_queue = NULL; in smt_timer_init() 26 smc->t.st_fast.tm_active = FALSE ; in smt_timer_init() 27 smc->t.st_fast.tm_next = NULL; in smt_timer_init() 28 hwt_init(smc) ; in smt_timer_init() 31 void smt_timer_stop(struct s_smc *smc, struct smt_timer *timer) in smt_timer_stop() argument 40 if (smc->t.st_queue == timer && !timer->tm_next) { in smt_timer_stop() 41 hwt_stop(smc) ; in smt_timer_stop() [all …]
|
D | ess.c | 34 #include "h/smc.h" 78 static void ess_send_response(struct s_smc *smc, struct smt_header *sm, 80 static void ess_config_fifo(struct s_smc *smc); 81 static void ess_send_alc_req(struct s_smc *smc); 82 static void ess_send_frame(struct s_smc *smc, SMbuf *mb); 96 void ess_timer_poll(struct s_smc *smc); 97 void ess_para_change(struct s_smc *smc); 98 int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, 100 static int process_bw_alloc(struct s_smc *smc, long int payload, long int overhead); 112 int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, in ess_raf_received_pack() argument [all …]
|
D | queue.c | 19 #include "h/smc.h" 26 void ev_init(struct s_smc *smc) in ev_init() argument 28 smc->q.ev_put = smc->q.ev_get = smc->q.ev_queue ; in ev_init() 34 void queue_event(struct s_smc *smc, int class, int event) in queue_event() argument 37 smc->q.ev_put->class = class ; in queue_event() 38 smc->q.ev_put->event = event ; in queue_event() 39 if (++smc->q.ev_put == &smc->q.ev_queue[MAX_EVENT]) in queue_event() 40 smc->q.ev_put = smc->q.ev_queue ; in queue_event() 42 if (smc->q.ev_put == smc->q.ev_get) { in queue_event() 43 SMT_ERR_LOG(smc,SMT_E0137, SMT_E0137_MSG) ; in queue_event() [all …]
|
D | hwt.c | 28 #include "h/smc.h" 43 * struct s_smc *smc, 46 * smc - A pointer to the SMT Context structure. 55 void hwt_start(struct s_smc *smc, u_long time) in hwt_start() argument 62 smc->hw.t_start = time ; in hwt_start() 63 smc->hw.t_stop = 0L ; in hwt_start() 76 smc->hw.timer_activ = TRUE ; in hwt_start() 86 * struct s_smc *smc) ; 88 * smc - A pointer to the SMT Context structure. 93 void hwt_stop(struct s_smc *smc) in hwt_stop() argument [all …]
|
D | smtinit.c | 20 #include "h/smc.h" 22 void init_fddi_driver(struct s_smc *smc, const u_char *mac_addr); 30 #define OEMID(smc,i) oem_id[i] argument 33 #define OEMID(smc,i) smc->hw.oem_id->oi_mark[i] argument 43 static void set_oem_spec_val(struct s_smc *smc) in set_oem_spec_val() argument 47 mib = &smc->mib ; in set_oem_spec_val() 52 if (OEMID(smc,0) == 'I') { in set_oem_spec_val() 60 int init_smt(struct s_smc *smc, const u_char *mac_addr) in init_smt() argument 84 smc->y[p].mib = & smc->mib.p[p] ; in init_smt() 87 set_oem_spec_val(smc) ; in init_smt() [all …]
|
D | smtdef.c | 19 #include "h/smc.h" 67 void smt_reset_defaults(struct s_smc *smc, int level); 68 static void smt_init_mib(struct s_smc *smc, int level); 74 void smt_reset_defaults(struct s_smc *smc, int level) in smt_reset_defaults() argument 81 smt_init_mib(smc,level) ; in smt_reset_defaults() 83 smc->os.smc_version = SMC_VERSION ; in smt_reset_defaults() 86 smc->sm.last_tok_time[i] = smt_boot_time ; in smt_reset_defaults() 87 smt = &smc->s ; in smt_reset_defaults() 125 smc->ess.sync_bw_available = FALSE ; in smt_reset_defaults() 126 smc->mib.fddiESSPayload = 0 ; in smt_reset_defaults() [all …]
|
D | pcmplc.c | 43 #include "h/smc.h" 51 struct s_smc * smc, int type, int index 58 struct s_smc *smc , 191 static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd); 192 static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy); 193 static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy); 195 static void plc_init(struct s_smc *smc, int p); 196 static void sm_ph_lem_start(struct s_smc *smc, int np, int threshold); 197 static void sm_ph_lem_stop(struct s_smc *smc, int np); 198 static void sm_ph_linestate(struct s_smc *smc, int phy, int ls); [all …]
|
/linux-6.12.1/net/smc/ |
D | af_smc.c | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 19 #define KMSG_COMPONENT "smc" 34 #include <net/smc.h> 41 #include "smc.h" 88 sock_net(skb->sk)->smc.limit_smc_hs)) in smc_nl_dump_hs_limitation() 102 sock_net(skb->sk)->smc.limit_smc_hs = true; in smc_nl_enable_hs_limitation() 108 sock_net(skb->sk)->smc.limit_smc_hs = false; in smc_nl_disable_hs_limitation() 114 struct smc_sock *smc = smc_sk(sk); in smc_set_keepalive() local 116 smc->clcsock->sk->sk_prot->keepalive(smc->clcsock->sk, val); in smc_set_keepalive() 126 struct smc_sock *smc; in smc_tcp_syn_recv_sock() local [all …]
|
D | smc_close.c | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 18 #include "smc.h" 24 void smc_clcsock_release(struct smc_sock *smc) in smc_clcsock_release() argument 28 if (smc->listen_smc && current_work() != &smc->smc_listen_work) in smc_clcsock_release() 29 cancel_work_sync(&smc->smc_listen_work); in smc_clcsock_release() 30 mutex_lock(&smc->clcsock_release_lock); in smc_clcsock_release() 31 if (smc->clcsock) { in smc_clcsock_release() 32 tcp = smc->clcsock; in smc_clcsock_release() 33 smc->clcsock = NULL; in smc_clcsock_release() 36 mutex_unlock(&smc->clcsock_release_lock); in smc_clcsock_release() [all …]
|
D | smc_stats.h | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 5 * Macros for SMC statistics 18 #include <linux/smc.h> 87 struct smc_stats_tech smc[2]; member 100 this_cpu_inc((*stats).smc[t].key ## _cnt); \ 105 this_cpu_inc((*stats).smc[t].key ## _pd.buf[_pos]); \ 106 this_cpu_add((*stats).smc[t].key ## _bytes, r); \ 114 struct smc_stats __percpu *_smc_stats = _net->smc.smc_stats; \ 129 struct smc_stats __percpu *_smc_stats = _net->smc.smc_stats; \ 153 this_cpu_inc((*stats).smc[t].k ## _rmbsize.buf[_pos]); \ [all …]
|
D | smc_rx.c | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 21 #include "smc.h" 59 static int smc_rx_update_consumer(struct smc_sock *smc, in smc_rx_update_consumer() argument 62 struct smc_connection *conn = &smc->conn; in smc_rx_update_consumer() 63 struct sock *sk = &smc->sk; in smc_rx_update_consumer() 100 static void smc_rx_update_cons(struct smc_sock *smc, size_t len) in smc_rx_update_cons() argument 102 struct smc_connection *conn = &smc->conn; in smc_rx_update_cons() 106 smc_rx_update_consumer(smc, cons, len); in smc_rx_update_cons() 110 struct smc_sock *smc; member 118 struct smc_sock *smc = priv->smc; in smc_rx_pipe_buf_release() local [all …]
|
D | smc_sysctl.c | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 5 * smc_sysctl.c: sysctl interface to SMC subsystem. 17 #include "smc.h" 36 .data = &init_net.smc.sysctl_autocorking_size, 43 .data = &init_net.smc.sysctl_smcr_buf_type, 52 .data = &init_net.smc.sysctl_smcr_testlink_time, 59 .data = &init_net.smc.sysctl_wmem, 68 .data = &init_net.smc.sysctl_rmem, 77 .data = &init_net.smc.sysctl_max_links_per_lgr, 86 .data = &init_net.smc.sysctl_max_conns_per_lgr, [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/memory-controllers/ |
D | atmel,ebi.txt | 5 The EBI provides a glue-less interface to asynchronous memories through the SMC 45 Optional EBI/SMC properties: 47 - atmel,smc-bus-width: width of the asynchronous device's data bus 51 - atmel,smc-byte-access-type "write" or "select" (see Atmel datasheet). 54 - atmel,smc-read-mode "nrd" or "ncs". 57 - atmel,smc-write-mode "nwe" or "ncs". 60 - atmel,smc-exnw-mode "disabled", "frozen" or "ready". 63 - atmel,smc-page-mode enable page mode if present. The provided value 67 - atmel,smc-tdf-mode: "normal" or "optimized". When set to 74 If at least one atmel,smc- property is defined the following SMC timing [all …]
|
/linux-6.12.1/drivers/net/fddi/skfp/h/ |
D | cmtdef.h | 61 #define DB_TEST (smc->debug) 484 void hwt_restart(struct s_smc *smc); /* hwt.c */ 485 SMbuf *smt_build_frame(struct s_smc *smc, int class, int type, 487 SMbuf *smt_get_mbuf(struct s_smc *smc); /* drvsr.c */ 488 void *sm_to_para(struct s_smc *smc, struct smt_header *sm, 495 void queue_event(struct s_smc *smc, int class, int event); 496 void ecm(struct s_smc *smc, int event); 497 void ecm_init(struct s_smc *smc); 498 void rmt(struct s_smc *smc, int event); 499 void rmt_init(struct s_smc *smc); [all …]
|
/linux-6.12.1/Documentation/networking/ |
D | smc-sysctl.rst | 4 SMC Sysctl 7 /proc/sys/net/smc/* Variables 11 Setting SMC auto corking size: 12 SMC auto corking is like TCP auto corking from the application's 18 the under device in 1 single sending. If set to 0, the SMC auto corking 27 SMC-R link group. Only for SMC-R. 39 How frequently SMC-R link sends out TEST_LINK LLC messages to confirm 46 Initial size of send buffer used by SMC sockets. 49 only allowed 512KiB for SMC-R and 1MiB for SMC-D. 54 Initial size of receive buffer (RMB) used by SMC sockets. [all …]
|
/linux-6.12.1/drivers/net/ethernet/smsc/ |
D | smc91c92_cs.c | 16 (erik@vt.edu). Donald wrote the SMC 91c92 code using parts of 17 Erik's SMC 91c94 driver. Rowan wrote a similar driver, and I've 66 MODULE_DESCRIPTION("SMC 91c92 series PCMCIA ethernet driver"); 304 struct smc_private *smc; in smc91c92_probe() local 313 smc = netdev_priv(dev); in smc91c92_probe() 314 smc->p_dev = link; in smc91c92_probe() 317 spin_lock_init(&smc->lock); in smc91c92_probe() 324 smc->mii_if.dev = dev; in smc91c92_probe() 325 smc->mii_if.mdio_read = mdio_read; in smc91c92_probe() 326 smc->mii_if.mdio_write = mdio_write; in smc91c92_probe() [all …]
|
/linux-6.12.1/drivers/mfd/ |
D | atmel-smc.c | 3 * Atmel SMC (Static Memory Controller) helper functions. 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 28 * format expected by the SMC engine 36 * (section "SMC Setup/Pulse/Cycle/Timings Register"). This is a generic 79 * atmel_smc_cs_conf_set_timing - set the SMC CS conf Txx parameter to a 81 * @conf: SMC CS conf descriptor 87 * (section "SMC Timings Register"), and then stores the result in the 121 * atmel_smc_cs_conf_set_setup - set the SMC CS conf xx_SETUP parameter to a [all …]
|