Home
last modified time | relevance | path

Searched full:ocmem (Results 1 – 19 of 19) sorted by relevance

/linux/drivers/soc/qcom/
H A Docmem.c3 * 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 DKconfig66 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 DMakefile9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
/linux/include/soc/qcom/
H A Docmem.h3 * 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 Dqcom,ocmem.yaml4 $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 Dgpu.yaml80 - 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 Da4xx_gpu.h18 /* if OCMEM is used for GMEM: */
19 struct adreno_ocmem ocmem; member
H A Da3xx_gpu.h21 /* if OCMEM is used for GMEM: */
22 struct adreno_ocmem ocmem; member
H A Dadreno_gpu.c18 #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 Da3xx_gpu.c260 /* 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 Dadreno_gpu.h245 struct ocmem *ocmem; member
572 struct adreno_ocmem *ocmem);
573 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
H A Da4xx_gpu.c240 (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.gitignore4 adreno/ocmem.xml
/linux/arch/arm64/boot/dts/qcom/
H A Dmsm8992.dtsi28 &ocmem {
H A Dmsm8994.dtsi1075 ocmem: sram@fdd00000 { label
1076 compatible = "qcom,msm8974-ocmem";
/linux/drivers/firmware/qcom/
H A Dqcom_scm.c1102 * 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 Dmsm8974.c26 * Peripheral | On Chip | Memory (OCMEM)
409 /* Virtual NoC is needed for connection to OCMEM */
/linux/arch/arm/boot/dts/qcom/
H A Dqcom-msm8974.dtsi2151 interconnect-names = "gfx-mem", "ocmem";
2175 compatible = "qcom,msm8974-ocmem";
H A Dqcom-msm8226.dtsi1192 compatible = "qcom,msm8226-ocmem";