soc: qcom: add OCMEM driver
authorBrian Masney <masneyb@onstation.org>
Fri, 23 Aug 2019 12:16:35 +0000 (05:16 -0700)
committerRob Clark <robdclark@chromium.org>
Mon, 7 Oct 2019 15:17:33 +0000 (08:17 -0700)
commit88c1e9404f1deee02e52d13aae3d9ee2cabd66f5
treee9c34e5c1454850df57eccac460b46520f9f87be
parent0434a4061471a9afc2b2061add496e58ba4bb92d
soc: qcom: add OCMEM driver

The OCMEM driver handles allocation and configuration of the On Chip
MEMory that is present on some Snapdragon SoCs. Devices which have
OCMEM do not have GMEM inside the GPU core, so the GPU must instead
use OCMEM to be functional. Since the GPU is currently the only OCMEM
user with an upstream driver, this is just a minimal implementation
sufficient for statically allocating to the GPU it's chunk of OCMEM.

This driver currently does not read the gmu-sram node that is described
in the device tree bindings. The starting memory address of the GPU's
reserved memory region is hardcoded to zero to match what the hardware
expects. The driver can be updated to read the reserved memory regions
from device tree once other users of OCMEM are added upstream.

Signed-off-by: Brian Masney <masneyb@onstation.org>
Co-developed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Gabriel Francisco <frc.gabrielgmail.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/soc/qcom/Kconfig
drivers/soc/qcom/Makefile
drivers/soc/qcom/ocmem.c [new file with mode: 0644]
include/soc/qcom/ocmem.h [new file with mode: 0644]