]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlxsw: pci: Make style changes in mlxsw_pci_eq_tasklet()
authorAmit Cohen <amcohen@nvidia.com>
Tue, 2 Apr 2024 13:54:19 +0000 (15:54 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Apr 2024 02:50:40 +0000 (19:50 -0700)
This function will be used later only for EQ1. As preparation, reorder
variables to reverse xmas tree and return earlier when it is possible, to
simplify the code.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/2412d6c135b2a6aedb4484f5d8baab3aecd7b9ae.1712062203.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/pci.c

index ec18fe0c211723917ec476dc947563a699bf18e2..5688c14f7426b0aa918d5a847af76e9779ef3d2f 100644 (file)
@@ -783,15 +783,14 @@ static char *mlxsw_pci_eq_sw_eqe_get(struct mlxsw_pci_queue *q)
 
 static void mlxsw_pci_eq_tasklet(struct tasklet_struct *t)
 {
+       unsigned long active_cqns[BITS_TO_LONGS(MLXSW_PCI_CQS_MAX)];
        struct mlxsw_pci_queue *q = from_tasklet(q, t, tasklet);
        struct mlxsw_pci *mlxsw_pci = q->pci;
-       u8 cq_count = mlxsw_pci_cq_count(mlxsw_pci);
-       unsigned long active_cqns[BITS_TO_LONGS(MLXSW_PCI_CQS_MAX)];
-       char *eqe;
-       u8 cqn;
+       int credits = q->count >> 1;
        bool cq_handle = false;
+       u8 cqn, cq_count;
        int items = 0;
-       int credits = q->count >> 1;
+       char *eqe;
 
        memset(&active_cqns, 0, sizeof(active_cqns));
 
@@ -816,13 +815,17 @@ static void mlxsw_pci_eq_tasklet(struct tasklet_struct *t)
                if (++items == credits)
                        break;
        }
-       if (items) {
-               mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
-               mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
-       }
+
+       if (!items)
+               return;
+
+       mlxsw_pci_queue_doorbell_consumer_ring(mlxsw_pci, q);
+       mlxsw_pci_queue_doorbell_arm_consumer_ring(mlxsw_pci, q);
 
        if (!cq_handle)
                return;
+
+       cq_count = mlxsw_pci_cq_count(mlxsw_pci);
        for_each_set_bit(cqn, active_cqns, cq_count) {
                q = mlxsw_pci_cq_get(mlxsw_pci, cqn);
                mlxsw_pci_queue_tasklet_schedule(q);