| /kernel/linux/linux-6.6/drivers/soc/qcom/ |
| 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. 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 …]
|
| D | Kconfig | 82 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
|
| D | Makefile | 8 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
|
| /kernel/linux/linux-5.10/drivers/soc/qcom/ |
| 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. 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 …]
|
| D | Kconfig | 82 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
|
| D | Makefile | 9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o
|
| /kernel/linux/linux-5.10/include/soc/qcom/ |
| 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
|
| /kernel/linux/linux-6.6/include/soc/qcom/ |
| 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
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sram/ |
| 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 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/ |
| 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";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/msm/ |
| D | gpu.txt | 29 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/ |
| D | adreno_gpu.c | 17 #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 …]
|
| D | a4xx_gpu.h | 18 /* if OCMEM is used for GMEM: */ 19 struct adreno_ocmem ocmem; member
|
| D | a3xx_gpu.h | 21 /* if OCMEM is used for GMEM: */ 22 struct adreno_ocmem ocmem; member
|
| D | adreno_gpu.h | 117 struct ocmem *ocmem; member 251 struct adreno_ocmem *ocmem); 252 void adreno_gpu_ocmem_cleanup(struct adreno_ocmem *ocmem);
|
| D | a3xx_gpu.c | 248 /* 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/ |
| D | a4xx_gpu.h | 18 /* if OCMEM is used for GMEM: */ 19 struct adreno_ocmem ocmem; member
|
| D | a3xx_gpu.h | 21 /* if OCMEM is used for GMEM: */ 22 struct adreno_ocmem ocmem; member
|
| D | adreno_gpu.c | 18 #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 …]
|
| D | a3xx_gpu.c | 247 /* 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()
|
| D | adreno_gpu.h | 177 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/ |
| D | gpu.yaml | 61 - 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/ |
| D | qcom_scm.c | 901 * 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/ |
| D | qcom_scm.c | 987 * 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/ |
| D | msm8992.dtsi | 28 &ocmem {
|