diff options
author | Zhao Qiang <B45475@freescale.com> | 2014-08-13 09:29:18 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:37:45 (GMT) |
commit | 2c20b5b7c68a45e70a56df7a9c197c06e5a81290 (patch) | |
tree | 5ddba643fbec0da04f6cbba03d758a6e714e4de3 /include | |
parent | fb0146b5caaf75a80c80f25ca74ab9a7a72e3cf7 (diff) | |
download | linux-fsl-qoriq-2c20b5b7c68a45e70a56df7a9c197c06e5a81290.tar.xz |
qe_common: add qe common functions to qe_common.c
qe need to call some common functions, move them into
public directory, add a new file drivers/soc/qe/qe_common.c
for them.
Signed-off-by: Zhao Qiang <B45475@freescale.com>
---
upstream link: http://patchwork.ozlabs.org/patch/393169/
it is under discussion.
Change-Id: Ib2b252f355921291b596d8ddc6bbe17aa53384b2
Reviewed-on: http://git.am.freescale.net:8181/16840
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fsl/qe.h | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/include/linux/fsl/qe.h b/include/linux/fsl/qe.h index c96ff9e..5a6a647 100644 --- a/include/linux/fsl/qe.h +++ b/include/linux/fsl/qe.h @@ -19,7 +19,8 @@ #include <linux/spinlock.h> #include <linux/errno.h> #include <linux/err.h> -#include <asm/cpm.h> +#include <linux/of.h> +#include <linux/of_address.h> #include <linux/fsl/immap_qe.h> #define QE_NUM_OF_SNUM 256 /* There are 256 serial number in QE */ @@ -190,13 +191,48 @@ static inline int qe_alive_during_sleep(void) #endif } -/* we actually use cpm_muram implementation, define this for convenience */ -#define qe_muram_init cpm_muram_init -#define qe_muram_alloc cpm_muram_alloc -#define qe_muram_alloc_fixed cpm_muram_alloc_fixed -#define qe_muram_free cpm_muram_free -#define qe_muram_addr cpm_muram_addr -#define qe_muram_offset cpm_muram_offset +int qe_muram_init(void); + +#if defined(CONFIG_QUICC_ENGINE) +unsigned long qe_muram_alloc(unsigned long size, unsigned long align); +int qe_muram_free(unsigned long offset); +unsigned long qe_muram_alloc_fixed(unsigned long offset, unsigned long size); +void __iomem *qe_muram_addr(unsigned long offset); +unsigned long qe_muram_offset(void __iomem *addr); +dma_addr_t qe_muram_dma(void __iomem *addr); +#else +static inline unsigned long qe_muram_alloc(unsigned long size, + unsigned long align) +{ + return -ENOSYS; +} + +static inline int qe_muram_free(unsigned long offset) +{ + return -ENOSYS; +} + +static inline unsigned long qe_muram_alloc_fixed(unsigned long offset, + unsigned long size) +{ + return -ENOSYS; +} + +static inline void __iomem *qe_muram_addr(unsigned long offset) +{ + return NULL; +} + +static inline unsigned long qe_muram_offset(void __iomem *addr) +{ + return -ENOSYS; +} + +static inline dma_addr_t qe_muram_dma(void __iomem *addr) +{ + return 0; +} +#endif /* defined(CONFIG_QUICC_ENGINE) */ /* Structure that defines QE firmware binary files. * |