[Freedreno] [RFC PULL] Add Display Support for Qualcomm SDM845

Sean Paul seanpaul at chromium.org
Tue Feb 13 19:18:13 UTC 2018


Hi dri-devel,
Qualcomm has been working for the past few weeks on forward porting their
downstream drm driver from 4.14 to mainline. Please consider this PR as a
request for review, rather than an attempt at mainlining the code as it
currently stands. The goal is get this driver in shape over the next coming
months.

In the meantime, I'll be hosting a tree here [1] to stage the fixes. Patches
will be posted and reviewed on linux-arm-msm at vger.kernel.org. Once things look
good, I'll send another pull 4realz.

To get the ball rolling, I've done some review on the new connector code, my
comments are below.

Thanks in advance for your constructive feedback :)

Sean

[1]- git://people.freedesktop.org/~seanpaul/dpu-staging

Review feedback:
----------------
- Solve the splash screen handling (or remove it)
- Simplify devicetree binding (remove register offsets)
feedback from reviewing sde_connector.c:
- Rationalize backlight implementation in sde_connector (display_count static)
- Sort out the dsi event passing between dsi/encoder/connector (move to encoder)
- include/uapi/drm/msm_drm_pp.h needs opensource userspace (or removal)
- connector->state access violations reading/writing mode_info
- s/sde_rect/drm_rect/
- sde_kms_info usage needs to be replaced with formal data structures (not 
  stringified keypairs)
- sde_connector_ops needs to be trimmed, duplicates connector helpers, info
  hooks circumvent state, and other hooks should be stored in state or
  prepopulated (get_dst_format)
- sde_connector_get_dpms unused
- esd status check should migrate to encoder from connector
- backlight should be handled in panel drivers, not in the generic connector/dsi
  encoder
- sde_connector_helper_bridge_disable is called from encoder and calls back into
  set_power encoder function. if backlight, and esd status are removed,
  pre_kickoff can probably go away
- sde_connector_clk_ctrl is another example of encoder->connector->encoder call
- RETIRE_FENCE connector property should be removed, opting for the native
  atomic fences
- ROI (regions of interest) should be expressed per-plane instead of connector.
  there is work ongoing to support dirty_rects per-plane by Deepak Singh Rawat
  <drawat at vmware.com> and Lukasz Spintzyk <lukasz.spintzyk at displaylink.com>
- Uma Shankar <uma.shankar at intel.com> has proposed HDR source metadata
  properties on the list, we should pivot to those instead of hand-rolling them
  in the sde driver
- Convert HDCP implementation to upstream Content Protection property
- Merge dsi and dsi_staging into one driver
- Writeback connector has been proposed by ARM (Liviu Dudau and Brian Starkey),
  we should work with their proposal instead of rolling OUT_FB ourselves
- sde_connector_set_property should be replaced with atomic helper
- dsi hotplug can probably be punted to the panel driver
- dpms should switch to enable/disable (or at least use the atomic helpers)
- dsi mode handling should also defer to the panel driver
- SDE_WB_CONFIG ioctl should be removed in favor of the existing ioctl to add
  user-defined modes
- dp implementation should use the existing dp helpers wherever possible
- lots of duplicated structures in dsi_defs.h that can be replaced with existing
  drm structs
- mode_valid should be split up and implemented directly in connector/encoder as
  appropriate
- sde_connector->aspace seems like it's unused?


The following changes since commit 9afe236df559d0dc6818f64e728a3f931a0a2231:

  drm/msm/dsi: Fix potential NULL pointer dereference in msm_dsi_modeset_init (2018-02-12 10:25:15 -0500)

are available in the Git repository at:

  git://people.freedesktop.org/~seanpaul/dpu-staging for-next-compiles

for you to fetch changes up to 672005da148f82021a62d4fa658728e19f13097e:

  ARM: dts: msm: add device tree changes for SDM845 (2018-02-13 13:14:43 -0500)

