/linux/drivers/soc/qcom/ |
H A D | ocmem.c | 3 * The On Chip Memory (OCMEM) allocator allows various clients to allocate 4 * memory from OCMEM based on performance, latency and power requirements. 25 #include <soc/qcom/ocmem.h> 54 struct ocmem { struct 102 static inline void ocmem_write(struct ocmem *ocmem, u32 reg, u32 data) in ocmem_write() argument 104 writel(data, ocmem->mmio + reg); in ocmem_write() 107 static inline u32 ocmem_read(struct ocmem *ocmem, u32 reg) in ocmem_read() argument 109 return readl(ocmem->mmio + reg); in ocmem_read() 112 static void update_ocmem(struct ocmem *ocmem) in update_ocmem() argument 118 for (i = 0; i < ocmem->config->num_regions; i++) { in update_ocmem() [all …]
|
H A D | Kconfig | 66 tristate "Qualcomm On Chip Memory (OCMEM) driver" 70 The On Chip Memory (OCMEM) allocator allows various clients to 71 allocate memory from OCMEM based on performance, latency and power
|
H A D | Makefile | 9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
|
/linux/include/soc/qcom/ |
H A D | ocmem.h | 3 * The On Chip Memory (OCMEM) allocator allows various clients to allocate 4 * memory from OCMEM based on performance, latency and power requirements. 28 struct ocmem; 38 struct ocmem *of_get_ocmem(struct device *dev); 39 struct ocmem_buf *ocmem_allocate(struct ocmem *ocmem, enum ocmem_client client, 41 void ocmem_free(struct ocmem *ocmem, enum ocmem_client client, 46 static inline struct ocmem *of_get_ocmem(struct device *dev) in of_get_ocmem() 51 static inline struct ocmem_buf *ocmem_allocate(struct ocmem *ocmem, in ocmem_allocate() argument 58 static inline void ocmem_free(struct ocmem *ocmem, enum ocmem_client client, in ocmem_free() argument
|
/linux/Documentation/devicetree/bindings/sram/ |
H A D | qcom,ocmem.yaml | 4 $id: http://devicetree.org/schemas/sram/qcom,ocmem.yaml# 7 title: On Chip Memory (OCMEM) that is present on some Qualcomm Snapdragon SoCs. 13 The On Chip Memory (OCMEM) is typically used by the GPU, camera/video, and 19 - qcom,msm8226-ocmem # v1.1.0 20 - qcom,msm8974-ocmem # v1.4.0 25 - description: OCMEM address range 71 - qcom,msm8974-ocmem 104 compatible = "qcom,msm8974-ocmem";
|
/linux/Documentation/devicetree/bindings/display/msm/ |
H A D | gpu.yaml | 80 - const: ocmem 94 phandle to the On Chip Memory (OCMEM) that's present on some a3xx and 96 Documentation/devicetree/bindings/sram/qcom,ocmem.yaml 270 ocmem@fdd00000 { 271 compatible = "qcom,msm8974-ocmem";
|
/linux/drivers/gpu/drm/msm/adreno/ |
H A D | a4xx_gpu.h | 18 /* if OCMEM is used for GMEM: */ 19 struct adreno_ocmem ocmem; member
|
H A D | a3xx_gpu.h | 21 /* if OCMEM is used for GMEM: */ 22 struct adreno_ocmem ocmem; member
|
H A D | adreno_gpu.c | 18 #include <soc/qcom/ocmem.h> 1031 struct ocmem *ocmem; in adreno_gpu_ocmem_init() local 1033 ocmem = of_get_ocmem(dev); in adreno_gpu_ocmem_init() 1034 if (IS_ERR(ocmem)) { in adreno_gpu_ocmem_init() 1035 if (PTR_ERR(ocmem) == -ENODEV) { in adreno_gpu_ocmem_init() 1037 * Return success since either the ocmem property was in adreno_gpu_ocmem_init() 1038 * not specified in device tree, or ocmem support is in adreno_gpu_ocmem_init() 1044 return PTR_ERR(ocmem); in adreno_gpu_ocmem_init() 1047 ocmem_hdl = ocmem_allocate(ocmem, OCMEM_GRAPHICS, adreno_gpu->info->gmem); in adreno_gpu_ocmem_init() 1051 adreno_ocmem->ocmem = ocmem; in adreno_gpu_ocmem_init() [all …]
|
H A D | a3xx_gpu.c | 260 /* Set the OCMEM base address for A330, etc */ in a3xx_hw_init() 261 if (a3xx_gpu->ocmem.hdl) { in a3xx_hw_init() 263 (unsigned int)(a3xx_gpu->ocmem.base >> 14)); in a3xx_hw_init() 396 adreno_gpu_ocmem_cleanup(&a3xx_gpu->ocmem); in a3xx_destroy() 579 adreno_gpu, &a3xx_gpu->ocmem); in a3xx_gpu_init() 605 ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem"); in a3xx_gpu_init() 608 /* allow -ENODATA, ocmem icc is optional */ in a3xx_gpu_init()
|
H A D | adreno_gpu.h | 245 struct ocmem *ocmem; member 572 struct adreno_ocmem *ocmem); 573 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
|
H A D | a4xx_gpu.c | 240 (unsigned int)(a4xx_gpu->ocmem.base >> 14)); in a4xx_hw_init() 380 adreno_gpu_ocmem_cleanup(&a4xx_gpu->ocmem); in a4xx_destroy() 692 &a4xx_gpu->ocmem); in a4xx_gpu_init() 717 ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem"); in a4xx_gpu_init() 720 /* allow -ENODATA, ocmem icc is optional */ in a4xx_gpu_init()
|
/linux/drivers/gpu/drm/msm/registers/ |
H A D | .gitignore | 4 adreno/ocmem.xml
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | msm8992.dtsi | 28 &ocmem {
|
H A D | msm8994.dtsi | 1075 ocmem: sram@fdd00000 { label 1076 compatible = "qcom,msm8974-ocmem";
|
/linux/drivers/firmware/qcom/ |
H A D | qcom_scm.c | 1102 * qcom_scm_ocmem_lock_available() - is OCMEM lock/unlock interface available 1112 * qcom_scm_ocmem_lock() - call OCMEM lock interface to assign an OCMEM 1116 * @offset: OCMEM offset 1117 * @size: OCMEM size 1138 * qcom_scm_ocmem_unlock() - call OCMEM unlock interface to release an OCMEM 1142 * @offset: OCMEM offset 1143 * @size: OCMEM size
|
/linux/drivers/interconnect/qcom/ |
H A D | msm8974.c | 26 * Peripheral | On Chip | Memory (OCMEM) 409 /* Virtual NoC is needed for connection to OCMEM */
|
/linux/arch/arm/boot/dts/qcom/ |
H A D | qcom-msm8974.dtsi | 2151 interconnect-names = "gfx-mem", "ocmem"; 2175 compatible = "qcom,msm8974-ocmem";
|
H A D | qcom-msm8226.dtsi | 1192 compatible = "qcom,msm8226-ocmem";
|