sxgbe: remove unused code
Remove the unused code of sxgbe_xpcs. Reported-by: Julia Lawall <julia.lawall@lip6.fr> Suggested-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jean Sacren <sakiwit@gmail.com> Cc: Byungho An <bh74.an@samsung.com> Cc: Girish K S <ks.giri@samsung.com> Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1601191918470.2531@hadrien Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
12f084120e
commit
aaa5672052
|
@ -1,4 +1,4 @@
|
|||
obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o
|
||||
samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \
|
||||
sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o sxgbe_mdio.o \
|
||||
sxgbe_ethtool.o sxgbe_xpcs.o $(samsung-sxgbe-y)
|
||||
sxgbe_ethtool.o $(samsung-sxgbe-y)
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
/* 10G controller driver for Samsung SoCs
|
||||
*
|
||||
* Copyright (C) 2013 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* Author: Siva Reddy Kallam <siva.kallam@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/phy.h>
|
||||
#include "sxgbe_common.h"
|
||||
#include "sxgbe_xpcs.h"
|
||||
|
||||
static int sxgbe_xpcs_read(struct net_device *ndev, unsigned int reg)
|
||||
{
|
||||
u32 value;
|
||||
struct sxgbe_priv_data *priv = netdev_priv(ndev);
|
||||
|
||||
value = readl(priv->ioaddr + XPCS_OFFSET + reg);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
static int sxgbe_xpcs_write(struct net_device *ndev, int reg, int data)
|
||||
{
|
||||
struct sxgbe_priv_data *priv = netdev_priv(ndev);
|
||||
|
||||
writel(data, priv->ioaddr + XPCS_OFFSET + reg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sxgbe_xpcs_init(struct net_device *ndev)
|
||||
{
|
||||
u32 value;
|
||||
|
||||
value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
|
||||
/* 10G XAUI mode */
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
|
||||
sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
|
||||
sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, value | BIT(13));
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
|
||||
|
||||
do {
|
||||
value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
|
||||
} while ((value & XPCS_QSEQ_STATE_MPLLOFF) == XPCS_QSEQ_STATE_STABLE);
|
||||
|
||||
value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
|
||||
|
||||
do {
|
||||
value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
|
||||
} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sxgbe_xpcs_init_1G(struct net_device *ndev)
|
||||
{
|
||||
int value;
|
||||
|
||||
/* 10GBASE-X PCS (1G) mode */
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_CONTROL2, XPCS_TYPE_SEL_X);
|
||||
sxgbe_xpcs_write(ndev, VR_PCS_MMD_XAUI_MODE_CONTROL, XPCS_XAUI_MODE);
|
||||
value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(13));
|
||||
|
||||
value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
|
||||
sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(6));
|
||||
sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value & ~BIT(13));
|
||||
value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value | BIT(11));
|
||||
|
||||
do {
|
||||
value = sxgbe_xpcs_read(ndev, VR_PCS_MMD_DIGITAL_STATUS);
|
||||
} while ((value & XPCS_QSEQ_STATE_MPLLOFF) != XPCS_QSEQ_STATE_STABLE);
|
||||
|
||||
value = sxgbe_xpcs_read(ndev, SR_PCS_MMD_CONTROL1);
|
||||
sxgbe_xpcs_write(ndev, SR_PCS_MMD_CONTROL1, value & ~BIT(11));
|
||||
|
||||
/* Auto Negotiation cluase 37 enable */
|
||||
value = sxgbe_xpcs_read(ndev, SR_MII_MMD_CONTROL);
|
||||
sxgbe_xpcs_write(ndev, SR_MII_MMD_CONTROL, value | BIT(12));
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
/* 10G controller driver for Samsung SoCs
|
||||
*
|
||||
* Copyright (C) 2013 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* Author: Byungho An <bh74.an@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __SXGBE_XPCS_H__
|
||||
#define __SXGBE_XPCS_H__
|
||||
|
||||
/* XPCS Registers */
|
||||
#define XPCS_OFFSET 0x1A060000
|
||||
#define SR_PCS_MMD_CONTROL1 0x030000
|
||||
#define SR_PCS_CONTROL2 0x030007
|
||||
#define VR_PCS_MMD_XAUI_MODE_CONTROL 0x038004
|
||||
#define VR_PCS_MMD_DIGITAL_STATUS 0x038010
|
||||
#define SR_MII_MMD_CONTROL 0x1F0000
|
||||
#define SR_MII_MMD_AN_ADV 0x1F0004
|
||||
#define SR_MII_MMD_AN_LINK_PARTNER_BA 0x1F0005
|
||||
#define VR_MII_MMD_AN_CONTROL 0x1F8001
|
||||
#define VR_MII_MMD_AN_INT_STATUS 0x1F8002
|
||||
|
||||
#define XPCS_QSEQ_STATE_STABLE 0x10
|
||||
#define XPCS_QSEQ_STATE_MPLLOFF 0x1c
|
||||
#define XPCS_TYPE_SEL_R 0x00
|
||||
#define XPCS_TYPE_SEL_X 0x01
|
||||
#define XPCS_TYPE_SEL_W 0x02
|
||||
#define XPCS_XAUI_MODE 0x00
|
||||
#define XPCS_RXAUI_MODE 0x01
|
||||
|
||||
int sxgbe_xpcs_init(struct net_device *ndev);
|
||||
int sxgbe_xpcs_init_1G(struct net_device *ndev);
|
||||
|
||||
#endif /* __SXGBE_XPCS_H__ */
|
Loading…
Reference in New Issue