On 3/4/2016 4:09 AM, Daode Huang wrote:

This patch adds uc match for debug port by:
1)Enables uc match of debug port when initializing gmac
2)Enables uc match of mac address register2

Signed-off-by: Daode Huang <huangda...@hisilicon.com>
Signed-off-by: lipeng <lipeng...@huawei.com>

   True/full name is required here.

---
  drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 18 +++++++++++++++++-
  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |  2 ++
  2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c 
b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
index b8517b0..2591a51 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c
[...]
@@ -407,8 +419,12 @@ static void hns_gmac_set_mac_addr(void *mac_drv, char 
*mac_addr)

                u32 low_val = mac_addr[5] | (mac_addr[4] << 8)
                        | (mac_addr[3] << 16) | (mac_addr[2] << 24);
+
+               u32 val = dsaf_read_dev(drv, GMAC_STATION_ADDR_HIGH_2_REG);
+               u32 sta_addr_en = dsaf_get_bit(val, GMAC_ADDR_EN_B);

   Empty line needed after declarations.

                dsaf_write_dev(drv, GMAC_STATION_ADDR_LOW_2_REG, low_val);
-               dsaf_write_dev(drv, GMAC_STATION_ADDR_HIGH_2_REG, high_val);
+               dsaf_write_dev(drv, GMAC_STATION_ADDR_HIGH_2_REG,
+                              high_val | (sta_addr_en << GMAC_ADDR_EN_B));
        }
  }

[...]

MBR, Sergei

Reply via email to