mlxsw: pci: Use MLXSW_PCI_CQS_MAX instead of MLXSW_PCI_CQS_COUNT

The count of CQs can be different for various ASICs, so just define
maximal value and check for that.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jiri Pirko 2015-10-15 17:43:17 +02:00 committed by David S. Miller
parent ffe053285b
commit e4c870b1b4
2 changed files with 5 additions and 5 deletions

View File

@ -830,7 +830,8 @@ static void mlxsw_pci_eq_tasklet(unsigned long data)
{ {
struct mlxsw_pci_queue *q = (struct mlxsw_pci_queue *) data; struct mlxsw_pci_queue *q = (struct mlxsw_pci_queue *) data;
struct mlxsw_pci *mlxsw_pci = q->pci; struct mlxsw_pci *mlxsw_pci = q->pci;
unsigned long active_cqns[BITS_TO_LONGS(MLXSW_PCI_CQS_COUNT)]; u8 cq_count = mlxsw_pci_cq_count(mlxsw_pci);
unsigned long active_cqns[BITS_TO_LONGS(MLXSW_PCI_CQS_MAX)];
char *eqe; char *eqe;
u8 cqn; u8 cqn;
bool cq_handle = false; bool cq_handle = false;
@ -866,7 +867,7 @@ static void mlxsw_pci_eq_tasklet(unsigned long data)
if (!cq_handle) if (!cq_handle)
return; return;
for_each_set_bit(cqn, active_cqns, MLXSW_PCI_CQS_COUNT) { for_each_set_bit(cqn, active_cqns, cq_count) {
q = mlxsw_pci_cq_get(mlxsw_pci, cqn); q = mlxsw_pci_cq_get(mlxsw_pci, cqn);
mlxsw_pci_queue_tasklet_schedule(q); mlxsw_pci_queue_tasklet_schedule(q);
} }
@ -1069,8 +1070,7 @@ static int mlxsw_pci_aqs_init(struct mlxsw_pci *mlxsw_pci, char *mbox)
if ((num_sdqs != MLXSW_PCI_SDQS_COUNT) || if ((num_sdqs != MLXSW_PCI_SDQS_COUNT) ||
(num_rdqs != MLXSW_PCI_RDQS_COUNT) || (num_rdqs != MLXSW_PCI_RDQS_COUNT) ||
(num_cqs != MLXSW_PCI_CQS_COUNT) || num_cqs > MLXSW_PCI_CQS_MAX || num_eqs != MLXSW_PCI_EQS_COUNT) {
(num_eqs != MLXSW_PCI_EQS_COUNT)) {
dev_err(&pdev->dev, "Unsupported number of queues\n"); dev_err(&pdev->dev, "Unsupported number of queues\n");
return -EINVAL; return -EINVAL;
} }

View File

@ -73,7 +73,7 @@
#define MLXSW_PCI_RDQS_COUNT 24 #define MLXSW_PCI_RDQS_COUNT 24
#define MLXSW_PCI_SDQS_COUNT 24 #define MLXSW_PCI_SDQS_COUNT 24
#define MLXSW_PCI_CQS_COUNT (MLXSW_PCI_RDQS_COUNT + MLXSW_PCI_SDQS_COUNT) #define MLXSW_PCI_CQS_MAX 96
#define MLXSW_PCI_EQS_COUNT 2 #define MLXSW_PCI_EQS_COUNT 2
#define MLXSW_PCI_EQ_ASYNC_NUM 0 #define MLXSW_PCI_EQ_ASYNC_NUM 0
#define MLXSW_PCI_EQ_COMP_NUM 1 #define MLXSW_PCI_EQ_COMP_NUM 1