ionic_dv_pd_set_udma_mask(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHORS | COLOPHON

IONIC_DV...UDMA_MASK(3) Ionic Programmer’s Manual IONIC_DV...UDMA_MASK(3)

NAME         top

       ionic_dv_pd_set_udma_mask - Restrict UDMA pipeline IDs of a
       protection domain

SYNOPSIS         top

              #include <infiniband/ionic_dv.h>

              int ionic_dv_pd_set_udma_mask(struct ibv_pd *ibpd, uint8_t udma_mask);

DESCRIPTION         top

       ionic_dv_pd_set_udma_mask() restricts the UDMA pipelines available
       for queues created under the protection domain or parent domain
       ibpd.  Queues created after this call will be assigned to one of
       the pipelines enabled by udma_mask.

       The udma_mask must be a subset of the device’s available UDMA
       pipelines, as returned by ionic_dv_ctx_get_udma_mask(3).

       Changing the UDMA mask of a protection domain has no effect on
       previously created queues.

       The recommended usage pattern is:

       1. Create a protection domain with ibv_alloc_pd(3).

       2. Create parent domains of that PD for each desired UDMA mask
          using ibv_alloc_parent_domain(3).

       3. Set the desired UDMA mask on each parent domain with this
          function.

       4. Create queues associated with the parent domain that has the
          desired UDMA mask.

       An alternative usage is to create a single PD and change its UDMA
       mask before creating each queue.

ARGUMENTS         top

       ibpd   The protection domain or parent domain to modify.  Must be
              an ionic protection domain.

       udma_mask
              A bitmask of UDMA pipeline IDs to enable.  Must be a subset
              of the mask returned by ionic_dv_ctx_get_udma_mask(3).

RETURN VALUE         top

       Returns 0 on success, or a positive errno value on failure:

       EPERM  ibpd is not an ionic protection domain.

       EINVAL udma_mask contains bits not present in the device’s UDMA
              mask.

SEE ALSO         top

       ionicdv(7), ionic_dv_pd_get_udma_mask(3),
       ionic_dv_ctx_get_udma_mask(3), ionic_dv_ctx_get_udma_count(3),
       ibv_alloc_pd(3), ibv_alloc_parent_domain(3)

AUTHORS         top

       Advanced Micro Devices, Inc.

COLOPHON         top

       This page is part of the rdma-core (RDMA Core Userspace Libraries
       and Daemons) project.  Information about the project can be found
       at ⟨https://github.com/linux-rdma/rdma-core⟩.  If you have a bug
       report for this manual page, send it to
       linux-rdma@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2026-08-04.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2026-07-22.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there is
       a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

ionic                           2025-06-23        IONIC_DV...UDMA_MASK(3)

Pages that refer to this page: ionic_dv_ctx_get_udma_count(3)ionic_dv_ctx_get_udma_mask(3)ionic_dv_pd_get_udma_mask(3)ionic_dv_pd_set_rqcmb(3)ionic_dv_pd_set_sqcmb(3)ionicdv(7)