aboutsummaryrefslogtreecommitdiffstats
path: root/sound (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2011-02-17ipv4: Mark fib_combine_itag()'s 'res' arg as const.David S. Miller1-1/+1
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ipv4: Avoid use of signed integers in fib_trie code.David S. Miller1-5/+5
GCC emits all kinds of crazy zero extensions when we go from signed int, to unsigned short, etc. etc. This transformation has to be legal because: 1) In tkey_extract_bits() in mask_pfx(), the values are used to perform shifts, on which negative values are undefined by C. 2) In fib_table_lookup() we perform comparisons with unsigned values, constants, and additions. None of which should encounter negative values. Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17net: Add initial_ref arg to dst_alloc().David S. Miller6-14/+10
This allows avoiding multiple writes to the initial __refcnt. The most simplest cases of wanting an initial reference of "1" in ipv4 and ipv6 have been converted, the rest have been left along and kept at the existing "0". Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ipv4: Consolidate ipv4 dst allocation logic.David S. Miller1-31/+21
This also allows us to combine all the dst->flags settings and avoid read/modify/write sequences to this struct member. Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ipv4: Move rcu_read_{lock,unlock}() into ip_route_output_slow().David S. Miller1-7/+6
Simplifies tail of __ip_route_output_key(). Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ipv4: Simplify output route creation call sequence.David S. Miller1-35/+23
There's a lot of redundancy and unnecessary stack frames in the output route creation path. 1) Make __mkroute_output() return error pointers. 2) Eliminate ip_mkroute_output() entirely, made possible by #1. 3) Call __mkroute_output() directly and handling the returning error pointers in ip_route_output_slow(). Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17loopback: convert to hw_featuresMichał Mirosław1-5/+4
This also enables TSOv6, TSO-ECN, and UFO as loopback clearly can handle them. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17net: introduce NETIF_F_RXCSUMMichał Mirosław3-26/+27
Introduce NETIF_F_RXCSUM to replace device-private flags for RX checksum offload. Integrate it with ndo_fix_features. ethtool_op_get_rx_csum() is removed altogether as nothing in-tree uses it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17net: use ndo_fix_features for ethtool_ops->set_flagsMichał Mirosław1-2/+29
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17net: ethtool: use ndo_fix_features for offload settingMichał Mirosław1-13/+32
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17net: Introduce new feature setting opsMichał Mirosław4-10/+283
This introduces a new framework to handle device features setting. It consists of: - new fields in struct net_device: + hw_features - features that hw/driver supports toggling + wanted_features - features that user wants enabled, when possible - new netdev_ops: + feat = ndo_fix_features(dev, feat) - API checking constraints for enabling features or their combinations + ndo_set_features(dev) - API updating hardware state to match changed dev->features - new ethtool commands: + ETHTOOL_GFEATURES/ETHTOOL_SFEATURES: get/set dev->wanted_features and trigger device reconfiguration if resulting dev->features changed + ETHTOOL_GSTRINGS(ETH_SS_FEATURES): get feature bits names (meaning) Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ethtool: factorize get/set_one_featureMichał Mirosław2-142/+138
This allows to enable GRO even if RX csum is disabled. GRO will not be used for packets without hardware checksum anyway. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ethtool: factorize ethtool_get_strings() and ethtool_get_sset_count()Michał Mirosław1-12/+23
This is needed for unified offloads patch. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ethtool: enable GSO and GRO by defaultMichał Mirosław2-4/+17
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17ethtool: move EXPORT_SYMBOL(ethtool_op_set_tx_csum) to correct placeMichał Mirosław1-1/+1
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17enic: Clean up: Remove a not needed #ifdefVasanthy Kolluri2-3/+1
Signed-off-by: Christian Benvenuti <benve@cisco.com> Signed-off-by: Danny Guo <dannguo@cisco.com> Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com> Signed-off-by: Roopa Prabhu <roprabhu@cisco.com> Signed-off-by: David Wang <dwang2@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17enic: Bug fix: Reset driver count of registered unicast addresses to zero during device resetVasanthy Kolluri2-7/+8
During a device reset, clear the counter for the no. of unicast addresses registered. Also, rename the routines that update unicast and multicast address lists. Signed-off-by: Christian Benvenuti <benve@cisco.com> Signed-off-by: Danny Guo <dannguo@cisco.com> Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com> Signed-off-by: Roopa Prabhu <roprabhu@cisco.com> Signed-off-by: David Wang <dwang2@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-17bnx2x: Support for managing RX indirection tableTom Herbert3-5/+75
Support fetching and retrieving RX indirection table via ethtool. Signed-off-by: Tom Herbert <therbert@google.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-15sfc: Add TX queues for high-priority trafficBen Hutchings7-28/+156
Implement the ndo_setup_tc() operation with 2 traffic classes. Current Solarstorm controllers do not implement TX queue priority, but they do allow queues to be 'paced' with an enforced delay between packets. Paced and unpaced queues are scheduled in round-robin within two separate hardware bins (paced queues with a large delay may be placed into a third bin temporarily, but we won't use that). If there are queues in both bins, the TX scheduler will alternate between them. If we make high-priority queues unpaced and best-effort queues paced, and high-priority queues are mostly empty, a single high-priority queue can then instantly take 50% of the packet rate regardless of how many of the best-effort queues have descriptors outstanding. We do not actually want an enforced delay between packets on best- effort queues, so we set the pace value to a reserved value that actually results in a delay of 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2011-02-15sfc: Distinguish queue lookup from test for queue existenceBen Hutchings3-29/+33
efx_channel_get_{rx,tx}_queue() currently return NULL if the channel isn't used for traffic in that direction. In most cases this is a bug, but some callers rely on it as an existence test. Add existence test functions efx_channel_has_{rx_queue,tx_queues}() and use them as appropriate. Change efx_channel_get_{rx,tx}_queue() to assert that the requested queue exists. Remove now-redundant initialisation from efx_set_channels(). Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2011-02-15sfc: Move TX queue core queue mapping into tx.cBen Hutchings3-4/+10
efx_hard_start_xmit() needs to implement a mapping which is the inverse of tx_queue::core_txq. Move the initialisation of tx_queue::core_txq next to efx_hard_start_xmit() to make the connection more obvious. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2011-02-15net: Adjust TX queue kobjects if number of queues changes during unregisterBen Hutchings1-1/+2
If the root qdisc for a net device is mqprio, and the driver's ndo_setup_tc() operation dynamically adds and remvoes TX queues, netif_set_real_num_tx_queues() will be called during device unregistration to remove the extra TX queues when the qdisc is destroyed. Currently this causes the corresponding kobjects to be leaked, and the device's reference count never drops to 0. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2011-02-15net/fec: enable flow control and length check on enet-macUwe Kleine-König1-11/+13
Also optimize not to reread the value written to FEC_R_CNTRL. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: postpone unsetting driver data until the hardware is stoppedUwe Kleine-König1-2/+2
Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: provide device for dma functions and matching sizes for map and unmapUwe Kleine-König1-8/+9
This fixes warnings when CONFIG_DMA_API_DEBUG=y: NULL NULL: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x000000004781a020] [size=64 bytes] net eth0: DMA-API: device driver frees DMA memory with different size [device address=0x000000004781a020] [map size=2048 bytes] [unmap size=64 bytes] Moreover pass the platform device to dma_{,un}map_single which makes more sense because the logical network device doesn't know anything about dma. Passing the platform device was a suggestion by Lothar Waßmann. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: reorder functions a bit allows removing forward declarationsUwe Kleine-König1-179/+174
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: some whitespace cleanupUwe Kleine-König1-11/+11
A few of these were found and reported by Lothar Waßmann. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: consistenly name struct net_device pointers "ndev"Uwe Kleine-König1-121/+121
A variable named "dev" usually (usually subjective) points to a struct device. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: add phy_stop to fec_enet_closeUwe Kleine-König1-1/+3
This undoes the effects of phy_start in fec_enet_open. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: consolidate all i.MX options to CONFIG_ARMUwe Kleine-König2-4/+4
Moreover stop listing all i.MX platforms featuring a FEC, and use the platform's config symbol that selects registration of a fec device instead. This might make it easier to add new platforms. Set default = y for ARMs having a fec to reduce defconfig sizes. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: put the ioremap cookie immediately into a void __iomem pointerUwe Kleine-König1-5/+4
Saving it first into struct net_device->base_addr (which is an unsigned long) is pointless and only needs to use more casts than necessary. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: no need to memzero private dataUwe Kleine-König1-1/+0
alloc_etherdev internally uses kzalloc, so the private data is already zerod out. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: no need to check for validity of ndev in suspend and resumeUwe Kleine-König1-16/+12
dev_set_drvdata is called unconditionally in the probe function and so it cannot be NULL. Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: don't free an irq that failed to be requestedUwe Kleine-König1-2/+1
Reported-by: Lothar Waßmann <LW@KARO-elektronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: release mem_region requested in probe in error path and removeUwe Kleine-König1-2/+12
Reported-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-15net/fec: no need to cast arguments for memcpyUwe Kleine-König1-1/+1
memcpy takes a const void * as 2nd argument. So the argument is converted automatically to void * anyhow. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2011-02-14ipv4: Cache learned redirect information in inetpeer.David S. Miller1-94/+42
Note that we do not generate the redirect netevent any longer, because we don't create a new cached route. Instead, once the new neighbour is bound to the cached route, we emit a neigh update event instead. Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14ipv4: Cache learned PMTU information in inetpeer.David S. Miller1-174/+86
The general idea is that if we learn new PMTU information, we bump the peer genid. This triggers the dst_ops->check() code to validate and if necessary propagate the new PMTU value into the metrics. Learned PMTU information self-expires. This means that it is not necessary to kill a cached route entry just because the PMTU information is too old. As a consequence: 1) When the path appears unreachable (dst_ops->link_failure or dst_ops->negative_advice) we unwind the PMTU state if it is out of date, instead of killing the cached route. A redirected route will still be invalidated in these situations. 2) rt_check_expire(), rt_worker_func(), et al. are no longer necessary at all. Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14phy/micrel: add ability to support 50MHz RMII clock on KZS8051RNLBaruch Siach2-8/+32
Platform code can now set the MICREL_PHY_50MHZ_CLK bit of dev_flags in a fixup routine (registered with phy_register_fixup_for_uid()), to make the KZS8051RNL PHY work with 50MHz RMII reference clock. Cc: David J. Choi <david.choi@micrel.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14ROSE: AX25: finding routes simplificationBernard Pidoux1-7/+0
With previous patch, rose_get_neigh() routine investigates the full list of neighbor nodes until it finds or not an already connected node whether it is called locally or through a level 3 transit frame. If no routes are opened through an adjacent connected node then a classical connect request is attempted. Then there is no more reason for an extra loop such as the one removed by this patch. Signed-off-by: Bernard Pidoux <f6bvp@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14ROSE: rose AX25 packet routing improvementBernard Pidoux1-12/+16
FPAC AX25 packet application is using Linux kernel ROSE routing skills in order to connect or send packets to remote stations knowing their ROSE address via a network of interconnected nodes. Each FPAC node has a ROSE routing table that Linux ROSE module is looking at each time a ROSE frame is relayed by the node or when a connect request to a neighbor node is received. A previous patch improved the system time response by looking at already established routes each time the system was looking for a route to relay a frame. If a neighbor node routing the destination address was already connected, then the frame would be sent through him. If not, a connection request would be issued. The present patch extends the same routing capability to a connect request asked by a user locally connected into an FPAC node. Without this patch, a connect request was not well handled unless it was directed to an immediate connected neighbor of the local node. Implemented at a number of ROSE FPAC node stations, the present patch improved dramatically FPAC ROSE routing time response and efficiency. Signed-off-by: Bernard Pidoux <f6bvp@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14ipv4: fix rcu lock imbalance in fib_select_default()Eric Dumazet1-1/+1
Commit 0c838ff1ade7 (ipv4: Consolidate all default route selection implementations.) forgot to remove one rcu_read_unlock() from fib_select_default(). Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-14sch_mqprio: Always set num_tc to 0 in mqprio_destroy()Ben Hutchings1-7/+7
All the cleanup code in mqprio_destroy() is currently conditional on priv->qdiscs being non-null, but that condition should only apply to the per-queue qdisc cleanup. We should always set the number of traffic classes back to 0 here. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2011-02-13can: c_can: Added support for Bosch C_CAN controllerBhupesh Sharma7-0/+1485
Bosch C_CAN controller is a full-CAN implementation which is compliant to CAN protocol version 2.0 part A and B. Bosch C_CAN user manual can be obtained from: http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/users_manual_c_can.pdf This patch adds the support for this controller. The following are the design choices made while writing the controller driver: 1. Interface Register set IF1 has be used only in the current design. 2. Out of the 32 Message objects available, 16 are kept aside for RX purposes and the rest for TX purposes. 3. NAPI implementation is such that both the TX and RX paths function in polling mode. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Advance driver versionGuo-Fu Tseng1-1/+1
Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Don't show UDP Checksum error if HW misjudgedGuo-Fu Tseng1-3/+29
Some JMicron Chip treat 0 as error checksum for UDP packets. Which should be "No checksum needed". Reported-by: Adam Swift <Adam.Swift@omnitude.net> Confirmed-by: "Aries Lee" <arieslee@jmicron.com> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Refill receive unicase MAC addr after resumeGuo-Fu Tseng2-10/+19
The value of the register which holds receive Unicast MAC Address sometimes get messed-up after resume. This patch refill it before enabling the hardware filter. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Safer MAC processor reset sequenceGuo-Fu Tseng2-42/+126
Adding control to clk_rx, and makes the control of clk_{rx|tx|tcp} with safer sequence. This sequence is provided by JMicron. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Fix hardware action of full-duplexGuo-Fu Tseng2-4/+10
Clear Transmit Timer/Retry setting while full-duplex. Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-13jme: Rename phyfifo function for easier understandGuo-Fu Tseng1-6/+6
Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>