----------------------------------------------------------------
Jeykumar Sankaran (9):
      dt-bindings: msm/dsi: Add mdp transfer time to msm dsi binding
      dt-bindings: msm/disp: Add bindings for Snapdragon 845 DPU
      drm: Core changes
      drm/msm: add DPU DRM driver to support SDM845
      drm/msm: Change mdp_get_format arguments
      drm/msm: Core msm changes
      drm/msm: Add DSI Staging driver
      drm/msm: Add DisplayPort support
      ARM: dts: msm: add device tree changes for SDM845

Manasi Navare (1):
      drm/dp: Add HBR3 support in existing DRM DP helpers

Rob Clark (1):
      drm/msm: rename mdp->disp

 .../devicetree/bindings/display/msm/dpu-rsc.txt    |   96 +
 .../devicetree/bindings/display/msm/dpu.txt        |  736 +++
 .../devicetree/bindings/display/msm/dsi.txt        |   16 +
 .../devicetree/bindings/drm/msm/dpu-dp.txt         |  217 +
 .../devicetree/bindings/drm/msm/dpu-dsi.txt        |  102 +
 .../devicetree/bindings/drm/msm/dpu-wb.txt         |   23 +
 .../devicetree/bindings/drm/msm/mdss-dsi-panel.txt |  772 +++
 .../devicetree/bindings/fb/mdss-dsi-panel.txt      |  742 +++
 Documentation/devicetree/bindings/fb/mdss-pll.txt  |  103 +
 .../devicetree/bindings/msm_hdcp/msm_hdcp.txt      |   14 +
 arch/arm64/boot/dts/qcom/sdm845-dpu-display.dtsi   |  248 +
 arch/arm64/boot/dts/qcom/sdm845-dpu.dtsi           |  541 +++
 drivers/clk/qcom/mdss/mdss-pll.h                   |  240 +
 drivers/gpu/drm/drm_dp_helper.c                    |    4 +
 drivers/gpu/drm/drm_dp_mst_topology.c              |    3 +
 drivers/gpu/drm/drm_edid.c                         |   77 +
 drivers/gpu/drm/drm_framebuffer.c                  |    3 +-
 drivers/gpu/drm/drm_mipi_dsi.c                     |   12 +-
 drivers/gpu/drm/msm/Makefile                       |   98 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_ad4.h            |   99 +
 .../gpu/drm/msm/disp/dpu1/dpu_color_processing.c   | 1520 ++++++
 .../gpu/drm/msm/disp/dpu1/dpu_color_processing.h   |  120 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c      | 1381 ++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.h      |  581 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c       |  640 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h       |  192 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c      |  818 ++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h      |  144 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           | 5076 ++++++++++++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h           |  661 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c        | 3838 +++++++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h        |  220 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h   |  561 +++
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c   | 1365 ++++++
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c   | 1045 ++++
 .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c    | 1369 ++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.c          |  404 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.h          |  190 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c        | 1339 ++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.h        |  152 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ad4.c         | 1443 ++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.c         |  155 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.h         |   53 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c     | 3287 +++++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h     | 1050 ++++
 .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h  |  182 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c         |  329 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.h         |  139 +
 .../msm/disp/dpu1/dpu_hw_color_proc_common_v4.h    |   69 +
 .../gpu/drm/msm/disp/dpu1/dpu_hw_color_proc_v4.c   |  242 +
 .../gpu/drm/msm/disp/dpu1/dpu_hw_color_proc_v4.h   |   40 +
 .../drm/msm/disp/dpu1/dpu_hw_color_processing.h    |   20 +
 .../msm/disp/dpu1/dpu_hw_color_processing_v1_7.c   |  565 +++
 .../msm/disp/dpu1/dpu_hw_color_processing_v1_7.h   |   92 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c         |  657 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h         |  275 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ds.c          |  149 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ds.h          |  111 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c         |  252 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h         |  100 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c        |  209 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.h        |  220 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c  | 1235 +++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h  |  289 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c        |  373 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h        |  132 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c          |  331 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h          |  136 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h        |  538 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c    |  409 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h    |  182 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1.c  |  759 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1.h  |   27 +
 .../msm/disp/dpu1/dpu_hw_reg_dma_v1_color_proc.c   |  943 ++++
 .../msm/disp/dpu1/dpu_hw_reg_dma_v1_color_proc.h   |   75 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c         |  962 ++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h         |  192 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c        | 1063 ++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h        |  574 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c         |  461 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h         |  227 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c        |  453 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h        |  202 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.c        |  275 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.h        |  128 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c          |  324 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h          |  187 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hwio.h           |   60 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.c            |  112 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.h            |   59 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c            | 2099 ++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h            |  547 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms_utils.c      |  220 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c          | 4774 ++++++++++++++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h          |  296 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_reg_dma.c        |  139 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_reg_dma.h        |  310 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c             | 1394 ++++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h             |  200 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h          |  245 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c           |  385 ++
 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h           |   94 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c             |  781 +++
 drivers/gpu/drm/msm/disp/dpu1/dpu_wb.h             |  232 +
 drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4.xml.h  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_crtc.c |    0
 .../drm/msm/{mdp => disp}/mdp4/mdp4_dsi_encoder.c  |    0
 .../drm/msm/{mdp => disp}/mdp4/mdp4_dtv_encoder.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_irq.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_kms.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_kms.h  |    2 +-
 .../drm/msm/{mdp => disp}/mdp4/mdp4_lcdc_encoder.c |    0
 .../msm/{mdp => disp}/mdp4/mdp4_lvds_connector.c   |    0
 .../gpu/drm/msm/{mdp => disp}/mdp4/mdp4_lvds_pll.c |    0
 .../gpu/drm/msm/{mdp => disp}/mdp4/mdp4_plane.c    |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5.xml.h  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_cfg.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_cfg.h  |    0
 .../drm/msm/{mdp => disp}/mdp5/mdp5_cmd_encoder.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_crtc.c |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_ctl.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_ctl.h  |    0
 .../gpu/drm/msm/{mdp => disp}/mdp5/mdp5_encoder.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_irq.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_kms.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_kms.h  |    2 +-
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mdss.c |    0
 .../gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mixer.c    |    0
 .../gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mixer.h    |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_pipe.c |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_pipe.h |    0
 .../gpu/drm/msm/{mdp => disp}/mdp5/mdp5_plane.c    |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_smp.c  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_smp.h  |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp_common.xml.h |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp_format.c     |    5 +-
 drivers/gpu/drm/msm/{mdp => disp}/mdp_kms.c        |    0
 drivers/gpu/drm/msm/{mdp => disp}/mdp_kms.h        |    2 +-
 drivers/gpu/drm/msm/dp/dp_audio.c                  |  796 +++
 drivers/gpu/drm/msm/dp/dp_audio.h                  |   81 +
 drivers/gpu/drm/msm/dp/dp_aux.c                    |  570 +++
 drivers/gpu/drm/msm/dp/dp_aux.h                    |   44 +
 drivers/gpu/drm/msm/dp/dp_catalog.c                | 1320 +++++
 drivers/gpu/drm/msm/dp/dp_catalog.h                |  163 +
 drivers/gpu/drm/msm/dp/dp_ctrl.c                   | 1474 ++++++
 drivers/gpu/drm/msm/dp/dp_ctrl.h                   |   50 +
 drivers/gpu/drm/msm/dp/dp_debug.c                  |  503 ++
 drivers/gpu/drm/msm/dp/dp_debug.h                  |   60 +
 drivers/gpu/drm/msm/dp/dp_display.c                | 1262 +++++
 drivers/gpu/drm/msm/dp/dp_display.h                |   52 +
 drivers/gpu/drm/msm/dp/dp_drm.c                    |  538 +++
 drivers/gpu/drm/msm/dp/dp_drm.h                    |   96 +
 drivers/gpu/drm/msm/dp/dp_hdcp2p2.c                |  927 ++++
 drivers/gpu/drm/msm/dp/dp_link.c                   | 1548 ++++++
 drivers/gpu/drm/msm/dp/dp_link.h                   |  184 +
 drivers/gpu/drm/msm/dp/dp_panel.c                  |  531 ++
 drivers/gpu/drm/msm/dp/dp_panel.h                  |  116 +
 drivers/gpu/drm/msm/dp/dp_parser.c                 |  645 +++
 drivers/gpu/drm/msm/dp/dp_parser.h                 |  200 +
 drivers/gpu/drm/msm/dp/dp_power.c                  |  623 +++
 drivers/gpu/drm/msm/dp/dp_power.h                  |   58 +
 drivers/gpu/drm/msm/dp/dp_reg.h                    |  231 +
 drivers/gpu/drm/msm/dp/dp_usbpd.c                  |  491 ++
 drivers/gpu/drm/msm/dp/dp_usbpd.h                  |  101 +
 drivers/gpu/drm/msm/dpu_dbg.c                      | 3325 +++++++++++++
 drivers/gpu/drm/msm/dpu_dbg.h                      |  421 ++
 drivers/gpu/drm/msm/dpu_dbg_evtlog.c               |  306 ++
 drivers/gpu/drm/msm/dpu_edid_parser.c              |  657 +++
 drivers/gpu/drm/msm/dpu_edid_parser.h              |  166 +
 drivers/gpu/drm/msm/dpu_hdcp.h                     |   74 +
 drivers/gpu/drm/msm/dpu_hdcp_1x.c                  | 1579 ++++++
 drivers/gpu/drm/msm/dpu_io_util.c                  |  507 ++
 drivers/gpu/drm/msm/dpu_power_handle.c             | 1128 +++++
 drivers/gpu/drm/msm/dpu_power_handle.h             |  334 ++
 drivers/gpu/drm/msm/dpu_rsc.c                      | 1367 ++++++
 drivers/gpu/drm/msm/dpu_rsc_hw.c                   |  818 ++++
 drivers/gpu/drm/msm/dpu_rsc_priv.h                 |  191 +
 drivers/gpu/drm/msm/dsi-staging/dsi_catalog.c      |  241 +
 drivers/gpu/drm/msm/dsi-staging/dsi_catalog.h      |  201 +
 drivers/gpu/drm/msm/dsi-staging/dsi_clk.h          |  276 ++
 drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c  | 1227 +++++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c         | 2862 +++++++++++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.h         |  635 +++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw.h      |  752 +++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_1_4.c  |  480 ++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_2_0.c  |  234 +
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_2_2.c  |   42 +
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_cmn.c  | 1312 +++++
 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_reg.h     |  196 +
 drivers/gpu/drm/msm/dsi-staging/dsi_defs.h         |  581 +++
 drivers/gpu/drm/msm/dsi-staging/dsi_display.c      | 4325 +++++++++++++++++
 drivers/gpu/drm/msm/dsi-staging/dsi_display.h      |  557 +++
 drivers/gpu/drm/msm/dsi-staging/dsi_display_test.c |  114 +
 drivers/gpu/drm/msm/dsi-staging/dsi_display_test.h |   31 +
 drivers/gpu/drm/msm/dsi-staging/dsi_drm.c          |  708 +++
 drivers/gpu/drm/msm/dsi-staging/dsi_drm.h          |  129 +
 drivers/gpu/drm/msm/dsi-staging/dsi_hw.h           |   48 +
 drivers/gpu/drm/msm/dsi-staging/dsi_panel.c        | 3521 ++++++++++++++
 drivers/gpu/drm/msm/dsi-staging/dsi_panel.h        |  262 +
 drivers/gpu/drm/msm/dsi-staging/dsi_phy.c          |  935 ++++
 drivers/gpu/drm/msm/dsi-staging/dsi_phy.h          |  235 +
 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw.h       |  260 +
 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw_v2_0.c  |  252 +
 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw_v3_0.c  |  447 ++
 .../gpu/drm/msm/dsi-staging/dsi_phy_timing_calc.c  |  676 +++
 .../gpu/drm/msm/dsi-staging/dsi_phy_timing_calc.h  |  144 +
 .../gpu/drm/msm/dsi-staging/dsi_phy_timing_v2_0.c  |  126 +
 .../gpu/drm/msm/dsi-staging/dsi_phy_timing_v3_0.c  |  107 +
 drivers/gpu/drm/msm/dsi-staging/dsi_pwr.c          |  365 ++
 drivers/gpu/drm/msm/dsi-staging/dsi_pwr.h          |   93 +
 drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c               |   26 +-
 drivers/gpu/drm/msm/msm_atomic.c                   |  446 +-
 drivers/gpu/drm/msm/msm_drv.c                      |  919 +++-
 drivers/gpu/drm/msm/msm_drv.h                      |  486 +-
 drivers/gpu/drm/msm/msm_fb.c                       |   10 +-
 drivers/gpu/drm/msm/msm_kms.h                      |   90 +-
 drivers/gpu/drm/msm/msm_prop.c                     |  688 +++
 drivers/gpu/drm/msm/msm_prop.h                     |  438 ++
 drivers/gpu/drm/msm/msm_rd.c                       |   58 +-
 drivers/platform/msm/Kconfig                       |   21 +
 drivers/platform/msm/Makefile                      |    4 +
 drivers/platform/msm/msm_ext_display.c             |  525 ++
 include/drm/drm_connector.h                        |   19 +
 include/drm/drm_dp_helper.h                        |   23 +
 include/drm/drm_mipi_dsi.h                         |    4 +
 include/drm/drm_mode_object.h                      |    2 +-
 include/linux/dpu_io_util.h                        |  113 +
 include/linux/dpu_rsc.h                            |  302 ++
 include/linux/msm_ext_display.h                    |  182 +
 include/uapi/drm/dpu_drm.h                         |  449 ++
 include/uapi/drm/drm_fourcc.h                      |   32 +
 include/uapi/drm/drm_mode.h                        |    5 +
 include/uapi/drm/msm_drm.h                         |   79 +
 include/uapi/drm/msm_drm_pp.h                      |  345 ++
 include/uapi/media/msm_media_info.h                | 1376 ++++++
 include/video/mipi_display.h                       |    4 +
 236 files changed, 110234 insertions(+), 159 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-rsc.txt
 create mode 100644 Documentation/devicetree/bindings/display/msm/dpu.txt
 create mode 100644 Documentation/devicetree/bindings/drm/msm/dpu-dp.txt
 create mode 100644 Documentation/devicetree/bindings/drm/msm/dpu-dsi.txt
 create mode 100644 Documentation/devicetree/bindings/drm/msm/dpu-wb.txt
 create mode 100644 Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt
 create mode 100644 Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt
 create mode 100644 Documentation/devicetree/bindings/fb/mdss-pll.txt
 create mode 100644 Documentation/devicetree/bindings/msm_hdcp/msm_hdcp.txt
 create mode 100644 arch/arm64/boot/dts/qcom/sdm845-dpu-display.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/sdm845-dpu.dtsi
 create mode 100644 drivers/clk/qcom/mdss/mdss-pll.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_ad4.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_color_processing.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_color_processing.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_connector.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_fence.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ad4.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_blk.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog_format.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cdm.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_proc_common_v4.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_proc_v4.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_proc_v4.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_processing.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_processing_v1_7.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_color_processing_v1_7.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ds.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ds.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1_color_proc.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_reg_dma_v1_color_proc.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_rot.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hwio.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_irq.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_kms_utils.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_reg_dma.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_reg_dma.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.h
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_wb.c
 create mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_wb.h
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4.xml.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_crtc.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_dsi_encoder.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_dtv_encoder.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_irq.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_kms.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_kms.h (99%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_lcdc_encoder.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_lvds_connector.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_lvds_pll.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp4/mdp4_plane.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5.xml.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_cfg.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_cfg.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_cmd_encoder.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_crtc.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_ctl.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_ctl.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_encoder.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_irq.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_kms.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_kms.h (99%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mdss.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mixer.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_mixer.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_pipe.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_pipe.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_plane.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_smp.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp5/mdp5_smp.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp_common.xml.h (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp_format.c (98%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp_kms.c (100%)
 rename drivers/gpu/drm/msm/{mdp => disp}/mdp_kms.h (99%)
 create mode 100644 drivers/gpu/drm/msm/dp/dp_audio.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_audio.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_aux.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_aux.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_catalog.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_catalog.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_ctrl.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_ctrl.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_debug.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_debug.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_display.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_display.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_drm.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_drm.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_hdcp2p2.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_link.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_link.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_panel.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_panel.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_parser.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_parser.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_power.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_power.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_reg.h
 create mode 100644 drivers/gpu/drm/msm/dp/dp_usbpd.c
 create mode 100644 drivers/gpu/drm/msm/dp/dp_usbpd.h
 create mode 100644 drivers/gpu/drm/msm/dpu_dbg.c
 create mode 100644 drivers/gpu/drm/msm/dpu_dbg.h
 create mode 100644 drivers/gpu/drm/msm/dpu_dbg_evtlog.c
 create mode 100644 drivers/gpu/drm/msm/dpu_edid_parser.c
 create mode 100644 drivers/gpu/drm/msm/dpu_edid_parser.h
 create mode 100644 drivers/gpu/drm/msm/dpu_hdcp.h
 create mode 100644 drivers/gpu/drm/msm/dpu_hdcp_1x.c
 create mode 100644 drivers/gpu/drm/msm/dpu_io_util.c
 create mode 100644 drivers/gpu/drm/msm/dpu_power_handle.c
 create mode 100644 drivers/gpu/drm/msm/dpu_power_handle.h
 create mode 100644 drivers/gpu/drm/msm/dpu_rsc.c
 create mode 100644 drivers/gpu/drm/msm/dpu_rsc_hw.c
 create mode 100644 drivers/gpu/drm/msm/dpu_rsc_priv.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_catalog.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_catalog.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_clk.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_1_4.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_2_0.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_2_2.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_hw_cmn.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_ctrl_reg.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_defs.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_display.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_display.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_display_test.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_display_test.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_drm.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_hw.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw_v2_0.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_hw_v3_0.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_timing_calc.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_timing_calc.h
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_timing_v2_0.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_phy_timing_v3_0.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_pwr.c
 create mode 100644 drivers/gpu/drm/msm/dsi-staging/dsi_pwr.h
 create mode 100644 drivers/gpu/drm/msm/msm_prop.c
 create mode 100644 drivers/gpu/drm/msm/msm_prop.h
 create mode 100644 drivers/platform/msm/Kconfig
 create mode 100644 drivers/platform/msm/Makefile
 create mode 100644 drivers/platform/msm/msm_ext_display.c
 create mode 100644 include/linux/dpu_io_util.h
 create mode 100644 include/linux/dpu_rsc.h
 create mode 100644 include/linux/msm_ext_display.h
 create mode 100644 include/uapi/drm/dpu_drm.h
 create mode 100644 include/uapi/drm/msm_drm_pp.h
 create mode 100644 include/uapi/media/msm_media_info.h

-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the Freedreno mailing list