[PATCH 0/6] Add OCMEM support (v2)

Rob Clark robdclark at gmail.com
Tue Sep 29 12:48:52 PDT 2015


Updates for review comments, plus a couple misc qcom-scm fixes

>From original cover-letter:

For devices such as 8x74 and 8084, which have a separate OCMEM block
used by the GPU (and some other devices), rather than an internal GMEM
block inside the GPU, we need a driver to power up and configure OCMEM
in order to get the GPU working.

This patchset implements a vastly simplified version of the downstream
vendor kernel's OCMEM driver.  Currently it is just enough to enable
the GPU.  But we can worry about other OCMEM users when they have up-
stream drivers.

The first patch adds support for the necessary scm interfaces, for the
parts of the OCMEM configuration that must be done from secure mode.
The second patch can be dropped, as so far this doesn't seem needed for
the GPU (I'm just sending the patch now so it can be found later if it
turns out to be needed).

The remaining two patches add the OCMEM driver inside drm/msm.  If we
eventually have other upstream OCMEM users, this would need to be split
out.  But that should not effect DT bindings, etc, so that is something
that can easily be done later when the need arises.

Rob Clark (6):
  qcom-scm: fix endianess issue in __qcom_scm_is_call_available
  qcom-scm: fix header compile errors
  qcom-scm: add missing prototype for qcom_scm_is_available()
  qcom-scm: add ocmem support
  drm/msm: update generated headers
  drm/msm: add OCMEM driver

 drivers/firmware/qcom_scm-32.c                 |  59 +++-
 drivers/firmware/qcom_scm-64.c                 |  16 +
 drivers/firmware/qcom_scm.c                    |  61 ++++
 drivers/firmware/qcom_scm.h                    |  12 +
 drivers/gpu/drm/msm/Makefile                   |   3 +-
 drivers/gpu/drm/msm/adreno/a2xx.xml.h          |   9 +-
 drivers/gpu/drm/msm/adreno/a3xx.xml.h          |  27 +-
 drivers/gpu/drm/msm/adreno/a3xx_gpu.c          |  19 +-
 drivers/gpu/drm/msm/adreno/a4xx.xml.h          |  15 +-
 drivers/gpu/drm/msm/adreno/a4xx_gpu.c          |  19 +-
 drivers/gpu/drm/msm/adreno/adreno_common.xml.h |  13 +-
 drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h    |   9 +-
 drivers/gpu/drm/msm/dsi/dsi.xml.h              |   4 +-
 drivers/gpu/drm/msm/dsi/mmss_cc.xml.h          |   4 +-
 drivers/gpu/drm/msm/dsi/sfpb.xml.h             |   4 +-
 drivers/gpu/drm/msm/edp/edp.xml.h              |   4 +-
 drivers/gpu/drm/msm/hdmi/hdmi.xml.h            |   4 +-
 drivers/gpu/drm/msm/hdmi/qfprom.xml.h          |   4 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h        |   4 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h        |  82 ++++-
 drivers/gpu/drm/msm/mdp/mdp_common.xml.h       |  11 +-
 drivers/gpu/drm/msm/msm_drv.c                  |   2 +
 drivers/gpu/drm/msm/msm_gpu.h                  |   3 +
 drivers/gpu/drm/msm/ocmem/ocmem.c              | 399 +++++++++++++++++++++++++
 drivers/gpu/drm/msm/ocmem/ocmem.h              |  46 +++
 drivers/gpu/drm/msm/ocmem/ocmem.xml.h          | 113 +++++++
 include/linux/qcom_scm.h                       |  16 +-
 27 files changed, 889 insertions(+), 73 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/ocmem/ocmem.c
 create mode 100644 drivers/gpu/drm/msm/ocmem/ocmem.h
 create mode 100644 drivers/gpu/drm/msm/ocmem/ocmem.xml.h

-- 
2.4.3



More information about the dri-devel mailing list