@@ -3121,7 +3121,7 @@ static void qeth_queue_input_buffer(struct qeth_card *card, int index)
3121
3121
for (i = queue -> next_buf_to_init ;
3122
3122
i < queue -> next_buf_to_init + count ; ++ i ) {
3123
3123
if (qeth_init_input_buffer (card ,
3124
- & queue -> bufs [i % QDIO_MAX_BUFFERS_PER_Q ])) {
3124
+ & queue -> bufs [QDIO_BUFNR ( i ) ])) {
3125
3125
break ;
3126
3126
} else {
3127
3127
newcount ++ ;
@@ -3163,8 +3163,8 @@ static void qeth_queue_input_buffer(struct qeth_card *card, int index)
3163
3163
if (rc ) {
3164
3164
QETH_CARD_TEXT (card , 2 , "qinberr" );
3165
3165
}
3166
- queue -> next_buf_to_init = (queue -> next_buf_to_init + count ) %
3167
- QDIO_MAX_BUFFERS_PER_Q ;
3166
+ queue -> next_buf_to_init = QDIO_BUFNR (queue -> next_buf_to_init +
3167
+ count ) ;
3168
3168
}
3169
3169
}
3170
3170
@@ -3212,7 +3212,7 @@ static int qeth_prep_flush_pack_buffer(struct qeth_qdio_out_q *queue)
3212
3212
/* it's a packing buffer */
3213
3213
atomic_set (& buffer -> state , QETH_QDIO_BUF_PRIMED );
3214
3214
queue -> next_buf_to_fill =
3215
- (queue -> next_buf_to_fill + 1 ) % QDIO_MAX_BUFFERS_PER_Q ;
3215
+ QDIO_BUFNR (queue -> next_buf_to_fill + 1 );
3216
3216
return 1 ;
3217
3217
}
3218
3218
return 0 ;
@@ -3266,7 +3266,8 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
3266
3266
unsigned int qdio_flags ;
3267
3267
3268
3268
for (i = index ; i < index + count ; ++ i ) {
3269
- int bidx = i % QDIO_MAX_BUFFERS_PER_Q ;
3269
+ unsigned int bidx = QDIO_BUFNR (i );
3270
+
3270
3271
buf = queue -> bufs [bidx ];
3271
3272
buf -> buffer -> element [buf -> next_element_to_fill - 1 ].eflags |=
3272
3273
SBAL_EFLAGS_LAST_ENTRY ;
@@ -3434,8 +3435,7 @@ static void qeth_qdio_cq_handler(struct qeth_card *card, unsigned int qdio_err,
3434
3435
}
3435
3436
3436
3437
for (i = first_element ; i < first_element + count ; ++ i ) {
3437
- int bidx = i % QDIO_MAX_BUFFERS_PER_Q ;
3438
- struct qdio_buffer * buffer = cq -> qdio_bufs [bidx ];
3438
+ struct qdio_buffer * buffer = cq -> qdio_bufs [QDIO_BUFNR (i )];
3439
3439
int e = 0 ;
3440
3440
3441
3441
while ((e < QDIO_MAX_ELEMENTS_PER_BUFFER ) &&
@@ -3456,8 +3456,8 @@ static void qeth_qdio_cq_handler(struct qeth_card *card, unsigned int qdio_err,
3456
3456
"QDIO reported an error, rc=%i\n" , rc );
3457
3457
QETH_CARD_TEXT (card , 2 , "qcqherr" );
3458
3458
}
3459
- card -> qdio . c_q -> next_buf_to_init = ( card -> qdio . c_q -> next_buf_to_init
3460
- + count ) % QDIO_MAX_BUFFERS_PER_Q ;
3459
+
3460
+ cq -> next_buf_to_init = QDIO_BUFNR ( cq -> next_buf_to_init + count );
3461
3461
}
3462
3462
3463
3463
static void qeth_qdio_input_handler (struct ccw_device * ccwdev ,
@@ -3483,7 +3483,6 @@ static void qeth_qdio_output_handler(struct ccw_device *ccwdev,
3483
3483
{
3484
3484
struct qeth_card * card = (struct qeth_card * ) card_ptr ;
3485
3485
struct qeth_qdio_out_q * queue = card -> qdio .out_qs [__queue ];
3486
- struct qeth_qdio_out_buffer * buffer ;
3487
3486
struct net_device * dev = card -> dev ;
3488
3487
struct netdev_queue * txq ;
3489
3488
int i ;
@@ -3497,10 +3496,10 @@ static void qeth_qdio_output_handler(struct ccw_device *ccwdev,
3497
3496
}
3498
3497
3499
3498
for (i = first_element ; i < (first_element + count ); ++ i ) {
3500
- int bidx = i % QDIO_MAX_BUFFERS_PER_Q ;
3501
- buffer = queue -> bufs [ bidx ];
3502
- qeth_handle_send_error (card , buffer , qdio_error );
3503
- qeth_clear_output_buffer (queue , buffer , qdio_error , 0 );
3499
+ struct qeth_qdio_out_buffer * buf = queue -> bufs [ QDIO_BUFNR ( i )] ;
3500
+
3501
+ qeth_handle_send_error (card , buf , qdio_error );
3502
+ qeth_clear_output_buffer (queue , buf , qdio_error , 0 );
3504
3503
}
3505
3504
3506
3505
atomic_sub (count , & queue -> used_buffers );
@@ -3932,8 +3931,7 @@ int qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
3932
3931
atomic_set (& buffer -> state , QETH_QDIO_BUF_PRIMED );
3933
3932
flush_count ++ ;
3934
3933
queue -> next_buf_to_fill =
3935
- (queue -> next_buf_to_fill + 1 ) %
3936
- QDIO_MAX_BUFFERS_PER_Q ;
3934
+ QDIO_BUFNR (queue -> next_buf_to_fill + 1 );
3937
3935
buffer = queue -> bufs [queue -> next_buf_to_fill ];
3938
3936
3939
3937
/* We stepped forward, so sanity-check again: */
@@ -3966,8 +3964,8 @@ int qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue,
3966
3964
if (!queue -> do_pack || stopped || next_element >= queue -> max_elements ) {
3967
3965
flush_count ++ ;
3968
3966
atomic_set (& buffer -> state , QETH_QDIO_BUF_PRIMED );
3969
- queue -> next_buf_to_fill = ( queue -> next_buf_to_fill + 1 ) %
3970
- QDIO_MAX_BUFFERS_PER_Q ;
3967
+ queue -> next_buf_to_fill =
3968
+ QDIO_BUFNR ( queue -> next_buf_to_fill + 1 ) ;
3971
3969
}
3972
3970
3973
3971
if (flush_count )
@@ -5199,8 +5197,7 @@ int qeth_poll(struct napi_struct *napi, int budget)
5199
5197
card -> rx .b_count -- ;
5200
5198
if (card -> rx .b_count ) {
5201
5199
card -> rx .b_index =
5202
- (card -> rx .b_index + 1 ) %
5203
- QDIO_MAX_BUFFERS_PER_Q ;
5200
+ QDIO_BUFNR (card -> rx .b_index + 1 );
5204
5201
card -> rx .b_element =
5205
5202
& card -> qdio .in_q
5206
5203
-> bufs [card -> rx .b_index ]
0 commit comments