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

Daniel Vetter daniel at ffwll.ch
Mon Feb 19 14:45:31 UTC 2018


On Tue, Feb 13, 2018 at 03:00:09PM -0500, Rob Clark wrote:
> On Tue, Feb 13, 2018 at 2:18 PM, Sean Paul <seanpaul at chromium.org> wrote:
> > 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:
> > ----------------
> 
> just so others aren't confused, s/sde/dpu/g in the list below (we did
> our DAL->DC rename before sending first RFC :-P)
> 
> > - 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?
> >
> 
> To add to that, a few things I've noticed (but I've mostly only gotten
> as far as the front-end of the pipeline, ie. dpu_plane):
> 
>  - It looks like, as was the case with mdp4/mdp5 (and really most other hw)
>    there are still unequal capabilities for planes (ie. some can do YUV,
>    scaling, etc).
> 
>    But drm-hwc (or weston) isn't going to know about that, so I think we'll
>    need to add support for dynamically assigning dpu_plane::pipe, similar
>    to what mdp5 does w/ plane<->hwpipe.  (Which I actually added specifically
>    for drm-hwc ;-))
> 
>  - I *think* we also need the same trick for combining mixers under one CRTC
>    for 4k modes too?

Sounds like this should reuse the mdp5 framework in msm, at least in
parts? Reinventing the same virtualization will get boring :-)

>  - in dpu_plane, and perhaps elsewhere, userspace pointers for things like CSC
>    and scaling coefficients need to be annotated w/ __user.  (Except the should
>    probably be blob properties instead.. and we probably need to strip out the
>    custom properties and re-introduce them separately with some userspace +
>    review.)

Just a general reminder: uapi is uapi, even if it's hidden behind pointers
or properties, or other stuff. So usual rules apply:
- we need proper review of the stuff
- we need real open source userspace for it all
- where it makes sense, we really need to have it standardized across
  drivers (we've dug ourselves a bit a hole in that regard with the
  initial set of plane/crtc properties, which was a bit too much free for
  all).

My recommendation for new driver codebases is to just disable all the
nonstandard stuff for the initial upstreaming (you can keep the back-end
code, that's what we've done in parts with DC). This unblocks the basic
enabling from the uapi discussions.

But most of it is highlighted in Sean's mail already.

>  - dpu_formats.c looks mostly like a superset of mdp_format.c, ie there is a
>    similar concept to how you describe the format to hw as mdp4/mdp5.  Probably
>    the additions in dpu_formats should be folded back in mdp_format.
> 
> I'm not sure how we want to balance adding new features with cleanup
> and hopefully removing some code.  I suspect a fair chunk of dpu_plane
> actually belongs in dpu_plane_state, so maybe we can handle that as
> part of that cleanup.

Wrt the precise balance between getting things upstream quickly and not
ending up with a complete turd that reinvents everything I'll leave that
to you and Sean to figure out. Imo the much more important part is whether
the original authors want (and actually can, and have shown to) engage
with upstream. That's what made me ack AMD's DC, not so much the state of
the code itself - given how fast gpus move, that will always be in slight
state of disrepair :-)

Cheers, Daniel

> 
> Few more below
> 
> >
> > 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 +-
> 
> Some of these changes in drm core need to be split out.
> 
> >  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 +
> 
> let's not have our own edid parser ;-)
> 
> I guess this is a symptom of some enhancements needed in drm_edid
> 
> >  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 +
> 
> getting rid of the 2nd dsi driver in dsi-staging will cut off a big
> chunk of code, it is just shy of 25kloc
> 
> >  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 ++
> 
> I guess msm_ext_display.c needs to go away
> 
> >  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 ++++++
> 
> and this
> 
> >  include/video/mipi_display.h                       |    4 +
> >  236 files changed, 110234 insertions(+), 159 deletions(-)
> 
> jfwiw, Sean an I have already cut out ~15k insertions from the inital
> version ;-)
> 
> BR,
> -R
> 
> >  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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Freedreno mailing list