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@xxxxxxxxxxxxxxx. 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@xxxxxxxxxx> and Lukasz Spintzyk <lukasz.spintzyk@xxxxxxxxxxxxxxx> - Uma Shankar <uma.shankar@xxxxxxxxx> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel