RDMA/rxe: Add new RXE_READ_OR_WRITE_MASK
authorXiao Yang <yangx.jy@fujitsu.com>
Tue, 14 Sep 2021 08:02:51 +0000 (16:02 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 28 Sep 2021 14:42:24 +0000 (11:42 -0300)
1) Replace (RXE_READ_MASK | RXE_WRITE_MASK) with RXE_READ_OR_WRITE_MASK.
2) Change (RXE_READ_MASK | RXE_WRITE_OR_SEND) to RXE_READ_OR_WRITE_MASK
   because we don't need to check RETH for RXE_SEND_MASK.

Link: https://lore.kernel.org/r/20210914080253.1145353-2-yangx.jy@fujitsu.com
Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_opcode.h
drivers/infiniband/sw/rxe/rxe_resp.c

index e02f039b8c444aa9296075a2a78e8c6406f6898a..bbeccb1dcec76201746b73c60dc5cf5c774c7d8e 100644 (file)
@@ -84,6 +84,7 @@ enum rxe_hdr_mask {
 
        RXE_READ_OR_ATOMIC      = (RXE_READ_MASK | RXE_ATOMIC_MASK),
        RXE_WRITE_OR_SEND       = (RXE_WRITE_MASK | RXE_SEND_MASK),
+       RXE_READ_OR_WRITE_MASK  = (RXE_READ_MASK | RXE_WRITE_MASK),
 };
 
 #define OPCODE_NONE            (-1)
index c5a0b1f5747af4bca6e13c8dea8929134d88a8c6..ea7d3ee016d9d5a0e517b1518ac0f3a0cd2e9089 100644 (file)
@@ -413,7 +413,7 @@ static enum resp_states check_rkey(struct rxe_qp *qp,
        enum resp_states state;
        int access;
 
-       if (pkt->mask & (RXE_READ_MASK | RXE_WRITE_MASK)) {
+       if (pkt->mask & RXE_READ_OR_WRITE_MASK) {
                if (pkt->mask & RXE_RETH_MASK) {
                        qp->resp.va = reth_va(pkt);
                        qp->resp.offset = 0;
@@ -434,7 +434,7 @@ static enum resp_states check_rkey(struct rxe_qp *qp,
        }
 
        /* A zero-byte op is not required to set an addr or rkey. */
-       if ((pkt->mask & (RXE_READ_MASK | RXE_WRITE_OR_SEND)) &&
+       if ((pkt->mask & RXE_READ_OR_WRITE_MASK) &&
            (pkt->mask & RXE_RETH_MASK) &&
            reth_len(pkt) == 0) {
                return RESPST_EXECUTE;