/linux/drivers/net/fddi/skfp/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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/drivers/mfd/ |
H A D | macsmc.c | 3 * Apple SMC (System Management Controller) MFD driver 48 MFD_CELL_OF("macsmc-gpio", NULL, NULL, 0, 0, "apple,smc-gpio"), 49 MFD_CELL_OF("macsmc-reboot", NULL, NULL, 0, 0, "apple,smc-reboot"), 52 static int apple_smc_cmd_locked(struct apple_smc *smc, u64 cmd, u64 arg, in apple_smc_cmd_locked() argument 59 lockdep_assert_held(&smc->mutex); in apple_smc_cmd_locked() 61 if (smc->boot_stage != APPLE_SMC_INITIALIZED) in apple_smc_cmd_locked() 63 if (smc->atomic_mode) in apple_smc_cmd_locked() 66 reinit_completion(&smc->cmd_done); in apple_smc_cmd_locked() 68 smc->msg_id = (smc->msg_id + 1) & 0xf; in apple_smc_cmd_locked() 72 FIELD_PREP(SMC_ID, smc->msg_id) | in apple_smc_cmd_locked() [all …]
|
/linux/include/linux/mfd/ |
H A D | macsmc.h | 3 * Apple SMC (System Management Controller) core definitions 14 * typedef smc_key - Alias for u32 to be used for SMC keys 16 * SMC keys are 32bit integers containing packed ASCII characters in natural 18 * The SMC driver is designed with this assumption and ensures the right 20 * from the actual SMC firmware (which can be done in either shared memory or 22 * Internally, SMC stores these keys in a table sorted lexicographically and 23 * allows resolving an index into this table to the corresponding SMC key. 26 * by SMC firmware. 28 * This simple type alias is introduced to allow easy recognition of SMC key 34 * SMC_KEY - Convert FourCC SMC keys in source code to smc_key [all …]
|
/linux/net/smc/ |
H A D | af_smc.c | 3 * Shared Memory Communications over RDMA (SMC-R) and RoCE 19 #define KMSG_COMPONENT "smc" 38 #include <net/smc.h> 45 #include "smc.h" 92 sock_net(skb->sk)->smc.limit_smc_hs)) in smc_nl_dump_hs_limitation() 106 sock_net(skb->sk)->smc.limit_smc_hs = true; in smc_nl_enable_hs_limitation() 112 sock_net(skb->sk)->smc.limit_smc_hs = false; in smc_nl_disable_hs_limitation() 118 struct smc_sock *smc = smc_sk(sk); in smc_set_keepalive() local 120 smc->clcsock->sk->sk_prot->keepalive(smc->clcsock->sk, val); in smc_set_keepalive() 130 struct smc_sock *smc; in smc_tcp_syn_recv_sock() local [all …]
|
H A 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 …]
|
H A 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 …]
|
H A 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/Documentation/devicetree/bindings/memory-controllers/ |
H A 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/drivers/net/fddi/skfp/h/ |
H A 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/Documentation/networking/ |
H A 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/drivers/net/ethernet/smsc/ |
H A 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 …]
|