liquidio VF: reduce load time of module
authorPrasad Kanneganti <prasad.kanneganti@cavium.com>
Thu, 12 Jan 2017 01:40:27 +0000 (17:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Jan 2017 20:52:56 +0000 (15:52 -0500)
Reduce the load time of the VF driver by decreasing the wait time between
iterations of the loop that polls for a mailbox response from the PF. Also
change the wait time units from jiffies to milliseconds.

Signed-off-by: Prasad Kanneganti <prasad.kanneganti@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: Raghu Vatsavayi <raghu.vatsavayi@cavium.com>
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Satanand Burla <satananda.burla@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.h

index 73696b4..201b987 100644 (file)
@@ -131,6 +131,7 @@ int octeon_mbox_write(struct octeon_device *oct,
 {
        struct octeon_mbox *mbox = oct->mbox[mbox_cmd->q_no];
        u32 count, i, ret = OCTEON_MBOX_STATUS_SUCCESS;
+       long timeout = LIO_MBOX_WRITE_WAIT_TIME;
        unsigned long flags;
 
        spin_lock_irqsave(&mbox->lock, flags);
@@ -158,7 +159,7 @@ int octeon_mbox_write(struct octeon_device *oct,
        count = 0;
 
        while (readq(mbox->mbox_write_reg) != OCTEON_PFVFSIG) {
-               schedule_timeout_uninterruptible(LIO_MBOX_WRITE_WAIT_TIME);
+               schedule_timeout_uninterruptible(timeout);
                if (count++ == LIO_MBOX_WRITE_WAIT_CNT) {
                        ret = OCTEON_MBOX_STATUS_FAILED;
                        break;
@@ -171,7 +172,7 @@ int octeon_mbox_write(struct octeon_device *oct,
                        count = 0;
                        while (readq(mbox->mbox_write_reg) !=
                               OCTEON_PFVFACK) {
-                               schedule_timeout_uninterruptible(10);
+                               schedule_timeout_uninterruptible(timeout);
                                if (count++ == LIO_MBOX_WRITE_WAIT_CNT) {
                                        ret = OCTEON_MBOX_STATUS_FAILED;
                                        break;
index fe60a3e..c9376fe 100644 (file)
@@ -31,8 +31,8 @@
 #define OCTEON_PFVFSIG                 0x1122334455667788
 #define OCTEON_PFVFERR                 0xDEADDEADDEADDEAD
 
-#define LIO_MBOX_WRITE_WAIT_CNT          1000
-#define LIO_MBOX_WRITE_WAIT_TIME           10
+#define LIO_MBOX_WRITE_WAIT_CNT         1000
+#define LIO_MBOX_WRITE_WAIT_TIME        msecs_to_jiffies(1)
 
 enum octeon_mbox_cmd_status {
        OCTEON_MBOX_STATUS_SUCCESS = 0,