Lines Matching refs:pfault
155 struct mlx5_ib_pfault *pfault, in mlx5_ib_page_fault_resume() argument
159 pfault->mpfault.flags, in mlx5_ib_page_fault_resume()
179 struct mlx5_ib_pfault *pfault, in pagefault_single_data_segment() argument
209 (bcnt - pfault->mpfault.bytes_committed); in pagefault_single_data_segment()
230 io_virt += pfault->mpfault.bytes_committed; in pagefault_single_data_segment()
231 bcnt -= pfault->mpfault.bytes_committed; in pagefault_single_data_segment()
288 pfault->mpfault.bytes_committed = 0; in pagefault_single_data_segment()
311 struct mlx5_ib_pfault *pfault, void *wqe, in pagefault_data_segments() argument
355 pfault->mpfault.bytes_committed); in pagefault_data_segments()
362 if (inline_segment || bcnt <= pfault->mpfault.bytes_committed) { in pagefault_data_segments()
363 pfault->mpfault.bytes_committed -= in pagefault_data_segments()
365 pfault->mpfault.bytes_committed); in pagefault_data_segments()
369 ret = pagefault_single_data_segment(qp, pfault, key, io_virt, in pagefault_data_segments()
384 struct mlx5_ib_qp *qp, struct mlx5_ib_pfault *pfault, in mlx5_ib_mr_initiator_pfault_handler() argument
389 u16 wqe_index = pfault->mpfault.wqe.wqe_index; in mlx5_ib_mr_initiator_pfault_handler()
489 struct mlx5_ib_qp *qp, struct mlx5_ib_pfault *pfault, in mlx5_ib_mr_responder_pfault_handler() argument
530 struct mlx5_ib_pfault *pfault) in mlx5_ib_mr_wqe_pfault_handler() argument
538 u16 wqe_index = pfault->mpfault.wqe.wqe_index; in mlx5_ib_mr_wqe_pfault_handler()
539 int requestor = pfault->mpfault.flags & MLX5_PFAULT_REQUESTOR; in mlx5_ib_mr_wqe_pfault_handler()
559 ret = mlx5_ib_mr_initiator_pfault_handler(qp, pfault, &wqe, in mlx5_ib_mr_wqe_pfault_handler()
562 ret = mlx5_ib_mr_responder_pfault_handler(qp, pfault, &wqe, in mlx5_ib_mr_wqe_pfault_handler()
575 ret = pagefault_data_segments(qp, pfault, wqe, wqe_end, &bytes_mapped, in mlx5_ib_mr_wqe_pfault_handler()
587 mlx5_ib_page_fault_resume(qp, pfault, resume_with_error); in mlx5_ib_mr_wqe_pfault_handler()
589 qp->mqp.qpn, resume_with_error, pfault->mpfault.flags); in mlx5_ib_mr_wqe_pfault_handler()
601 struct mlx5_ib_pfault *pfault) in mlx5_ib_mr_rdma_pfault_handler() argument
603 struct mlx5_pagefault *mpfault = &pfault->mpfault; in mlx5_ib_mr_rdma_pfault_handler()
638 ret = pagefault_single_data_segment(qp, pfault, rkey, address, length, in mlx5_ib_mr_rdma_pfault_handler()
644 mlx5_ib_page_fault_resume(qp, pfault, 1); in mlx5_ib_mr_rdma_pfault_handler()
648 mlx5_ib_page_fault_resume(qp, pfault, 0); in mlx5_ib_mr_rdma_pfault_handler()
669 struct mlx5_ib_pfault *pfault) in mlx5_ib_mr_pfault_handler() argument
671 u8 event_subtype = pfault->mpfault.event_subtype; in mlx5_ib_mr_pfault_handler()
675 mlx5_ib_mr_wqe_pfault_handler(qp, pfault); in mlx5_ib_mr_pfault_handler()
678 mlx5_ib_mr_rdma_pfault_handler(qp, pfault); in mlx5_ib_mr_pfault_handler()
683 mlx5_ib_page_fault_resume(qp, pfault, 1); in mlx5_ib_mr_pfault_handler()
690 struct mlx5_ib_pfault *pfault = container_of(work, in mlx5_ib_qp_pfault_action() local
694 mlx5_ib_get_pagefault_context(&pfault->mpfault); in mlx5_ib_qp_pfault_action()
695 struct mlx5_ib_qp *qp = container_of(pfault, struct mlx5_ib_qp, in mlx5_ib_qp_pfault_action()
697 mlx5_ib_mr_pfault_handler(qp, pfault); in mlx5_ib_qp_pfault_action()
726 struct mlx5_pagefault *pfault) in mlx5_ib_pfault_handler() argument
737 mlx5_ib_get_pagefault_context(pfault); in mlx5_ib_pfault_handler()
740 qp_pfault->mpfault = *pfault; in mlx5_ib_pfault_handler()