summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2013-07-18fmd: fix ambiguity with naming of ports in sysfsMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> ENGR00258538 Change-Id: If05f2a070c35c9884782d879566b04f40accfab8 Reviewed-on: http://git.am.freescale.net:8181/3295 Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-18fmd: exposed muram free size through sysfsMandy Lavi
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: I69b5d2f92045daa71fd8dd6765596397fe736ef5 Reviewed-on: http://git.am.freescale.net:8181/3292 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-18dpa_offload: Add DPA Stats driver support for udev devicesAurelian Zanoschi
The device file in the file system is created automatically at init by the driver without need of any mknod commands. Change-Id: Ib0d5d4a47d3e92ec3d7a8813223017e0c24503a5 Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2881 Reviewed-by: Varvara Andrei-B21317 <andrei.varvara@freescale.com> Reviewed-by: Floarea Anca Jeanina-B12569 <anca.floarea@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Bulie Radu-Andrei-B37577 <Radu.Bulie@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-12Put the PCI specific code in the PAMU driver under CONFIG_PCI.Varun Sethi
This fixes the problem where the kernel build breaks, when PCI support is disabled. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: I698626ec0a40ba81ef132890bc339c6be10d8673 Reviewed-on: http://git.am.freescale.net:8181/3282 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-11dpaa_eth: Handle buffer pool depletionIoana Radulescu
If the system gets into an out-of-memory state, we are unable to refill the default buffer pool with new buffers. While this lasts, just release any incoming frame back to the pool without further processing. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Ia7fe59c44aa371f81540b45d197aef896b6d6b3a Reviewed-on: http://git.am.freescale.net:8181/3050 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-11dpa_offload: Switch DPA Classifier from using fmd/crc64 to using lib/crc64Marian Chereji
The DPA Classifier is computing a CRC64 ECMA by using the Frame Manager driver. Because the CRC64 ECMA generic module was recently accepted in linux/lib it will now use this CRC64 module instead of the implementation from FMan driver. Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: I97acd884302d7ab53ec78b045dd5978da2bf904a Reviewed-on: http://git.am.freescale.net:8181/3257 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-11dpa_offload: Fix function free_resources to take in account errorsAnca Jeanina FLOAREA
Function free_resources was not taking in account error codes returned by free_cnts_resources and free_reqs_resources functions. In case an error occurred, function should be exited, so that the DPA Stats structure is not released. Signed-off-by: Anca Jeanina FLOAREA <anca.floarea@freescale.com> Change-Id: I74800a38f52634ca1e38e1d68d5637a4480bf525 Reviewed-on: http://git.am.freescale.net:8181/2967 Reviewed-by: Zanoschi Aurelian-B43522 <Aurelian.Zanoschi@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-11dpa_offload: Improve error logging in DPA ClassifierMarian Chereji
The same error logging and display functions should be used all over the DPAA offloading drivers. "pr_err" calls were replaced with the newer "log_err" macros in DPA Classifier. Change-Id: I170b52ea716a5c0a5cae83a20e42a52fa55c8659 Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3008 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bulie Radu-Andrei-B37577 <Radu.Bulie@freescale.com> Reviewed-by: Zanoschi Aurelian-B43522 <Aurelian.Zanoschi@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-11dpa_offload: Add protection against concurrent HM ops runtime modificationsMarian Chereji
When modifying a header manipulation operation at runtime, the DPA Classifier uses the FMD call FM_PCD_ManipNodeReplace. This function locks the entire PCD and will fail if the PCD is already locked (it is not a blocking function). The parallel access protection mechanism in DPA Classifier would only protect against parallel access ON THE SAME MANIP NODE. It used to ALLOW parallel access on DIFFERENT HM nodes, but this will fail due to the locking system in the FMD. This patch updates the locking mechanism in DPA Classifier for the HM runtime modification functions so that a single call to FM_PCD_ManipNodeReplace can happen at any one time. Change-Id: I833b96e177e57f76d109ec000bd34c603df5ba71 Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3007 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bulie Radu-Andrei-B37577 <Radu.Bulie@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-06dpa_offload: Add support for header manipulation on DPA Classifier ↵Marian Chereji
next_table action The DPA Classifier API did not allow the user to add header manipulation on an entry whose action was sending the frames to a new classification table. This change adds this support to the DPA Classifier by adding an "hmd" (header manipulation descriptor) attribute to the "dpa_cls_tbl_next_table_desc" parameters structure. Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: I126cdfad8e76a8bec4453c8f7b506ad3380349e2 Reviewed-on: http://git.am.freescale.net:8181/3106 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Added the implementation for Traffic Manager counter into DPA StatsAurelian Zanoschi
Added the Traffic Manager counter implementation into DPA Stats component. For getting the Class Queue or the Class Congestion Group counter values, the component will call QMan functions qman_ceetm_cq_get_dequeu_statistics, respectively qman_ceetm_ccg_get_reject_statistics. For both Traffic Manager Class or Congestion Group the values returned can be the number of bytes or the number of frames dequeued from a Class Queue, respectively rejected in all Class Queues that belong to the Congestion Group. Change-Id: I3d1e0b0c5a2e206de68d5745e02727b0e2aa0fad Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2877 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpaa_eth: Fix pool counters on error pathBogdan Hamciuc
When system memory is depleted, the Rx buffers are put back into their pool. Bad accounting on that error path made it so the software software counters remained behind the hardware counters, eventually allowing for negative totals. Fix this and keep the software pool counters in sync with the hardware counters. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I46191bc38f12aa6a25378eba3e5891bc3f18cbc6 Reviewed-on: http://git.am.freescale.net:8181/3049 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Fix memory leak when plcr allocation failedAnca Jeanina FLOAREA
In function store_policy_param_to_sa_pol_list in case memory allocation of plcr failed, then the memory occupied by pol_entry needs to be released. Signed-off-by: Anca Jeanina FLOAREA <anca.floarea@freescale.com> Change-Id: I88fd3ba1403b6af4d41d06ebd179219db9b84420 Reviewed-on: http://git.am.freescale.net:8181/2970 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Fix memory leaks for Classifier countersAnca Jeanina FLOAREA
For compat mode, the DPA Stats wrapper needs to allocate kernel-space memory to store the keys provided by the user-space application. After the driver call was successful, the memory must be released. Signed-off-by: Anca Jeanina FLOAREA <anca.floarea@freescale.com> Change-Id: I489a73896f50da125e331dea6e459703cbdd2e76 Reviewed-on: http://git.am.freescale.net:8181/2986 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Zanoschi Aurelian-B43522 <Aurelian.Zanoschi@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Added checks for dpa stats user provided paramsAurelian Zanoschi
Added extra checks for user provided params at counter creation to avoid DPA Stats driver getting stuck. Change-Id: Ic1cef09937217529c34d9b8dfc1c608fe93c195d Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2876 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Improved error messages with runtime information in DPA StatsAurelian Zanoschi
Updated all error messages from dpa_stats component by using the new macro's (log_err and log_warn) defined in dpa_offload. Added additional runtime information related to the counters that reported the error like counter id or member index for class counters Change-Id: Ib13652905bbbcb1da37385aa750d361452d7c09d Signed-off-by: Aurelian Zanoschi <Aurelian.Zanoschi@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2875 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Add udev support for dpa_classifierMarian Chereji
Added udev support so that the device file /dev/dpa_classifier gets created automatically at boot up instead of the user needing to create it manually using mknod commands. Change-Id: Icb2212a3232fe7eddba750617059f8d8b0ba87b5 Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3009 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Varvara Andrei-B21317 <andrei.varvara@freescale.com> Reviewed-by: Zanoschi Aurelian-B43522 <Aurelian.Zanoschi@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Add support for udev in DPA IPsec WrapperAndrei Varvara
the device file for ipsec character device is now created by udev deamon. Change-Id: I3ec41cbe2347c6f2b1d5e9e30c45d77e76dc9a38 Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/3016 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-07-05dpa_offload: Fix l2_hdr_size correct usageAnca Jeanina FLOAREA
Function build_extended_encap_shared_descriptor had the fourth parameter as an uint8_t, but it must be uint32_t in order to store the l2_hdr_size. Signed-off-by: Anca Jeanina FLOAREA <anca.floarea@freescale.com> Change-Id: Iabcdc3f80aa372a695385d3d39f1759647651792 Reviewed-on: http://git.am.freescale.net:8181/2969 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Varvara Andrei-B21317 <andrei.varvara@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-15Revert "fmd: Conditionally set default MAX_FRAME_SIZE"Bogdan Hamciuc
The initial patch was meant to allow the user to set any MTU she desires without rebooting the system and changing the kernel bootargs. This however led to problems when the user would manually choose FSL_DPAA_ETH_OPTIMIZE_FOR_IPFWD, because the default MAX_FRAME_SIZE=9600 would remain selected and this wasn't all that obvious. Reverting to the previous config selection is the best choice now. This reverts commit 68dbabbdb1e28169a372530ca3712c3b63296322. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I71499e9b86f8909d049ff4347c4fe035e67d704a Reviewed-on: http://git.am.freescale.net:8181/2971 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
2013-06-15dpaa_eth: Switch compile-time default optimizationBogdan Hamciuc
Move back to the "optimize for IPFWD" compile-time choice. This effectively reverts commit id 692f5140. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I9735f489789b7568ae6f6137387d01a92bec9ee2 Reviewed-on: http://git.am.freescale.net:8181/2972 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Schmitt Richard-B43082 <B43082@freescale.com> Tested-by: Schmitt Richard-B43082 <B43082@freescale.com>
2013-06-11fmd,dpaa_eth: Selectively reenable FMan allocation algorithmBogdan Hamciuc
On P3/P4/P5 platforms, as well as on P1023, FMan's default resource allocation values are not enough to enable jumbo frame forwarding in the absence of SG support. Enable the (previously deselected) FMan dynamic resource allocation algorithm on those platforms, if the legacy DPAA-Ethernet driver (missing SG support) is used. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I6dfc9e2c624c123febfc4d2cbe8fe1fda660525d Reviewed-on: http://git.am.freescale.net:8181/2929 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Lavi Mandy-R52568 <Mandy.Lavi@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-11dpaa_eth: Fix endless loop in case of memory depletionBogdan Hamciuc
Check the return value from the buffer-allocating function, in order to prevent looping forever if memory depletes. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Ia321b33ebb38012679248ae4905d4dafaa8efd7d Reviewed-on: http://git.am.freescale.net:8181/2928 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-07Fix RaidEngine error status 3000000 issue.Xuelin Shi
When multi flows get into fsl_re_jr_dequeue(...), there is race condition issue about the hardware register writing. Move it into the locked area. Signed-off-by: Xuelin Shi <b29237@freescale.com> Change-Id: I8eb019b4433eab05cf96261326f7e4c1790ff6c6 Reviewed-on: http://git.am.freescale.net:8181/2901 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Li Yang-R58472 <LeoLi@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-07dpaa_eth: Set a fixed upper limit for recycleable buffer sizeIoana Radulescu
Until now we considered a buffer recycleable if its size didn't exceed the buffer pool size by more than a certain amount. Recent changes in the stack however allow the allocation of skb buffers much larger than the requested size, which impacts our ability to recycle forwarded frames, especially when jumbo frame support is enabled. Make the recycling size upper limit a fixed and sufficiently large value, regardless of the default size of the buffer pool, in order to simplify recycling logic and guard against unfavourable cases. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I311903357335492e821f51fac8a448d67fd73433 Reviewed-on: http://git.am.freescale.net:8181/2899 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-07dpaa_eth: Fix computation of cache paddingIoana Radulescu
When computing the padding between the beginning of a FD buffer and the head of the skb associated to it, we wrongly assume that this padding is always lower than PAGE_SIZE. In ip forward scenarios with jumbo frames support enabled and Rx extra headroom not zero, the above assumption is proven incorrect. Properly compute the padding size in order to avoid skb corruption. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I24f08e3cc782a73cbd12d99445c326c530e3d8f2 Reviewed-on: http://git.am.freescale.net:8181/2898 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-07crypto: caam - Implement QI driver context updateVakul Garg
On a crypto transform, a setkey() operation can be performed multiple times e.g. when keys are changed. These requires updation of shared descriptor in caam_qi driver. The shared descriptor in case of QI driver is maintained inside driver context and it is prefixed with pre-header. When shared descriptor is updated by the driver application, it needs to be copied again into driver context and pre-header should also be updated. With this patch, the caam_qi driver provides new api caam_drv_ctx_update(). The caam_qi driver application has been updated to call this api when setkey() operation changes shared descriptor. Change-Id: Ice6065ac9461e2d7af2e19a8a8c6d2ad8b5394b8 Signed-off-by: Vakul Garg <vakul@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2847 Reviewed-by: Varvara Andrei-B21317 <andrei.varvara@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-06fmd: B4/T4: Changed allocation of liodnBase to the Host CommandMandy Lavi
Changed allocation of liodnBase to the Host Command. For Fmanv3 platforms the first (index 1) Offline Port is not used therefore the liodnBase should be set starting with index 2 not 1 CR:ENGR00261726 Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
2013-06-06dpaa_eth: Fix Tx/TxConfirm initialization bugBogdan Hamciuc
Due to a bad iterator, the Txq initialization logic mangled the Tx queues settings and their respective Tx Confirmation FQs assignments. Aside from the obvious structural problem, this created a nasty imbalance in transmit and confirmation FD processing, resulting in sustained degradation of termination use-cases. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: Id28a8499c16405d7d4df5d2e66f1ece241409144 Reviewed-on: http://git.am.freescale.net:8181/2861 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-05dpa_offload: Add required interfaces for IPsec offloading USDPAA use-caseMarian Chereji
The ipsec_offload application needs 2 Mac-less interfaces and 2 physical Ethernet interfaces in usdpaa. Signed-off-by: Alexandru Badicioiu <b15898@freescale.com> Signed-off-by: Marian Chereji <marian.chereji@freescale.com> Change-Id: I7da4a92f72faa78cd4fb2d2cbaf2ab56b3aaf88c Reviewed-on: http://git.am.freescale.net:8181/2864 Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-06-03crypto: caam/qi - return 0 for success in alloc_cgrsHaiying Wang
Otherwise, unexpected cgrid releases and cgr delete will happen, which leads to cgr leaking issue later. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Change-Id: I468653655bcd4c9aa2528ea99d25b13b2d664223 Reviewed-on: http://git.am.freescale.net:8181/2824 Reviewed-by: Garg Vakul-B16394 <vakul@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-31powerpc/dpaa: workaround of fixed-linkShaohui Xie
fixed-link does not work in 3.8.x, to make XFI work which has no PHY, it's actually not necessary to use fixed-link, otherwise there will be more work and code changes to make fixed-link work in 3.8.x. For now, if driver does not find the phy_node of MAC, just set the mac_dev->phy_dev = NULL and return 0; we can get XFI work and this won't break other ethernet ports. It's only for SDK1.4, if we decide to bring fixed-link back, it can be done after SDK1.4. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Change-Id: I930edbe76f5d739f7d6565d3a7f8a3aabf224db0 Reviewed-on: http://git.am.freescale.net:8181/2797 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Zang Tiefei-R61911 <tie-fei.zang@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-31dpaa_eth: Create TxConf FQs with HOLDACTIVE flagBogdan Hamciuc
Tx Confirmation FQs tend, with originating traffic, to generate a high number of portal interrupts. A machine doing only TCP transmits may well end up having more portal interrupts than its Rx peer. By setting the HOLDACTIVE flag on the Tx Confirmation FQs, we significantly reduce the number of portal interrupts in termination tests. The quantitative effect is anywhere between 2% and 4% on Tx-mainly cores (most visible in UDP_STREAM tests, least visible on TCP_STREAM). Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I54e2e8287f72da0cfe231af91c624be805ddee17 Reviewed-on: http://git.am.freescale.net:8181/2815 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-31eSDHC: Revert: Remove Quirks for Multi block read and timeoutHarninder Rai
For BSC9132QDS platform, once Quirk related strings are corrected in device tree, the current mmc driver takes care of setting them. Signed-off-by: Harninder Rai <harninder.rai@freescale.com> Signed-off-by: Vijay Rai <vijay.rai@freescale.com> Signed-off-by: Naveen Burmi <naveenburmi@freescale.com> Change-Id: I46eb23eb234b40e0656637ce85d62debc0633a43 Reviewed-on: http://git.am.freescale.net:8181/2811 Reviewed-by: Zhang Haijun-B42677 <haijun.zhang@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Xie Xiaobo-R63061 <X.Xie@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-31dpa_offload: use the SEC Era information from the device treeAndrei Varvara
removed usage of deprecated function caam_get_era SEC Era available in the device tree Signed-off-by: Andrei Varvara <andrei.varvara@freescale.com> Change-Id: I4e4bff72a9f0dccd80b17bb11d9a782decb1315a Reviewed-on: http://git.am.freescale.net:8181/2745 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Floarea Anca Jeanina-B12569 <anca.floarea@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-31dpaa_eth: Increase maximum allowed size for buffer recycleIoana Radulescu
There is an upper limit for the size of a recycleable skb, in order to prevent unbounded growth of the recycled buffers. This limit was however too strict and could prevent recycling for some of the skbs found on the ipforward path. Relax the recycling condition, such as to also account for internal buffer padding, skb alignment padding and sh_info size. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: I0f0b8a48a564657dd107661d6bb5ad474ce8a7a8 Reviewed-on: http://git.am.freescale.net:8181/2807 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-30[PATCH v3] iommu/fsl: Modify PAMU access violation handler.Varun Sethi
Don't panic in case of an access violation, just disable the LIODN. Also, handle the hardware errata where access violation can be generated in case of an invalid LIODN. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: Ia6be04bf158cf6b722564c5ae690fba2b511d5f3 Reviewed-on: http://git.am.freescale.net:8181/2790 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Wood Scott-B07421 <scottwood@freescale.com> Reviewed-by: Yoder Stuart-B08248 <stuart.yoder@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-30iommu/fsl : Enable PAMU window for all possible LIODNSVarun Sethi
The "enable_rmaining_liodn" function opens the PAMU window for all possible LIODN values. This provides a workaround to the bug in u-boot, where it fails to program LIODN values (in device tree), for cases where packet frame descriptors from FMAN can be enqueued directly to hardware blocks like SEC and RMAN. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: I454d37dc7b7bc5bc74de0af815e19eb2796937b8 Reviewed-on: http://git.am.freescale.net:8181/2789 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bulie Radu-Andrei-B37577 <Radu.Bulie@freescale.com> Reviewed-by: Yoder Stuart-B08248 <stuart.yoder@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-30eSDHC: Add Quirks for Multi block read and timeoutHarninder Rai
On BSC9132QDS platform, continuous error messages come on linux because of errata related to multi block read and ACMD timeout This patch adds SDHCI_QUIRK_BROKEN_TIMEOUT_VAL and SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirks to fix this issue Signed-off-by: Harninder Rai <harninder.rai@freescale.com> Change-Id: Ie59a954af2c895f86c58a16cdc8865f8f558c5bb Reviewed-on: http://git.am.freescale.net:8181/2793 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-30dpaa_eth: export interface type in sysfsCristian Sovaiala
For Mac-less interfaces we also export the index of the interface so that it can be used in udev rules for interface renaming. Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com> Change-Id: I522c563ff876cf8c59aad492b057fe91b1f601f5 Reviewed-on: http://git.am.freescale.net:8181/2783 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Hamciuc Bogdan-BHAMCIU1 <bogdan.hamciuc@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29fsl_bman: remove the extra kmalloc which causes memleakHaiying Wang
because the later pointer assignments overwrite the results of the kmalloc. This memleak can be detect after turning on kernel memleak detector. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Change-Id: If21cc0f8084271d9fe6f73e51dd3ad200ebdad67 Reviewed-on: http://git.am.freescale.net:8181/2747 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Pledge Roy-R01356 <roy.pledge@freescale.com> Reviewed-by: Thorpe Geoff-R01361 <Geoff.Thorpe@freescale.com> Reviewed-by: Ladouceur Jeffrey-R11498 <Jeffrey.Ladouceur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpaa_eth: Differentiate printouts from the Error FQBogdan Hamciuc
Print messages with error FD codes were identical on the Rx Default and Rx Error paths. Add a small text differentiator on the Rx Error path. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I5a1367e2a25df6117ca5454b77862a42714a3112 Reviewed-on: http://git.am.freescale.net:8181/2760 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29fmd: Conditionally set default MAX_FRAME_SIZEBogdan Hamciuc
FSL_FM_MAX_FRAME_SIZE used to be conservatively set to 1522, to accomodate the driver without S/G support. But in fact the default value should depend on whether S/G support is available or not. Using 9600 as the default max frame size, if S/G support is available in the DPAA Ethernet driver. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I82d4c0b41f4a46e3464eb4d64239bb3d4a4158dc Reviewed-on: http://git.am.freescale.net:8181/2759 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpaa_eth: Minor optimization to _dpa_cleanup_tx_fd()Bogdan Hamciuc
Factor number of skb fragments out of the for loop. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I750ebee25d92a9a609e1f17187c1e999d179836b Reviewed-on: http://git.am.freescale.net:8181/2758 Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpaa_eth: Use page fragment for egress SGT bufferBogdan Hamciuc
Fragmented skbuffs are wrapped in SG frames before being enqueued to FMan's Tx port. A new buffer needs to be allocated on Tx (and freed on Tx Confirm) to contain the SGT. Up until now, this buffer was one full page. Using the page fragment APIs to get smaller buffers for the SGT. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I1da07141b119ca431e276025d833178cd73a1077 Reviewed-on: http://git.am.freescale.net:8181/2757 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpaa_eth: Reshuffle struct dpa_priv_sBogdan Hamciuc
Reorder fields in struct dpa_priv_s, based on the frequency of access on the hotpaths. Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I06a97e6a647b44a5b398c4dd759460175e1b6bba Reviewed-on: http://git.am.freescale.net:8181/2756 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpaa_eth: Remove unused dpa_priv_s argumentBogdan Hamciuc
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com> Change-Id: I5a8f34a48fe549d00a49270fa1b0442ead3bf5fa Reviewed-on: http://git.am.freescale.net:8181/2755 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29dpa_offload: Fix compilation issue for storage profile id parameterRadu Bulie
For FMAN versions lower than 3, storage profile is not avalilable. This patch adds the DPAA_VERSION flag to eliminate the compiling errors. Signed-off-by: Radu Bulie <radu.bulie@freescale.com> Change-Id: Ie040d782b5eff06a8cca32fe855938b818ef3875 Reviewed-on: http://git.am.freescale.net:8181/2752 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bulie Radu-Andrei-B37577 <Radu.Bulie@freescale.com> Reviewed-by: Chereji Marian-Cornel-R27762 <marian.chereji@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29crypto: caam - Fixed the memory out of bound overwrite issueVakul Garg
When kernel is compiled with CONFIG_SLUB_DEBUG=y and CRYPTO_MANAGER_DISABLE_TESTS=n, during kernel bootup, the kernel reports error given below. The root cause is that in function hash_digest_key(), for allocating descriptor, insufficient memory was being allocated. The required number of descriptor words apart from input and output pointers are 8 (instead of 6). ============================================================================= BUG dma-kmalloc-32 (Not tainted): Redzone overwritten ----------------------------------------------------------------------------- Disabling lock debugging due to kernel taint INFO: 0xdec5dec0-0xdec5dec3. First byte 0x0 instead of 0xcc INFO: Allocated in ahash_setkey+0x60/0x594 age=7 cpu=1 pid=1257 __kmalloc+0x154/0x1b4 ahash_setkey+0x60/0x594 test_hash+0x260/0x5a0 alg_test_hash+0x48/0xb0 alg_test+0x84/0x228 cryptomgr_test+0x4c/0x54 kthread+0x98/0x9c ret_from_kernel_thread+0x64/0x6c INFO: Slab 0xc0bd0ba0 objects=19 used=2 fp=0xdec5d0d0 flags=0x0081 INFO: Object 0xdec5dea0 @offset=3744 fp=0x5c200014 Bytes b4 dec5de90: 00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ Object dec5dea0: b0 80 00 0a 84 41 00 0d f0 40 00 00 00 67 3f c0 .....A...@...g?. Object dec5deb0: 00 00 00 50 2c 14 00 50 f8 40 00 00 1e c5 d0 00 ...P,..P.@...... Redzone dec5dec0: 00 00 00 14 .... Padding dec5df68: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ Call Trace: [dec65b60] [c00071b4] show_stack+0x4c/0x168 (unreliable) [dec65ba0] [c00d4ec8] check_bytes_and_report+0xe4/0x11c [dec65bd0] [c00d507c] check_object+0x17c/0x23c [dec65bf0] [c0550a00] free_debug_processing+0xf4/0x294 [dec65c20] [c0550bdc] __slab_free+0x3c/0x294 [dec65c80] [c03f0744] ahash_setkey+0x4e0/0x594 [dec65cd0] [c01ef138] test_hash+0x260/0x5a0 [dec65e50] [c01ef4c0] alg_test_hash+0x48/0xb0 [dec65e70] [c01eecc4] alg_test+0x84/0x228 [dec65ee0] [c01ec640] cryptomgr_test+0x4c/0x54 [dec65ef0] [c005adc0] kthread+0x98/0x9c [dec65f40] [c000e1ac] ret_from_kernel_thread+0x64/0x6c FIX dma-kmalloc-32: Restoring 0xdec5dec0-0xdec5dec3=0xcc Change-Id: I0c7a1048053e811025d1c3b487940f87345c8f5d Signed-off-by: Vakul Garg <vakul@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2734 Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-05-29crypto: caam - Fixed memory leak in QI driverVakul Garg
The function caam_drv_ctx_rel() did not release the memory allocated for driver context. Added kfree() for cleanup. Change-Id: If44af08f4be6992f428414ac83c029a79e4de6c6 Signed-off-by: Vakul Garg <vakul@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/2733 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geanta Neag Horia Ioan-B05471 <horia.geanta@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>