Home
last modified time | relevance | path

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

/Linux-v5.15/drivers/soc/qcom/
Docmem.c3 * The On Chip Memory (OCMEM) allocator allows various clients to allocate
4 * memory from OCMEM based on performance, latency and power requirements.
23 #include <soc/qcom/ocmem.h>
52 struct ocmem { struct
104 static inline void ocmem_write(struct ocmem *ocmem, u32 reg, u32 data) in ocmem_write() argument
106 writel(data, ocmem->mmio + reg); in ocmem_write()
109 static inline u32 ocmem_read(struct ocmem *ocmem, u32 reg) in ocmem_read() argument
111 return readl(ocmem->mmio + reg); in ocmem_read()
114 static void update_ocmem(struct ocmem *ocmem) in update_ocmem() argument
120 for (i = 0; i < ocmem->config->num_regions; i++) { in update_ocmem()
[all …]
DKconfig81 tristate "Qualcomm On Chip Memory (OCMEM) driver"
85 The On Chip Memory (OCMEM) allocator allows various clients to
86 allocate memory from OCMEM based on performance, latency and power
DMakefile9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
/Linux-v5.15/include/soc/qcom/
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-v5.15/Documentation/devicetree/bindings/sram/
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
18 const: qcom,msm8974-ocmem
23 - description: OCMEM address range
78 ocmem: ocmem@fdd00000 {
79 compatible = "qcom,msm8974-ocmem";
/Linux-v5.15/Documentation/devicetree/bindings/display/msm/
Dgpu.txt29 interconnects property. Values must be gfx-mem and ocmem.
38 - sram: phandle to the On Chip Memory (OCMEM) that's present on some a3xx and
40 Documentation/devicetree/bindings/sram/qcom,ocmem.yaml.
71 gpu_sram: ocmem@fdd00000 {
72 compatible = "qcom,msm8974-ocmem";
/Linux-v5.15/drivers/gpu/drm/msm/adreno/
Da4xx_gpu.h18 /* if OCMEM is used for GMEM: */
19 struct adreno_ocmem ocmem; member
Da3xx_gpu.h21 /* if OCMEM is used for GMEM: */
22 struct adreno_ocmem ocmem; member
Dadreno_gpu.c17 #include <soc/qcom/ocmem.h>
887 struct ocmem *ocmem; in adreno_gpu_ocmem_init() local
889 ocmem = of_get_ocmem(dev); in adreno_gpu_ocmem_init()
890 if (IS_ERR(ocmem)) { in adreno_gpu_ocmem_init()
891 if (PTR_ERR(ocmem) == -ENODEV) { in adreno_gpu_ocmem_init()
893 * Return success since either the ocmem property was in adreno_gpu_ocmem_init()
894 * not specified in device tree, or ocmem support is in adreno_gpu_ocmem_init()
900 return PTR_ERR(ocmem); in adreno_gpu_ocmem_init()
903 ocmem_hdl = ocmem_allocate(ocmem, OCMEM_GRAPHICS, adreno_gpu->gmem); in adreno_gpu_ocmem_init()
907 adreno_ocmem->ocmem = ocmem; in adreno_gpu_ocmem_init()
[all …]
Da3xx_gpu.c248 /* Set the OCMEM base address for A330, etc */ in a3xx_hw_init()
249 if (a3xx_gpu->ocmem.hdl) { in a3xx_hw_init()
251 (unsigned int)(a3xx_gpu->ocmem.base >> 14)); in a3xx_hw_init()
382 adreno_gpu_ocmem_cleanup(&a3xx_gpu->ocmem); in a3xx_destroy()
553 adreno_gpu, &a3xx_gpu->ocmem); in a3xx_gpu_init()
579 ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem"); in a3xx_gpu_init()
582 /* allow -ENODATA, ocmem icc is optional */ in a3xx_gpu_init()
Dadreno_gpu.h122 struct ocmem *ocmem; member
296 struct adreno_ocmem *ocmem);
297 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
Da4xx_gpu.c241 (unsigned int)(a4xx_gpu->ocmem.base >> 14)); in a4xx_hw_init()
381 adreno_gpu_ocmem_cleanup(&a4xx_gpu->ocmem); in a4xx_destroy()
682 &a4xx_gpu->ocmem); in a4xx_gpu_init()
707 ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem"); in a4xx_gpu_init()
710 /* allow -ENODATA, ocmem icc is optional */ in a4xx_gpu_init()
Da6xx_gmu.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Dadreno_common.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Dadreno_pm4.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Da2xx.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Da3xx.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Da4xx.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Da5xx.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
Da6xx.xml.h21 - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml ( 1773 byte…
/Linux-v5.15/drivers/firmware/
Dqcom_scm.c900 * qcom_scm_ocmem_lock_available() - is OCMEM lock/unlock interface available
910 * qcom_scm_ocmem_lock() - call OCMEM lock interface to assign an OCMEM
914 * @offset: OCMEM offset
915 * @size: OCMEM size
936 * qcom_scm_ocmem_unlock() - call OCMEM unlock interface to release an OCMEM
940 * @offset: OCMEM offset
941 * @size: OCMEM size
/Linux-v5.15/drivers/interconnect/qcom/
Dmsm8974.c26 * Peripheral | On Chip | Memory (OCMEM)
408 /* Virtual NoC is needed for connection to OCMEM */
/Linux-v5.15/arch/arm/boot/dts/
Dqcom-msm8974.dtsi1347 ocmem@fdd00000 {
1348 compatible = "qcom,msm8974-ocmem";
1442 "ocmem";