浏览代码

[PATCH] pm3386: add hook for setting carrier

Add a pm3386 hook for disabling/enabling the SERDES carrier, so that
we can disable it when the interface is administratively downed, and
enable it when it is upped.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Lennert Buytenhek 19 年之前
父节点
当前提交
df86550602
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 5 0
      drivers/net/ixp2000/pm3386.c
  2. 1 0
      drivers/net/ixp2000/pm3386.h

+ 5 - 0
drivers/net/ixp2000/pm3386.c

@@ -250,6 +250,11 @@ void pm3386_get_stats(int port, struct net_device_stats *stats)
 	/* @@@ Add other stats.  */
 }
 
+void pm3386_set_carrier(int port, int state)
+{
+	pm3386_port_reg_write(port, 0x703, 0x10, state ? 0x1001 : 0x0000);
+}
+
 int pm3386_is_link_up(int port)
 {
 	u16 temp;

+ 1 - 0
drivers/net/ixp2000/pm3386.h

@@ -17,6 +17,7 @@ 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);
+void pm3386_set_carrier(int port, int state);
 int pm3386_is_link_up(int port);
 void pm3386_enable_rx(int port);
 void pm3386_disable_rx(int port);