summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cxgb4: Add control net_device for configuring PCIe VFHariprasad Shenai2016-08-151-18/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: For instance, the current APIs assume a 1-to-1 mapping of Network Ports, Physical Functions and the SR-IOV Virtual Functions of those Physical Functions. This is not the case with our cards where any Virtual Function can be hooked up to any Port -- or any number of Ports the current Linux APIs also assume only 1 Network Interface/Port can be accessed per Virtual Function. Another issue is that these APIs assume that the Administrative Driver is attached to the Physical Function Associated with a Virtual Function. This is not the case with our card where all administration is performed by a Driver which is not attached to any of the Physical Functions which have SR-IOV PCI Capabilities. Another consequence of these assumptions is the inability to utilize all of the cards SR-IOV resources. For instance, our cards have SR-IOV Capabilities on Physical Functions 0..3 and the administrative Driver attaches to Physical Function 4. Each of the Physical Functions 0..3 can support up to 16 Virtual Functions. With the current Linux APIs, a 2-Port card would only be able to use the Virtual Functions on Physical Function 0..1 and not allow the Virtual Functions on Physical Functions 2..3 to be used since there are no Ports 2..3 on a 2-Port card. Fix: Since the control node is always the netdevice for all VF ACL commands. Created a dummy netdevice for each Physical Function from 0 to 3 through which one could control their VFs. The device won't be associated with any port, since it doesn't need to transmit/receive. Its purely used for VF management purpose only. The device will be registered only when VF for a particular PF is configured using PCI sysfs interface and unregistered while pci_disable_sriov() for the PF is called. Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'proc-per-ns'David S. Miller2016-08-156-13/+61
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dmitry Torokhov says: ==================== Make /proc per net namespace objects belong to container Currently [almost] all /proc objects belong to the global root, even if data belongs to a given namespace within a container and (at least for sysctls) we work around permssions checks to allow container's root to access the data. This series changes ownership of net namespace /proc objects (/proc/net/self/* and /proc/sys/net/*) to be container's root and not global root when there exists mapping for container's root in user namespace. This helps when running Android CTS in a container, but I think it makes sense regardless. Changes from V1: - added fix for crash when !CONFIG_NET_NS (new patch #1) - addressed Eric'c comments for error handling style in patch #3 and added his Ack - adjusted patch #2 to use the same style of erro handling - sent out as series instead of separate patches ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: make net namespace sysctls belong to container's ownerDmitry Torokhov2016-08-153-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If net namespace is attached to a user namespace let's make container's root owner of sysctls affecting said network namespace instead of global root. This also allows us to clean up net_ctl_permissions() because we do not need to fudge permissions anymore for the container's owner since it now owns the objects in question. Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * proc: make proc entries inherit ownership from parentDmitry Torokhov2016-08-152-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | There are certain parameters that belong to net namespace and that are exported in /proc. They should be controllable by the container's owner, but are currently owned by global root and thus not available. Let's change proc code to inherit ownership of parent entry, and when create per-ns "net" proc entry set it up as owned by container's owner. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * netns: do not call pernet ops for not yet set up init_net namespaceDmitry Torokhov2016-08-151-4/+17
|/ | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_NET_NS is disabled, registering pernet operations causes init() to be called immediately with init_net as an argument. Unfortunately this leads to some pernet ops, such as proc_net_ns_init() to be called too early, when init_net namespace has not been fully initialized. This causes issues when we want to change pernet ops to use more data from the net namespace in question, for example reference user namespace that owns our network namespace. To fix this we could either play game of musical chairs and rearrange init order, or we could do the same as when CONFIG_NET_NS is enabled, and postpone calling pernet ops->init() until namespace is set up properly. Note that we can not simply undo commit ed160e839d2e ("[NET]: Cleanup pernet operation without CONFIG_NET_NS") and use the same implementations for __register_pernet_operations() and __unregister_pernet_operations(), because many pernet ops are marked as __net_initdata and will be discarded, which wreaks havoc on our ops lists. Here we rely on the fact that we only use lists until init_net is fully initialized, which happens much earlier than discarding __net_initdata sections. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: phy: initialize rc to zero to avoid returning garbage valueColin Ian King2016-08-141-1/+1
| | | | | | | | | In the case where phydev->interrupts is not PHY_INTERRUPT_ENABLED function vsc85xx_ack_interrupt is returning an uninitialized garbage value. Fix this by initializing rc to zero. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: bfin_mac: Fix a few spelling fixesLABBE Corentin2016-08-141-4/+4
| | | | | | | | | This patch respell some word badly spelled. - Invidate instead of Invalidate - proble instead of probe Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge tag 'mac80211-next-for-davem-2016-08-12' of ↵David S. Miller2016-08-149-83/+112
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Not much for -next so far, but here it goes: * send more nl80211 events for interfaces * remove useless network/transport offset mangling code * validate beacon intervals identically for all interface types * use driver rate estimates for mesh * fix a compiler type/signedness warning ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * nl80211: explicitly check enum nl80211_mesh_power_modeJohannes Berg2016-08-111-1/+13
| | | | | | | | | | | | | | | | | | | | Different gcc versions appear to be treating enum with different signedness, causing warnings with the out parameter one way or the other. Just use the correct type to avoid all that. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * mac80211: call get_expected_throughput only after adding stationMaxim Altshul2016-08-112-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Depending on which method the driver implements, userspace could call this (indirectly, by getting station info) before the driver knows about the station, possibly causing it to misbehave. Therefore, add a check for sta->uploaded which indicates that the driver knows about the station. Signed-off-by: Maxim Altshul <maxim.altshul@ti.com> [reword commit message] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * cfg80211: identically validate beacon interval for AP/MESH/IBSSPurushottam Kushwaha2016-08-112-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | Beacon interval interface combinations validation was missing for MESH/IBSS join, add those. Johannes: also move the beacon interval check disallowing really tiny and really big intervals into the common function, which adds it for AP mode. Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * cfg80211: always notify userspace when wireless netdev is removedDenis Kenzior2016-08-112-17/+5Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change alters the semantics of NL80211_CMD_DEL_INTERFACE events by always sending this event whenever a net_device object associated with a wdev is destroyed. Prior to this change, this event was only emitted as a result of NL80211_CMD_DEL_INTERFACE command sent from userspace. This allows userspace to reliably detect when wireless interfaces have been removed, e.g. due to USB removal events, etc. For wireless device objects without an associated net_device (e.g. NL80211_IFTYPE_P2P_DEVICE), the NL80211_CMD_DEL_INTERFACE event is now generated inside cfg80211_unregister_wdev. Signed-off-by: Denis Kenzior <denkenz@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * cfg80211: always notify userspace of new wireless netdevsDenis Kenzior2016-08-113-14/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change alters the semantics of NL80211_CMD_NEW_INTERFACE events by always sending this event whenever a new net_device object associated with a wdev is registered. Prior to this change, this event was only sent as a result of NL80211_CMD_NEW_INTERFACE command sent from userspace. This allows userspace to reliably detect new wireless interfaces (e.g. due to hardware hot-plug events, etc). For wdevs created without an associated net_device object (e.g. NL80211_IFTYPE_P2P_DEVICE), the NL80211_CMD_NEW_INTERFACE event is still generated inside the relevant nl80211 command handler. Signed-off-by: Denis Kenzior <denkenz@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * mac80211: remove skb header offset mangling in ieee80211_build_hdrFelix Fietkau2016-08-111-26/+2Star
| | | | | | | | | | | | | | | | | | Since the code only touches the MAC headers, the offsets to the network/transport headers remain the same throughout this function. Remove pointless pieces of code that try to 'preserve' them. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * mac80211: mesh: Add support for HW RC implementationMaxim Altshul2016-08-113-12/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | Mesh HWMP module will be able to rely on the HW RC algorithm if it exists, for path metric calculations. This allows the metric calculation mechanism to calculate a correct metric, based on PER and last TX rate both via HW RC algorithm if it exists or via parameters collected by the SW. Signed-off-by: Maxim Altshul <maxim.altshul@ti.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* | Merge branch 'net-urb-alloc-failure'David S. Miller2016-08-1316-102/+27Star
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wolfram Sang says: ==================== net: don't print error when allocating urb fails This per-subsystem series is part of a tree wide cleanup. usb_alloc_urb() uses kmalloc which already prints enough information on failure. So, let's simply remove those "allocation failed" messages from drivers like we did already for other -ENOMEM cases. gkh acked this approach when we talked about it at LCJ in Tokyo a few weeks ago. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: realtek: rtlwifi: usb: don't print error when allocating urb ↵Wolfram Sang2016-08-131-7/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: marvell: mwifiex: usb: don't print error when allocating urb ↵Wolfram Sang2016-08-131-15/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: marvell: libertas_tf: if_usb: don't print error when ↵Wolfram Sang2016-08-131-9/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | allocating urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: intersil: orinoco: orinoco_usb: don't print error when ↵Wolfram Sang2016-08-131-3/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | allocating urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: broadcom: brcm80211: brcmfmac: usb: don't print error when ↵Wolfram Sang2016-08-131-6/+2Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | allocating urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wireless: ath: ar5523: ar5523: don't print error when allocating urb failsWolfram Sang2016-08-131-7/+2Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: wimax: i2400m: usb-notif: don't print error when allocating urb failsWolfram Sang2016-08-131-1/+0Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: usb: usbnet: don't print error when allocating urb failsWolfram Sang2016-08-131-4/+1Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: usb: lan78xx: don't print error when allocating urb failsWolfram Sang2016-08-131-3/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Acked-by: Woojung Huh <woojung.huh@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: usb: hso: don't print error when allocating urb failsWolfram Sang2016-08-131-15/+5Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: usb_8dev: don't print error when allocating urb failsWolfram Sang2016-08-131-4/+1Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: peak_usb: pcan_usb_core: don't print error when allocating ↵Wolfram Sang2016-08-131-5/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | urb fails kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: kvaser_usb: don't print error when allocating urb failsWolfram Sang2016-08-131-6/+1Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: gs_usb: don't print error when allocating urb failsWolfram Sang2016-08-131-7/+2Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: esd_usb2: don't print error when allocating urb failsWolfram Sang2016-08-131-3/+0Star
| | | | | | | | | | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: can: usb: ems_usb: don't print error when allocating urb failsWolfram Sang2016-08-131-7/+2Star
|/ / | | | | | | | | | | | | kmalloc will print enough information in case of failure. Signed-off-by: Wolfram Sang <wsa-dev@sang-engineering.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: fix up a few missing hashtable.h conflict resolutionsJiri Kosina2016-08-133-7/+7
| | | | | | | | | | | | | | | | | | | | | | There are a couple of leftover symbol conflicts caused by hashtable.h being included by netdevice.h; those were not caught as build failure (they're "only" a warning, but in fact real bugs). Fix those up. Fixes: e87a8f24c ("net: resolve symbol conflicts with generic hashtable.h") Reported-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'thunderx-next'David S. Miller2016-08-1311-346/+1059
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sunil Goutham says: ==================== net: thunderx: Support for newer chips and miscellaneous patches This patch series adds support for VNIC on 81xx and 83xx SOCs. 81xx/83xx is different from 88xx in terms of capabilities and new type of interfaces supported (eg: QSGMII, RGMII) and have DLMs instead of QLMs which allows single BGX to have interfaces of different LMAC types. Also included some patches which are common for all 88xx/81xx/83xx SOCs like using netdev's name while registering irqs, reset receive queue stats and some changes to use standard API for split buffer Rx packets, generating RSS key e.t.c PS: Most of the patches were submitted earlier under different series but for some reason were not picked up by patchwork. Since new patches have been added in the meantime, resubmitting all as a new patchset. Changes from v1: - Incorporated Yuval Mintz's suggestion to use generic API to set minimum queue count i.e by using netif_get_num_default_rss_queues(). - Resolved a compilation issue reported by test robot while compiling patch 'Add support for 16 LMACs of 83xx' ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Don't set RX_PACKET_DIS while initializingSunil Goutham2016-08-131-11/+7Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting BGXX_SPUX_MISC_CONTROL::RX_PACKET_DIS is not needed as packet reception is anyway disabled by BGXX_CMRX_CONFIG::DATA_PKT_RX_EN. Also setting RX_PACKET_DIS causes a bogus remote fault condition which delays link detection. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Use netdev_rss_key_fill() helperSunil Goutham2016-08-131-7/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | Use standard API to generate a random RSS hash key on every boot. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Configure tunnelling protocol parsingZyta Szpak2016-08-132-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | This patch enables parsing of inner layers for tunnelled packets. Signed-off-by: Zyta Szpak <zr@semihalf.com> Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Use napi_consume_skb for bulk freeSunil Goutham2016-08-131-3/+5
| | | | | | | | | | | | | | | | | | | | | This patch enables bulk freeing on the Tx side. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Don't set mac address for secondary Qset VFsSunil Goutham2016-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Set MAC addresses only for primary VF's and don't for secondary VFs. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Reset RXQ HW stats when interface is brought downJerin Jacob2016-08-133-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When SQ/TXQ is reclaimed i.e reset it's stats also automatically reset by HW. This is not the case with RQ. Also VF doesn't have write access to statistics counter registers. Hence a new Mbox msg is introduced which supports resetting RQ, SQ and full Qset stats. Currently only RQ stats are being reset using this mbox message. Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Improvement for MBX interface debug messagesRadoslaw Biernacki2016-08-132-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adding debug messages in case of NACK for a mailbox message, also did small cleanups. Signed-off-by: Radoslaw Biernacki <rad@semihalf.com> Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Use skb_add_rx_frag() for split buffer Rx pktsSunil Goutham2016-08-131-18/+6Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of a round about way of converting buffers to SKBs and combining them into a frag list, use standard skb_add_rx_frag() API to merge page fragments. This code is useful when incoming packets are of size more than RCV_FRAG_LEN which is currently set to 2048bytes. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Use netdev's name for naming VF's interruptsSunil Goutham2016-08-131-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the way VF's irqs are visible in /proc/interrupts. Instead of VF id, logical interface's netdev name is used for IRQ naming and also all secondary VF's interrupts in multiqset config use primary VF's netdev name. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Support for 83xx mixed QLM/DLM configSunil Goutham2016-08-132-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83xx has 4 BGX blocks and are enabled mixed QLM/DLM configs. BGX0/BGX1 are from QLM2/QLM3, BGX3 is DLM4 and BGX2 is split across DLM5 & DLM6. This patch adds support for BGX2's split config and also enables all 4 BGXs to be used. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Add support for 16 LMACs of 83xxSunil Goutham2016-08-132-17/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83xx will have 4 BGX blocks i.e 16 LMACs, to avoid changing the same with every platform, nicpf struct elements which track LMAC related info are now allocated runtime based on platform's max possible BGX count. Also fixed configuring min packet size for all LMAC's supported on a platform. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Add RGMII interface type supportSunil Goutham2016-08-136-33/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds RGX/RGMII interface type support to BGX driver. This type of interface is supported by 81xx SOC. CN81XX VNIC has 8 VFs and max possible LMAC interfaces are 9, hence RGMII interface will not work if all DLMs are in BGX mode and all 8 LMACs are enabled Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Add QSGMII interface type supportSunil Goutham2016-08-132-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for QSGMII interface type to the BGX driver. This type of interface is supported by 81xx SOC. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Add 81xx support to BGX driverSunil Goutham2016-08-132-10/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for BGX module on 81xx where a BGX can be split and have different LMACs configured in different modes. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Support for different LMAC types within BGXSunil Goutham2016-08-132-136/+98Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On 88xx all LMACs in a BGX will be in same mode but on 81xx BGX can be split as two and there can be LMACs configured in different modes. These changes move lmac_type, lane2serdes fields into per lmac struct from BGX struct. Got rid of qlm_mode field which has become redundant with these changes. And now no of valid LMACs is read from CSRs configured by low level firmware and figuring out the same based on QLM mode is discarded Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: thunderx: Enable mailbox interrupts on 81xx/83xxSunil Goutham2016-08-131-38/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88xx has 128 VFs, 81xx has 8 VFs and 83xx will have 32VFs. Made changes to PF driver such that mailbox interrupt enable registers are configuired based on number of VFs HW supports. Also cleanedup mailbox irq handler registration code. Signed-off-by: Sunil Goutham <sgoutham@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>