smcd 196 drivers/s390/net/ism.h struct smcd_dev *smcd; smcd 194 drivers/s390/net/ism_drv.c ism->smcd->local_gid = cmd.response.gid; smcd 199 drivers/s390/net/ism_drv.c static int ism_query_rgid(struct smcd_dev *smcd, u64 rgid, u32 vid_valid, smcd 202 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 251 drivers/s390/net/ism_drv.c static int ism_register_dmb(struct smcd_dev *smcd, struct smcd_dmb *dmb) smcd 253 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 282 drivers/s390/net/ism_drv.c static int ism_unregister_dmb(struct smcd_dev *smcd, struct smcd_dmb *dmb) smcd 284 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 303 drivers/s390/net/ism_drv.c static int ism_add_vlan_id(struct smcd_dev *smcd, u64 vlan_id) smcd 305 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 317 drivers/s390/net/ism_drv.c static int ism_del_vlan_id(struct smcd_dev *smcd, u64 vlan_id) smcd 319 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 331 drivers/s390/net/ism_drv.c static int ism_set_vlan_required(struct smcd_dev *smcd) smcd 333 drivers/s390/net/ism_drv.c return ism_cmd_simple(smcd->priv, ISM_SET_VLAN); smcd 336 drivers/s390/net/ism_drv.c static int ism_reset_vlan_required(struct smcd_dev *smcd) smcd 338 drivers/s390/net/ism_drv.c return ism_cmd_simple(smcd->priv, ISM_RESET_VLAN); smcd 341 drivers/s390/net/ism_drv.c static int ism_signal_ieq(struct smcd_dev *smcd, u64 rgid, u32 trigger_irq, smcd 344 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 365 drivers/s390/net/ism_drv.c static int ism_move(struct smcd_dev *smcd, u64 dmb_tok, unsigned int idx, smcd 368 drivers/s390/net/ism_drv.c struct ism_dev *ism = smcd->priv; smcd 400 drivers/s390/net/ism_drv.c smcd_handle_event(ism->smcd, entry); smcd 424 drivers/s390/net/ism_drv.c smcd_handle_irq(ism->smcd, bit + ISM_DMB_BIT_OFFSET); smcd 474 drivers/s390/net/ism_drv.c ret = smcd_register_dev(ism->smcd); smcd 522 drivers/s390/net/ism_drv.c ism->smcd = smcd_alloc_dev(&pdev->dev, dev_name(&pdev->dev), &ism_ops, smcd 524 drivers/s390/net/ism_drv.c if (!ism->smcd) { smcd 529 drivers/s390/net/ism_drv.c ism->smcd->priv = ism; smcd 537 drivers/s390/net/ism_drv.c smcd_free_dev(ism->smcd); smcd 552 drivers/s390/net/ism_drv.c smcd_unregister_dev(ism->smcd); smcd 565 drivers/s390/net/ism_drv.c smcd_free_dev(ism->smcd); smcd 82 include/net/smc.h int smcd_register_dev(struct smcd_dev *smcd); smcd 83 include/net/smc.h void smcd_unregister_dev(struct smcd_dev *smcd); smcd 84 include/net/smc.h void smcd_free_dev(struct smcd_dev *smcd); smcd 1166 net/smc/af_smc.c new_smc->conn.lgr->smcd)) { smcd 489 net/smc/smc_clc.c cclc.gid = conn->lgr->smcd->local_gid; smcd 561 net/smc/smc_clc.c aclc.gid = conn->lgr->smcd->local_gid; smcd 236 net/smc/smc_core.c lgr->smcd = ini->ism_dev; smcd 391 net/smc/smc_core.c smc_ism_unregister_dmb(lgr->smcd, buf_desc); smcd 439 net/smc/smc_core.c smc_ism_put_vlan(lgr->smcd, lgr->vlan_id); smcd 440 net/smc/smc_core.c put_device(&lgr->smcd->dev); smcd 524 net/smc/smc_core.c if (lgr->is_smcd && lgr->smcd == dev && smcd 608 net/smc/smc_core.c return lgr->peer_gid == peer_gid && lgr->smcd == smcismdev; smcd 226 net/smc/smc_core.h struct smcd_dev *smcd; smcd 176 net/smc/smc_diag.c .my_gid = conn->lgr->smcd->local_gid, smcd 24 net/smc/smc_ism.c int smc_ism_cantalk(u64 peer_gid, unsigned short vlan_id, struct smcd_dev *smcd) smcd 26 net/smc/smc_ism.c return smcd->ops->query_remote_gid(smcd, peer_gid, vlan_id ? 1 : 0, smcd 30 net/smc/smc_ism.c int smc_ism_write(struct smcd_dev *smcd, const struct smc_ism_position *pos, smcd 35 net/smc/smc_ism.c rc = smcd->ops->move_data(smcd, pos->token, pos->index, pos->signal, smcd 46 net/smc/smc_ism.c spin_lock_irqsave(&conn->lgr->smcd->lock, flags); smcd 47 net/smc/smc_ism.c conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = conn; smcd 48 net/smc/smc_ism.c spin_unlock_irqrestore(&conn->lgr->smcd->lock, flags); smcd 59 net/smc/smc_ism.c spin_lock_irqsave(&conn->lgr->smcd->lock, flags); smcd 60 net/smc/smc_ism.c conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = NULL; smcd 61 net/smc/smc_ism.c spin_unlock_irqrestore(&conn->lgr->smcd->lock, flags); smcd 68 net/smc/smc_ism.c int smc_ism_get_vlan(struct smcd_dev *smcd, unsigned short vlanid) smcd 85 net/smc/smc_ism.c spin_lock_irqsave(&smcd->lock, flags); smcd 86 net/smc/smc_ism.c list_for_each_entry(vlan, &smcd->vlan, list) { smcd 97 net/smc/smc_ism.c if (smcd->ops->add_vlan_id(smcd, vlanid)) { smcd 102 net/smc/smc_ism.c list_add_tail(&new_vlan->list, &smcd->vlan); smcd 104 net/smc/smc_ism.c spin_unlock_irqrestore(&smcd->lock, flags); smcd 112 net/smc/smc_ism.c int smc_ism_put_vlan(struct smcd_dev *smcd, unsigned short vlanid) smcd 122 net/smc/smc_ism.c spin_lock_irqsave(&smcd->lock, flags); smcd 123 net/smc/smc_ism.c list_for_each_entry(vlan, &smcd->vlan, list) { smcd 137 net/smc/smc_ism.c if (smcd->ops->del_vlan_id(smcd, vlanid)) smcd 142 net/smc/smc_ism.c spin_unlock_irqrestore(&smcd->lock, flags); smcd 146 net/smc/smc_ism.c int smc_ism_unregister_dmb(struct smcd_dev *smcd, struct smc_buf_desc *dmb_desc) smcd 156 net/smc/smc_ism.c return smcd->ops->unregister_dmb(smcd, &dmb); smcd 170 net/smc/smc_ism.c rc = lgr->smcd->ops->register_dmb(lgr->smcd, &dmb); smcd 183 net/smc/smc_ism.c struct smcd_dev *smcd; smcd 209 net/smc/smc_ism.c smc_smcd_terminate(wrk->smcd, wrk->event.tok, ev_info.vlan_id); smcd 214 net/smc/smc_ism.c wrk->smcd->ops->signal_event(wrk->smcd, smcd 232 net/smc/smc_ism.c rc = lgr->smcd->ops->signal_event(lgr->smcd, lgr->peer_gid, smcd 247 net/smc/smc_ism.c smc_smcd_terminate(wrk->smcd, wrk->event.tok, VLAN_VID_MASK); smcd 260 net/smc/smc_ism.c struct smcd_dev *smcd = container_of(dev, struct smcd_dev, dev); smcd 262 net/smc/smc_ism.c kfree(smcd->conn); smcd 263 net/smc/smc_ism.c kfree(smcd); smcd 269 net/smc/smc_ism.c struct smcd_dev *smcd; smcd 271 net/smc/smc_ism.c smcd = kzalloc(sizeof(*smcd), GFP_KERNEL); smcd 272 net/smc/smc_ism.c if (!smcd) smcd 274 net/smc/smc_ism.c smcd->conn = kcalloc(max_dmbs, sizeof(struct smc_connection *), smcd 276 net/smc/smc_ism.c if (!smcd->conn) { smcd 277 net/smc/smc_ism.c kfree(smcd); smcd 281 net/smc/smc_ism.c smcd->dev.parent = parent; smcd 282 net/smc/smc_ism.c smcd->dev.release = smcd_release; smcd 283 net/smc/smc_ism.c device_initialize(&smcd->dev); smcd 284 net/smc/smc_ism.c dev_set_name(&smcd->dev, name); smcd 285 net/smc/smc_ism.c smcd->ops = ops; smcd 286 net/smc/smc_ism.c smc_pnetid_by_dev_port(parent, 0, smcd->pnetid); smcd 288 net/smc/smc_ism.c spin_lock_init(&smcd->lock); smcd 289 net/smc/smc_ism.c INIT_LIST_HEAD(&smcd->vlan); smcd 290 net/smc/smc_ism.c smcd->event_wq = alloc_ordered_workqueue("ism_evt_wq-%s)", smcd 292 net/smc/smc_ism.c if (!smcd->event_wq) { smcd 293 net/smc/smc_ism.c kfree(smcd->conn); smcd 294 net/smc/smc_ism.c kfree(smcd); smcd 297 net/smc/smc_ism.c return smcd; smcd 301 net/smc/smc_ism.c int smcd_register_dev(struct smcd_dev *smcd) smcd 304 net/smc/smc_ism.c list_add_tail(&smcd->list, &smcd_dev_list.list); smcd 307 net/smc/smc_ism.c return device_add(&smcd->dev); smcd 311 net/smc/smc_ism.c void smcd_unregister_dev(struct smcd_dev *smcd) smcd 314 net/smc/smc_ism.c list_del(&smcd->list); smcd 316 net/smc/smc_ism.c flush_workqueue(smcd->event_wq); smcd 317 net/smc/smc_ism.c destroy_workqueue(smcd->event_wq); smcd 318 net/smc/smc_ism.c smc_smcd_terminate(smcd, 0, VLAN_VID_MASK); smcd 320 net/smc/smc_ism.c device_del(&smcd->dev); smcd 324 net/smc/smc_ism.c void smcd_free_dev(struct smcd_dev *smcd) smcd 326 net/smc/smc_ism.c put_device(&smcd->dev); smcd 341 net/smc/smc_ism.c void smcd_handle_event(struct smcd_dev *smcd, struct smcd_event *event) smcd 350 net/smc/smc_ism.c wrk->smcd = smcd; smcd 352 net/smc/smc_ism.c queue_work(smcd->event_wq, &wrk->work); smcd 363 net/smc/smc_ism.c void smcd_handle_irq(struct smcd_dev *smcd, unsigned int dmbno) smcd 368 net/smc/smc_ism.c spin_lock_irqsave(&smcd->lock, flags); smcd 369 net/smc/smc_ism.c conn = smcd->conn[dmbno]; smcd 372 net/smc/smc_ism.c spin_unlock_irqrestore(&smcd->lock, flags); smcd 260 net/smc/smc_tx.c rc = smc_ism_write(conn->lgr->smcd, &pos, data, len);