summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_dce
AgeCommit message (Collapse)Author
2015-11-02fsl-dce: Handle memory allocation failuresMahammad Ismayilzada
Check for memory allocation failures to protect from null pointer dereferencing Signed-off-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com>
2015-11-02fsl-dce: Correct error paths and add new labelsMahammad Ismayilzada
Correct the order of existing goto labels and add new ones to handle error paths properly for inflation process Signed-off-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com>
2015-05-21dce: Typo correctionMahammad Ismayilzada
slab_scr_128b should be checked for NULL. Signed-off-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com> Change-Id: I51f5b7c96fbee9a0f1baf2340ff97b23caed434e Reviewed-on: http://git.am.freescale.net:8181/36649 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2014-12-11dce: validate input to test moduleJeffrey Ladouceur
The dce_simple_perf_tester module needs to validate input parameter. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ie0dddfb8e23532895e6ec2276f201e3b555fed62 Reviewed-on: http://git.am.freescale.net:8181/22952 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
2014-05-16fsl_dce: add error check in testJeffrey Ladouceur
If there was a error during the process operation the output of zero bytes was still being allocated. This causes a trace to occur in vmalloc. Skip allocating and copying output on error. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ie4f0462902a15aae44a20a7de2478a6488da0e1d Reviewed-on: http://git.am.freescale.net:8181/12426 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-09fsl_dce: Fix broken dce testsJeffrey Ladouceur
The dce test code was broken when focus was placed on bman usage. Fixed test code when using pre-built buffers. Added verbosity level to test cases. Change kernel help api name to explicitly name output buffer as this is consistent with bman api. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I62aae72b5075718180729fe49b62524eea9d28fa Reviewed-on: http://git.am.freescale.net:8181/12099 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
2014-05-06dce flib: force order of operations on valueJeffrey Ladouceur
Expression such as ?: for "value" require value be placed in parenthesis in order to be evaluated first. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I1598785559685acaf30ba970c4603b03b79f4386 Reviewed-on: http://git.am.freescale.net:8181/11629 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-05-01fsl_dce: Add documentation to apisJeffrey Ladouceur
Add documentation to dce APIs Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ib71b500d0d59a64645bdd39d071712d418a5fcb8 Reviewed-on: http://git.am.freescale.net:8181/11729 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-04-28fsl_dce: add stateful performance testJeffrey Ladouceur
Add test that demonstrates fsl dce stateful performance metrics. This is similar to the stateless test except that multiple chunks are sent on a stream instead on one big chunk. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I222981506f013febf6ae1f95ba610507c8dd0a49 Reviewed-on: http://git.am.freescale.net:8181/11630 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-04-28dce: common test code updateJeffrey Ladouceur
Add api to display multi buffer scatter gather data. Distinguish between allocated dce data and amount of data copied to it. Add attribute to gzip request structure to enable adding them to a list. Add request structure to invalidate a stream context record. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Conflicts: drivers/staging/fsl_dce/tests/common/test_frame_helpers.c Change-Id: I59fa85503f4de953c2b48042942d3670f9e41a17 Reviewed-on: http://git.am.freescale.net:8181/11628 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-04-28fsl_dce: A apis to dce stream objectJeffrey Ladouceur
Add an API to get the length of the internal objects fifo. Add invalidate stream context record api. Missing flags parameter to process API. Add checking for REV1 limitations. Set default object fifo depth to 256. Add private header file. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I0149ab9309ad41d920c21192cb9f0aa3bfb9256a Reviewed-on: http://git.am.freescale.net:8181/11626 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
2014-01-16fsl_dce: Fix tester(s) build warningsEmil Medve
drivers/staging/fsl_dce/tests/common/test_frame_helpers.c: In function ‘print_dce_data_list’: drivers/staging/fsl_dce/tests/common/test_frame_helpers.c:272:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ [-Wformat=] pr_info(" cpumem = %p, size = %lu\n", ^ drivers/staging/fsl_dce/tests/common/test_frame_helpers.c:283:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ [-Wformat=] pr_info(" cpumem = %p, size = %lu\n", ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c: In function ‘copy_bman_output_to_buffer’: drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:388:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘size_t’ [-Wformat=] pr_info("total frame length != calulated length (%lu)" ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:398:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘size_t’ [-Wformat=] pr_info("sg length != frame output length (%lu) (%u)\n", ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c: In function ‘write_file’: drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:522:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t’ [-Wformat=] pr_info("Error %d, data_len %lu\n", rc, data_len); ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c: In function ‘dce_loopback_shutdown’: drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:694:77: warning: comparison of distinct pointer types lacks a cast [enabled by default] do_div(dce_freq, 2); ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:694:2: warning: right shift count >= width of type [enabled by default] do_div(dce_freq, 2); ^ drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:694:2: warning: passing argument 1 of ‘__div64_32’ from incompatible pointer type [enabled by default] In file included from arch/powerpc/include/asm/div64.h:1:0, from include/linux/kernel.h:111, from drivers/staging/fsl_dce/tests/performance_simple/dce_perf_simple.c:33: include/asm-generic/div64.h:35:17: note: expected ‘uint64_t *’ but argument is of type ‘uint32_t *’ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor); ^ Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com> Change-Id: If682239365c0d59bf01d7fc712cbfc410de0854c Reviewed-on: http://git.am.freescale.net:8181/8003 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Reviewed-by: Emilian Medve <Emilian.Medve@freescale.com>
2014-01-08fsl_dce: Update the kfifo API usageEmil Medve
As per '498d319 kfifo API type safety' drivers/staging/fsl_dce/flib/dce_flow.c: In function ‘_pre_commit_cb’: drivers/staging/fsl_dce/flib/dce_flow.c:404:2: error: invalid initializer if (unlikely(kfifo_put(&fifo_arg->flow->fifo, fifo_arg->token) == 0)) ^ Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com> Change-Id: Ifa1795cd44f18c4246ef3a65d4f3cf99e902f888 Reviewed-on: http://git.am.freescale.net:8181/7729 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Emilian Medve <Emilian.Medve@freescale.com>
2014-01-07fsl_dce: Include missing OF header filesEmil Medve
drivers/staging/fsl_dce/dce_driver.c: In function ‘fsl_dce_probe’: drivers/staging/fsl_dce/dce_driver.c:154:2: error: implicit declaration of function ‘of_iomap’ [-Werror=implicit-function-declaration] topregs = of_iomap(nprop, 0); ^ drivers/staging/fsl_dce/dce_driver.c:164:2: error: implicit declaration of function ‘of_irq_to_resource’ [-Werror=implicit-function-declaration] ctrlpriv->err_irq = of_irq_to_resource(nprop, 0, NULL); ^ drivers/staging/fsl_dce/dce_driver.c:164:2: error: implicit declaration of function ‘of_irq_to_resource’ [-Werror=implicit-function-declaration] ctrlpriv->err_irq = of_irq_to_resource(nprop, 0, NULL); ^ drivers/staging/fsl_dce/dce_debugfs.c: In function ‘init_ccsrmempeek’: drivers/staging/fsl_dce/dce_debugfs.c:77:2: error: implicit declaration of function ‘of_get_address’ [-Werror=implicit-function-declaration] regaddr_p = of_get_address(dn, 0, &dce_ccsr_size, NULL); ^ drivers/staging/fsl_dce/dce_debugfs.c:82:2: error: implicit declaration of function ‘of_translate_address’ [-Werror=implicit-function-declaration] dce_ccsr_start = of_translate_address(dn, regaddr_p); ^ Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com> Change-Id: Ia8f4acb61349ae8a5edb87f5767784b328993d46 Reviewed-on: http://git.am.freescale.net:8181/7721 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Emilian Medve <Emilian.Medve@freescale.com> Tested-by: Emilian Medve <Emilian.Medve@freescale.com>
2013-09-13fsl_dce: Add test moduleJeffrey Ladouceur
Add modules to self test fsl DCE hardware accelerator. 1) dce_chunk_comp_def_cf_tester.ko This module tests the chunk based (de)compression using deflate and compound frames. 2) dce_simple_perf_tester.ko This module can be used to measure dce performance throughput. The associated README file describes the usage. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ifb4ac8af57254190cf3e2be0bbe26d85626f7470 Reviewed-on: http://git.am.freescale.net:8181/4296 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Wang Haiying-R54964 <Haiying.Wang@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10fsl_dce: add stream based (de)compressionJeffrey Ladouceur
The fsl_dce_stream object enables the user to do stream based (de)compression. As opposed to chunk based compression where all the data in a single frame is sent to the DCE device, stream based (de)compression permits the user to send mulitple frames and receive the corresponding resuls in multiple frames. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I83065d4681c512d595724b4f92a731de8a032867 Reviewed-on: http://git.am.freescale.net:8181/4297 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Thorpe Geoff-R01361 <Geoff.Thorpe@freescale.com> Reviewed-by: Wang Haiying-R54964 <Haiying.Wang@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10fsl_dce: Add support for stateless compression/decompressionJeffrey Ladouceur
The fsl_dce device does compression and decompression of various formats (deflate, zlib, gzip). The flib directory contains the base layer object required to access the dce device. The fsl_dce_flow object contains the minimum set of interfaces required to send and receive frames to/from the dce via QMan. The fsl_dce_chunk object is an extension of the fsl_dce_flow object. This object is used to compress or decompress single frames (chunks) at a time. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ia1f671b4610fb70d50353385a3d87dde0584741a Reviewed-on: http://git.am.freescale.net:8181/4295 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Thorpe Geoff-R01361 <Geoff.Thorpe@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
2013-09-10fsl_dce: Initial DCE device driver supportJeffrey Ladouceur
Add FSL DCE device creation and access to device configuration. This device does compression and decompression. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I6d951fe045f7638530a810c91e5dc21f29549bb1 Reviewed-on: http://git.am.freescale.net:8181/4294 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Thorpe Geoff-R01361 <Geoff.Thorpe@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>