Commit 6fee40e9 authored by Andy Fleming's avatar Andy Fleming Committed by Jeff Garzik

ucc_geth: Fix a bunch of sparse warnings

ucc_geth didn't have anything marked as __iomem.  It was also inconsistent
with its use of in/out accessors (using them sometimes, not using them other
times).  Cleaning this up cuts the warnings down from hundreds to just over a
dozen.
Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent 9b9a8bfc
...@@ -62,7 +62,6 @@ ...@@ -62,7 +62,6 @@
#endif /* UGETH_VERBOSE_DEBUG */ #endif /* UGETH_VERBOSE_DEBUG */
#define UGETH_MSG_DEFAULT (NETIF_MSG_IFUP << 1 ) - 1 #define UGETH_MSG_DEFAULT (NETIF_MSG_IFUP << 1 ) - 1
void uec_set_ethtool_ops(struct net_device *netdev);
static DEFINE_SPINLOCK(ugeth_lock); static DEFINE_SPINLOCK(ugeth_lock);
...@@ -216,7 +215,8 @@ static struct list_head *dequeue(struct list_head *lh) ...@@ -216,7 +215,8 @@ static struct list_head *dequeue(struct list_head *lh)
} }
} }
static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth, u8 *bd) static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth,
u8 __iomem *bd)
{ {
struct sk_buff *skb = NULL; struct sk_buff *skb = NULL;
...@@ -236,21 +236,22 @@ static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth, u8 *bd) ...@@ -236,21 +236,22 @@ static struct sk_buff *get_new_skb(struct ucc_geth_private *ugeth, u8 *bd)
skb->dev = ugeth->dev; skb->dev = ugeth->dev;
out_be32(&((struct qe_bd *)bd)->buf, out_be32(&((struct qe_bd __iomem *)bd)->buf,
dma_map_single(NULL, dma_map_single(NULL,
skb->data, skb->data,
ugeth->ug_info->uf_info.max_rx_buf_length + ugeth->ug_info->uf_info.max_rx_buf_length +
UCC_GETH_RX_DATA_BUF_ALIGNMENT, UCC_GETH_RX_DATA_BUF_ALIGNMENT,
DMA_FROM_DEVICE)); DMA_FROM_DEVICE));
out_be32((u32 *)bd, (R_E | R_I | (in_be32((u32 *)bd) & R_W))); out_be32((u32 __iomem *)bd,
(R_E | R_I | (in_be32((u32 __iomem*)bd) & R_W)));
return skb; return skb;
} }
static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ) static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ)
{ {
u8 *bd; u8 __iomem *bd;
u32 bd_status; u32 bd_status;
struct sk_buff *skb; struct sk_buff *skb;
int i; int i;
...@@ -259,7 +260,7 @@ static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ) ...@@ -259,7 +260,7 @@ static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ)
i = 0; i = 0;
do { do {
bd_status = in_be32((u32*)bd); bd_status = in_be32((u32 __iomem *)bd);
skb = get_new_skb(ugeth, bd); skb = get_new_skb(ugeth, bd);
if (!skb) /* If can not allocate data buffer, if (!skb) /* If can not allocate data buffer,
...@@ -277,7 +278,7 @@ static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ) ...@@ -277,7 +278,7 @@ static int rx_bd_buffer_set(struct ucc_geth_private *ugeth, u8 rxQ)
} }
static int fill_init_enet_entries(struct ucc_geth_private *ugeth, static int fill_init_enet_entries(struct ucc_geth_private *ugeth,
volatile u32 *p_start, u32 *p_start,
u8 num_entries, u8 num_entries,
u32 thread_size, u32 thread_size,
u32 thread_alignment, u32 thread_alignment,
...@@ -316,7 +317,7 @@ static int fill_init_enet_entries(struct ucc_geth_private *ugeth, ...@@ -316,7 +317,7 @@ static int fill_init_enet_entries(struct ucc_geth_private *ugeth,
} }
static int return_init_enet_entries(struct ucc_geth_private *ugeth, static int return_init_enet_entries(struct ucc_geth_private *ugeth,
volatile u32 *p_start, u32 *p_start,
u8 num_entries, u8 num_entries,
enum qe_risc_allocation risc, enum qe_risc_allocation risc,
int skip_page_for_first_entry) int skip_page_for_first_entry)
...@@ -326,21 +327,22 @@ static int return_init_enet_entries(struct ucc_geth_private *ugeth, ...@@ -326,21 +327,22 @@ static int return_init_enet_entries(struct ucc_geth_private *ugeth,
int snum; int snum;
for (i = 0; i < num_entries; i++) { for (i = 0; i < num_entries; i++) {
u32 val = *p_start;
/* Check that this entry was actually valid -- /* Check that this entry was actually valid --
needed in case failed in allocations */ needed in case failed in allocations */
if ((*p_start & ENET_INIT_PARAM_RISC_MASK) == risc) { if ((val & ENET_INIT_PARAM_RISC_MASK) == risc) {
snum = snum =
(u32) (*p_start & ENET_INIT_PARAM_SNUM_MASK) >> (u32) (val & ENET_INIT_PARAM_SNUM_MASK) >>
ENET_INIT_PARAM_SNUM_SHIFT; ENET_INIT_PARAM_SNUM_SHIFT;
qe_put_snum((u8) snum); qe_put_snum((u8) snum);
if (!((i == 0) && skip_page_for_first_entry)) { if (!((i == 0) && skip_page_for_first_entry)) {
/* First entry of Rx does not have page */ /* First entry of Rx does not have page */
init_enet_offset = init_enet_offset =
(in_be32(p_start) & (val & ENET_INIT_PARAM_PTR_MASK);
ENET_INIT_PARAM_PTR_MASK);
qe_muram_free(init_enet_offset); qe_muram_free(init_enet_offset);
} }
*(p_start++) = 0; /* Just for cosmetics */ *p_start++ = 0;
} }
} }
...@@ -349,7 +351,7 @@ static int return_init_enet_entries(struct ucc_geth_private *ugeth, ...@@ -349,7 +351,7 @@ static int return_init_enet_entries(struct ucc_geth_private *ugeth,
#ifdef DEBUG #ifdef DEBUG
static int dump_init_enet_entries(struct ucc_geth_private *ugeth, static int dump_init_enet_entries(struct ucc_geth_private *ugeth,
volatile u32 *p_start, u32 __iomem *p_start,
u8 num_entries, u8 num_entries,
u32 thread_size, u32 thread_size,
enum qe_risc_allocation risc, enum qe_risc_allocation risc,
...@@ -360,11 +362,13 @@ static int dump_init_enet_entries(struct ucc_geth_private *ugeth, ...@@ -360,11 +362,13 @@ static int dump_init_enet_entries(struct ucc_geth_private *ugeth,
int snum; int snum;
for (i = 0; i < num_entries; i++) { for (i = 0; i < num_entries; i++) {
u32 val = in_be32(p_start);
/* Check that this entry was actually valid -- /* Check that this entry was actually valid --
needed in case failed in allocations */ needed in case failed in allocations */
if ((*p_start & ENET_INIT_PARAM_RISC_MASK) == risc) { if ((val & ENET_INIT_PARAM_RISC_MASK) == risc) {
snum = snum =
(u32) (*p_start & ENET_INIT_PARAM_SNUM_MASK) >> (u32) (val & ENET_INIT_PARAM_SNUM_MASK) >>
ENET_INIT_PARAM_SNUM_SHIFT; ENET_INIT_PARAM_SNUM_SHIFT;
qe_put_snum((u8) snum); qe_put_snum((u8) snum);
if (!((i == 0) && skip_page_for_first_entry)) { if (!((i == 0) && skip_page_for_first_entry)) {
...@@ -440,7 +444,7 @@ static int hw_add_addr_in_paddr(struct ucc_geth_private *ugeth, ...@@ -440,7 +444,7 @@ static int hw_add_addr_in_paddr(struct ucc_geth_private *ugeth,
static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num) static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num)
{ {
struct ucc_geth_82xx_address_filtering_pram *p_82xx_addr_filt; struct ucc_geth_82xx_address_filtering_pram __iomem *p_82xx_addr_filt;
if (!(paddr_num < NUM_OF_PADDRS)) { if (!(paddr_num < NUM_OF_PADDRS)) {
ugeth_warn("%s: Illagel paddr_num.", __FUNCTION__); ugeth_warn("%s: Illagel paddr_num.", __FUNCTION__);
...@@ -448,7 +452,7 @@ static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num) ...@@ -448,7 +452,7 @@ static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num)
} }
p_82xx_addr_filt = p_82xx_addr_filt =
(struct ucc_geth_82xx_address_filtering_pram *) ugeth->p_rx_glbl_pram-> (struct ucc_geth_82xx_address_filtering_pram __iomem *) ugeth->p_rx_glbl_pram->
addressfiltering; addressfiltering;
/* Writing address ff.ff.ff.ff.ff.ff disables address /* Writing address ff.ff.ff.ff.ff.ff disables address
...@@ -463,11 +467,11 @@ static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num) ...@@ -463,11 +467,11 @@ static int hw_clear_addr_in_paddr(struct ucc_geth_private *ugeth, u8 paddr_num)
static void hw_add_addr_in_hash(struct ucc_geth_private *ugeth, static void hw_add_addr_in_hash(struct ucc_geth_private *ugeth,
u8 *p_enet_addr) u8 *p_enet_addr)
{ {
struct ucc_geth_82xx_address_filtering_pram *p_82xx_addr_filt; struct ucc_geth_82xx_address_filtering_pram __iomem *p_82xx_addr_filt;
u32 cecr_subblock; u32 cecr_subblock;
p_82xx_addr_filt = p_82xx_addr_filt =
(struct ucc_geth_82xx_address_filtering_pram *) ugeth->p_rx_glbl_pram-> (struct ucc_geth_82xx_address_filtering_pram __iomem *) ugeth->p_rx_glbl_pram->
addressfiltering; addressfiltering;
cecr_subblock = cecr_subblock =
...@@ -487,7 +491,7 @@ static void hw_add_addr_in_hash(struct ucc_geth_private *ugeth, ...@@ -487,7 +491,7 @@ static void hw_add_addr_in_hash(struct ucc_geth_private *ugeth,
static void magic_packet_detection_enable(struct ucc_geth_private *ugeth) static void magic_packet_detection_enable(struct ucc_geth_private *ugeth)
{ {
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
u32 maccfg2, uccm; u32 maccfg2, uccm;
uccf = ugeth->uccf; uccf = ugeth->uccf;
...@@ -507,7 +511,7 @@ static void magic_packet_detection_enable(struct ucc_geth_private *ugeth) ...@@ -507,7 +511,7 @@ static void magic_packet_detection_enable(struct ucc_geth_private *ugeth)
static void magic_packet_detection_disable(struct ucc_geth_private *ugeth) static void magic_packet_detection_disable(struct ucc_geth_private *ugeth)
{ {
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
u32 maccfg2, uccm; u32 maccfg2, uccm;
uccf = ugeth->uccf; uccf = ugeth->uccf;
...@@ -538,13 +542,13 @@ static void get_statistics(struct ucc_geth_private *ugeth, ...@@ -538,13 +542,13 @@ static void get_statistics(struct ucc_geth_private *ugeth,
rx_firmware_statistics, rx_firmware_statistics,
struct ucc_geth_hardware_statistics *hardware_statistics) struct ucc_geth_hardware_statistics *hardware_statistics)
{ {
struct ucc_fast *uf_regs; struct ucc_fast __iomem *uf_regs;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
struct ucc_geth_tx_firmware_statistics_pram *p_tx_fw_statistics_pram; struct ucc_geth_tx_firmware_statistics_pram *p_tx_fw_statistics_pram;
struct ucc_geth_rx_firmware_statistics_pram *p_rx_fw_statistics_pram; struct ucc_geth_rx_firmware_statistics_pram *p_rx_fw_statistics_pram;
ug_regs = ugeth->ug_regs; ug_regs = ugeth->ug_regs;
uf_regs = (struct ucc_fast *) ug_regs; uf_regs = (struct ucc_fast __iomem *) ug_regs;
p_tx_fw_statistics_pram = ugeth->p_tx_fw_statistics_pram; p_tx_fw_statistics_pram = ugeth->p_tx_fw_statistics_pram;
p_rx_fw_statistics_pram = ugeth->p_rx_fw_statistics_pram; p_rx_fw_statistics_pram = ugeth->p_rx_fw_statistics_pram;
...@@ -1132,9 +1136,9 @@ static void dump_regs(struct ucc_geth_private *ugeth) ...@@ -1132,9 +1136,9 @@ static void dump_regs(struct ucc_geth_private *ugeth)
} }
#endif /* DEBUG */ #endif /* DEBUG */
static void init_default_reg_vals(volatile u32 *upsmr_register, static void init_default_reg_vals(u32 __iomem *upsmr_register,
volatile u32 *maccfg1_register, u32 __iomem *maccfg1_register,
volatile u32 *maccfg2_register) u32 __iomem *maccfg2_register)
{ {
out_be32(upsmr_register, UCC_GETH_UPSMR_INIT); out_be32(upsmr_register, UCC_GETH_UPSMR_INIT);
out_be32(maccfg1_register, UCC_GETH_MACCFG1_INIT); out_be32(maccfg1_register, UCC_GETH_MACCFG1_INIT);
...@@ -1148,7 +1152,7 @@ static int init_half_duplex_params(int alt_beb, ...@@ -1148,7 +1152,7 @@ static int init_half_duplex_params(int alt_beb,
u8 alt_beb_truncation, u8 alt_beb_truncation,
u8 max_retransmissions, u8 max_retransmissions,
u8 collision_window, u8 collision_window,
volatile u32 *hafdup_register) u32 __iomem *hafdup_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1180,7 +1184,7 @@ static int init_inter_frame_gap_params(u8 non_btb_cs_ipg, ...@@ -1180,7 +1184,7 @@ static int init_inter_frame_gap_params(u8 non_btb_cs_ipg,
u8 non_btb_ipg, u8 non_btb_ipg,
u8 min_ifg, u8 min_ifg,
u8 btb_ipg, u8 btb_ipg,
volatile u32 *ipgifg_register) u32 __iomem *ipgifg_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1215,9 +1219,9 @@ int init_flow_control_params(u32 automatic_flow_control_mode, ...@@ -1215,9 +1219,9 @@ int init_flow_control_params(u32 automatic_flow_control_mode,
int tx_flow_control_enable, int tx_flow_control_enable,
u16 pause_period, u16 pause_period,
u16 extension_field, u16 extension_field,
volatile u32 *upsmr_register, u32 __iomem *upsmr_register,
volatile u32 *uempr_register, u32 __iomem *uempr_register,
volatile u32 *maccfg1_register) u32 __iomem *maccfg1_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1243,8 +1247,8 @@ int init_flow_control_params(u32 automatic_flow_control_mode, ...@@ -1243,8 +1247,8 @@ int init_flow_control_params(u32 automatic_flow_control_mode,
static int init_hw_statistics_gathering_mode(int enable_hardware_statistics, static int init_hw_statistics_gathering_mode(int enable_hardware_statistics,
int auto_zero_hardware_statistics, int auto_zero_hardware_statistics,
volatile u32 *upsmr_register, u32 __iomem *upsmr_register,
volatile u16 *uescr_register) u16 __iomem *uescr_register)
{ {
u32 upsmr_value = 0; u32 upsmr_value = 0;
u16 uescr_value = 0; u16 uescr_value = 0;
...@@ -1270,12 +1274,12 @@ static int init_hw_statistics_gathering_mode(int enable_hardware_statistics, ...@@ -1270,12 +1274,12 @@ static int init_hw_statistics_gathering_mode(int enable_hardware_statistics,
static int init_firmware_statistics_gathering_mode(int static int init_firmware_statistics_gathering_mode(int
enable_tx_firmware_statistics, enable_tx_firmware_statistics,
int enable_rx_firmware_statistics, int enable_rx_firmware_statistics,
volatile u32 *tx_rmon_base_ptr, u32 __iomem *tx_rmon_base_ptr,
u32 tx_firmware_statistics_structure_address, u32 tx_firmware_statistics_structure_address,
volatile u32 *rx_rmon_base_ptr, u32 __iomem *rx_rmon_base_ptr,
u32 rx_firmware_statistics_structure_address, u32 rx_firmware_statistics_structure_address,
volatile u16 *temoder_register, u16 __iomem *temoder_register,
volatile u32 *remoder_register) u32 __iomem *remoder_register)
{ {
/* Note: this function does not check if */ /* Note: this function does not check if */
/* the parameters it receives are NULL */ /* the parameters it receives are NULL */
...@@ -1307,8 +1311,8 @@ static int init_mac_station_addr_regs(u8 address_byte_0, ...@@ -1307,8 +1311,8 @@ static int init_mac_station_addr_regs(u8 address_byte_0,
u8 address_byte_3, u8 address_byte_3,
u8 address_byte_4, u8 address_byte_4,
u8 address_byte_5, u8 address_byte_5,
volatile u32 *macstnaddr1_register, u32 __iomem *macstnaddr1_register,
volatile u32 *macstnaddr2_register) u32 __iomem *macstnaddr2_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1344,7 +1348,7 @@ static int init_mac_station_addr_regs(u8 address_byte_0, ...@@ -1344,7 +1348,7 @@ static int init_mac_station_addr_regs(u8 address_byte_0,
} }
static int init_check_frame_length_mode(int length_check, static int init_check_frame_length_mode(int length_check,
volatile u32 *maccfg2_register) u32 __iomem *maccfg2_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1360,7 +1364,7 @@ static int init_check_frame_length_mode(int length_check, ...@@ -1360,7 +1364,7 @@ static int init_check_frame_length_mode(int length_check,
} }
static int init_preamble_length(u8 preamble_length, static int init_preamble_length(u8 preamble_length,
volatile u32 *maccfg2_register) u32 __iomem *maccfg2_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1376,7 +1380,7 @@ static int init_preamble_length(u8 preamble_length, ...@@ -1376,7 +1380,7 @@ static int init_preamble_length(u8 preamble_length,
static int init_rx_parameters(int reject_broadcast, static int init_rx_parameters(int reject_broadcast,
int receive_short_frames, int receive_short_frames,
int promiscuous, volatile u32 *upsmr_register) int promiscuous, u32 __iomem *upsmr_register)
{ {
u32 value = 0; u32 value = 0;
...@@ -1403,7 +1407,7 @@ static int init_rx_parameters(int reject_broadcast, ...@@ -1403,7 +1407,7 @@ static int init_rx_parameters(int reject_broadcast,
} }
static int init_max_rx_buff_len(u16 max_rx_buf_len, static int init_max_rx_buff_len(u16 max_rx_buf_len,
volatile u16 *mrblr_register) u16 __iomem *mrblr_register)
{ {
/* max_rx_buf_len value must be a multiple of 128 */ /* max_rx_buf_len value must be a multiple of 128 */
if ((max_rx_buf_len == 0) if ((max_rx_buf_len == 0)
...@@ -1415,8 +1419,8 @@ static int init_max_rx_buff_len(u16 max_rx_buf_len, ...@@ -1415,8 +1419,8 @@ static int init_max_rx_buff_len(u16 max_rx_buf_len,
} }
static int init_min_frame_len(u16 min_frame_length, static int init_min_frame_len(u16 min_frame_length,
volatile u16 *minflr_register, u16 __iomem *minflr_register,
volatile u16 *mrblr_register) u16 __iomem *mrblr_register)
{ {
u16 mrblr_value = 0; u16 mrblr_value = 0;
...@@ -1431,8 +1435,8 @@ static int init_min_frame_len(u16 min_frame_length, ...@@ -1431,8 +1435,8 @@ static int init_min_frame_len(u16 min_frame_length,
static int adjust_enet_interface(struct ucc_geth_private *ugeth) static int adjust_enet_interface(struct ucc_geth_private *ugeth)
{ {
struct ucc_geth_info *ug_info; struct ucc_geth_info *ug_info;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
struct ucc_fast *uf_regs; struct ucc_fast __iomem *uf_regs;
int ret_val; int ret_val;
u32 upsmr, maccfg2, tbiBaseAddress; u32 upsmr, maccfg2, tbiBaseAddress;
u16 value; u16 value;
...@@ -1517,8 +1521,8 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth) ...@@ -1517,8 +1521,8 @@ static int adjust_enet_interface(struct ucc_geth_private *ugeth)
static void adjust_link(struct net_device *dev) static void adjust_link(struct net_device *dev)
{ {
struct ucc_geth_private *ugeth = netdev_priv(dev); struct ucc_geth_private *ugeth = netdev_priv(dev);
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
struct ucc_fast *uf_regs; struct ucc_fast __iomem *uf_regs;
struct phy_device *phydev = ugeth->phydev; struct phy_device *phydev = ugeth->phydev;
unsigned long flags; unsigned long flags;
int new_state = 0; int new_state = 0;
...@@ -1678,9 +1682,9 @@ static int ugeth_graceful_stop_rx(struct ucc_geth_private * ugeth) ...@@ -1678,9 +1682,9 @@ static int ugeth_graceful_stop_rx(struct ucc_geth_private * ugeth)
uccf = ugeth->uccf; uccf = ugeth->uccf;
/* Clear acknowledge bit */ /* Clear acknowledge bit */
temp = ugeth->p_rx_glbl_pram->rxgstpack; temp = in_8(&ugeth->p_rx_glbl_pram->rxgstpack);
temp &= ~GRACEFUL_STOP_ACKNOWLEDGE_RX; temp &= ~GRACEFUL_STOP_ACKNOWLEDGE_RX;
ugeth->p_rx_glbl_pram->rxgstpack = temp; out_8(&ugeth->p_rx_glbl_pram->rxgstpack, temp);
/* Keep issuing command and checking acknowledge bit until /* Keep issuing command and checking acknowledge bit until
it is asserted, according to spec */ it is asserted, according to spec */
...@@ -1692,7 +1696,7 @@ static int ugeth_graceful_stop_rx(struct ucc_geth_private * ugeth) ...@@ -1692,7 +1696,7 @@ static int ugeth_graceful_stop_rx(struct ucc_geth_private * ugeth)
qe_issue_cmd(QE_GRACEFUL_STOP_RX, cecr_subblock, qe_issue_cmd(QE_GRACEFUL_STOP_RX, cecr_subblock,
QE_CR_PROTOCOL_ETHERNET, 0); QE_CR_PROTOCOL_ETHERNET, 0);
temp = ugeth->p_rx_glbl_pram->rxgstpack; temp = in_8(&ugeth->p_rx_glbl_pram->rxgstpack);
} while (!(temp & GRACEFUL_STOP_ACKNOWLEDGE_RX)); } while (!(temp & GRACEFUL_STOP_ACKNOWLEDGE_RX));
uccf->stopped_rx = 1; uccf->stopped_rx = 1;
...@@ -1991,19 +1995,20 @@ static int ugeth_82xx_filtering_clear_all_addr_in_hash(struct ucc_geth_private * ...@@ -1991,19 +1995,20 @@ static int ugeth_82xx_filtering_clear_all_addr_in_hash(struct ucc_geth_private *
enum enet_addr_type enum enet_addr_type
enet_addr_type) enet_addr_type)
{ {
struct ucc_geth_82xx_address_filtering_pram *p_82xx_addr_filt; struct ucc_geth_82xx_address_filtering_pram __iomem *p_82xx_addr_filt;
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
enum comm_dir comm_dir; enum comm_dir comm_dir;
struct list_head *p_lh; struct list_head *p_lh;
u16 i, num; u16 i, num;
u32 *addr_h, *addr_l; u32 __iomem *addr_h;
u32 __iomem *addr_l;
u8 *p_counter; u8 *p_counter;
uccf = ugeth->uccf; uccf = ugeth->uccf;
p_82xx_addr_filt = p_82xx_addr_filt =
(struct ucc_geth_82xx_address_filtering_pram *) ugeth->p_rx_glbl_pram-> (struct ucc_geth_82xx_address_filtering_pram __iomem *)
addressfiltering; ugeth->p_rx_glbl_pram->addressfiltering;
if (enet_addr_type == ENET_ADDR_TYPE_GROUP) { if (enet_addr_type == ENET_ADDR_TYPE_GROUP) {
addr_h = &(p_82xx_addr_filt->gaddr_h); addr_h = &(p_82xx_addr_filt->gaddr_h);
...@@ -2079,7 +2084,7 @@ static int ugeth_82xx_filtering_clear_addr_in_paddr(struct ucc_geth_private *uge ...@@ -2079,7 +2084,7 @@ static int ugeth_82xx_filtering_clear_addr_in_paddr(struct ucc_geth_private *uge
static void ucc_geth_memclean(struct ucc_geth_private *ugeth) static void ucc_geth_memclean(struct ucc_geth_private *ugeth)
{ {
u16 i, j; u16 i, j;
u8 *bd; u8 __iomem *bd;
if (!ugeth) if (!ugeth)
return; return;
...@@ -2154,8 +2159,8 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth) ...@@ -2154,8 +2159,8 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth)
for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) { for (j = 0; j < ugeth->ug_info->bdRingLenTx[i]; j++) {
if (ugeth->tx_skbuff[i][j]) { if (ugeth->tx_skbuff[i][j]) {
dma_unmap_single(NULL, dma_unmap_single(NULL,
((struct qe_bd *)bd)->buf, in_be32(&((struct qe_bd __iomem *)bd)->buf),
(in_be32((u32 *)bd) & (in_be32((u32 __iomem *)bd) &
BD_LENGTH_MASK), BD_LENGTH_MASK),
DMA_TO_DEVICE); DMA_TO_DEVICE);
dev_kfree_skb_any(ugeth->tx_skbuff[i][j]); dev_kfree_skb_any(ugeth->tx_skbuff[i][j]);
...@@ -2182,7 +2187,7 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth) ...@@ -2182,7 +2187,7 @@ static void ucc_geth_memclean(struct ucc_geth_private *ugeth)
for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) { for (j = 0; j < ugeth->ug_info->bdRingLenRx[i]; j++) {
if (ugeth->rx_skbuff[i][j]) { if (ugeth->rx_skbuff[i][j]) {
dma_unmap_single(NULL, dma_unmap_single(NULL,
((struct qe_bd *)bd)->buf, in_be32(&((struct qe_bd __iomem *)bd)->buf),
ugeth->ug_info-> ugeth->ug_info->
uf_info.max_rx_buf_length + uf_info.max_rx_buf_length +
UCC_GETH_RX_DATA_BUF_ALIGNMENT, UCC_GETH_RX_DATA_BUF_ALIGNMENT,
...@@ -2218,8 +2223,8 @@ static void ucc_geth_set_multi(struct net_device *dev) ...@@ -2218,8 +2223,8 @@ static void ucc_geth_set_multi(struct net_device *dev)
{ {
struct ucc_geth_private *ugeth; struct ucc_geth_private *ugeth;
struct dev_mc_list *dmi; struct dev_mc_list *dmi;
struct ucc_fast *uf_regs; struct ucc_fast __iomem *uf_regs;
struct ucc_geth_82xx_address_filtering_pram *p_82xx_addr_filt; struct ucc_geth_82xx_address_filtering_pram __iomem *p_82xx_addr_filt;
int i; int i;
ugeth = netdev_priv(dev); ugeth = netdev_priv(dev);
...@@ -2228,14 +2233,14 @@ static void ucc_geth_set_multi(struct net_device *dev) ...@@ -2228,14 +2233,14 @@ static void ucc_geth_set_multi(struct net_device *dev)
if (dev->flags & IFF_PROMISC) { if (dev->flags & IFF_PROMISC) {
uf_regs->upsmr |= UPSMR_PRO; out_be32(&uf_regs->upsmr, in_be32(&uf_regs->upsmr) | UPSMR_PRO);
} else { } else {
uf_regs->upsmr &= ~UPSMR_PRO; out_be32(&uf_regs->upsmr, in_be32(&uf_regs->upsmr)&~UPSMR_PRO);
p_82xx_addr_filt = p_82xx_addr_filt =
(struct ucc_geth_82xx_address_filtering_pram *) ugeth-> (struct ucc_geth_82xx_address_filtering_pram __iomem *) ugeth->
p_rx_glbl_pram->addressfiltering; p_rx_glbl_pram->addressfiltering;
if (dev->flags & IFF_ALLMULTI) { if (dev->flags & IFF_ALLMULTI) {
...@@ -2270,7 +2275,7 @@ static void ucc_geth_set_multi(struct net_device *dev) ...@@ -2270,7 +2275,7 @@ static void ucc_geth_set_multi(struct net_device *dev)
static void ucc_geth_stop(struct ucc_geth_private *ugeth) static void ucc_geth_stop(struct ucc_geth_private *ugeth)
{ {
struct ucc_geth *ug_regs = ugeth->ug_regs; struct ucc_geth __iomem *ug_regs = ugeth->ug_regs;
struct phy_device *phydev = ugeth->phydev; struct phy_device *phydev = ugeth->phydev;
u32 tempval; u32 tempval;
...@@ -2419,20 +2424,20 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth) ...@@ -2419,20 +2424,20 @@ static int ucc_struct_init(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
ugeth->ug_regs = (struct ucc_geth *) ioremap(uf_info->regs, sizeof(struct ucc_geth)); ugeth->ug_regs = (struct ucc_geth __iomem *) ioremap(uf_info->regs, sizeof(struct ucc_geth));
return 0; return 0;
} }
static int ucc_geth_startup(struct ucc_geth_private *ugeth) static int ucc_geth_startup(struct ucc_geth_private *ugeth)
{ {
struct ucc_geth_82xx_address_filtering_pram *p_82xx_addr_filt; struct ucc_geth_82xx_address_filtering_pram __iomem *p_82xx_addr_filt;
struct ucc_geth_init_pram *p_init_enet_pram; struct ucc_geth_init_pram __iomem *p_init_enet_pram;
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
struct ucc_geth_info *ug_info; struct ucc_geth_info *ug_info;
struct ucc_fast_info *uf_info; struct ucc_fast_info *uf_info;
struct ucc_fast *uf_regs; struct ucc_fast __iomem *uf_regs;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
int ret_val = -EINVAL; int ret_val = -EINVAL;
u32 remoder = UCC_GETH_REMODER_INIT; u32 remoder = UCC_GETH_REMODER_INIT;
u32 init_enet_pram_offset, cecr_subblock, command, maccfg1; u32 init_enet_pram_offset, cecr_subblock, command, maccfg1;
...@@ -2440,7 +2445,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2440,7 +2445,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
u16 temoder = UCC_GETH_TEMODER_INIT; u16 temoder = UCC_GETH_TEMODER_INIT;
u16 test; u16 test;
u8 function_code = 0; u8 function_code = 0;
u8 *bd, *endOfRing; u8 __iomem *bd;
u8 __iomem *endOfRing;
u8 numThreadsRxNumerical, numThreadsTxNumerical; u8 numThreadsRxNumerical, numThreadsTxNumerical;
ugeth_vdbg("%s: IN", __FUNCTION__); ugeth_vdbg("%s: IN", __FUNCTION__);
...@@ -2602,11 +2608,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2602,11 +2608,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
if (UCC_GETH_TX_BD_RING_ALIGNMENT > 4) if (UCC_GETH_TX_BD_RING_ALIGNMENT > 4)
align = UCC_GETH_TX_BD_RING_ALIGNMENT; align = UCC_GETH_TX_BD_RING_ALIGNMENT;
ugeth->tx_bd_ring_offset[j] = ugeth->tx_bd_ring_offset[j] =
kmalloc((u32) (length + align), GFP_KERNEL); (u32) kmalloc((u32) (length + align), GFP_KERNEL);
if (ugeth->tx_bd_ring_offset[j] != 0) if (ugeth->tx_bd_ring_offset[j] != 0)
ugeth->p_tx_bd_ring[j] = ugeth->p_tx_bd_ring[j] =
(void*)((ugeth->tx_bd_ring_offset[j] + (u8 __iomem *)((ugeth->tx_bd_ring_offset[j] +
align) & ~(align - 1)); align) & ~(align - 1));
} else if (uf_info->bd_mem_part == MEM_PART_MURAM) { } else if (uf_info->bd_mem_part == MEM_PART_MURAM) {
ugeth->tx_bd_ring_offset[j] = ugeth->tx_bd_ring_offset[j] =
...@@ -2614,7 +2620,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2614,7 +2620,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
UCC_GETH_TX_BD_RING_ALIGNMENT); UCC_GETH_TX_BD_RING_ALIGNMENT);
if (!IS_ERR_VALUE(ugeth->tx_bd_ring_offset[j])) if (!IS_ERR_VALUE(ugeth->tx_bd_ring_offset[j]))
ugeth->p_tx_bd_ring[j] = ugeth->p_tx_bd_ring[j] =
(u8 *) qe_muram_addr(ugeth-> (u8 __iomem *) qe_muram_addr(ugeth->
tx_bd_ring_offset[j]); tx_bd_ring_offset[j]);
} }
if (!ugeth->p_tx_bd_ring[j]) { if (!ugeth->p_tx_bd_ring[j]) {
...@@ -2626,8 +2632,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2626,8 +2632,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
/* Zero unused end of bd ring, according to spec */ /* Zero unused end of bd ring, according to spec */
memset(ugeth->p_tx_bd_ring[j] + memset_io((void __iomem *)(ugeth->p_tx_bd_ring[j] +
ug_info->bdRingLenTx[j] * sizeof(struct qe_bd), 0, ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)), 0,
length - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd)); length - ug_info->bdRingLenTx[j] * sizeof(struct qe_bd));
} }
...@@ -2639,10 +2645,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2639,10 +2645,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
if (UCC_GETH_RX_BD_RING_ALIGNMENT > 4) if (UCC_GETH_RX_BD_RING_ALIGNMENT > 4)
align = UCC_GETH_RX_BD_RING_ALIGNMENT; align = UCC_GETH_RX_BD_RING_ALIGNMENT;
ugeth->rx_bd_ring_offset[j] = ugeth->rx_bd_ring_offset[j] =
kmalloc((u32) (length + align), GFP_KERNEL); (u32) kmalloc((u32) (length + align), GFP_KERNEL);
if (ugeth->rx_bd_ring_offset[j] != 0) if (ugeth->rx_bd_ring_offset[j] != 0)
ugeth->p_rx_bd_ring[j] = ugeth->p_rx_bd_ring[j] =
(void*)((ugeth->rx_bd_ring_offset[j] + (u8 __iomem *)((ugeth->rx_bd_ring_offset[j] +
align) & ~(align - 1)); align) & ~(align - 1));
} else if (uf_info->bd_mem_part == MEM_PART_MURAM) { } else if (uf_info->bd_mem_part == MEM_PART_MURAM) {
ugeth->rx_bd_ring_offset[j] = ugeth->rx_bd_ring_offset[j] =
...@@ -2650,7 +2656,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2650,7 +2656,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
UCC_GETH_RX_BD_RING_ALIGNMENT); UCC_GETH_RX_BD_RING_ALIGNMENT);
if (!IS_ERR_VALUE(ugeth->rx_bd_ring_offset[j])) if (!IS_ERR_VALUE(ugeth->rx_bd_ring_offset[j]))
ugeth->p_rx_bd_ring[j] = ugeth->p_rx_bd_ring[j] =
(u8 *) qe_muram_addr(ugeth-> (u8 __iomem *) qe_muram_addr(ugeth->
rx_bd_ring_offset[j]); rx_bd_ring_offset[j]);
} }
if (!ugeth->p_rx_bd_ring[j]) { if (!ugeth->p_rx_bd_ring[j]) {
...@@ -2685,14 +2691,14 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2685,14 +2691,14 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
bd = ugeth->confBd[j] = ugeth->txBd[j] = ugeth->p_tx_bd_ring[j]; bd = ugeth->confBd[j] = ugeth->txBd[j] = ugeth->p_tx_bd_ring[j];
for (i = 0; i < ug_info->bdRingLenTx[j]; i++) { for (i = 0; i < ug_info->bdRingLenTx[j]; i++) {
/* clear bd buffer */ /* clear bd buffer */
out_be32(&((struct qe_bd *)bd)->buf, 0); out_be32(&((struct qe_bd __iomem *)bd)->buf, 0);
/* set bd status and length */ /* set bd status and length */
out_be32((u32 *)bd, 0); out_be32((u32 __iomem *)bd, 0);
bd += sizeof(struct qe_bd); bd += sizeof(struct qe_bd);
} }
bd -= sizeof(struct qe_bd); bd -= sizeof(struct qe_bd);
/* set bd status and length */ /* set bd status and length */
out_be32((u32 *)bd, T_W); /* for last BD set Wrap bit */ out_be32((u32 __iomem *)bd, T_W); /* for last BD set Wrap bit */
} }
/* Init Rx bds */ /* Init Rx bds */
...@@ -2717,14 +2723,14 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2717,14 +2723,14 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
bd = ugeth->rxBd[j] = ugeth->p_rx_bd_ring[j]; bd = ugeth->rxBd[j] = ugeth->p_rx_bd_ring[j];
for (i = 0; i < ug_info->bdRingLenRx[j]; i++) { for (i = 0; i < ug_info->bdRingLenRx[j]; i++) {
/* set bd status and length */ /* set bd status and length */
out_be32((u32 *)bd, R_I); out_be32((u32 __iomem *)bd, R_I);
/* clear bd buffer */ /* clear bd buffer */
out_be32(&((struct qe_bd *)bd)->buf, 0); out_be32(&((struct qe_bd __iomem *)bd)->buf, 0);
bd += sizeof(struct qe_bd); bd += sizeof(struct qe_bd);
} }
bd -= sizeof(struct qe_bd); bd -= sizeof(struct qe_bd);
/* set bd status and length */ /* set bd status and length */
out_be32((u32 *)bd, R_W); /* for last BD set Wrap bit */ out_be32((u32 __iomem *)bd, R_W); /* for last BD set Wrap bit */
} }
/* /*
...@@ -2744,10 +2750,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2744,10 +2750,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
ugeth->p_tx_glbl_pram = ugeth->p_tx_glbl_pram =
(struct ucc_geth_tx_global_pram *) qe_muram_addr(ugeth-> (struct ucc_geth_tx_global_pram __iomem *) qe_muram_addr(ugeth->
tx_glbl_pram_offset); tx_glbl_pram_offset);
/* Zero out p_tx_glbl_pram */ /* Zero out p_tx_glbl_pram */
memset(ugeth->p_tx_glbl_pram, 0, sizeof(struct ucc_geth_tx_global_pram)); memset_io((void __iomem *)ugeth->p_tx_glbl_pram, 0, sizeof(struct ucc_geth_tx_global_pram));
/* Fill global PRAM */ /* Fill global PRAM */
...@@ -2768,7 +2774,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2768,7 +2774,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_thread_data_tx = ugeth->p_thread_data_tx =
(struct ucc_geth_thread_data_tx *) qe_muram_addr(ugeth-> (struct ucc_geth_thread_data_tx __iomem *) qe_muram_addr(ugeth->
thread_dat_tx_offset); thread_dat_tx_offset);
out_be32(&ugeth->p_tx_glbl_pram->tqptr, ugeth->thread_dat_tx_offset); out_be32(&ugeth->p_tx_glbl_pram->tqptr, ugeth->thread_dat_tx_offset);
...@@ -2779,7 +2785,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2779,7 +2785,8 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
/* iphoffset */ /* iphoffset */
for (i = 0; i < TX_IP_OFFSET_ENTRY_MAX; i++) for (i = 0; i < TX_IP_OFFSET_ENTRY_MAX; i++)
ugeth->p_tx_glbl_pram->iphoffset[i] = ug_info->iphoffset[i]; out_8(&ugeth->p_tx_glbl_pram->iphoffset[i],
ug_info->iphoffset[i]);
/* SQPTR */ /* SQPTR */
/* Size varies with number of Tx queues */ /* Size varies with number of Tx queues */
...@@ -2797,7 +2804,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2797,7 +2804,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_send_q_mem_reg = ugeth->p_send_q_mem_reg =
(struct ucc_geth_send_queue_mem_region *) qe_muram_addr(ugeth-> (struct ucc_geth_send_queue_mem_region __iomem *) qe_muram_addr(ugeth->
send_q_mem_reg_offset); send_q_mem_reg_offset);
out_be32(&ugeth->p_tx_glbl_pram->sqptr, ugeth->send_q_mem_reg_offset); out_be32(&ugeth->p_tx_glbl_pram->sqptr, ugeth->send_q_mem_reg_offset);
...@@ -2841,25 +2848,26 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2841,25 +2848,26 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_scheduler = ugeth->p_scheduler =
(struct ucc_geth_scheduler *) qe_muram_addr(ugeth-> (struct ucc_geth_scheduler __iomem *) qe_muram_addr(ugeth->
scheduler_offset); scheduler_offset);
out_be32(&ugeth->p_tx_glbl_pram->schedulerbasepointer, out_be32(&ugeth->p_tx_glbl_pram->schedulerbasepointer,
ugeth->scheduler_offset); ugeth->scheduler_offset);
/* Zero out p_scheduler */ /* Zero out p_scheduler */
memset(ugeth->p_scheduler, 0, sizeof(struct ucc_geth_scheduler)); memset_io((void __iomem *)ugeth->p_scheduler, 0, sizeof(struct ucc_geth_scheduler));
/* Set values in scheduler */ /* Set values in scheduler */
out_be32(&ugeth->p_scheduler->mblinterval, out_be32(&ugeth->p_scheduler->mblinterval,
ug_info->mblinterval); ug_info->mblinterval);
out_be16(&ugeth->p_scheduler->nortsrbytetime, out_be16(&ugeth->p_scheduler->nortsrbytetime,
ug_info->nortsrbytetime); ug_info->nortsrbytetime);
ugeth->p_scheduler->fracsiz = ug_info->fracsiz; out_8(&ugeth->p_scheduler->fracsiz, ug_info->fracsiz);
ugeth->p_scheduler->strictpriorityq = ug_info->strictpriorityq; out_8(&ugeth->p_scheduler->strictpriorityq,
ugeth->p_scheduler->txasap = ug_info->txasap; ug_info->strictpriorityq);
ugeth->p_scheduler->extrabw = ug_info->extrabw; out_8(&ugeth->p_scheduler->txasap, ug_info->txasap);
out_8(&ugeth->p_scheduler->extrabw, ug_info->extrabw);
for (i = 0; i < NUM_TX_QUEUES; i++) for (i = 0; i < NUM_TX_QUEUES; i++)
ugeth->p_scheduler->weightfactor[i] = out_8(&ugeth->p_scheduler->weightfactor[i],
ug_info->weightfactor[i]; ug_info->weightfactor[i]);
/* Set pointers to cpucount registers in scheduler */ /* Set pointers to cpucount registers in scheduler */
ugeth->p_cpucount[0] = &(ugeth->p_scheduler->cpucount0); ugeth->p_cpucount[0] = &(ugeth->p_scheduler->cpucount0);
...@@ -2890,10 +2898,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2890,10 +2898,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
ugeth->p_tx_fw_statistics_pram = ugeth->p_tx_fw_statistics_pram =
(struct ucc_geth_tx_firmware_statistics_pram *) (struct ucc_geth_tx_firmware_statistics_pram __iomem *)
qe_muram_addr(ugeth->tx_fw_statistics_pram_offset); qe_muram_addr(ugeth->tx_fw_statistics_pram_offset);
/* Zero out p_tx_fw_statistics_pram */ /* Zero out p_tx_fw_statistics_pram */
memset(ugeth->p_tx_fw_statistics_pram, memset_io((void __iomem *)ugeth->p_tx_fw_statistics_pram,
0, sizeof(struct ucc_geth_tx_firmware_statistics_pram)); 0, sizeof(struct ucc_geth_tx_firmware_statistics_pram));
} }
...@@ -2930,10 +2938,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2930,10 +2938,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
ugeth->p_rx_glbl_pram = ugeth->p_rx_glbl_pram =
(struct ucc_geth_rx_global_pram *) qe_muram_addr(ugeth-> (struct ucc_geth_rx_global_pram __iomem *) qe_muram_addr(ugeth->
rx_glbl_pram_offset); rx_glbl_pram_offset);
/* Zero out p_rx_glbl_pram */ /* Zero out p_rx_glbl_pram */
memset(ugeth->p_rx_glbl_pram, 0, sizeof(struct ucc_geth_rx_global_pram)); memset_io((void __iomem *)ugeth->p_rx_glbl_pram, 0, sizeof(struct ucc_geth_rx_global_pram));
/* Fill global PRAM */ /* Fill global PRAM */
...@@ -2953,7 +2961,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2953,7 +2961,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_thread_data_rx = ugeth->p_thread_data_rx =
(struct ucc_geth_thread_data_rx *) qe_muram_addr(ugeth-> (struct ucc_geth_thread_data_rx __iomem *) qe_muram_addr(ugeth->
thread_dat_rx_offset); thread_dat_rx_offset);
out_be32(&ugeth->p_rx_glbl_pram->rqptr, ugeth->thread_dat_rx_offset); out_be32(&ugeth->p_rx_glbl_pram->rqptr, ugeth->thread_dat_rx_offset);
...@@ -2976,10 +2984,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -2976,10 +2984,10 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
ugeth->p_rx_fw_statistics_pram = ugeth->p_rx_fw_statistics_pram =
(struct ucc_geth_rx_firmware_statistics_pram *) (struct ucc_geth_rx_firmware_statistics_pram __iomem *)
qe_muram_addr(ugeth->rx_fw_statistics_pram_offset); qe_muram_addr(ugeth->rx_fw_statistics_pram_offset);
/* Zero out p_rx_fw_statistics_pram */ /* Zero out p_rx_fw_statistics_pram */
memset(ugeth->p_rx_fw_statistics_pram, 0, memset_io((void __iomem *)ugeth->p_rx_fw_statistics_pram, 0,
sizeof(struct ucc_geth_rx_firmware_statistics_pram)); sizeof(struct ucc_geth_rx_firmware_statistics_pram));
} }
...@@ -3000,7 +3008,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3000,7 +3008,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_rx_irq_coalescing_tbl = ugeth->p_rx_irq_coalescing_tbl =
(struct ucc_geth_rx_interrupt_coalescing_table *) (struct ucc_geth_rx_interrupt_coalescing_table __iomem *)
qe_muram_addr(ugeth->rx_irq_coalescing_tbl_offset); qe_muram_addr(ugeth->rx_irq_coalescing_tbl_offset);
out_be32(&ugeth->p_rx_glbl_pram->intcoalescingptr, out_be32(&ugeth->p_rx_glbl_pram->intcoalescingptr,
ugeth->rx_irq_coalescing_tbl_offset); ugeth->rx_irq_coalescing_tbl_offset);
...@@ -3069,11 +3077,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3069,11 +3077,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_rx_bd_qs_tbl = ugeth->p_rx_bd_qs_tbl =
(struct ucc_geth_rx_bd_queues_entry *) qe_muram_addr(ugeth-> (struct ucc_geth_rx_bd_queues_entry __iomem *) qe_muram_addr(ugeth->
rx_bd_qs_tbl_offset); rx_bd_qs_tbl_offset);
out_be32(&ugeth->p_rx_glbl_pram->rbdqptr, ugeth->rx_bd_qs_tbl_offset); out_be32(&ugeth->p_rx_glbl_pram->rbdqptr, ugeth->rx_bd_qs_tbl_offset);
/* Zero out p_rx_bd_qs_tbl */ /* Zero out p_rx_bd_qs_tbl */
memset(ugeth->p_rx_bd_qs_tbl, memset_io((void __iomem *)ugeth->p_rx_bd_qs_tbl,
0, 0,
ug_info->numQueuesRx * (sizeof(struct ucc_geth_rx_bd_queues_entry) + ug_info->numQueuesRx * (sizeof(struct ucc_geth_rx_bd_queues_entry) +
sizeof(struct ucc_geth_rx_prefetched_bds))); sizeof(struct ucc_geth_rx_prefetched_bds)));
...@@ -3133,7 +3141,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3133,7 +3141,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
&ugeth->p_rx_glbl_pram->remoder); &ugeth->p_rx_glbl_pram->remoder);
/* function code register */ /* function code register */
ugeth->p_rx_glbl_pram->rstate = function_code; out_8(&ugeth->p_rx_glbl_pram->rstate, function_code);
/* initialize extended filtering */ /* initialize extended filtering */
if (ug_info->rxExtendedFiltering) { if (ug_info->rxExtendedFiltering) {
...@@ -3160,7 +3168,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3160,7 +3168,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
} }
ugeth->p_exf_glbl_param = ugeth->p_exf_glbl_param =
(struct ucc_geth_exf_global_pram *) qe_muram_addr(ugeth-> (struct ucc_geth_exf_global_pram __iomem *) qe_muram_addr(ugeth->
exf_glbl_param_offset); exf_glbl_param_offset);
out_be32(&ugeth->p_rx_glbl_pram->exfGlobalParam, out_be32(&ugeth->p_rx_glbl_pram->exfGlobalParam,
ugeth->exf_glbl_param_offset); ugeth->exf_glbl_param_offset);
...@@ -3175,7 +3183,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3175,7 +3183,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
ugeth_82xx_filtering_clear_addr_in_paddr(ugeth, (u8) j); ugeth_82xx_filtering_clear_addr_in_paddr(ugeth, (u8) j);
p_82xx_addr_filt = p_82xx_addr_filt =
(struct ucc_geth_82xx_address_filtering_pram *) ugeth-> (struct ucc_geth_82xx_address_filtering_pram __iomem *) ugeth->
p_rx_glbl_pram->addressfiltering; p_rx_glbl_pram->addressfiltering;
ugeth_82xx_filtering_clear_all_addr_in_hash(ugeth, ugeth_82xx_filtering_clear_all_addr_in_hash(ugeth,
...@@ -3307,17 +3315,21 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) ...@@ -3307,17 +3315,21 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
return -ENOMEM; return -ENOMEM;
} }
p_init_enet_pram = p_init_enet_pram =
(struct ucc_geth_init_pram *) qe_muram_addr(init_enet_pram_offset); (struct ucc_geth_init_pram __iomem *) qe_muram_addr(init_enet_pram_offset);
/* Copy shadow InitEnet command parameter structure into PRAM */ /* Copy shadow InitEnet command parameter structure into PRAM */
p_init_enet_pram->resinit1 = ugeth->p_init_enet_param_shadow->resinit1; out_8(&p_init_enet_pram->resinit1,
p_init_enet_pram->resinit2 = ugeth->p_init_enet_param_shadow->resinit2; ugeth->p_init_enet_param_shadow->resinit1);
p_init_enet_pram->resinit3 = ugeth->p_init_enet_param_shadow->resinit3; out_8(&p_init_enet_pram->resinit2,
p_init_enet_pram->resinit4 = ugeth->p_init_enet_param_shadow->resinit4; ugeth->p_init_enet_param_shadow->resinit2);
out_8(&p_init_enet_pram->resinit3,
ugeth->p_init_enet_param_shadow->resinit3);
out_8(&p_init_enet_pram->resinit4,
ugeth->p_init_enet_param_shadow->resinit4);
out_be16(&p_init_enet_pram->resinit5, out_be16(&p_init_enet_pram->resinit5,
ugeth->p_init_enet_param_shadow->resinit5); ugeth->p_init_enet_param_shadow->resinit5);
p_init_enet_pram->largestexternallookupkeysize = out_8(&p_init_enet_pram->largestexternallookupkeysize,
ugeth->p_init_enet_param_shadow->largestexternallookupkeysize; ugeth->p_init_enet_param_shadow->largestexternallookupkeysize);
out_be32(&p_init_enet_pram->rgftgfrxglobal, out_be32(&p_init_enet_pram->rgftgfrxglobal,
ugeth->p_init_enet_param_shadow->rgftgfrxglobal); ugeth->p_init_enet_param_shadow->rgftgfrxglobal);
for (i = 0; i < ENET_INIT_PARAM_MAX_ENTRIES_RX; i++) for (i = 0; i < ENET_INIT_PARAM_MAX_ENTRIES_RX; i++)
...@@ -3371,7 +3383,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -3371,7 +3383,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
#ifdef CONFIG_UGETH_TX_ON_DEMAND #ifdef CONFIG_UGETH_TX_ON_DEMAND
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
#endif #endif
u8 *bd; /* BD pointer */ u8 __iomem *bd; /* BD pointer */
u32 bd_status; u32 bd_status;
u8 txQ = 0; u8 txQ = 0;
...@@ -3383,7 +3395,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -3383,7 +3395,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
/* Start from the next BD that should be filled */ /* Start from the next BD that should be filled */
bd = ugeth->txBd[txQ]; bd = ugeth->txBd[txQ];
bd_status = in_be32((u32 *)bd); bd_status = in_be32((u32 __iomem *)bd);
/* Save the skb pointer so we can free it later */ /* Save the skb pointer so we can free it later */
ugeth->tx_skbuff[txQ][ugeth->skb_curtx[txQ]] = skb; ugeth->tx_skbuff[txQ][ugeth->skb_curtx[txQ]] = skb;
...@@ -3393,7 +3405,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -3393,7 +3405,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]); 1) & TX_RING_MOD_MASK(ugeth->ug_info->bdRingLenTx[txQ]);
/* set up the buffer descriptor */ /* set up the buffer descriptor */
out_be32(&((struct qe_bd *)bd)->buf, out_be32(&((struct qe_bd __iomem *)bd)->buf,
dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE)); dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE));
/* printk(KERN_DEBUG"skb->data is 0x%x\n",skb->data); */ /* printk(KERN_DEBUG"skb->data is 0x%x\n",skb->data); */
...@@ -3401,7 +3413,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -3401,7 +3413,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
bd_status = (bd_status & T_W) | T_R | T_I | T_L | skb->len; bd_status = (bd_status & T_W) | T_R | T_I | T_L | skb->len;
/* set bd status and length */ /* set bd status and length */
out_be32((u32 *)bd, bd_status); out_be32((u32 __iomem *)bd, bd_status);
dev->trans_start = jiffies; dev->trans_start = jiffies;
...@@ -3441,7 +3453,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -3441,7 +3453,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev)
static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit) static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit)
{ {
struct sk_buff *skb; struct sk_buff *skb;
u8 *bd; u8 __iomem *bd;
u16 length, howmany = 0; u16 length, howmany = 0;
u32 bd_status; u32 bd_status;
u8 *bdBuffer; u8 *bdBuffer;
...@@ -3454,11 +3466,11 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit ...@@ -3454,11 +3466,11 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit
/* collect received buffers */ /* collect received buffers */
bd = ugeth->rxBd[rxQ]; bd = ugeth->rxBd[rxQ];
bd_status = in_be32((u32 *)bd); bd_status = in_be32((u32 __iomem *)bd);
/* while there are received buffers and BD is full (~R_E) */ /* while there are received buffers and BD is full (~R_E) */
while (!((bd_status & (R_E)) || (--rx_work_limit < 0))) { while (!((bd_status & (R_E)) || (--rx_work_limit < 0))) {
bdBuffer = (u8 *) in_be32(&((struct qe_bd *)bd)->buf); bdBuffer = (u8 *) in_be32(&((struct qe_bd __iomem *)bd)->buf);
length = (u16) ((bd_status & BD_LENGTH_MASK) - 4); length = (u16) ((bd_status & BD_LENGTH_MASK) - 4);
skb = ugeth->rx_skbuff[rxQ][ugeth->skb_currx[rxQ]]; skb = ugeth->rx_skbuff[rxQ][ugeth->skb_currx[rxQ]];
...@@ -3516,7 +3528,7 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit ...@@ -3516,7 +3528,7 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit
else else
bd += sizeof(struct qe_bd); bd += sizeof(struct qe_bd);
bd_status = in_be32((u32 *)bd); bd_status = in_be32((u32 __iomem *)bd);
} }
ugeth->rxBd[rxQ] = bd; ugeth->rxBd[rxQ] = bd;
...@@ -3527,11 +3539,11 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ) ...@@ -3527,11 +3539,11 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ)
{ {
/* Start from the next BD that should be filled */ /* Start from the next BD that should be filled */
struct ucc_geth_private *ugeth = netdev_priv(dev); struct ucc_geth_private *ugeth = netdev_priv(dev);
u8 *bd; /* BD pointer */ u8 __iomem *bd; /* BD pointer */
u32 bd_status; u32 bd_status;
bd = ugeth->confBd[txQ]; bd = ugeth->confBd[txQ];
bd_status = in_be32((u32 *)bd); bd_status = in_be32((u32 __iomem *)bd);
/* Normal processing. */ /* Normal processing. */
while ((bd_status & T_R) == 0) { while ((bd_status & T_R) == 0) {
...@@ -3561,7 +3573,7 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ) ...@@ -3561,7 +3573,7 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ)
bd += sizeof(struct qe_bd); bd += sizeof(struct qe_bd);
else else
bd = ugeth->p_tx_bd_ring[txQ]; bd = ugeth->p_tx_bd_ring[txQ];
bd_status = in_be32((u32 *)bd); bd_status = in_be32((u32 __iomem *)bd);
} }
ugeth->confBd[txQ] = bd; ugeth->confBd[txQ] = bd;
return 0; return 0;
......
...@@ -700,8 +700,8 @@ struct ucc_geth_82xx_address_filtering_pram { ...@@ -700,8 +700,8 @@ struct ucc_geth_82xx_address_filtering_pram {
u32 iaddr_l; /* individual address filter, low */ u32 iaddr_l; /* individual address filter, low */
u32 gaddr_h; /* group address filter, high */ u32 gaddr_h; /* group address filter, high */
u32 gaddr_l; /* group address filter, low */ u32 gaddr_l; /* group address filter, low */
struct ucc_geth_82xx_enet_address taddr; struct ucc_geth_82xx_enet_address __iomem taddr;
struct ucc_geth_82xx_enet_address paddr[NUM_OF_PADDRS]; struct ucc_geth_82xx_enet_address __iomem paddr[NUM_OF_PADDRS];
u8 res0[0x40 - 0x38]; u8 res0[0x40 - 0x38];
} __attribute__ ((packed)); } __attribute__ ((packed));
...@@ -1186,40 +1186,40 @@ struct ucc_geth_private { ...@@ -1186,40 +1186,40 @@ struct ucc_geth_private {
struct ucc_fast_private *uccf; struct ucc_fast_private *uccf;
struct net_device *dev; struct net_device *dev;
struct napi_struct napi; struct napi_struct napi;
struct ucc_geth *ug_regs; struct ucc_geth __iomem *ug_regs;
struct ucc_geth_init_pram *p_init_enet_param_shadow; struct ucc_geth_init_pram *p_init_enet_param_shadow;
struct ucc_geth_exf_global_pram *p_exf_glbl_param; struct ucc_geth_exf_global_pram __iomem *p_exf_glbl_param;
u32 exf_glbl_param_offset; u32 exf_glbl_param_offset;
struct ucc_geth_rx_global_pram *p_rx_glbl_pram; struct ucc_geth_rx_global_pram __iomem *p_rx_glbl_pram;
u32 rx_glbl_pram_offset; u32 rx_glbl_pram_offset;
struct ucc_geth_tx_global_pram *p_tx_glbl_pram; struct ucc_geth_tx_global_pram __iomem *p_tx_glbl_pram;
u32 tx_glbl_pram_offset; u32 tx_glbl_pram_offset;
struct ucc_geth_send_queue_mem_region *p_send_q_mem_reg; struct ucc_geth_send_queue_mem_region __iomem *p_send_q_mem_reg;
u32 send_q_mem_reg_offset; u32 send_q_mem_reg_offset;
struct ucc_geth_thread_data_tx *p_thread_data_tx; struct ucc_geth_thread_data_tx __iomem *p_thread_data_tx;
u32 thread_dat_tx_offset; u32 thread_dat_tx_offset;
struct ucc_geth_thread_data_rx *p_thread_data_rx; struct ucc_geth_thread_data_rx __iomem *p_thread_data_rx;
u32 thread_dat_rx_offset; u32 thread_dat_rx_offset;
struct ucc_geth_scheduler *p_scheduler; struct ucc_geth_scheduler __iomem *p_scheduler;
u32 scheduler_offset; u32 scheduler_offset;
struct ucc_geth_tx_firmware_statistics_pram *p_tx_fw_statistics_pram; struct ucc_geth_tx_firmware_statistics_pram __iomem *p_tx_fw_statistics_pram;
u32 tx_fw_statistics_pram_offset; u32 tx_fw_statistics_pram_offset;
struct ucc_geth_rx_firmware_statistics_pram *p_rx_fw_statistics_pram; struct ucc_geth_rx_firmware_statistics_pram __iomem *p_rx_fw_statistics_pram;
u32 rx_fw_statistics_pram_offset; u32 rx_fw_statistics_pram_offset;
struct ucc_geth_rx_interrupt_coalescing_table *p_rx_irq_coalescing_tbl; struct ucc_geth_rx_interrupt_coalescing_table __iomem *p_rx_irq_coalescing_tbl;
u32 rx_irq_coalescing_tbl_offset; u32 rx_irq_coalescing_tbl_offset;
struct ucc_geth_rx_bd_queues_entry *p_rx_bd_qs_tbl; struct ucc_geth_rx_bd_queues_entry __iomem *p_rx_bd_qs_tbl;
u32 rx_bd_qs_tbl_offset; u32 rx_bd_qs_tbl_offset;
u8 *p_tx_bd_ring[NUM_TX_QUEUES]; u8 __iomem *p_tx_bd_ring[NUM_TX_QUEUES];
u32 tx_bd_ring_offset[NUM_TX_QUEUES]; u32 tx_bd_ring_offset[NUM_TX_QUEUES];
u8 *p_rx_bd_ring[NUM_RX_QUEUES]; u8 __iomem *p_rx_bd_ring[NUM_RX_QUEUES];
u32 rx_bd_ring_offset[NUM_RX_QUEUES]; u32 rx_bd_ring_offset[NUM_RX_QUEUES];
u8 *confBd[NUM_TX_QUEUES]; u8 __iomem *confBd[NUM_TX_QUEUES];
u8 *txBd[NUM_TX_QUEUES]; u8 __iomem *txBd[NUM_TX_QUEUES];
u8 *rxBd[NUM_RX_QUEUES]; u8 __iomem *rxBd[NUM_RX_QUEUES];
int badFrame[NUM_RX_QUEUES]; int badFrame[NUM_RX_QUEUES];
u16 cpucount[NUM_TX_QUEUES]; u16 cpucount[NUM_TX_QUEUES];
volatile u16 *p_cpucount[NUM_TX_QUEUES]; u16 __iomem *p_cpucount[NUM_TX_QUEUES];
int indAddrRegUsed[NUM_OF_PADDRS]; int indAddrRegUsed[NUM_OF_PADDRS];
u8 paddr[NUM_OF_PADDRS][ENET_NUM_OCTETS_PER_ADDRESS]; /* ethernet address */ u8 paddr[NUM_OF_PADDRS][ENET_NUM_OCTETS_PER_ADDRESS]; /* ethernet address */
u8 numGroupAddrInHash; u8 numGroupAddrInHash;
...@@ -1251,4 +1251,12 @@ struct ucc_geth_private { ...@@ -1251,4 +1251,12 @@ struct ucc_geth_private {
int oldlink; int oldlink;
}; };
void uec_set_ethtool_ops(struct net_device *netdev);
int init_flow_control_params(u32 automatic_flow_control_mode,
int rx_flow_control_enable, int tx_flow_control_enable,
u16 pause_period, u16 extension_field,
u32 __iomem *upsmr_register, u32 __iomem *uempr_register,
u32 __iomem *maccfg1_register);
#endif /* __UCC_GETH_H__ */ #endif /* __UCC_GETH_H__ */
...@@ -108,12 +108,6 @@ static char rx_fw_stat_gstrings[][ETH_GSTRING_LEN] = { ...@@ -108,12 +108,6 @@ static char rx_fw_stat_gstrings[][ETH_GSTRING_LEN] = {
#define UEC_TX_FW_STATS_LEN ARRAY_SIZE(tx_fw_stat_gstrings) #define UEC_TX_FW_STATS_LEN ARRAY_SIZE(tx_fw_stat_gstrings)
#define UEC_RX_FW_STATS_LEN ARRAY_SIZE(rx_fw_stat_gstrings) #define UEC_RX_FW_STATS_LEN ARRAY_SIZE(rx_fw_stat_gstrings)
extern int init_flow_control_params(u32 automatic_flow_control_mode,
int rx_flow_control_enable,
int tx_flow_control_enable, u16 pause_period,
u16 extension_field, volatile u32 *upsmr_register,
volatile u32 *uempr_register, volatile u32 *maccfg1_register);
static int static int
uec_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) uec_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
{ {
......
...@@ -104,7 +104,7 @@ int uec_mdio_read(struct mii_bus *bus, int mii_id, int regnum) ...@@ -104,7 +104,7 @@ int uec_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
} }
/* Reset the MIIM registers, and wait for the bus to free */ /* Reset the MIIM registers, and wait for the bus to free */
int uec_mdio_reset(struct mii_bus *bus) static int uec_mdio_reset(struct mii_bus *bus)
{ {
struct ucc_mii_mng __iomem *regs = (void __iomem *)bus->priv; struct ucc_mii_mng __iomem *regs = (void __iomem *)bus->priv;
unsigned int timeout = PHY_INIT_TIMEOUT; unsigned int timeout = PHY_INIT_TIMEOUT;
...@@ -240,7 +240,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma ...@@ -240,7 +240,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma
return err; return err;
} }
int uec_mdio_remove(struct of_device *ofdev) static int uec_mdio_remove(struct of_device *ofdev)
{ {
struct device *device = &ofdev->dev; struct device *device = &ofdev->dev;
struct mii_bus *bus = dev_get_drvdata(device); struct mii_bus *bus = dev_get_drvdata(device);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment