18 Feb, 2014
14 commits
-
This patch does multiple things:
* add .set_csma_params and .set_frame_retries for the RF212 radio.
This should work fine with RF230, but since I have no RF230 radios to
test with, RF230 does not implement these right now
* enable TX_ARET for frame retransmission limits greater than -1Since RF230 has no operations to change CSMA parameters or frame retry
limits, RF230 will not be able to enter TX_ARET with this patch.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
A documented erratum of the RF212 chip describes that some versions of
RF212 may not be properly reset by the standard reset procedure. The
described workaround seems to not fully work either; my RF212 chips will
not correctly receive any frames unless they are taken from RX mode to
TRX_OFF and back to RX mode, effectively forcing a up-down-up-cycle.
Going to TRX_OFF and to RX without intermediate state changes at least
once fixes this.The same transition is allowed for RF230, so simply do it all the time.
Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
Since three of the four clear channel assesment modes make use of energy
detection, provide an API to set the energy detection threshold.
Driver support for this is available in at86rf230 for the RF212 chips.
Since for these chips the minimal energy detection threshold depends on
page and channel used, add a field to struct at86rf230_local that stores
the minimal threshold. Actual ED thresholds are configured as offsets
from this value.For RF212, setting the ED threshold will not work before a channel/page
has been set due to the dependency of energy detection in the chip and
the actual channel/page selected.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
The standard describes four modes of clear channel assesment: "energy
above threshold", "carrier found", and the logical and/or of these two.
Support for CCA mode setting is included in the at86rf230 driver,
predicated for RF212 chips.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
Listen-before-talk is an alternative to CSMA in uncoordinated networks
and prescribed by european regulations if one wants to have a device
with radio duty cycles above 10% (or less in some bands). Add a phy
property to enable/disable LBT in the phy, including support in the
at86rf230 driver for RF212 chips.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
The standard assigns channel 0 on page 2 to be 100kbps QPSK in the
868.3MHz band. Add support to the at86rf230 driver for this channel and
page, at the moment predicated only for the RF212 chip.Per the datasheet, configurations for page 0, channels 0 to 10 and page
2, channels 0 to 10 differ only in the BPSK_QPSK bit. Support for
channels 1 to 10 is untested.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
Replace the current u8 transmit_power in wpan_phy with s8 transmit_power.
The u8 field contained the actual tx power and a tolerance field,
which no physical radio every used. Adjust sysfs entries to keep
compatibility with userspace, give tolerances of +-1dB statically there.This patch only adds support for this in the at86rf230 driver and the
RF212 chip. Configuration calculation for RF212 is also somewhat basic,
but does the job - the RF212 datasheet gives a large table with
suggested values for combinations of TX power and page/channel, if this
does not work well, we might have to copy the whole table.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
The current IEEE802.15.4 stack assumes that a radio will never deliver
packets with a bad CRC into the stack, as required by the standard.
at86rf230 driven radios violates this assumption because of another
incompatibility: devices are required to send ACKs if requested by a
sender, but RF2xx will only send ACKs from a special receive mode that
is currently not used by the driver.Enable this receive mode to fix both bugs. Frames with bad CRCs will not
be received at all, and ACKs will be sent if so requested.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
Since the AT86RF2xy chips are mostly compatible, this is only a small
change to the actual driver code. The at86rf230 driver already supports the
RF212 in most places, only three small adjustments are required:* force the initial state after P_ON to FORCE_TRX_OFF to work around a
documented erratum
* channels_supported depends on the frequency of the transceiver, and
thus is_rf212
* do early detection of chip version select an appropriate _ops struct
based on the chip version.Signed-off-by: Phoebe Buckheister
Signed-off-by: David S. Miller -
As pointed out by Shaohui, most 10G PHYs out there have a non-standard
compliant software reset sequence, eventually something much more
complex than just toggling the BMCR_RESET bit. Allow PHY driver to
implement their own soft_reset() callback to deal with that. If no
callback is provided, call into genphy_soft_reset() which makes sure the
existing behavior is kept intact.Reported-by: Shaohui Xie
Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
As pointed out by Shaohui, this function is generic for 10/100/1000
PHYs, but 10G PHYs might have a slightly different reset sequence which
prevents most of them from using this function.Move the BMCR_RESET based software resent sequence to
genphy_soft_reset() in preparation for allowing PHY drivers to implement
a soft_reset() callback.Reported-by: Shaohui Xie
Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
Get rid of the buffer allocation in the receive path for normal packets.
Signed-off-by: K. Y. Srinivasan
Signed-off-by: David S. Miller -
Make the receive path a little more efficient by parameterizing the
required state rather than re-establishing that state.Signed-off-by: K. Y. Srinivasan
Reviewed-by: Haiyang Zhang
Signed-off-by: David S. Miller -
This structure is redundant; get rid of it make the code little more efficient -
get rid of the unnecessary indirection.Signed-off-by: K. Y. Srinivasan
Reviewed-by: Haiyang Zhang
Signed-off-by: David S. Miller
17 Feb, 2014
6 commits
-
This patch allows the use of a generic timestamping phy connected
to the cpsw if CPTS support is not enabled. This also adds support
of the SIOCGMIIREG and SIOCSMIIREG, and moves handling of SIOCGMIIPHY
to the generic driver.Signed-off-by: Stefan Sørensen
Reviewed-by: Ben Hutchings
Signed-off-by: David S. Miller -
ether_addr_copy is smaller and faster for some architectures.
This relies on a stack frame being at least __aligned(2)
for one use of an Ethernet address on the stack.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller -
Neatening only.
Signed-off-by: Joe Perches
Signed-off-by: David S. Miller -
Add missing terminating newlines.
Convert uses of pr_info to pr_cont in bond_check_params.
Standardize upper/lower case styles.
Typo fixes, remove unnecessary parentheses and periods.
Alignment neatening.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller -
Use more current logging style.
Coalesce formats, realign arguments, drop unnecessary periods.
Signed-off-by: Joe Perches
Signed-off-by: David S. Miller -
On success, the function netdev_alloc_skb initializes the dev field of its
result to its first argument, so this doesn't have to be done in the
calling context.The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)//
@@
expression skb,privn,e;
@@skb = netdev_alloc_skb(privn,...);
... when strict
(
-skb->dev = privn;
|
?skb = e
)
//Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller
15 Feb, 2014
7 commits
-
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
Signed-off-by: Wang Yufen
Signed-off-by: David S. Miller -
There are many drivers calling alloc_percpu() to allocate pcpu stats
and then initializing ->syncp. So just introduce a helper function for them.Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: David S. Miller
14 Feb, 2014
13 commits
-
This patch adds a new configuration symbol: CONFIG_BCMGENET which allows
us to build the Broadcom GENET driver and hook the driver files into the
build system.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
This patch adds support for configuring the port multiplexer hardware
which resides in front of the GENET Ethernet MAC controller. This allows
us to support:- internal PHYs (using drivers/net/phy/bcm7xxx.c)
- MoCA PHYs which are an entirely separate hardware block not covered
here
- external PHYs and switchesNote that MoCA and switches are currently supported using the emulated
"fixed PHY" driver.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
This patch adds the BCMGENET main driver file which supports the
following:- GENET hardware from V1 to V4
- support for reading the UniMAC MIB counters statistics
- support for the 5 transmit queues
- support for RX/TX checksum offload and SGSigned-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
This patchs adds the bcmgenet.h header file which contains all the
hardware definitions for the GENETv1 to v4 hardware blocks as well as
the driver private structure and MIB counters.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
This patch adds support for the Broadcom BCM7xxx Set Top Box SoCs
internal PHYs. This driver supports the following generation of SoCs:- BCM7366, BCM7439, BCM7445 (28nm process)
- all 40nm and 65nm (older MIPS-based SoCs)The PHYs on these SoCs require a bunch of workarounds to operate
correctly, both during configuration time and at suspend/resume time,
the driver handles that for us.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
The Broadcom BCM54xx register definitions are shared between BCM54xx and
BCM7xx internal PHYs for which we are adding support. Extract these
register definitions and put them in include/linux/brcmphy.h for use by
the BCM7xxx internal PHY driver.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
MoCA PHYs are using coaxial (BNC-like) connectors, update the
transceiver port type when replying to ethtool.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
Currently multi-channel configuration is read via the QUERY_FW_CONFIG cmd.
This method has been deprecated by the Skyhawk-R FW. Instead,
GET_PROFILE_CONFIG::port-desc must be used to query this configuration.This patch also:
a) introduces a few macros to identify certain categories of multi-channel
configs
2) re-factors the be_cmd_set_profile_config() code to be able to read any kind
of desc (and not just the nic-desc.)Signed-off-by: Vasundhara Volam
Signed-off-by: Sathya Perla
Signed-off-by: Somnath Kotur
Signed-off-by: David S. Miller -
Signed-off-by: Vasundhara Volam
Signed-off-by: Sathya Perla
Signed-off-by: Somnath Kotur
Signed-off-by: David S. Miller -
This patch logs a kernel message when a HW error(SLIPORT_ERROR in Lancer and UE
in BEx/Skyhawk) is detected. The log message for BE3 was missing earlier.
This patch also refactors the code by segregating error-detection and reporting
code for Lancer and BEx/SH.Signed-off-by: Somnath Kotur
Signed-off-by: David S. Miller -
linux-can-next-for-3.15-20140212
Marc Kleine-Budde says:
====================
this is a pull request of eight patches for net-next/master.Florian Vaussard contributed a series that merged the sja1000 of_platform
into the platform driver. The of_platform driver is finally removed.
Stephane Grosjean supplied a patch to allocate CANFD skbs. In a patch
by Uwe Kleine-König another missing copyright information was added to
a userspace header. And a patch by Yoann DI RUZZA that adds listen only
mode to the at91_can driver.
====================Signed-off-by: David S. Miller
-
The driver #define's and uses ETHERSMALL macro for the minimum Ethernet frame
size for which we have a standard macro ETH_ZLEN. Use the latter instead of
the home-grown one.Signed-off-by: Sergei Shtylyov
Signed-off-by: David S. Miller -
The dev_valid_name() will check the buffer length for input name, no need to
check it twice.Cc: Jay Vosburgh
Cc: Veaceslav Falico
Cc: Andy Gospodarek
Signed-off-by: Ding Tianhong
Reviewed-by: Jiri Pirko
Signed-off-by: David S. Miller