mt76x0: remove mt76x0_burst_write_regs()
authorStanislaw Gruszka <sgruszka@redhat.com>
Sun, 9 Sep 2018 20:32:46 +0000 (22:32 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 19 Sep 2018 10:31:28 +0000 (12:31 +0200)
We don't need to use custom burst write regs via MCU, we can use
generic mt76_wr_copy() for the same purpose.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x0/init.c
drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c
drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h

index a68161e1a2bf1f732e8fd418c24ae70b36b5700f..7e415b361ad1f9d906072d580abaa5898e125692 100644 (file)
@@ -249,7 +249,7 @@ static void mt76x0_init_mac_registers(struct mt76x0_dev *dev)
 static int mt76x0_init_wcid_mem(struct mt76x0_dev *dev)
 {
        u32 *vals;
-       int i, ret;
+       int i;
 
        vals = kmalloc(sizeof(*vals) * MT76_N_WCIDS * 2, GFP_KERNEL);
        if (!vals)
@@ -260,25 +260,22 @@ static int mt76x0_init_wcid_mem(struct mt76x0_dev *dev)
                vals[i * 2 + 1] = 0x00ffffff;
        }
 
-       ret = mt76x0_burst_write_regs(dev, MT_WCID_ADDR_BASE,
-                                     vals, MT76_N_WCIDS * 2);
+       mt76_wr_copy(dev, MT_WCID_ADDR_BASE, vals, MT76_N_WCIDS * 2);
        kfree(vals);
-
-       return ret;
+       return 0;
 }
 
-static int mt76x0_init_key_mem(struct mt76x0_dev *dev)
+static void mt76x0_init_key_mem(struct mt76x0_dev *dev)
 {
        u32 vals[4] = {};
 
-       return mt76x0_burst_write_regs(dev, MT_SKEY_MODE_BASE_0,
-                                       vals, ARRAY_SIZE(vals));
+       mt76_wr_copy(dev, MT_SKEY_MODE_BASE_0, vals, ARRAY_SIZE(vals));
 }
 
 static int mt76x0_init_wcid_attr_mem(struct mt76x0_dev *dev)
 {
        u32 *vals;
-       int i, ret;
+       int i;
 
        vals = kmalloc(sizeof(*vals) * MT76_N_WCIDS * 2, GFP_KERNEL);
        if (!vals)
@@ -287,11 +284,9 @@ static int mt76x0_init_wcid_attr_mem(struct mt76x0_dev *dev)
        for (i = 0; i < MT76_N_WCIDS * 2; i++)
                vals[i] = 1;
 
-       ret = mt76x0_burst_write_regs(dev, MT_WCID_ATTR_BASE,
-                                     vals, MT76_N_WCIDS * 2);
+       mt76_wr_copy(dev, MT_WCID_ATTR_BASE, vals, MT76_N_WCIDS * 2);
        kfree(vals);
-
-       return ret;
+       return 0;
 }
 
 static void mt76x0_reset_counters(struct mt76x0_dev *dev)
@@ -443,9 +438,7 @@ int mt76x0_init_hardware(struct mt76x0_dev *dev)
        if (ret)
                return ret;
 
-       ret = mt76x0_init_key_mem(dev);
-       if (ret)
-               return ret;
+       mt76x0_init_key_mem(dev);
 
        ret = mt76x0_init_wcid_attr_mem(dev);
        if (ret)
index c14ae6c3e8639f8923d4cdffaa12532baffd3e21..4a5739e056a7bc209a2eec761c5e61ae2643dba4 100644 (file)
@@ -77,35 +77,6 @@ mt76x0_mcu_calibrate(struct mt76x0_dev *dev, enum mcu_calibrate cal, u32 val)
        return mt76_mcu_send_msg(dev, skb, CMD_CALIBRATION_OP, true);
 }
 
-int mt76x0_burst_write_regs(struct mt76x0_dev *dev, u32 offset,
-                            const u32 *data, int n)
-{
-       const int max_regs_per_cmd = MT_INBAND_PACKET_MAX_LEN / 4 - 1;
-       struct sk_buff *skb;
-       int cnt, i, ret;
-
-       if (!n)
-               return 0;
-
-       cnt = min(max_regs_per_cmd, n);
-
-       skb = alloc_skb(cnt * 4 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
-       if (!skb)
-               return -ENOMEM;
-       skb_reserve(skb, MT_DMA_HDR_LEN);
-
-       skb_put_le32(skb, MT_MCU_MEMMAP_WLAN + offset);
-       for (i = 0; i < cnt; i++)
-               skb_put_le32(skb, data[i]);
-
-       ret = mt76_mcu_send_msg(dev, skb, CMD_BURST_WRITE, cnt == n);
-       if (ret)
-               return ret;
-
-       return mt76x0_burst_write_regs(dev, offset + cnt * 4,
-                                       data + cnt, n - cnt);
-}
-
 struct mt76_fw_header {
        __le32 ilm_len;
        __le32 dlm_len;
index 92ecf4e8bda12d805abd835f1f064052e0d05c7f..6aaa9a5b51db8707877a78d57ff4f4b3750fb182 100644 (file)
@@ -126,9 +126,6 @@ void mt76x0_init_debugfs(struct mt76x0_dev *dev);
 #define mt76_rmw_field(_dev, _reg, _field, _val)       \
        mt76_rmw(_dev, _reg, _field, FIELD_PREP(_field, _val))
 
-int mt76x0_burst_write_regs(struct mt76x0_dev *dev, u32 offset,
-                            const u32 *data, int n);
-
 /* Init */
 struct mt76x0_dev *
 mt76x0_alloc_device(struct device *pdev, const struct mt76_driver_ops *drv_ops);