@@ -191,6 +191,7 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp,
191
191
int attr_mask ;
192
192
u32 tmp_len ;
193
193
int ret = 0 ;
194
+ u32 hr_op ;
194
195
u8 * smac ;
195
196
int nreq ;
196
197
int i ;
@@ -408,91 +409,60 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp,
408
409
409
410
switch (wr -> opcode ) {
410
411
case IB_WR_RDMA_READ :
411
- roce_set_field (rc_sq_wqe -> byte_4 ,
412
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
413
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
414
- HNS_ROCE_V2_WQE_OP_RDMA_READ );
412
+ hr_op = HNS_ROCE_V2_WQE_OP_RDMA_READ ;
415
413
rc_sq_wqe -> rkey =
416
414
cpu_to_le32 (rdma_wr (wr )-> rkey );
417
415
rc_sq_wqe -> va =
418
416
cpu_to_le64 (rdma_wr (wr )-> remote_addr );
419
417
break ;
420
418
case IB_WR_RDMA_WRITE :
421
- roce_set_field (rc_sq_wqe -> byte_4 ,
422
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
423
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
424
- HNS_ROCE_V2_WQE_OP_RDMA_WRITE );
419
+ hr_op = HNS_ROCE_V2_WQE_OP_RDMA_WRITE ;
425
420
rc_sq_wqe -> rkey =
426
421
cpu_to_le32 (rdma_wr (wr )-> rkey );
427
422
rc_sq_wqe -> va =
428
423
cpu_to_le64 (rdma_wr (wr )-> remote_addr );
429
424
break ;
430
425
case IB_WR_RDMA_WRITE_WITH_IMM :
431
- roce_set_field (rc_sq_wqe -> byte_4 ,
432
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
433
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
434
- HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM );
426
+ hr_op = HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM ;
435
427
rc_sq_wqe -> rkey =
436
428
cpu_to_le32 (rdma_wr (wr )-> rkey );
437
429
rc_sq_wqe -> va =
438
430
cpu_to_le64 (rdma_wr (wr )-> remote_addr );
439
431
break ;
440
432
case IB_WR_SEND :
441
- roce_set_field (rc_sq_wqe -> byte_4 ,
442
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
443
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
444
- HNS_ROCE_V2_WQE_OP_SEND );
433
+ hr_op = HNS_ROCE_V2_WQE_OP_SEND ;
445
434
break ;
446
435
case IB_WR_SEND_WITH_INV :
447
- roce_set_field (rc_sq_wqe -> byte_4 ,
448
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
449
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
450
- HNS_ROCE_V2_WQE_OP_SEND_WITH_INV );
436
+ hr_op = HNS_ROCE_V2_WQE_OP_SEND_WITH_INV ;
451
437
break ;
452
438
case IB_WR_SEND_WITH_IMM :
453
- roce_set_field (rc_sq_wqe -> byte_4 ,
454
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
455
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
456
- HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM );
439
+ hr_op = HNS_ROCE_V2_WQE_OP_SEND_WITH_IMM ;
457
440
break ;
458
441
case IB_WR_LOCAL_INV :
459
- roce_set_field (rc_sq_wqe -> byte_4 ,
460
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
461
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
462
- HNS_ROCE_V2_WQE_OP_LOCAL_INV );
442
+ hr_op = HNS_ROCE_V2_WQE_OP_LOCAL_INV ;
463
443
break ;
464
444
case IB_WR_ATOMIC_CMP_AND_SWP :
465
- roce_set_field (rc_sq_wqe -> byte_4 ,
466
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
467
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
468
- HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP );
445
+ hr_op = HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP ;
469
446
break ;
470
447
case IB_WR_ATOMIC_FETCH_AND_ADD :
471
- roce_set_field (rc_sq_wqe -> byte_4 ,
472
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
473
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
474
- HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD );
448
+ hr_op = HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD ;
475
449
break ;
476
450
case IB_WR_MASKED_ATOMIC_CMP_AND_SWP :
477
- roce_set_field (rc_sq_wqe -> byte_4 ,
478
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
479
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
480
- HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP );
451
+ hr_op =
452
+ HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP ;
481
453
break ;
482
454
case IB_WR_MASKED_ATOMIC_FETCH_AND_ADD :
483
- roce_set_field (rc_sq_wqe -> byte_4 ,
484
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
485
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
486
- HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD );
455
+ hr_op =
456
+ HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD ;
487
457
break ;
488
458
default :
489
- roce_set_field (rc_sq_wqe -> byte_4 ,
490
- V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
491
- V2_RC_SEND_WQE_BYTE_4_OPCODE_S ,
492
- HNS_ROCE_V2_WQE_OP_MASK );
459
+ hr_op = HNS_ROCE_V2_WQE_OP_MASK ;
493
460
break ;
494
461
}
495
462
463
+ roce_set_field (rc_sq_wqe -> byte_4 ,
464
+ V2_RC_SEND_WQE_BYTE_4_OPCODE_M ,
465
+ V2_RC_SEND_WQE_BYTE_4_OPCODE_S , hr_op );
496
466
wqe += sizeof (struct hns_roce_v2_rc_send_wqe );
497
467
498
468
ret = set_rwqe_data_seg (ibqp , wr , rc_sq_wqe , wqe ,
0 commit comments