summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_pme2
AgeCommit message (Collapse)Author
2015-11-02fsl-pme: Check for null pointersMahammad Ismayilzada
Check for null pointers to prevent null pointer dereferencing Signed-off-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com> Change-Id: Icc267f51d5ad85187c6ee5d03aa87f8649e124c9
2015-05-21pme: Protect against possible NULL dereferenceAhmed Mansour
Add BUG_ON to prevent NULL dereference if ctx->flags indicate flow mode (none direct mode) then a call back token must be specified otherwise the call back token can be passed NULL Signed-off-by: Ahmed Mansour <Ahmed.Mansour@freescale.com> Change-Id: I20f95b2fd77699eb32ef54515666127ebc6b1743 Reviewed-on: http://git.am.freescale.net:8181/36607 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Mahammad Ismayilzada <mahammad.ismayilzada@freescale.com> Reviewed-by: Honghua Yin <Hong-Hua.Yin@freescale.com>
2014-05-13fsl_pme: limit time spent checking for pme activity bitJeffrey Ladouceur
Exit from possible endless loops when checking for pme to go idle. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ic8b9f8682fd9079c9d5a260918a7ee1d58be07b9 Reviewed-on: http://git.am.freescale.net:8181/12297 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: Jose Rivera <German.Rivera@freescale.com>
2014-04-30fsl_pme: Incorrect interrupt condition mask for DBEJeffrey Ladouceur
The double bit error (DBE) condition mask is incorrect. Both the enable register and the status checking will be incorrect. The error will go undetected by sw without this fix. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I48350df827069169c71122eaaa7b77009cb2f08f Reviewed-on: http://git.am.freescale.net:8181/11634 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-18fsl_pme: remove incorrect usage of flag to request_irqJeffrey Ladouceur
The hardware doesn't support affinity on individual error interrupts. Therefore it's not possible to remove correctly remove the warning "Cannot set affinity for irq" since this is a reflection of reality. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ide2a507c60dc1e6b4be1c5f0aba352a37071ae80 Reviewed-on: http://git.am.freescale.net:8181/#/c/11126/ Reviewed-on: http://git.am.freescale.net:8181/11213 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Scott Wood <scottwood@freescale.com>
2014-04-18fsl_pme: Reduce time taking to enter and exit deepsleepJeffrey Ladouceur
Reduce the number of requests sent the the PME device by bulking many requests into a contiguous frame. Added unmapping of memory. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ic15560be5bd7bb3d965a88e5eab0553552f262b5 Reviewed-on: http://git.am.freescale.net:8181/10927 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/11212 Reviewed-by: Scott Wood <scottwood@freescale.com>
2014-04-18fsl_pme: disable interrupts in suspendJeffrey Ladouceur
In order to enter deepsleep the pme device must clear all pending interrupts. Setting the interrupt inhibit register accomplishes this. On wakeup this register is restored by the original backed up value. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Id50cbc5376b24de885260cff817e7ce5e304c306 Reviewed-on: http://git.am.freescale.net:8181/10821 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 18de78a95ba92cc561844285eea9534ac061b7f9) Reviewed-on: http://git.am.freescale.net:8181/11211 Reviewed-by: Scott Wood <scottwood@freescale.com>
2014-04-09fsl_pme: Support for power managementJeffrey Ladouceur
Change the pme error interrupt handler to be per-CPU to avoid a warning ("Cannot set affinity for irq") when entering suspend-to-ram state. Added IRQF_PERCPU flag. While sending frames to the PME device, this device can return a serious error. Added logic to properly handle this scenario. If this happens while reading the pme database, upon resume the resulting database will not be restored. The size of the confidence table was incorrect for a specific version of pme. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ic8cbc048c7a0e4cd8389298267ec9b4876055568 Reviewed-on: http://git.am.freescale.net:8181/9267 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit f13d881f9e464079b62dba71f96dd73be4ad83a0) Reviewed-on: http://git.am.freescale.net:8181/10777
2014-04-09fsl_pme: Remove duplicate memory releaseJeffrey Ladouceur
During a refactoring exercise memory allocated is only released upon device exit. Should not be freed during power management resume. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ie2f7690de0497d6adb29e5c25cf379c3ff3e46b6 Reviewed-on: http://git.am.freescale.net:8181/6847 Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com> Reviewed-by: Roy Pledge <roy.pledge@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit e15e0b2f451cdcf3579a0c42b5583c437fa74408) Reviewed-on: http://git.am.freescale.net:8181/10776
2014-04-09fsl_pme: Add support for suspend and resume power management callbacksJeffrey Ladouceur
When power is removed from the pme device, all its internal state is lost. The suspend() function saves all necessary state in order to later resume the device. The resume() function "writes" back the previously saved state. The functionality is implemented as part of the pme ctrl plane device. The state the requires saving is CCSR registers and internal SRAM memory. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: I27ada84b338d7905b07dcabdb2ece2a9700a764c Reviewed-on: http://git.am.freescale.net:8181/6831 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit d9a11a097905fbb0aa1add75c17aae7724099564) Reviewed-on: http://git.am.freescale.net:8181/10772
2013-12-14Merge remote-tracking branch 'linus/master' into mergeScott Wood
Conflicts: Documentation/hwmon/ina2xx arch/powerpc/Kconfig arch/powerpc/boot/dts/b4860emu.dts arch/powerpc/boot/dts/b4qds.dtsi arch/powerpc/boot/dts/fsl/b4si-post.dtsi arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi arch/powerpc/boot/dts/p1023rdb.dts arch/powerpc/boot/dts/t4240emu.dts arch/powerpc/boot/dts/t4240qds.dts arch/powerpc/configs/85xx/p1023_defconfig arch/powerpc/configs/corenet32_smp_defconfig arch/powerpc/configs/corenet64_smp_defconfig arch/powerpc/configs/mpc85xx_smp_defconfig arch/powerpc/include/asm/cputable.h arch/powerpc/include/asm/device.h arch/powerpc/include/asm/epapr_hcalls.h arch/powerpc/include/asm/kvm_host.h arch/powerpc/include/asm/mpic.h arch/powerpc/include/asm/pci.h arch/powerpc/include/asm/ppc-opcode.h arch/powerpc/include/asm/ppc_asm.h arch/powerpc/include/asm/reg_booke.h arch/powerpc/kernel/epapr_paravirt.c arch/powerpc/kernel/process.c arch/powerpc/kernel/prom.c arch/powerpc/kernel/setup-common.c arch/powerpc/kernel/setup_32.c arch/powerpc/kernel/setup_64.c arch/powerpc/kernel/smp.c arch/powerpc/kernel/swsusp_asm64.S arch/powerpc/kernel/swsusp_booke.S arch/powerpc/kvm/book3s_pr.c arch/powerpc/kvm/booke.c arch/powerpc/kvm/booke.h arch/powerpc/kvm/e500.c arch/powerpc/kvm/e500.h arch/powerpc/kvm/e500_emulate.c arch/powerpc/kvm/e500mc.c arch/powerpc/kvm/powerpc.c arch/powerpc/perf/e6500-pmu.c arch/powerpc/platforms/85xx/Kconfig arch/powerpc/platforms/85xx/Makefile arch/powerpc/platforms/85xx/b4_qds.c arch/powerpc/platforms/85xx/c293pcie.c arch/powerpc/platforms/85xx/corenet_ds.c arch/powerpc/platforms/85xx/corenet_ds.h arch/powerpc/platforms/85xx/p1023_rds.c arch/powerpc/platforms/85xx/p2041_rdb.c arch/powerpc/platforms/85xx/p3041_ds.c arch/powerpc/platforms/85xx/p4080_ds.c arch/powerpc/platforms/85xx/p5020_ds.c arch/powerpc/platforms/85xx/p5040_ds.c arch/powerpc/platforms/85xx/smp.c arch/powerpc/platforms/85xx/t4240_qds.c arch/powerpc/platforms/Kconfig arch/powerpc/sysdev/Makefile arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c arch/powerpc/sysdev/fsl_msi.c arch/powerpc/sysdev/fsl_pci.c arch/powerpc/sysdev/fsl_pci.h arch/powerpc/sysdev/fsl_soc.h arch/powerpc/sysdev/mpic.c arch/powerpc/sysdev/mpic_timer.c drivers/Kconfig drivers/clk/Kconfig drivers/clk/clk-ppc-corenet.c drivers/cpufreq/Kconfig.powerpc drivers/cpufreq/Makefile drivers/cpufreq/ppc-corenet-cpufreq.c drivers/crypto/caam/Kconfig drivers/crypto/caam/Makefile drivers/crypto/caam/ctrl.c drivers/crypto/caam/desc_constr.h drivers/crypto/caam/intern.h drivers/crypto/caam/jr.c drivers/crypto/caam/regs.h drivers/dma/fsldma.c drivers/hwmon/ina2xx.c drivers/iommu/Kconfig drivers/iommu/fsl_pamu.c drivers/iommu/fsl_pamu.h drivers/iommu/fsl_pamu_domain.c drivers/iommu/fsl_pamu_domain.h drivers/misc/Makefile drivers/mmc/card/block.c drivers/mmc/core/core.c drivers/mmc/host/sdhci-esdhc.h drivers/mmc/host/sdhci-pltfm.c drivers/mtd/nand/fsl_ifc_nand.c drivers/net/ethernet/freescale/gianfar.c drivers/net/ethernet/freescale/gianfar.h drivers/net/ethernet/freescale/gianfar_ethtool.c drivers/net/phy/at803x.c drivers/net/phy/phy_device.c drivers/net/phy/vitesse.c drivers/pci/msi.c drivers/staging/Kconfig drivers/staging/Makefile drivers/uio/Kconfig drivers/uio/Makefile drivers/uio/uio.c drivers/usb/host/ehci-fsl.c drivers/vfio/Kconfig drivers/vfio/Makefile include/crypto/algapi.h include/linux/iommu.h include/linux/mmc/sdhci.h include/linux/msi.h include/linux/netdev_features.h include/linux/phy.h include/linux/skbuff.h include/net/ip.h include/uapi/linux/vfio.h net/core/ethtool.c net/ipv4/route.c net/ipv6/route.c
2013-04-17pme: Set uninitialized variableJeffrey Ladouceur
The max scan size should be set to zero if PME hw version doesn't match. In this case zero means no limit. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ic1f756ac0971d27e9c103a2c27173c66dd14d519 Reviewed-on: http://git.am.freescale.net:8181/1361 Reviewed-by: Pledge Roy-R01356 <roy.pledge@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
2013-04-15fsl_pme: Add driver for the Freescale PME AcceleratorJeffrey Ladouceur
Add driver for Freescale Pattern Matcher Engine Accelerator for QorIQ platform. Signed-off-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Ib826ea6dbdf4e14efe9e9a693c941ad2478c3e8e Reviewed-on: http://git.am.freescale.net:8181/1089 Reviewed-by: Wang Haiying-R54964 <Haiying.Wang@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>