sa_dev 1203 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev; sa_dev 1208 drivers/infiniband/core/sa_query.c sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1209 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1212 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1418 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1423 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1426 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1554 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1561 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1568 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1708 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1714 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1717 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1805 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1811 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1814 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1896 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1902 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1911 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 1964 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = ib_get_client_data(device, &sa_client); sa_dev 1969 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 1972 drivers/infiniband/core/sa_query.c port = &sa_dev->port[port_num - sa_dev->start_port]; sa_dev 2296 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = sa_dev 2297 drivers/infiniband/core/sa_query.c container_of(handler, typeof(*sa_dev), event_handler); sa_dev 2298 drivers/infiniband/core/sa_query.c u8 port_num = event->element.port_num - sa_dev->start_port; sa_dev 2299 drivers/infiniband/core/sa_query.c struct ib_sa_port *port = &sa_dev->port[port_num]; sa_dev 2324 drivers/infiniband/core/sa_query.c queue_work(ib_wq, &sa_dev->port[port_num].update_task); sa_dev 2330 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev; sa_dev 2337 drivers/infiniband/core/sa_query.c sa_dev = kzalloc(struct_size(sa_dev, port, e - s + 1), GFP_KERNEL); sa_dev 2338 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 2341 drivers/infiniband/core/sa_query.c sa_dev->start_port = s; sa_dev 2342 drivers/infiniband/core/sa_query.c sa_dev->end_port = e; sa_dev 2345 drivers/infiniband/core/sa_query.c spin_lock_init(&sa_dev->port[i].ah_lock); sa_dev 2349 drivers/infiniband/core/sa_query.c sa_dev->port[i].sm_ah = NULL; sa_dev 2350 drivers/infiniband/core/sa_query.c sa_dev->port[i].port_num = i + s; sa_dev 2352 drivers/infiniband/core/sa_query.c spin_lock_init(&sa_dev->port[i].classport_lock); sa_dev 2353 drivers/infiniband/core/sa_query.c sa_dev->port[i].classport_info.valid = false; sa_dev 2355 drivers/infiniband/core/sa_query.c sa_dev->port[i].agent = sa_dev 2358 drivers/infiniband/core/sa_query.c recv_handler, sa_dev, 0); sa_dev 2359 drivers/infiniband/core/sa_query.c if (IS_ERR(sa_dev->port[i].agent)) sa_dev 2362 drivers/infiniband/core/sa_query.c INIT_WORK(&sa_dev->port[i].update_task, update_sm_ah); sa_dev 2363 drivers/infiniband/core/sa_query.c INIT_DELAYED_WORK(&sa_dev->port[i].ib_cpi_work, sa_dev 2372 drivers/infiniband/core/sa_query.c ib_set_client_data(device, &sa_client, sa_dev); sa_dev 2381 drivers/infiniband/core/sa_query.c INIT_IB_EVENT_HANDLER(&sa_dev->event_handler, device, ib_sa_event); sa_dev 2382 drivers/infiniband/core/sa_query.c ib_register_event_handler(&sa_dev->event_handler); sa_dev 2386 drivers/infiniband/core/sa_query.c update_sm_ah(&sa_dev->port[i].update_task); sa_dev 2394 drivers/infiniband/core/sa_query.c ib_unregister_mad_agent(sa_dev->port[i].agent); sa_dev 2397 drivers/infiniband/core/sa_query.c kfree(sa_dev); sa_dev 2403 drivers/infiniband/core/sa_query.c struct ib_sa_device *sa_dev = client_data; sa_dev 2406 drivers/infiniband/core/sa_query.c if (!sa_dev) sa_dev 2409 drivers/infiniband/core/sa_query.c ib_unregister_event_handler(&sa_dev->event_handler); sa_dev 2412 drivers/infiniband/core/sa_query.c for (i = 0; i <= sa_dev->end_port - sa_dev->start_port; ++i) { sa_dev 2414 drivers/infiniband/core/sa_query.c cancel_delayed_work_sync(&sa_dev->port[i].ib_cpi_work); sa_dev 2415 drivers/infiniband/core/sa_query.c ib_unregister_mad_agent(sa_dev->port[i].agent); sa_dev 2416 drivers/infiniband/core/sa_query.c if (sa_dev->port[i].sm_ah) sa_dev 2417 drivers/infiniband/core/sa_query.c kref_put(&sa_dev->port[i].sm_ah->ref, free_sm_ah); sa_dev 2422 drivers/infiniband/core/sa_query.c kfree(sa_dev);