ionic: clear up notifyq alloc commentary
authorShannon Nelson <shannon.nelson@amd.com>
Thu, 2 Feb 2023 21:55:36 +0000 (13:55 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 4 Feb 2023 03:58:53 +0000 (19:58 -0800)
Make sure the q+cq alloc for NotifyQ is clearly documented
and don't bother with unnecessary local variables.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index 5e2dfa7..e51d8be 100644 (file)
@@ -573,13 +573,15 @@ static int ionic_qcq_alloc(struct ionic_lif *lif, unsigned int type,
        }
 
        if (flags & IONIC_QCQ_F_NOTIFYQ) {
-               int q_size, cq_size;
+               int q_size;
 
-               /* q & cq need to be contiguous in case of notifyq */
+               /* q & cq need to be contiguous in NotifyQ, so alloc it all in q
+                * and don't alloc qc.  We leave new->qc_size and new->qc_base
+                * as 0 to be sure we don't try to free it later.
+                */
                q_size = ALIGN(num_descs * desc_size, PAGE_SIZE);
-               cq_size = ALIGN(num_descs * cq_desc_size, PAGE_SIZE);
-
-               new->q_size = PAGE_SIZE + q_size + cq_size;
+               new->q_size = PAGE_SIZE + q_size +
+                             ALIGN(num_descs * cq_desc_size, PAGE_SIZE);
                new->q_base = dma_alloc_coherent(dev, new->q_size,
                                                 &new->q_base_pa, GFP_KERNEL);
                if (!new->q_base) {