- Jul 29, 2020
-
-
Lokesh Vutla authored
When PTP packets are received on ICSS ports, dual_emac firmware record the timestamps and appends the timestamp at the next 32 byte block after the end of packet. Add support for reading this timestamp from packet and pass it to userspace layer. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com>
-
Lokesh Vutla authored
When PTP support is enabled in hsr firmware, the firmware timestamps the ptp packets that are going out via prueth ports. The timestamp value is copied to a shared memory location. After timestamping, a host irq is raised by the firmware as a notification to read the timestamp. Add support for handling this ptp tx irq, read the tx timestamp and pass it to userspace layer. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com>
-
Lokesh Vutla authored
When PTP support is enabled in dual emac firmware, the firmware timestamps the ptp packets that are going out via prueth ports. The timestamp value is copied to a shared memory location. After timestamping, a host irq is raised by the firmware as a notification to read the timestamp. Add support for handling this ptp tx irq, read the tx timestamp and pass it to userspace layer. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com>
-
- Jul 24, 2020
-
-
Grygorii Strashko authored
Fix build warning: k3-udma-glue.c: In function ‘k3_udma_glue_cfg_rx_flow’: k3-udma-glue.c:662:1: warning: label ‘err_ringrx_free’ defined but not used err_ringrx_free: ^~~~~~~~~~~~~~~ Fixes: 6a42ce8a ("dmaengine: ti: k3-udma: Switch to k3_ringacc_request_rings_pair") Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
commit 172d59ec upstream. The mutex_unlock() is missed on error path of psil_get_ep_config() which causes deadlock. Add missed mutex_unlock(). Fixes: 8c6bb62f ("dmaengine: ti: k3 PSI-L remote endpoint configuration") Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Acked-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-
Currently RCT is part of the payload delivered to network stack which is not right. So drop Tag if transparent reception setting is IEC62439_3_TR_REMOVE_RCT. Fixes: a9b8608a ("net: ti: prueth_core: add HSR/PRP driver") Signed-off-by:
Murali Karicheri <m-karicheri2@ti.com> Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com>
-
Fix build warning for the case TI_AM65_CPTS=n Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com>
-
Vignesh Raghavendra authored
Add support for userspace to dump VLAN and Multicast filter table maintained by PRUETH firmware via ethtool IOCTL's register dump interface. This is helpful in debugging issues around these filters. Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com> Acked-by:
Murali Karicheri <m-karicheri2@ti.com> Signed-off-by:
Vignesh Raghavendra <vigneshr@ti.com>
-
- Jul 21, 2020
-
-
Grygorii Strashko authored
This reverts commit c37937f4 . Replaced with LKML version. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
Use lkml dma desc pool api to sync MCU CPSW code to LKML version as max as possible. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
Use lkml dma desc pool api to sync MCU CPSW code to LKML version as max as possible. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
commit 93a76530 upstream. Use lkml dma desc pool api to sync MCU CPSW code to LKML version as max as possible. Used initial LKML commit to identify that code already upstream. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
commit 93a76530 upstream. Add lkml version of dma descriptors pool to sync MCU CPSW code to LKML version as max as possible. Used initial LKML commit to identify that code already upstream. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
commit 38389aa6 upstream. The AM65x SR2.0 MCU CPSW has fixed errata i2027 "CPSW: CPSW Does Not Support CPPI Receive Checksum (Host to Ethernet) Offload Feature". This errata also fixed for J271E SoC. Use SOC bus data for K3 SoC identification and apply i2027 errata w/a only for the AM65x SR1.0 SoC. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
This reverts commit a7a0fbd2 . Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
commit 3d0fda90 upstream. Ensure that critical setting can only be configured when there are no running netdevs - all ports are down. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
commit 7d58d3eb upstream. Skip HW configuration when p0-rx-ptype-rrobin is changed as it will be done by .ndev_open(), Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
commit d6d0aeaf upstream. The MAC SL has to be initialized for each port otherwise am65_cpsw_nuss_slave_disable_unused() will crash for disabled ports. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
commit 51824048 upstream. The pf_p0_rx_ptype_rrobin is global parameter so move its initialization in probe. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Gustavo A. R. Silva authored
commit f362b70b upstream. Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes. Also, remove unnecessary variable _size_. This code was detected with the help of Coccinelle and, audited and fixed manually. Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83 Signed-off-by:
Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
commit a45cfcc6 upstream. The MCU CPSW expected to populate only MDIO device, but follow up patches will add "compatible" property to the MCU CPSW CPTS node which will cause creation of CPTS device and MCU CPSW init failure. Hence, switch to use of_platform_device_create() instead of of_platform_populate() for MDIO device population. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grygorii Strashko authored
commit 93a76530 upstream. Sync MCU CPSW code to LKML version as max as possible. Used initial LKML commit to identify that code already upstream. It will break networking due to binding changes which will be fixed by following patches. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Peter Ujfalusi authored
Instead of separate of_machine_is_compatible() it is better to use soc_device_match() and soc_device_attribute struct to get the PSI-L map for the booted device. By using soc_device_match() it is easier to add support for new devices. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
We only request ring pairs via K3 DMA driver, switch to use the new k3_ringacc_request_rings_pair() to simplify the code. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
In preparation of adding AM64 SoC support separate soc specific initialization and and OF mach data. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
Add new API k3_ringacc_request_rings_pair() to request pair of rings at once, as in the most case Rings are used with DMA channels which required to request pair of rings - one to feed DMA with descriptors (TX/RX FDQ) and one to receive completions (RX/TX CQ). This will allow to simplify Ringacc API users. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Grygorii Strashko authored
Add struct k3_ring *ring->flags to the ring dump. Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com>
-
Peter Ujfalusi authored
Move the free, occ, windex and rinfex under a struct. We can use memset to zero them and it will allow a cleaner way to extend the variables for duplex rings. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
The CAP3 register contains information about the number of HCHAN (High Capacity) and UCHAN (Ultra High Capacity) channels in UDMAP. Based on this information the start indexes of the levels can be calculated without a need of a table in the match data. On am654 the CAP3 does not contain information about the number different channels. Set up the tpl information beased on the available documentation. This change will allow to use the same compatible for different SoCs where the only difference is the number of channel types. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
Add defines for the CAP register fields to make the code self explaining. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
Move the uc->tchan/rchan checks to the IO wrappers itself instead of calling the functions with tchan/rchan directly. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
Instead of using higher level wrappers (udma_rchanrt/tchanrt read/write), use the underlying register access functions directly. This will allow changes in the higher level wrappers within the DMAengine driver. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
The register offsets and functions are the same among TCHAN and RCHAN. Use generic, common names for them. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
The ring_get_occ is redundant as the k3_ringacc_ring_pop() is also checking the occ of the ring. With removing the ring_get_occ, the function can be simplified as well. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
The descriptors are allocated via wither dma_pool or dma_alloc_coherent. There is no need for the dma_sync_singel_* calls. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
commit 5a9377cc upstream. Some of the earlier errors should be sent to the error cleanup path to make sure that the uchan struct is reset, the dma_pool (if allocated) is released and memcpy channel pairs are released in a correct way. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
commit b5b0180c upstream. In the unlikely case when the channel is running (RT enabled) during alloc_chan_resources then we should use udma_reset_chan() and not udma_stop() as the later is trying to initiate a teardown on the channel, which is not valid at this point. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com>
-
Peter Ujfalusi authored
commit 7ae6d7bd upstream. In udma_alloc_chan_resources() if the channel is not willing to stop then the function should return with error code. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200512134519.5642-1-peter.ujfalusi@ti.com Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-
Peter Ujfalusi authored
commit 6fea8735 upstream. The in_ring_cnt is not used for anything, it can be removed. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200512134611.6015-1-peter.ujfalusi@ti.com Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-
Peter Ujfalusi authored
commit 5bbeea34 upstream. The TR mode rx flush descriptor did not had a dma_sync_single_for_device() call to make sure that the DMA see the correct information. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20200512134544.5839-1-peter.ujfalusi@ti.com Signed-off-by:
Vinod Koul <vkoul@kernel.org>
-