aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-12-11drm/msm/gpu: Only store local command buffers in the GPU stateJordan Crouse1-10/+13
Instead of trying to store all the tagged buffers from a hanging submit only store the command buffers that were not imported. This cuts down on the amount of data stored in the GPU state to the base minimum of useful information. The downside is that this will make it more difficult to successfully replay a hang with just the GPU state but there isn't any reason why that functionality can't be added back in later once we've figured out how to better communicate such massive amounts of data. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/gpu: Add trace events for tracking GPU submissionsJordan Crouse7-6/+139
Add trace events to track the progress of a GPU submission msm_gpu_submit occurs at the beginning of the submissions, msm_gpu_submit_flush happens when the submission is put on the ringbuffer and msm_submit_flush_retired is sent when the operation is retired. To make it easier to track the operations a unique sequence number is assigned to each submission and displayed in each event output so a human or a script can easily associate the events related to a specific submission. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/gpu: Add per-submission statisticsJordan Crouse3-16/+54
Add infrastructure to track statistics for GPU submissions by sampling certain perfcounters before and after a submission. To store the statistics, the per-ring memptrs region is expanded to include room for up to 64 entries - this should cover a reasonable amount of inflight submissions without worrying about losing data. The target specific code inserts PM4 commands to sample the counters before and after submission and store them in the data region. The CPU can access the data after the submission retires to make sense of the statistics and communicate them to the user. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: Gracefully handle failure in _msm_gem_kernel_newJordan Crouse1-6/+12
If any of the function calls in _msm_gem_kernel_new fail we need to make sure to dereference the GEM object with the appropriate function for the current locking state. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/gpu: Allocate the correct size for the GPU memptrsJordan Crouse1-1/+2
Allocate the correct buffer size for the GPU memptrs. The incorrect size hasn't affected us thus far since the incorrect size was larger than the intended size and we're still stuck on page sized granularity anyway but technically correct is the best kind of correct. Signed-off-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: update generated headersRob Clark8-45/+408
Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/dpu: set geometry for iommu domainJeykumar Sankaran1-0/+3
Specify geometry for DPU iommu domain which sets the address space for gem allocations. Signed-off-by: Jeykumar Sankaran <[email protected]> Suggested-by: Jordan Crouse <[email protected]> Suggested-by: Vivek Gautam <[email protected]> Acked-by: Jordan Crouse <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm: msm: Use DRM_DEV_* instead of dev_*Mamta Shukla52-310/+313
Use DRM_DEV_INFO/ERROR/WARN instead of dev_info/err/debug to generate drm-formatted specific log messages so that it will be easy to differentiate in case of multiple instances of driver. Signed-off-by: Mamta Shukla <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Remove checks from dpu_plane_destroy_state()Sean Paul1-12/+1
They're not needed. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Clean up _dpu_core_video_mode_intf_connected()Sean Paul1-7/+2
Local variable is not needed and condition can't be hit. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Remove empty/useless labelsSean Paul7-28/+15
I noticed an empty label while driving by and decided to use coccinelle to see if there were any more. Here's the spatch and the invocation: --- @@ identifier lbl; expression E; @@ - goto lbl; + return E; ... - lbl: return E; @@ identifier lbl; @@ - goto lbl; + return; ... - lbl: - return; --- spatch --allow-inconsistent-paths --sp-file file.spatch --dir drivers/gpu/drm/msm/disp/dpu1 --in-place --- Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Remove 'inline' from several functionsSean Paul9-47/+29
Per chapter 15 of coding-style, removing 'inline' keyword from functions that are larger than a typical macro. In a couple of cases I've simplified the function and kept the inline. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Remove _dpu_encoder_power_enable()Sean Paul1-33/+0
It's unused, remove it. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Remove unused functions from msm_media_info.hSean Paul1-171/+0
These functions aren't used anywhere, remove them. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: Remove dpu_encoder_phys_ops->hw_reset()Sean Paul4-18/+2
We call out of the virt encoder into phys only to call back into the virt for hw reset. So remove the indirection and just call the virt function directly. Reviewed-by: Jeykumar Sankaran <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/dpu: Replace dpu_crtc_reset by atomic helperBruce Wang1-38/+1
Since we removed all suspend logic from the crtc code (see patch 3/4), dpu_crtc_reset does the same things as drm_atomic_helper_crtc_reset, so let's just replace it with a call to the atomic helper. v3: added patch to patchset Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Bruce Wang <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/dpu: Remove suspend state tracking from crtcBruce Wang4-75/+6
Since drm core's modeset locks serialize atomic commits, we don't need to track whether or not we're in a suspended state from inside the crtc for dpu_crtc_enable/disable. This patch removes the suspend logic from the crtc and removes the relevant tracing from dpu_trace. Since we removed all calls to dpu_kms_is_suspend_state, we can remove that function and the suspend_state field of dpu_kms as well. v2: added patch to patchset v3: reworded commit body and moved deletion of dpu_kms_is_suspend_state and suspend_state to this patch Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Bruce Wang <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: Cut dpu_kms hooks from msm_pm_suspend/resumeBruce Wang2-18/+12
Removes the traces of the non-atomic helper calls in msm_pm_suspend/resume since we just deleted those functions (see patch 1). Also removes the drm_kms_helper_poll_disable/enable calls, since the DRM_CONNECTOR_POLL_CONNECT flag is never set so periodic polling doesn't happen anyways. v2: reorganized patch order v3: made error checks less severe Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Bruce Wang <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm/dpu: Remove dpu_kms_pm_suspend/resumeBruce Wang2-138/+0
PM resume was crashing during dpu_kms_pm_resume. This patch removes dpu_kms_pm_suspend/resume so that msm_pm_suspend/resume uses the atomic helpers instead (see next patch). This patch also removes dpu_kms_is_suspend_blocked since it is never called. v2: Reorganized patches in patchset Signed-off-by: Bruce Wang <[email protected]> Reviewed-by: Sean Paul <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm/msm: dpu: Add tracing around CTL_FLUSHSean Paul2-8/+65
I found these tracepoints useful for debugging cursor/ctl, someone else might find them useful too Reviewed-by: Jeykumar Sankaran <[email protected]> Reviewed-by: Abhinav Kumar <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2018-12-11drm: Fix docs warning in drm_damage_helper.cDeepak Rawat1-1/+1
Modify description to match actual argument list. Signed-off-by: Deepak Rawat <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]>
2018-12-11drm/selftest: fix spelling mistake "dimention" -> "dimension"Colin Ian King1-1/+1
There is a spelling mistake in a pr_err message, fix this. Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]>
2018-12-11Merge tag 'gvt-next-2018-12-07' of https://github.com/intel/gvt-linux into ↵Jani Nikula6-5/+43
drm-intel-next-fixes gvt-next-2018-12-07 - Fix -next regression on shadow ctx's ppgtt destroy (Xiong) - Update force-to-nonpriv register list (Yan) - three typo fixes Signed-off-by: Jani Nikula <[email protected]> From: Zhenyu Wang <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2018-12-11drm/nouveau/ce/tu106: initial supportBen Skeggs1-0/+5
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/fifo/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/disp/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/dma/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GV100. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/therm/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GP100. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/pmu/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/fault/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/bar/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/mmu/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/ltc/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/fb/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GV100. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/imem/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with NV50. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/tmr/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GK20A. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/bus/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GF100. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/mc/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/fuse/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GM107. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/i2c/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GM200. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/gpio/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GK104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/ibus/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GM200. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/top/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GK104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/devinit/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/bios/tu106: initial supportBen Skeggs1-0/+1
No real surprised here so far. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/pci/tu106: initial supportBen Skeggs1-0/+1
Appears to be compatible with GP100. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/core: recognise TU106Ben Skeggs1-0/+6
Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/core: increase maximum number of nvdec instances to 3Ben Skeggs3-3/+7
RTX2070 appears to have 3 copies of the engine. Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/kms/tu104: initial supportBen Skeggs15-19/+457
Signed-off-by: Ben Skeggs <[email protected]>
2018-12-11drm/nouveau/ce/tu104: initial supportBen Skeggs6-0/+50
Signed-off-by: Ben Skeggs <[email protected]>