aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '24-drivers-net'HEADmasterWingMan Kwok2015-03-108-152/+555
|\
| * net: keystone: add missing statistics for k2l and k2eWingMan Kwok2015-03-101-30/+278
| | | | | | | | | | | | | | | | This patch adds the missing statistics for k2l and k2e. It also removes the ones that are not defined for these platforms. Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
| * net: keystone: add support of setting hw address liveWingMan Kwok2015-03-106-28/+128
| | | | | | | | | | | | | | | | | | This patch adds support of setting hw address live. When doing so, the netcp needs to update the lower modules cpsw and pa to update their database accordingly, i.e. setting up their receive filters. Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
| * net: keystone: add support of additional 1G sgmii mode configurationsWingMan Kwok2015-03-104-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support of 3 1G sgmii mode configurations 1. MAC-to-PHY master (SGMII_LINK_MAC_PHY_MASTER) 2. MAC-to-PHY master NO MDIO (SGMII_LINK_MAC_PHY_MASTER_NO_MDIO) - SGMII is in master mode and auto-nego enabled - use this mode to work around link down/up issue observed on K2E/L. - these 2 modes supports only gigabit fullduplex connections. 3. MAC-to-MAC Auto-negotiation Slave (SGMII_LINK_MAC_MAC_AN_SLAVE) - When connected 2 EVMs back-to-back and one side is configured as MAC-to-MAC Auto-negotiation master the other side needs to be configured as auto-nego slave. Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
| * net: keystone: clean up slave port configurationsWingMan Kwok2015-03-104-90/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In multi-if mode: When MDIO/PHY is enabled, carrier on/off is reported to upper layer by the phy state machine, hence cpsw driver needs to report carrier on/off when the link interface type is other than MAC-to-PHY. Also, in the MAC-to-PHY case, in addition to checking the sgmii link status register, cpsw driver needs to check the bit that corresponds to the phy connected to the slave port in the phy link state variable in netcp in order to conclude the sgmii link status. Only when both of these two statuses show an up state can the cpsw driver conclude the link is up. Before this patch, it checks the aggregated value of the phy link state variable. In the case of MAC-to-MAC, the cpsw driver is responsible to report the carrier on/off status to upper layers. Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
* | Merge branch 'v3.10.61/rebuild/24-drivers-net' into v3.10.61/masterMurali Karicheri2015-03-092-9/+59
|\|
| * net: keystone: store network statistics in 64 bitsMichael Scherban2015-03-092-9/+59
| | | | | | | | | | | | | | | | | | Previously the network statistics were stored in 32 bit u_ints which can cause some stats to roll over after several minutes of high traffic. This implements 64 bit storage so larger numbers can be stored. Signed-off-by: Michael Scherban <m-scherban@ti.com>
* | Merge branch 'master/rebuild/24-drivers-net' into master/masterReece R. Pollack2015-02-272-13/+142
|\|
| * net: keystone: Add TX queue depth resizing to NetCP QoSReece R. Pollack2015-02-272-13/+142
| | | | | | | | | | | | | | | | | | | | | | This patch makes the TX queue depths (really the number of DMA descriptors available) visible and modifiable in sysfs. This also exposes queue name and device multi-interface mode. This patch provides these features in the NetCP QoS module ONLY, and does not apply to other NetCP modules (PA, SA, etc). Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | Merge branch 'master/rebuild/24-drivers-net' into master/masterK2_LINUX_03.10.61_15.02v3.10.61/masterReece R. Pollack2015-02-241-126/+1
|\|
| * Revert "net: keystone: Add TX queue depth resizing to NetCP QoS"Reece R. Pollack2015-02-241-126/+1
| | | | | | | | | | | | | | This feature was not intended for the current release, and thus is being reverted. It will appear in the next release. This reverts commit 7710b4b7519ec0162d18fce7d85f6b22dd07fc7f.
* | Merge branch 'master/rebuild/24-drivers-net' into master/masterReece R. Pollack2015-02-241-1/+126
|\|
| * net: keystone: Add TX queue depth resizing to NetCP QoSReece R. Pollack2015-02-241-1/+126
| | | | | | | | | | | | | | | | | | | | | | This patch makes the TX queue depths (really the number of DMA descriptors available) visible and modifiable in sysfs. Also exposed queue name and device multi-interface mode. This change affects ONLY the NetCP QoS module, and does not apply to other NetCP modules (PA, SA, etc). Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | Merge branch 'master/rebuild/20-firmware' into master/masterReece R. Pollack2015-02-2420-4746/+5237
|\ \
| * | firmware: keystone: Update NetCP PA PDSP firmware to 3.0.1.4Reece R. Pollack2015-02-2420-4746/+5237
| | | | | | | | | | | | | | | | | | This patch updates the NetCP PA PDSP firmware to rev 3.0.1.4. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | | Merge branch 'master/rebuild/24-drivers-net' into master/masterReece R. Pollack2015-02-166-268/+125
|\ \ \ | | |/ | |/|
| * | net: keystone: Remove NetCP CPSW ALE VLAN configurationReece R. Pollack2015-02-164-155/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An early implementation of the NetCP CPSW module configured the Address Lookup Engine (ALE) to be VLAN-aware. This was later determined to be undesirable, and the VLAN-aware bit in the ALE Control register was changed to 0. However, the code to configure VLAN-specific entries remained. This patch removes this unneeded code, and addresses a NULL pointer dereference in the process. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
| * | net: keystone: Fix memory leak in CPSW ALE configurationReece R. Pollack2015-02-163-59/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch, the CPSW ALE context was created when the first interface on a device was opened, but it was not destroyed when the last interface was closed (it was stopped instead). This resulted in a memory leak. This patch corrects this. Also, the ALE Slaves were being shut down after the ALE context was being destroyed. This could result in a NULL pointer reference. This patch fixes this too. Finally, the ALE reference count in keystone_xgess.c was a non-atomic integer, while the other modules used an atomic. This patch fixes this and includes some minor restructuring so the code looks more like the other two modules. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
| * | net: keystone: Remove erroneous dmaengine_pause calls in PA shutdownReece R. Pollack2015-02-162-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes erroneous calls to dmaengine_pause() in the NetCP PA shutdown sequence. This function should be called to stop DMA completion notifications that would trigger later dma_poll() calls from a softIRQ or tasklet. If the interrupt is to be serviced from the notifier routine, then we should not be pausing the channel even if we're shutting it down. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
| * | net: keystone: k2e k2l changes paired with k2hkWingMan Kwok2015-02-161-53/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch pairs some changes made for k2hk in two commits before but not on k2e and k2l. Original k2hk commit logs: net: keystone: Don't re-initialize CPSW host port and ALE Prior to this patch, every time an interface was brought up the CPSW host port and a number of ALE configurations were re- initialized. This is unnecessary and interferes with some uses of the CPSW by DSPs. This patch causes the CPSW host port and ALE to be configured only when the first interface on the CPSW is brought up. Note that if all of the interfaces on the CPSW are brought down, the clocks driving the CPSW (and other parts of the NetCP) are shut off for power consumption, which is assumed to cause a loss of configuration. Thus the CPSW must be re-initialized when the first interface is brought back up. net: keystone: Clean up network interface shutdown This patch also asserts SGMII RTRESET during shutdown to avoid having the hardware wedge when shutting down with high incoming traffic rates. This is cleared when the interface is brought back up. Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
* | | Merge branch 'master/rebuild/23-drivers-dmaengine' into master/masterReece R. Pollack2015-02-161-2/+5
|\ \ \
| * | | dma: keystone: Fix memory leak freeing DMA descriptorsReece R. Pollack2015-02-161-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corrects a memory leak when freeing software DMA descriptors. The loop containing the error was intended to identify any hardware DMA descriptors which did not get freed by the previous loop, but do to missing braces ({..}) it always set "leaked" to "true" which prevented the software descriptor array from being freed. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | | | Merge branch 'master/rebuild/22-drivers-hwqueue' into master/masterReece R. Pollack2015-02-162-4/+25
|\ \ \ \
| * | | | hwqueue: Fix race in disabling interrupt notificationsReece R. Pollack2015-02-162-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch, there existed a race condition between disabling of notifications in hwqueue_disable_notifier() and hwqueue_notify(). In this race, the delivery of an interrupt after the notifier was marked disabled but before disabling the interrupt would result in the interrupt service routine not calling the notifier function. Thus the interrupt persists which prevents or severely delays the disabling of the interrupt. This patch synchronizes the entire notifier disable sequence against the delivery of an interrupt notification by the use of a spinlock. Synchronization is also provided against the enable sequence. Note that the use of atomic operations does not suffice in this situation. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | | | | Merge branch 'master/rebuild/01-upstream' into master/masterReece R. Pollack2015-02-045-3/+59
|\ \ \ \ \
| * | | | | net: Fix skb->protocol setting for mixed IPsec tunnelsReece R. Pollack2015-02-042-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When processing fragmented packets in a mixed-protocol tunnel (i.e. IPv6 inner and IPv4 outer, or IPv4 inner and IPv6 outer), the skb->protocol field is being set to the wrong value. This patch sets the skb->protocol value according to the IP header version of the packet it's carrying. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
| * | | | | net: Add IPv4 ICMP support to GSOReece R. Pollack2015-02-043-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for IPv4 ICMP to Generic Segementation Offload. This permits inner fragmentation of ICMP packets sent over certain IPsec tunnels, rather than requiring fragmentation of the over-sized IPsec packets. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | | | | | Merge branch 'master/rebuild/20-firmware' into master/masterReece R. Pollack2015-02-0316-3861/+3850
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | firmware: keystone: Update NetCP PA 3.0.1.3 firmware (several bugfixes)Reece R. Pollack2015-02-0316-3861/+3850
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the NetCP PA firmware rev 3.0.1.3 to help address several bugs reported in the LLD (DSP) software. Signed-off-by: Reece R. Pollack <x0183204@ti.com>
* | | | | | Merge branch 'v3.10.61/rebuild/24-drivers-net' into v3.10.61/masterMurali Karicheri2015-01-302-0/+10
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | net: keystone: disable slave port state on ifdownMurali Karicheri2015-01-302-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the slave port state is not updated when interface is brought down. This patch fixes this. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
* | | | | | Merge branch 'v3.10.61/rebuild/12-keystone-machine' into v3.10.61/masterMurali Karicheri2015-01-301-0/+26
|\ \ \ \ \ \
| * | | | | | ARM: keystone: add a work around to handle external abortMurali Karicheri2015-01-301-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently on some devices, an async external abort happens first time exception handlers are enabled in kernel before switching to user space. This patch add a workaround to handle this once and allow any subsequent faults to be caught by the handler. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
* | | | | | | Merge branch 'v3.10.61/rebuild/24-drivers-net' into v3.10.61/masterMurali Karicheri2015-01-222-5/+8
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | net: keystone: ale: fix sysfs attribute issue when debug options are enabledMurali Karicheri2015-01-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when CONFIG_DEBUG_LOCKDEP is enabled, following errors are thrown by the kernel. "BUG: key ebc25d10 not in .data!" This patch fixes this issue by using sysfs_attr_init() to initialize the dynamically allocated attributes. Kernel otherwise expects this to be declared statically and passed to device_create_file(). Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
| * | | | | | net: keystone: Update NetCP PA2 PDSP constant for 3.0.1.3 firmwareMurali Karicheri2015-01-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update the constant to match with 3.0.1.3 Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
* | | | | | | Merge branch 'v3.10.61/rebuild/20-firmware' into v3.10.61/masterMurali Karicheri2015-01-2220-305/+306
|\ \ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| * | | | | | firmware: keystone: Update NetCP PDSP firmware to 3.0.1.3Murali Karicheri2015-01-2220-305/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the NetCP PDSP firmware to rev 3.0.1.3. It requires a companion patch to update the PA2 PDSP constants. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
* | | | | | | Merge branch 'v3.10.61/rebuild/12-keystone-machine' into v3.10.61/masterMurali Karicheri2015-01-221-1/+1
|\ \ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| * | | | | | ARM: keystone: allow FORCE_MAX_ZONEORDER to be configurable on KeystoneMurali Karicheri2015-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently adding CONFIG_FORCE_MAX_ZONEORDER option in defconfig doesn't change the MAX_ZONEORDER used in defconfig. User require tuning of this on a target board. So fix this. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
* | | | | | | arm: keystone2: add default config and DTS for recovery kernelVitaly Andrianov2015-01-212-0/+1613
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | arm: keystone2: kexec: change load address for recovery kernelVitaly Andrianov2015-01-213-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recovery kernel has to be loaded in to the different address. Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | arm: keystone2: defconfig: enable KEXEC and CRASH_DUMPVitaly Andrianov2015-01-212-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the KEXEC and CRASH_DUMP by default Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | arm: keystone2: use ks2 aliased physical address for cpu_resetVitaly Andrianov2015-01-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KS2 system uses physical addresses outside of first 4GB memory range. Once the cpu_reset() disables MMU that memory cannot be used. To let the cpu_reset() successfully restart CPU we need to run it from KS2 aliased memory address space. Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | arm: keystone2: kexec: convert physical to aliased addresses and backVitaly Andrianov2015-01-214-19/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts physical addresses and pages that are used for kexec functionality to the corresponding aliased addresses and pages. It is required because: - Keystone2 SoC DDR3 addresses are outside the first 4GB of address range. In order to access the first 4GB of the memory on boot time before enabling MMU HW provide memory range aliasing (See KS2 TRM for details). Before rebooting the kernel we need to convert all physical addresses, which are used by recovery kernel to the corresponding aliased values. - Before enabling MMU ARM uses 32 bit addresses. Even if we need a real physical address instead of aliased one, we still convert it to aliased address in the working kernel and restore back to physical in the recovery kernel. - kexec user utility uses 32 bit variables to pass addresses to the kernel. So, we have to use aliased addresses as well and convert them to physical in kernel Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | Merge branch '15-dts' into master2Vitaly Andrianov2015-01-201-0/+8
|\ \ \ \ \ \ \
| * | | | | | | keystone: dts: add psci command definitionVitaly Andrianov2015-01-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds definition for cpu_on, cpu_off and cpu_suspend commands. These definitions must match the corresponding PSCI definitions in boot monitor. Having those command and corresponding PSCI support in boot monitor allows run time CPU hot plugin. Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | | Merge branch '13-defconfig' into master2Vitaly Andrianov2015-01-202-10/+8
|\ \ \ \ \ \ \ \
| * | | | | | | | ARM: keystone: defconfig: add ARM_PSCI and HOTPLUG_CPU supportVitaly Andrianov2015-01-202-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
* | | | | | | | | Merge branch '12-mach' into master2Vitaly Andrianov2015-01-201-13/+24
|\ \ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | |