/
usr
/
src
/
linux-headers-5.15.0-190
/
include
/
soc
/
qcom
/
/usr/src/linux-headers-5.15.0-190/include/soc/qcom
mkdir
upload
Name
Size
Mode
Actions
cmd-db.h
1321
0644
edit
dl
rm
kryo-l2-accessors.h
298
0644
edit
dl
rm
ocmem.h
1582
0644
edit
dl
rm
rpmh.h
1240
0644
edit
dl
rm
tcs.h
2641
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/include/soc/qcom/ocmem.h
(1582B)
/* SPDX-License-Identifier: GPL-2.0-only */ /* * The On Chip Memory (OCMEM) allocator allows various clients to allocate * memory from OCMEM based on performance, latency and power requirements. * This is typically used by the GPU, camera/video, and audio components on * some Snapdragon SoCs. * * Copyright (C) 2019 Brian Masney <masneyb@onstation.org> * Copyright (C) 2015 Red Hat. Author: Rob Clark <robdclark@gmail.com> */ #include <linux/device.h> #include <linux/err.h> #ifndef __OCMEM_H__ #define __OCMEM_H__ enum ocmem_client { /* GMEM clients */ OCMEM_GRAPHICS = 0x0, /* * TODO add more once ocmem_allocate() is clever enough to * deal with multiple clients. */ OCMEM_CLIENT_MAX, }; struct ocmem; struct ocmem_buf { unsigned long offset; unsigned long addr; unsigned long len; }; #if IS_ENABLED(CONFIG_QCOM_OCMEM) struct ocmem *of_get_ocmem(struct device *dev); struct ocmem_buf *ocmem_allocate(struct ocmem *ocmem, enum ocmem_client client, unsigned long size); void ocmem_free(struct ocmem *ocmem, enum ocmem_client client, struct ocmem_buf *buf); #else /* IS_ENABLED(CONFIG_QCOM_OCMEM) */ static inline struct ocmem *of_get_ocmem(struct device *dev) { return ERR_PTR(-ENODEV); } static inline struct ocmem_buf *ocmem_allocate(struct ocmem *ocmem, enum ocmem_client client, unsigned long size) { return ERR_PTR(-ENODEV); } static inline void ocmem_free(struct ocmem *ocmem, enum ocmem_client client, struct ocmem_buf *buf) { } #endif /* IS_ENABLED(CONFIG_QCOM_OCMEM) */ #endif /* __OCMEM_H__ */
Save
cmd:
run