Home
last modified time | relevance | path

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

12

/kernel/linux/linux-6.6/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.
24 #include <soc/qcom/ocmem.h>
53 struct ocmem { struct
101 static inline void ocmem_write(struct ocmem *ocmem, u32 reg, u32 data) in ocmem_write() argument
103 writel(data, ocmem->mmio + reg); in ocmem_write()
106 static inline u32 ocmem_read(struct ocmem *ocmem, u32 reg) in ocmem_read() argument
108 return readl(ocmem->mmio + reg); in ocmem_read()
111 static void update_ocmem(struct ocmem *ocmem) in update_ocmem() argument
117 for (i = 0; i < ocmem->config->num_regions; i++) { in update_ocmem()
[all …]
DKconfig82 tristate "Qualcomm On Chip Memory (OCMEM) driver"
86 The On Chip Memory (OCMEM) allocator allows various clients to
87 allocate memory from OCMEM based on performance, latency and power
DMakefile8 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
/kernel/linux/linux-5.10/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
108 static inline void ocmem_write(struct ocmem *ocmem, u32 reg, u32 data) in ocmem_write() argument
110 writel(data, ocmem->mmio + reg); in ocmem_write()
113 static inline u32 ocmem_read(struct ocmem *ocmem, u32 reg) in ocmem_read() argument
115 return readl(ocmem->mmio + reg); in ocmem_read()
118 static void update_ocmem(struct ocmem *ocmem) in update_ocmem() argument
124 for (i = 0; i < ocmem->config->num_regions; i++) { in update_ocmem()
[all …]
DKconfig82 tristate "Qualcomm On Chip Memory (OCMEM) driver"
86 The On Chip Memory (OCMEM) allocator allows various clients to
87 allocate memory from OCMEM based on performance, latency and power
DMakefile9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
/kernel/linux/linux-5.10/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
/kernel/linux/linux-6.6/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
/kernel/linux/linux-5.10/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";
/kernel/linux/linux-6.6/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
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";
/kernel/linux/linux-5.10/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.
66 gpu_sram: ocmem@fdd00000 {
67 compatible = "qcom,msm8974-ocmem";
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/adreno/
Dadreno_gpu.c17 #include <soc/qcom/ocmem.h>
859 struct ocmem *ocmem; in adreno_gpu_ocmem_init() local
861 ocmem = of_get_ocmem(dev); in adreno_gpu_ocmem_init()
862 if (IS_ERR(ocmem)) { in adreno_gpu_ocmem_init()
863 if (PTR_ERR(ocmem) == -ENODEV) { in adreno_gpu_ocmem_init()
865 * Return success since either the ocmem property was in adreno_gpu_ocmem_init()
866 * not specified in device tree, or ocmem support is in adreno_gpu_ocmem_init()
872 return PTR_ERR(ocmem); in adreno_gpu_ocmem_init()
875 ocmem_hdl = ocmem_allocate(ocmem, OCMEM_GRAPHICS, adreno_gpu->gmem); in adreno_gpu_ocmem_init()
879 adreno_ocmem->ocmem = ocmem; in adreno_gpu_ocmem_init()
[all …]
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.h117 struct ocmem *ocmem; member
251 struct adreno_ocmem *ocmem);
252 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
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()
551 adreno_gpu, &a3xx_gpu->ocmem); in a3xx_gpu_init()
/kernel/linux/linux-6.6/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.c18 #include <soc/qcom/ocmem.h>
1015 struct ocmem *ocmem; in adreno_gpu_ocmem_init() local
1017 ocmem = of_get_ocmem(dev); in adreno_gpu_ocmem_init()
1018 if (IS_ERR(ocmem)) { in adreno_gpu_ocmem_init()
1019 if (PTR_ERR(ocmem) == -ENODEV) { in adreno_gpu_ocmem_init()
1021 * Return success since either the ocmem property was in adreno_gpu_ocmem_init()
1022 * not specified in device tree, or ocmem support is in adreno_gpu_ocmem_init()
1028 return PTR_ERR(ocmem); in adreno_gpu_ocmem_init()
1031 ocmem_hdl = ocmem_allocate(ocmem, OCMEM_GRAPHICS, adreno_gpu->info->gmem); in adreno_gpu_ocmem_init()
1035 adreno_ocmem->ocmem = ocmem; in adreno_gpu_ocmem_init()
[all …]
Da3xx_gpu.c247 /* Set the OCMEM base address for A330, etc */ in a3xx_hw_init()
248 if (a3xx_gpu->ocmem.hdl) { in a3xx_hw_init()
250 (unsigned int)(a3xx_gpu->ocmem.base >> 14)); in a3xx_hw_init()
381 adreno_gpu_ocmem_cleanup(&a3xx_gpu->ocmem); in a3xx_destroy()
564 adreno_gpu, &a3xx_gpu->ocmem); in a3xx_gpu_init()
590 ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem"); in a3xx_gpu_init()
593 /* allow -ENODATA, ocmem icc is optional */ in a3xx_gpu_init()
Dadreno_gpu.h177 struct ocmem *ocmem; member
427 struct adreno_ocmem *ocmem);
428 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/msm/
Dgpu.yaml61 - const: ocmem
75 phandle to the On Chip Memory (OCMEM) that's present on some a3xx and
77 Documentation/devicetree/bindings/sram/qcom,ocmem.yaml
251 ocmem@fdd00000 {
252 compatible = "qcom,msm8974-ocmem";
/kernel/linux/linux-5.10/drivers/firmware/
Dqcom_scm.c901 * qcom_scm_ocmem_lock_available() - is OCMEM lock/unlock interface available
911 * qcom_scm_ocmem_lock() - call OCMEM lock interface to assign an OCMEM
915 * @offset: OCMEM offset
916 * @size: OCMEM size
937 * qcom_scm_ocmem_unlock() - call OCMEM unlock interface to release an OCMEM
941 * @offset: OCMEM offset
942 * @size: OCMEM size
/kernel/linux/linux-6.6/drivers/firmware/
Dqcom_scm.c987 * qcom_scm_ocmem_lock_available() - is OCMEM lock/unlock interface available
997 * qcom_scm_ocmem_lock() - call OCMEM lock interface to assign an OCMEM
1001 * @offset: OCMEM offset
1002 * @size: OCMEM size
1023 * qcom_scm_ocmem_unlock() - call OCMEM unlock interface to release an OCMEM
1027 * @offset: OCMEM offset
1028 * @size: OCMEM size
/kernel/linux/linux-6.6/arch/arm64/boot/dts/qcom/
Dmsm8992.dtsi28 &ocmem {

12