summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ixp2000/pm3386.c7
-rw-r--r--drivers/net/ixp2000/pm3386.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ixp2000/pm3386.c b/drivers/net/ixp2000/pm3386.c
index 267b6bd5f79f..870b486f5dea 100644
--- a/drivers/net/ixp2000/pm3386.c
+++ b/drivers/net/ixp2000/pm3386.c
@@ -215,6 +215,13 @@ void pm3386_get_mac(int port, u8 *mac)
mac[5] = (temp >> 8) & 0xff;
}
+void pm3386_set_mac(int port, u8 *mac)
+{
+ pm3386_port_reg_write(port, 0x308, 0x100, (mac[1] << 8) | mac[0]);
+ pm3386_port_reg_write(port, 0x309, 0x100, (mac[3] << 8) | mac[2]);
+ pm3386_port_reg_write(port, 0x30a, 0x100, (mac[5] << 8) | mac[4]);
+}
+
static u32 pm3386_get_stat(int port, u16 base)
{
u32 value;
diff --git a/drivers/net/ixp2000/pm3386.h b/drivers/net/ixp2000/pm3386.h
index 55ecb1834219..117f50afcdea 100644
--- a/drivers/net/ixp2000/pm3386.h
+++ b/drivers/net/ixp2000/pm3386.h
@@ -15,6 +15,7 @@
void pm3386_reset(void);
void pm3386_init_port(int port);
void pm3386_get_mac(int port, u8 *mac);
+void pm3386_set_mac(int port, u8 *mac);
void pm3386_get_stats(int port, struct net_device_stats *stats);
int pm3386_is_link_up(int port);
void pm3386_enable_rx(int port);