]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting correctly"
authordann frazier <dann.frazier@canonical.com>
Thu, 16 Aug 2018 19:19:20 +0000 (13:19 -0600)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 5 Sep 2018 12:18:32 +0000 (14:18 +0200)
BugLink: https://bugs.launchpad.net/bugs/1787477
This reverts commit 1b9980c7632c0f4916eec49aaecc7ae5808fef51.
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 9c9b9fcd2609050941359353574bff27d6a2ef6b..49870ace9bc89af20ae40359fee4b4b573d44ecd 100644 (file)
@@ -1814,6 +1814,8 @@ static int hclge_rx_priv_buf_alloc(struct hclge_dev *hdev,
        return ret;
 }
 
+#define HCLGE_PRIV_ENABLE(a) ((a) > 0 ? 1 : 0)
+
 static int hclge_rx_priv_wl_config(struct hclge_dev *hdev,
                                   struct hclge_pkt_buf_alloc *buf_alloc)
 {
@@ -1841,11 +1843,13 @@ static int hclge_rx_priv_wl_config(struct hclge_dev *hdev,
                        req->tc_wl[j].high =
                                cpu_to_le16(priv->wl.high >> HCLGE_BUF_UNIT_S);
                        req->tc_wl[j].high |=
-                               cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+                               cpu_to_le16(HCLGE_PRIV_ENABLE(priv->wl.high) <<
+                                           HCLGE_RX_PRIV_EN_B);
                        req->tc_wl[j].low =
                                cpu_to_le16(priv->wl.low >> HCLGE_BUF_UNIT_S);
                        req->tc_wl[j].low |=
-                                cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+                               cpu_to_le16(HCLGE_PRIV_ENABLE(priv->wl.low) <<
+                                           HCLGE_RX_PRIV_EN_B);
                }
        }
 
@@ -1885,11 +1889,13 @@ static int hclge_common_thrd_config(struct hclge_dev *hdev,
                        req->com_thrd[j].high =
                                cpu_to_le16(tc->high >> HCLGE_BUF_UNIT_S);
                        req->com_thrd[j].high |=
-                                cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+                               cpu_to_le16(HCLGE_PRIV_ENABLE(tc->high) <<
+                                           HCLGE_RX_PRIV_EN_B);
                        req->com_thrd[j].low =
                                cpu_to_le16(tc->low >> HCLGE_BUF_UNIT_S);
                        req->com_thrd[j].low |=
-                                cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+                               cpu_to_le16(HCLGE_PRIV_ENABLE(tc->low) <<
+                                           HCLGE_RX_PRIV_EN_B);
                }
        }
 
@@ -1913,10 +1919,14 @@ static int hclge_common_wl_config(struct hclge_dev *hdev,
 
        req = (struct hclge_rx_com_wl *)desc.data;
        req->com_wl.high = cpu_to_le16(buf->self.high >> HCLGE_BUF_UNIT_S);
-       req->com_wl.high |=  cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+       req->com_wl.high |=
+               cpu_to_le16(HCLGE_PRIV_ENABLE(buf->self.high) <<
+                           HCLGE_RX_PRIV_EN_B);
 
        req->com_wl.low = cpu_to_le16(buf->self.low >> HCLGE_BUF_UNIT_S);
-       req->com_wl.low |=  cpu_to_le16(BIT(HCLGE_RX_PRIV_EN_B));
+       req->com_wl.low |=
+               cpu_to_le16(HCLGE_PRIV_ENABLE(buf->self.low) <<
+                           HCLGE_RX_PRIV_EN_B);
 
        ret = hclge_cmd_send(&hdev->hw, &desc, 1);
        if (ret)