vt.c (02a42f8e40caed53fd357c9c33912e1bfb6f0365) vt.c (3023a1e93656c02b8d6a3a46e712b815843fa514)
1/*
2 * Copyright(c) 2016 - 2018 Intel Corporation.
3 *
4 * This file is provided under a dual BSD/GPLv2 license. When using or
5 * redistributing this file, you may do so under either license.
6 *
7 * GPL LICENSE SUMMARY
8 *

--- 442 unchanged lines hidden (view full) ---

451 return -EINVAL;
452 break;
453
454 case MODIFY_DEVICE:
455 /*
456 * rdmavt does not support modify device currently drivers must
457 * provide.
458 */
1/*
2 * Copyright(c) 2016 - 2018 Intel Corporation.
3 *
4 * This file is provided under a dual BSD/GPLv2 license. When using or
5 * redistributing this file, you may do so under either license.
6 *
7 * GPL LICENSE SUMMARY
8 *

--- 442 unchanged lines hidden (view full) ---

451 return -EINVAL;
452 break;
453
454 case MODIFY_DEVICE:
455 /*
456 * rdmavt does not support modify device currently drivers must
457 * provide.
458 */
459 if (!rdi->ibdev.modify_device)
459 if (!rdi->ibdev.ops.modify_device)
460 return -EOPNOTSUPP;
461 break;
462
463 case QUERY_PORT:
460 return -EOPNOTSUPP;
461 break;
462
463 case QUERY_PORT:
464 if (!rdi->ibdev.query_port)
464 if (!rdi->ibdev.ops.query_port)
465 if (!rdi->driver_f.query_port_state)
466 return -EINVAL;
467 break;
468
469 case MODIFY_PORT:
465 if (!rdi->driver_f.query_port_state)
466 return -EINVAL;
467 break;
468
469 case MODIFY_PORT:
470 if (!rdi->ibdev.modify_port)
470 if (!rdi->ibdev.ops.modify_port)
471 if (!rdi->driver_f.cap_mask_chg ||
472 !rdi->driver_f.shut_down_port)
473 return -EINVAL;
474 break;
475
476 case QUERY_GID:
471 if (!rdi->driver_f.cap_mask_chg ||
472 !rdi->driver_f.shut_down_port)
473 return -EINVAL;
474 break;
475
476 case QUERY_GID:
477 if (!rdi->ibdev.query_gid)
477 if (!rdi->ibdev.ops.query_gid)
478 if (!rdi->driver_f.get_guid_be)
479 return -EINVAL;
480 break;
481
482 case CREATE_QP:
478 if (!rdi->driver_f.get_guid_be)
479 return -EINVAL;
480 break;
481
482 case CREATE_QP:
483 if (!rdi->ibdev.create_qp)
483 if (!rdi->ibdev.ops.create_qp)
484 if (!rdi->driver_f.qp_priv_alloc ||
485 !rdi->driver_f.qp_priv_free ||
486 !rdi->driver_f.notify_qp_reset ||
487 !rdi->driver_f.flush_qp_waiters ||
488 !rdi->driver_f.stop_send_queue ||
489 !rdi->driver_f.quiesce_qp)
490 return -EINVAL;
491 break;
492
493 case MODIFY_QP:
484 if (!rdi->driver_f.qp_priv_alloc ||
485 !rdi->driver_f.qp_priv_free ||
486 !rdi->driver_f.notify_qp_reset ||
487 !rdi->driver_f.flush_qp_waiters ||
488 !rdi->driver_f.stop_send_queue ||
489 !rdi->driver_f.quiesce_qp)
490 return -EINVAL;
491 break;
492
493 case MODIFY_QP:
494 if (!rdi->ibdev.modify_qp)
494 if (!rdi->ibdev.ops.modify_qp)
495 if (!rdi->driver_f.notify_qp_reset ||
496 !rdi->driver_f.schedule_send ||
497 !rdi->driver_f.get_pmtu_from_attr ||
498 !rdi->driver_f.flush_qp_waiters ||
499 !rdi->driver_f.stop_send_queue ||
500 !rdi->driver_f.quiesce_qp ||
501 !rdi->driver_f.notify_error_qp ||
502 !rdi->driver_f.mtu_from_qp ||
503 !rdi->driver_f.mtu_to_path_mtu)
504 return -EINVAL;
505 break;
506
507 case DESTROY_QP:
495 if (!rdi->driver_f.notify_qp_reset ||
496 !rdi->driver_f.schedule_send ||
497 !rdi->driver_f.get_pmtu_from_attr ||
498 !rdi->driver_f.flush_qp_waiters ||
499 !rdi->driver_f.stop_send_queue ||
500 !rdi->driver_f.quiesce_qp ||
501 !rdi->driver_f.notify_error_qp ||
502 !rdi->driver_f.mtu_from_qp ||
503 !rdi->driver_f.mtu_to_path_mtu)
504 return -EINVAL;
505 break;
506
507 case DESTROY_QP:
508 if (!rdi->ibdev.destroy_qp)
508 if (!rdi->ibdev.ops.destroy_qp)
509 if (!rdi->driver_f.qp_priv_free ||
510 !rdi->driver_f.notify_qp_reset ||
511 !rdi->driver_f.flush_qp_waiters ||
512 !rdi->driver_f.stop_send_queue ||
513 !rdi->driver_f.quiesce_qp)
514 return -EINVAL;
515 break;
516
517 case POST_SEND:
509 if (!rdi->driver_f.qp_priv_free ||
510 !rdi->driver_f.notify_qp_reset ||
511 !rdi->driver_f.flush_qp_waiters ||
512 !rdi->driver_f.stop_send_queue ||
513 !rdi->driver_f.quiesce_qp)
514 return -EINVAL;
515 break;
516
517 case POST_SEND:
518 if (!rdi->ibdev.post_send)
518 if (!rdi->ibdev.ops.post_send)
519 if (!rdi->driver_f.schedule_send ||
520 !rdi->driver_f.do_send ||
521 !rdi->post_parms)
522 return -EINVAL;
523 break;
524
525 }
526

--- 184 unchanged lines hidden ---
519 if (!rdi->driver_f.schedule_send ||
520 !rdi->driver_f.do_send ||
521 !rdi->post_parms)
522 return -EINVAL;
523 break;
524
525 }
526

--- 184 unchanged lines hidden ---