| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Netanel Belgazal <netanel@amazon.com> |
| Date: Sun, 11 Jun 2017 15:42:49 +0300 |
| Subject: net: ena: disable admin msix while working in polling mode |
| |
| From: Netanel Belgazal <netanel@amazon.com> |
| |
| |
| [ Upstream commit a2cc5198dac102775b21787752a2e0afe44ad311 ] |
| |
| Fixes: 1738cd3ed342 ("Add a driver for Amazon Elastic Network Adapters (ENA)") |
| Signed-off-by: Netanel Belgazal <netanel@amazon.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/amazon/ena/ena_com.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/drivers/net/ethernet/amazon/ena/ena_com.c |
| +++ b/drivers/net/ethernet/amazon/ena/ena_com.c |
| @@ -61,6 +61,8 @@ |
| |
| #define ENA_MMIO_READ_TIMEOUT 0xFFFFFFFF |
| |
| +#define ENA_REGS_ADMIN_INTR_MASK 1 |
| + |
| /*****************************************************************************/ |
| /*****************************************************************************/ |
| /*****************************************************************************/ |
| @@ -1448,6 +1450,12 @@ void ena_com_admin_destroy(struct ena_co |
| |
| void ena_com_set_admin_polling_mode(struct ena_com_dev *ena_dev, bool polling) |
| { |
| + u32 mask_value = 0; |
| + |
| + if (polling) |
| + mask_value = ENA_REGS_ADMIN_INTR_MASK; |
| + |
| + writel(mask_value, ena_dev->reg_bar + ENA_REGS_INTR_MASK_OFF); |
| ena_dev->admin_queue.polling = polling; |
| } |
| |