Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
8be7cdcc
Commit
8be7cdcc
authored
Mar 23, 2009
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/ucc_geth.c
parents
ecd41373
61fa9dcf
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
113 additions
and
62 deletions
+113
-62
drivers/dca/dca-sysfs.c
drivers/dca/dca-sysfs.c
+21
-0
drivers/net/Kconfig
drivers/net/Kconfig
+1
-1
drivers/net/benet/be.h
drivers/net/benet/be.h
+1
-0
drivers/net/benet/be_main.c
drivers/net/benet/be_main.c
+34
-26
drivers/net/dm9000.c
drivers/net/dm9000.c
+4
-2
drivers/net/dnet.c
drivers/net/dnet.c
+3
-3
drivers/net/sungem.c
drivers/net/sungem.c
+4
-5
drivers/net/ucc_geth.c
drivers/net/ucc_geth.c
+13
-23
drivers/net/ucc_geth.h
drivers/net/ucc_geth.h
+1
-2
include/linux/dca.h
include/linux/dca.h
+20
-0
net/wireless/nl80211.c
net/wireless/nl80211.c
+11
-0
No files found.
drivers/dca/dca-sysfs.c
View file @
8be7cdcc
/*
* Copyright(c) 2007 - 2009 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The full GNU General Public License is included in this distribution in the
* file called COPYING.
*/
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/device.h>
...
...
drivers/net/Kconfig
View file @
8be7cdcc
...
...
@@ -1051,7 +1051,7 @@ config NI65
config DNET
tristate "Dave ethernet support (DNET)"
depends on NET_ETHERNET
depends on NET_ETHERNET
&& HAS_IOMEM
select PHYLIB
help
The Dave ethernet interface (DNET) is found on Qong Board FPGA.
...
...
drivers/net/benet/be.h
View file @
8be7cdcc
...
...
@@ -194,6 +194,7 @@ struct be_adapter {
struct
be_eq_obj
rx_eq
;
struct
be_rx_obj
rx_obj
;
u32
big_page_size
;
/* Compounded page size shared by rx wrbs */
bool
rx_post_starved
;
/* Zero rx frags have been posted to BE */
struct
vlan_group
*
vlan_grp
;
u16
num_vlans
;
...
...
drivers/net/benet/be_main.c
View file @
8be7cdcc
...
...
@@ -273,26 +273,6 @@ static void be_rx_eqd_update(struct be_adapter *adapter)
rx_eq
->
cur_eqd
=
eqd
;
}
static
void
be_worker
(
struct
work_struct
*
work
)
{
struct
be_adapter
*
adapter
=
container_of
(
work
,
struct
be_adapter
,
work
.
work
);
int
status
;
/* Check link */
be_link_status_update
(
adapter
);
/* Get Stats */
status
=
be_cmd_get_stats
(
&
adapter
->
ctrl
,
&
adapter
->
stats
.
cmd
);
if
(
!
status
)
netdev_stats_update
(
adapter
);
/* Set EQ delay */
be_rx_eqd_update
(
adapter
);
schedule_delayed_work
(
&
adapter
->
work
,
msecs_to_jiffies
(
1000
));
}
static
struct
net_device_stats
*
be_get_stats
(
struct
net_device
*
dev
)
{
struct
be_adapter
*
adapter
=
netdev_priv
(
dev
);
...
...
@@ -493,7 +473,7 @@ static int be_change_mtu(struct net_device *netdev, int new_mtu)
* program them in BE. If more than BE_NUM_VLANS_SUPPORTED are configured,
* set the BE in promiscuous VLAN mode.
*/
static
void
be_vid
s
_config
(
struct
net_device
*
netdev
)
static
void
be_vid_config
(
struct
net_device
*
netdev
)
{
struct
be_adapter
*
adapter
=
netdev_priv
(
netdev
);
u16
vtag
[
BE_NUM_VLANS_SUPPORTED
];
...
...
@@ -536,7 +516,7 @@ static void be_vlan_add_vid(struct net_device *netdev, u16 vid)
adapter
->
num_vlans
++
;
adapter
->
vlan_tag
[
vid
]
=
1
;
be_vid
s
_config
(
netdev
);
be_vid_config
(
netdev
);
}
static
void
be_vlan_rem_vid
(
struct
net_device
*
netdev
,
u16
vid
)
...
...
@@ -547,7 +527,7 @@ static void be_vlan_rem_vid(struct net_device *netdev, u16 vid)
adapter
->
vlan_tag
[
vid
]
=
0
;
vlan_group_set_device
(
adapter
->
vlan_grp
,
vid
,
NULL
);
be_vid
s
_config
(
netdev
);
be_vid_config
(
netdev
);
}
static
void
be_set_multicast_filter
(
struct
net_device
*
netdev
)
...
...
@@ -900,8 +880,11 @@ static void be_post_rx_frags(struct be_adapter *adapter)
page_info
->
last_page_user
=
true
;
if
(
posted
)
{
be_rxq_notify
(
&
adapter
->
ctrl
,
rxq
->
id
,
posted
);
atomic_add
(
posted
,
&
rxq
->
used
);
be_rxq_notify
(
&
adapter
->
ctrl
,
rxq
->
id
,
posted
);
}
else
if
(
atomic_read
(
&
rxq
->
used
)
==
0
)
{
/* Let be_worker replenish when memory is available */
adapter
->
rx_post_starved
=
true
;
}
return
;
...
...
@@ -1305,6 +1288,31 @@ int be_poll_tx(struct napi_struct *napi, int budget)
return
1
;
}
static
void
be_worker
(
struct
work_struct
*
work
)
{
struct
be_adapter
*
adapter
=
container_of
(
work
,
struct
be_adapter
,
work
.
work
);
int
status
;
/* Check link */
be_link_status_update
(
adapter
);
/* Get Stats */
status
=
be_cmd_get_stats
(
&
adapter
->
ctrl
,
&
adapter
->
stats
.
cmd
);
if
(
!
status
)
netdev_stats_update
(
adapter
);
/* Set EQ delay */
be_rx_eqd_update
(
adapter
);
if
(
adapter
->
rx_post_starved
)
{
adapter
->
rx_post_starved
=
false
;
be_post_rx_frags
(
adapter
);
}
schedule_delayed_work
(
&
adapter
->
work
,
msecs_to_jiffies
(
1000
));
}
static
void
be_msix_enable
(
struct
be_adapter
*
adapter
)
{
int
i
,
status
;
...
...
@@ -1422,6 +1430,8 @@ static int be_open(struct net_device *netdev)
if
(
status
!=
0
)
goto
do_none
;
be_vid_config
(
netdev
);
status
=
be_cmd_set_flow_control
(
ctrl
,
true
,
true
);
if
(
status
!=
0
)
goto
if_destroy
;
...
...
@@ -1856,8 +1866,6 @@ static int be_resume(struct pci_dev *pdev)
pci_set_power_state
(
pdev
,
0
);
pci_restore_state
(
pdev
);
be_vids_config
(
netdev
);
if
(
netif_running
(
netdev
))
{
rtnl_lock
();
be_open
(
netdev
);
...
...
drivers/net/dm9000.c
View file @
8be7cdcc
...
...
@@ -930,13 +930,15 @@ static irqreturn_t dm9000_interrupt(int irq, void *dev_id)
struct
net_device
*
dev
=
dev_id
;
board_info_t
*
db
=
netdev_priv
(
dev
);
int
int_status
;
unsigned
long
flags
;
u8
reg_save
;
dm9000_dbg
(
db
,
3
,
"entering %s
\n
"
,
__func__
);
/* A real interrupt coming */
spin_lock
(
&
db
->
lock
);
/* holders of db->lock must always block IRQs */
spin_lock_irqsave
(
&
db
->
lock
,
flags
);
/* Save previous register address */
reg_save
=
readb
(
db
->
io_addr
);
...
...
@@ -972,7 +974,7 @@ static irqreturn_t dm9000_interrupt(int irq, void *dev_id)
/* Restore previous register address */
writeb
(
reg_save
,
db
->
io_addr
);
spin_unlock
(
&
db
->
lock
);
spin_unlock
_irqrestore
(
&
db
->
lock
,
flags
);
return
IRQ_HANDLED
;
}
...
...
drivers/net/dnet.c
View file @
8be7cdcc
...
...
@@ -279,11 +279,11 @@ static int dnet_mii_probe(struct net_device *dev)
/* attach the mac to the phy */
if
(
bp
->
capabilities
&
DNET_HAS_RMII
)
{
phydev
=
phy_connect
(
dev
,
phydev
->
dev
.
bus_id
,
phydev
=
phy_connect
(
dev
,
dev_name
(
&
phydev
->
dev
)
,
&
dnet_handle_link_change
,
0
,
PHY_INTERFACE_MODE_RMII
);
}
else
{
phydev
=
phy_connect
(
dev
,
phydev
->
dev
.
bus_id
,
phydev
=
phy_connect
(
dev
,
dev_name
(
&
phydev
->
dev
)
,
&
dnet_handle_link_change
,
0
,
PHY_INTERFACE_MODE_MII
);
}
...
...
@@ -926,7 +926,7 @@ static int __devinit dnet_probe(struct platform_device *pdev)
phydev
=
bp
->
phy_dev
;
dev_info
(
&
pdev
->
dev
,
"attached PHY driver [%s] "
"(mii_bus:phy_addr=%s, irq=%d)
\n
"
,
phydev
->
drv
->
name
,
phydev
->
dev
.
bus_id
,
phydev
->
irq
);
phydev
->
drv
->
name
,
dev_name
(
&
phydev
->
dev
)
,
phydev
->
irq
);
return
0
;
...
...
drivers/net/sungem.c
View file @
8be7cdcc
...
...
@@ -2998,8 +2998,11 @@ static const struct net_device_ops gem_netdev_ops = {
.
ndo_do_ioctl
=
gem_ioctl
,
.
ndo_tx_timeout
=
gem_tx_timeout
,
.
ndo_change_mtu
=
gem_change_mtu
,
.
ndo_set_mac_address
=
eth_mac_addr
,
.
ndo_validate_addr
=
eth_validate_addr
,
.
ndo_set_mac_address
=
gem_set_mac_address
,
#ifdef CONFIG_NET_POLL_CONTROLLER
.
ndo_poll_controller
=
gem_poll_controller
,
#endif
};
static
int
__devinit
gem_init_one
(
struct
pci_dev
*
pdev
,
...
...
@@ -3161,10 +3164,6 @@ static int __devinit gem_init_one(struct pci_dev *pdev,
dev
->
watchdog_timeo
=
5
*
HZ
;
dev
->
irq
=
pdev
->
irq
;
dev
->
dma
=
0
;
dev
->
set_mac_address
=
gem_set_mac_address
;
#ifdef CONFIG_NET_POLL_CONTROLLER
dev
->
poll_controller
=
gem_poll_controller
;
#endif
/* Set that now, in case PM kicks in now */
pci_set_drvdata
(
pdev
,
dev
);
...
...
drivers/net/ucc_geth.c
View file @
8be7cdcc
...
...
@@ -1536,32 +1536,15 @@ static void adjust_link(struct net_device *dev)
static
int
init_phy
(
struct
net_device
*
dev
)
{
struct
ucc_geth_private
*
priv
=
netdev_priv
(
dev
);
struct
device_node
*
np
=
priv
->
node
;
struct
device_node
*
phy
,
*
mdio
;
const
phandle
*
ph
;
char
bus_name
[
MII_BUS_ID_SIZE
];
const
unsigned
int
*
id
;
struct
ucc_geth_info
*
ug_info
=
priv
->
ug_info
;
struct
phy_device
*
phydev
;
char
phy_id
[
BUS_ID_SIZE
];
priv
->
oldlink
=
0
;
priv
->
oldspeed
=
0
;
priv
->
oldduplex
=
-
1
;
ph
=
of_get_property
(
np
,
"phy-handle"
,
NULL
);
phy
=
of_find_node_by_phandle
(
*
ph
);
mdio
=
of_get_parent
(
phy
);
id
=
of_get_property
(
phy
,
"reg"
,
NULL
);
of_node_put
(
phy
);
of_node_put
(
mdio
);
fsl_pq_mdio_bus_name
(
bus_name
,
mdio
);
snprintf
(
phy_id
,
sizeof
(
phy_id
),
"%s:%02x"
,
bus_name
,
*
id
);
phydev
=
phy_connect
(
dev
,
phy_id
,
&
adjust_link
,
0
,
priv
->
phy_interface
);
phydev
=
phy_connect
(
dev
,
ug_info
->
phy_bus_id
,
&
adjust_link
,
0
,
priv
->
phy_interface
);
if
(
IS_ERR
(
phydev
))
{
printk
(
"%s: Could not attach to PHY
\n
"
,
dev
->
name
);
...
...
@@ -3629,10 +3612,12 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
ug_info
->
uf_info
.
irq
=
irq_of_parse_and_map
(
np
,
0
);
fixed_link
=
of_get_property
(
np
,
"fixed-link"
,
NULL
);
if
(
fixed_link
)
{
snprintf
(
ug_info
->
mdio_bus
,
MII_BUS_ID_SIZE
,
"0"
);
ug_info
->
phy_address
=
fixed_link
[
0
]
;
snprintf
(
ug_info
->
phy_bus_id
,
sizeof
(
ug_info
->
phy_bus_id
),
PHY_ID_FMT
,
"0"
,
fixed_link
[
0
])
;
phy
=
NULL
;
}
else
{
char
bus_name
[
MII_BUS_ID_SIZE
];
ph
=
of_get_property
(
np
,
"phy-handle"
,
NULL
);
phy
=
of_find_node_by_phandle
(
*
ph
);
...
...
@@ -3643,7 +3628,6 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
prop
=
of_get_property
(
phy
,
"reg"
,
NULL
);
if
(
prop
==
NULL
)
return
-
1
;
ug_info
->
phy_address
=
*
prop
;
/* Set the bus id */
mdio
=
of_get_parent
(
phy
);
...
...
@@ -3657,8 +3641,14 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
if
(
err
)
return
-
1
;
<<<<<<<
HEAD
:
drivers
/
net
/
ucc_geth
.
c
snprintf
(
ug_info
->
mdio_bus
,
MII_BUS_ID_SIZE
,
"%x"
,
res
.
start
&
0xfffff
);
=======
uec_mdio_bus_name
(
bus_name
,
mdio
);
snprintf
(
ug_info
->
phy_bus_id
,
sizeof
(
ug_info
->
phy_bus_id
),
"%s:%02x"
,
bus_name
,
*
prop
);
>>>>>>>
61
fa9dcf9329cb92c220f7b656410fbe5e72f933
:
drivers
/
net
/
ucc_geth
.
c
}
/* get the phy interface type, or default to MII */
...
...
drivers/net/ucc_geth.h
View file @
8be7cdcc
...
...
@@ -1101,8 +1101,7 @@ struct ucc_geth_info {
u32
eventRegMask
;
u16
pausePeriod
;
u16
extensionField
;
u8
phy_address
;
char
mdio_bus
[
MII_BUS_ID_SIZE
];
char
phy_bus_id
[
BUS_ID_SIZE
];
u8
weightfactor
[
NUM_TX_QUEUES
];
u8
interruptcoalescingmaxvalue
[
NUM_RX_QUEUES
];
u8
l2qt
[
UCC_GETH_VLAN_PRIORITY_MAX
];
...
...
include/linux/dca.h
View file @
8be7cdcc
/*
* Copyright(c) 2007 - 2009 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The full GNU General Public License is included in this distribution in the
* file called COPYING.
*/
#ifndef DCA_H
#define DCA_H
/* DCA Provider API */
...
...
net/wireless/nl80211.c
View file @
8be7cdcc
...
...
@@ -1950,6 +1950,11 @@ static int nl80211_get_mesh_params(struct sk_buff *skb,
if
(
err
)
return
err
;
if
(
!
drv
->
ops
->
get_mesh_params
)
{
err
=
-
EOPNOTSUPP
;
goto
out
;
}
/* Get the mesh params */
rtnl_lock
();
err
=
drv
->
ops
->
get_mesh_params
(
&
drv
->
wiphy
,
dev
,
&
cur_params
);
...
...
@@ -2059,6 +2064,11 @@ static int nl80211_set_mesh_params(struct sk_buff *skb, struct genl_info *info)
if
(
err
)
return
err
;
if
(
!
drv
->
ops
->
set_mesh_params
)
{
err
=
-
EOPNOTSUPP
;
goto
out
;
}
/* This makes sure that there aren't more than 32 mesh config
* parameters (otherwise our bitfield scheme would not work.) */
BUILD_BUG_ON
(
NL80211_MESHCONF_ATTR_MAX
>
32
);
...
...
@@ -2103,6 +2113,7 @@ static int nl80211_set_mesh_params(struct sk_buff *skb, struct genl_info *info)
err
=
drv
->
ops
->
set_mesh_params
(
&
drv
->
wiphy
,
dev
,
&
cfg
,
mask
);
rtnl_unlock
();
out:
/* cleanup */
cfg80211_put_dev
(
drv
);
dev_put
(
dev
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment