Hi Linus,
This is the main drm pull request for v4.12. Apart from two fixes pulls, everything should have been in drm-next for at least 2 weeks.
The biggest thing in here is AMD released the public headers for their upcoming VEGA GPUs. These as always are quite a sizeable chunk of header files. They've also added initial non-display support for those GPUs, though they aren't available in production yet.
There is also a conflict with the incoming tee subsystem, but hopefully that will be resolved before it gets sent to you.
Otherwise it's pretty much normal.
New drivers: bridges: megachips-stdpxxxx-ge-b850v3-fw LVDS->DP++ generic LVDS bridge support.
Core: Displayport link train failure reporting to userspace debugfs interface cleaned up subsystem TODO in kerneldoc now Extended fbdev support (flipping and vblank wait) drm_platform removed EDP CRC support in helper HF-VSDB SCDC support in EDID parser Lots of code cleanups and header extraction Thunderbolt external GPU awareness Atomic helper improvements Documentation improvements
panel: Sitronix and Samsung new panel support
amdgpu: Preliminary vega10 support Multi-level page table support GPU sensor support for userspace PRT support for sparse buffers SR-IOV improvements Non-contig VRAM CPU mapping
i915: Atomic modesetting enabled by default on Gen5+ LSPCON improvements Atomic state handling for cdclk GPU reset improvements In-kernel unit tests Geminilake improvements and color manager support Designware i2c fixes vblank evasion improvements Hotplug safe connector iterators GVT scheduler QoS support GVT Kabylake support
nouveau: Acceleration support for Pascal (GP10x). Rearchitecture of code handling proprietary signed firmware Fix GTX 970 with odd MMU configuration GP10B support GP107 acceleration support
vmwgfx: Atomic modesetting support for vmwgfx
omapdrm: Support for render nodes Refactor omapdss code Fix some probe ordering issues Fix too dark RGB565 rendering
sunxi: prelim rework for multiple pipes.
mali-dp: Color management support Plane scaling Power management improvements
imx-drm: Prefetch Resolve Engine/Gasket on i.MX6QP Deferred plane disabling Separate alpha support
mediatek: Mediatek SoC MT2701 support
rcar-du: Gen3 HDMI support
msm: 4k support for newer chips OPP bindings for gpu prep work for per-process pagetables
vc4: HDMI audio support fixes
qxl: minor fixes.
dw-hdmi: PHY improvements CSC fixes Amlogic GX SoC support
The following changes since commit 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:
Linux 4.11-rc7 (2017-04-16 13:00:18 -0700)
are available in the git repository at:
git://people.freedesktop.org/~airlied/linux tags/drm-for-v4.12
for you to fetch changes up to 8b03d1ed2c43a2ba5ef3381322ee4515b97381bf:
Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next (2017-05-02 04:46:01 +1000)
---------------------------------------------------------------- main drm pull request for 4.12 kernel
---------------------------------------------------------------- Adam Borowski (1): drm/nouveau/gpio: enable interrupts on cards with 32 gpio lines
Alex Deucher (71): drm/amdgpu: expose GPU sensor related information drm/amdgpu: bump driver version for new lds buffer query drm/amdgpu/powerplay: enable LEDs on Fiji boards drm/amdgpu/vce2: fix vce bar programming drm/amdgpu: put gtt at 0 in the internal address space drm/amdgpu: add polaris12 to virtual dce handling drm/amdgpu: switch ih handling to two levels (v3) drm/amdgpu/ih: store the full context id drm/amdgpu: add asic callback to get memsize register drm/amdgpu: add new ATIF ACPI method drm/radeon: add new ATIF ACPI method drm/amdgpu/gfx6: drop gds unrefs drm/amdgpu: don't init GDS pool if GDS size is 0 (v2) drm/amdgpu/vi: remove duplicate CG flags drm/amdgpu/vi: add missing error handling when setting uvd dclk drm/amdgpu: bump version for PRT support drm/amdgpu/gfx8: whitespace cleanup drm/amdgpu/gfx8: rename some functions drm/amdgpu/gfx8: reserve mqd objects before mapping them drm/amdgpu/gfx8: test KIQ before compute rings drm/amdgpu/gfx8: fold loops in kiq_resume() drm/amdgpu/gfx8: reserve kiq eop object before unmapping it drm/amdgpu/gfx8: reduce the functon params for mpq setup drm/amdgpu/gfx8: store the eop gpu addr in the ring structure drm/amdgpu/gfx8: further KIQ parameter cleanup drm/amdgpu: add the new atomfirmware interface header amdgpu: detect if we are using atomfirmware or atombios for vbios (v2) drm/amdgpu: move atom scratch setup into amdgpu_atombios.c drm/amdgpu: add basic support for atomfirmware.h (v3) drm/amdgpu: add soc15ip.h drm/amdgpu: add vega10_enum.h drm/amdgpu: Add ATHUB 1.0 register headers drm/amdgpu: Add the DCE 12.0 register headers drm/amdgpu: add the GC 9.0 register headers drm/amdgpu: add the HDP 4.0 register headers drm/amdgpu: add the MMHUB 1.0 register headers drm/amdgpu: add MP 9.0 register headers drm/amdgpu: add NBIF 6.1 register headers drm/amdgpu: add NBIO 6.1 register headers drm/amdgpu: add OSSSYS 4.0 register headers drm/amdgpu: add SDMA 4.0 register headers drm/amdgpu: add SMUIO 9.0 register headers drm/amdgpu: add THM 9.0 register headers drm/amdgpu: add the UVD 7.0 register headers drm/amdgpu: add the VCE 4.0 register headers drm/amdgpu: add gfx9 clearstate header drm/amdgpu: add SDMA 4.0 packet header drm/amdgpu: use atomfirmware interfaces for scratch reg save/restore drm/amdgpu: update IH IV ring entry for soc-15 drm/amdgpu: add PTE defines for MTYPE drm/amdgpu: add NGG parameters drm/amdgpu: Add asic family for vega10 drm/amdgpu: add tiling flags for GFX9 (v2) drm/amdgpu: gart fixes for vega10 drm/amdgpu:vega10: enable virtual display if set via module option drm/amdgpu/gfx9: whitespace cleanup drm/amdgpu/gfx9: rename some functions drm/amdgpu/gfx9: reserve mqd objects before mapping them drm/amdgpu/gfx9: reserve kiq eop object before unmapping it drm/amdgpu/gfx9: reduce the functon params for mpq setup drm/amdgpu/gfx9: store the eop gpu addr in the ring structure drm/amdgpu/gfx9: further KIQ parameter cleanup drm/amdgpu: refine the logic in amdgpu_need_post() drm/amdgpu/gfx9: use hweight for calculating num_rbs drm/amdgpu/soc15: return cached values for some registers (v2) drm/amdgpu/soc15: drop support for reading some registers drm/amdgpu/powerplay: fix locking typo drm/amdgpu/soc15: Fix static checker warnings drm/amdgpu/vi: add defines for KIQ packets drm/amdgpu/gfx8: KIQ is also disabled when MEC is disabled drm/radeon: fix typo in bandwidth calculation
Alex Xie (11): drm/amdgpu: change pte definitions to 64 bit drm/amdgpu: set GART PTE asic specific flags drm/amdgpu: add a callback to set vm mapping flags drm/amdgpu: Add MTYPE flags to GPU VM IOCTL interface drm/amdgpu: handle PTE EXEC in amdgpu_vm_bo_split_mapping drm/amdgpu: handle PTE MTYPE in amdgpu_vm_bo_split_mapping drm/amdgpu: Add GMC 9.0 support (v2) drm/amdgpu: Fix 32bit x86 compilation warning drm/amdgpu: Move function amdgpu_has_atpx near other similar functions drm/amdgpu: Avoid using signed integer to store pointer value drm/amdgpu: use uintptr_t instead of unsigned long to store pointer
Alexandre Courbot (68): drm/nouveau/secboot: make nvkm_secboot_falcon_name visible drm/nouveau/pmu: make sure the reset hook exists before running it drm/nouveau/falcon: add missing context binding memory target drm/nouveau/falcon: protect against concurrent DMEM accesses drm/nouveau/falcon: fix port offset for DMEM register drm/nouveau/falcon: fix IMEM port access drm/nouveau/secboot: remove unused hook drm/nouveau/secboot: make sure requested falcons are supported drm/nouveau/secboot: fix WPR address to be 64-bit drm/nouveau/secboot: fix WPR region alignment drm/nouveau/secboot: prevent address trimming drm/nouveau/secboot: fix usage of hsf_load_header drm/nouveau/secboot: store ucode offset in base image structure drm/nouveau/secboot: make specialized ls_ucode_img struct private drm/nouveau/secboot: abstract fixup_hs_desc function drm/nouveau/secboot: add LS firmware post-run hooks drm/nouveau/falcon: add msgqueue interface drm/nouveau/falcon: support for gm20b msgqueue drm/nouveau/pmu: add msgqueue member drm/nouveau/secboot: support for loading LS PMU firmware drm/nouveau/secboot: base support for PMU falcon drm/nouveau/secboot: support PMU LS firmware drm/nouveau/secboot: support optional falcons drm/nouveau/secboot: check that WPR region is properly set drm/nouveau/pmu/gm20b: add msgqueue support drm/nouveau/secboot/gm20b: enable PMU firmware drm/nouveau/falcon: use NXTCTX register instead of NEW_INSTBLK drm/nouveau/falcon: delay construction of falcons to oneinit() drm/nouveau/nvdec: add gp102 support drm/nouveau/core: add SEC2 engine drm/nouveau/falcon: better detection of debug register drm/nouveau/falcon: fix base address of FBIF registers drm/nouveau/falcon: support for EMEM drm/nouveau/falcon/msgqueue: add SEC2 support drm/nouveau/secboot: add shadow blob argument drm/nouveau/secboot: get start address of blob from ACR drm/nouveau/secboot: support running ACR on SEC drm/nouveau/secboot: add support for SEC LS firmware drm/nouveau/secboot: share r361 BL structures and functions drm/nouveau/secboot: support for different load and unload falcons drm/nouveau/secboot: let callers interpret return value of blobs drm/nouveau/secboot: support for unload blob bootloader drm/nouveau/secboot: support standard NVIDIA HS binaries drm/nouveau/secboot: workaround bug when starting SEC2 firmware drm/nouveau/secboot: support for r364 ACR drm/nouveau/secboot: support for r367 ACR drm/nouveau/secboot: support for r375 ACR drm/nouveau/secboot: put HS code loading code into own file drm/nouveau/secboot: add gp102/gp104/gp106/gp107 support drm/nouveau/falcon: support for gp10x msgqueue drm/nouveau/gp10x: enable secboot and GR drm/nouveau/secboot: fix inconsistent pointer checking drm/nouveau/secboot: fix NULL pointer dereference drm/nouveau/secboot: allow to boot multiple falcons drm/nouveau/secboot: pass instance to LS firmware loaders drm/nouveau/secboot: let LS post_run hooks return error drm/nouveau/secboot: start LS firmware in post-run hook drm/nouveau/secboot/gm20b: specify MC base address as argument drm/nouveau/secboot: add GP10B support drm/nouveau/msgqueue: support for GP10B PMU firmware drm/nouveau/fifo: add GP10B support drm/nouveau/fb: add GP10B support drm/nouveau/mc: add GP10B support drm/nouveau/ibus: add GP10B support drm/nouveau/gr: support for GP10B drm/nouveau/platform: make VDD regulator optional drm/nouveau/platform: support for probing GP10B drm/nouveau/core: recognise GP10B chipset
Ander Conselvan de Oliveira (39): drm/i915: Don't leak edid in intel_crt_detect_ddc() drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend() drm/i915: Fix calculation of rotated x and y offsets for planar formats drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic() drm/i915/glk: Turn on workarounds that apply to Geminilake too drm/i915: Disable plane gamma in SKL+ sprite planes drm/i915/glk: Plane color correction register changes drm/i915: Split broadwell_load_luts() into smaller functions drm/i915/glk: Program pipe gamma and degamma tables drm/i915: Remove WA for swapped HPD pins in broxton A stepping drm/i915/dp: Move initialization of hpd_pin to a new function drm/i915: Make power domain masks 64 bit long drm/i915: Remove unused function intel_ddi_get_link_dpll() drm/i915: Convert remaining users of 32bit power domain masks drm/i915/glk: Load the degamma LUT even in legacy gamma mode drm/i915/glk: Enable pipe CSC drm/i915/glk: Fix watermark computations for third sprite plane drm/i915/glk: Fix maximum scaling factor for Geminilake scalers drm/i915/glk: Pass dev_priv to intel_atomic_setup_scalers() drm/i915/glk: Fix Geminilake scalers mode programming drm: Add name for DRM_DP_DUAL_MODE_LSPCON drm/i915: Store aux power domain in intel_dp drm/i915: Store encoder power domain in struct intel_encoder drm/i915: Check encoder type in enc_to_dig_port() drm/i915/glk: Implement WaDDIIOTimeout drm/i915/glk: Don't enable DDI IO power domains during init drm/i915: Only enable DDI IO power domains after enabling DPLL drm/i915: Enable DDI IO power domains in the DP MST path drm/i915: Pass intel_crtc to fdi_link_train() hooks drm/i915: Pass intel_crtc to intel_lpt_pch_enable() drm/i915: Pass pipe_config to pch_enable() functions drm/i915: Pass pipe_config to fdi_link_train() functions drm/i915: Pass intel_crtc to DDI functions called from crtc en/disable drm/i915: Remove direct usages of intel_crtc->config from DDI code drm/i915: Remove duplicate DDI enabling logic from MST path drm/i915/glk: Remove MODULE_FIRMWARE() tag from Geminilake's DMC drm/i915/glk: Improve rounding caused by pre-CSC gamma tables drm/i915/glk: Enable pooled EUs for Geminilake drm: Pass CRTC ID in userspace vblank events
Andres Rodriguez (8): drm/amdgpu: make trace format uniform csv name=value drm/amdgpu: trace fence details in amdgpu_sched_run_job drm/amd/sched: add a unique job id to amd_sched_job drm/amdgpu: more ftrace formatting consistency fixes drm/amdgpu: use sched_job id instead of pointer for tracing drm/amdgpu: remove useless pointers from traces drm/amdgpu: replace fence pointer with fence data in traces drm/amdgpu: add macro to retrieve timeline name v2
Andrew F. Davis (2): drm/amdgpu: remove unneeded conversions to bool drm/amd/powerplay: remove unneeded conversions to bool
Andrew Morton (1): drivers/gpu/drm/i915/selftests/i915_selftest.c: fix build with gcc-4.4.4
Andrey Grodzovsky (4): drm/atomic: Save flip flags in drm_crtc_state drm/nouveau/kms/nv50: Switch to using atomic helper for flip. drm/amdgpu: gb_addr_config struct drm/amdgpu: Add interrupt entries for CRTC_VERTICAL_INTERRUPT0.
Andrey Ryabinin (1): drm/i915: fix use-after-free in page_flip_completed()
Andrzej Hajda (1): drm/bridge/sii8620: add missing error handling in probe
Andy Shevchenko (1): drm/radeon: remove useless and potentially wrong message
Anusha Srivatsa (2): i915/HuC: Add an extra check for platforms that do not have HUC drm/i915/: DMC 1.04 for Geminilake
Archit Taneja (27): drm/doc: Fix up some kms function names drm/msm/dsi: Fix bug in dsi_mgr_phy_enable drm/msm/mdp5: Update SSPP_MAX value drm/msm/mdp5: Bring back pipe_lock to mdp5_plane struct drm/msm/mdp5: describe LM instances in mdp5_cfg drm/msm/mdp5: Add structs for hw Layer Mixers drm/msm/mdp5: Start using mdp5_hw_mixer drm/msm/mdp5: Simplify LM <-> PP mapping drm/msm/mdp5: Clean up interface assignment drm/msm/mdp5: Remove the pipeline stuff in mdp5_ctl drm/msm/mdp5: subclass CRTC state drm/msm/mdp5: Prepare for dynamic assignment of mixers drm/msm/mdp5: Assign INTF and CTL in encoder's atomic_check() drm/msm/mdp5: Add more stuff to CRTC state drm/msm/mdp5: Start using parameters from CRTC state drm/msm/mdp5: Remove mixer/intf pointers from mdp5_ctl drm/msm/mdp5: Add a CAP for Source Split drm/msm/mdp5: Add optional 'right' Layer Mixer in CRTC state drm/msm/mdp5: Create mdp5_hwpipe_mode_set drm/msm/mdp5: Assign a 'right hwpipe' to plane state drm/msm/mdp5: Configure 'right' hwpipe drm/msm/mdp5: Prepare Layer Mixers for source split drm/msm/mdp5: Stage right side hwpipes on Right-side Layer Mixer drm/msm/mdp5: Stage border out on base stage if CRTC has 2 LMs drm/msm/mdp5: Assign 'right' mixer to CRTC state drm/msm/mdp5: Reset CTL blend registers before configuring them drm/msm/mdp5: Enable 3D mux in mdp5_ctl
Arkadiusz Hiler (11): drm/i915/uc: Drop superfluous externs in intel_uc.h drm/i915/huc: Add huc_to_i915 drm/i915/uc: Rename intel_?uc_{setup, load}() to _init_hw() drm/i915/uc: Move intel_uc_fw_fetch() to intel_uc.c drm/i915/uc: Introduce intel_uc_init_fw() drm/i915/guc: Extract param logic form guc_init_fw() drm/i915/guc: Simplify intel_guc_init_hw() drm/i915/uc: Simplify firmware path handling drm/i915/uc: Separate firmware selection and preparation drm/i915/uc: Add params for specifying firmware drm/i915/uc: Rename intel_uc_fw.fw to .type
Arnd Bergmann (5): drm/msm: add stubs for msm_{perf,rd}_debugfs_cleanup drm/i915: split out check for noncontiguous pfn range drm/msm: adreno: fix build error without debugfs drm: mali-dp: remove unused variable drm: mali-dp: use div_u64 for expensive 64-bit divisions
Arthur Heymans (1): drm/i915: Get correct display clock on 945gm
Ben Skeggs (14): drm/nouveau/priv: punt messages to debug level drm/nouveau/gr/gp102: initial support drm/nouveau/i2c: modify aux interface to return length actually transferred drm/nouveau/i2c/g94-: return REPLY_M value on reads drm/nouveau/kms/nv50: use drm core i2c-over-aux algorithm drm/nouveau/fb/gf100-: modify constructors to allow more customisation drm/nouveau/fb/gf108: split implementation from gf100 drm/nouveau/fb/gm200: split ram implementation from gm107 drm/nouveau/fb/gf100-: rework ram detection drm/nouveau/kms/nv50: fix setting of HeadSetRasterVertBlankDmi method drm/nouveau/kms/nv50: fix double dma_fence_put() when destroying plane state drm/nouveau: initial support (display-only) for GP107 drm/nouveau/gr/gp107: initial support drm/nouveau/bios/bitP: check that table is long enough for optional pointers
Ben Widawsky (1): drm/i915: Use LINEAR modifier instead of NONE
Benjamin Gaignard (2): of: add devm_ functions for populate and depopulate drm: sti: make driver use devm_of_platform_populate()
Bing Niu (1): drm/i915: suppress atomic commit error message under gvt-g env
Boris Brezillon (3): drm/atmel-hlcdc: Simplify the HLCDC layer logic drm/atmel-hlcdc: Fix suspend/resume implementation dt-bindings: Document the dmas and dma-names properties for VC4 HDMI
Changbin Du (5): drm/i915: make context status notifier head be per engine drm/i915/gvt: Align render mmio list to cacheline drm/i915/gvt: remove redundant platform check for mocs load/restore drm/i915/gvt: remove redundant ring id check which cause significant CPU misprediction drm/i915/gvt: use directly assignment for structure copying
Chen-Yu Tsai (24): drm/sun4i: Move drm_mode_config_cleanup call to main driver drm/sun4i: Fix up error path cleanup for master bind function drm/sun4i: Check return value of drm_vblank_init drm/sun4i: Fix kcalloc element size in sun4i_layers_init drm/sun4i: Drop useless assignment in sun4i_layers_init drm/sun4i: Save newly created layer in layers array in sun4i_layers_init drm/sun4i: Make sun4i_crtc_init return ERR_PTR style error codes drm/sun4i: Make sunxi_rgb2yuv_coef constant drm/sun4i: Set drm_crtc.port to the underlying TCON's output port node drm/sun4i: Add end of list element for sun4i_layers_init's returned list drm/sun4i: Move layers from sun4i_drv to sun4i_crtc drm/sun4i: Initialize crtc from tcon bind function drm/sun4i: Drop primary layer pointer from sun4i_drv drm/sun4i: Drop hardcoded .possible_crtcs values from layers drm/sun4i: tv: Switch to drm_of_find_possible_crtcs drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder drm/sun4i: Add backend pointer to sun4i_layer drm/sun4i: Add backend and tcon pointers to sun4i_crtc drm/sun4i: Fix TCON clock and regmap initialization sequence drm/sun4i: Fix tcon channel 0 comment about backporch = backporch + hsync drm/sun4i: Use embedded tcon pointer to get the tcon's output port node drm/sun4i: tv: Get tcon and backend pointers from associated crtc drm/sun4i: Pass pointers for associated backend and tcon into crtc init drm/sun4i: Pass pointer for underlying backend into layer init
Chris Wilson (353): agp/intel: Move intel_fake_agp_sizes into #ifdef block drm/i915: Fix W=1 warning for csr_load_work_fn() drm/i915: Queue hangcheck when irqs are disabled drm/i915: Assert that the kernel_context is hw-id 0 drm/i915: Assert that the context-switch completion matches our context drm/i915: Pevent copying uninitialised garbage into vma->ggtt_view drm/i915: Remove disable_lite_restore_wa drm/i915: Remove BXT incoherent seqno write workaround drm/i915: Remove BXT restore arbitration around ctx switch drm/i915: Remove BXT disable pixel mask clamping w/a drm/i915: Remove BXT TDL state w/a drm/i915: Split intel_engine allocation and initialisation drm/i915: Reset the gpu on takeover drm/i915: Assert that we don't submit to execlists whilst a preempt is pending drm/i915: Only disable execlist preemption for the duration of the request drm/i915: Move breadcrumbs irq_posted up a level to engine drm/i915: Only run execlist context-switch handler after an interrupt drm/i915: Skip the execlists CSB scan and rewrite if the ring is untouched drm/i915: Only attempt to pass the first request to execlists drm/i915: Dequeue execlists on a new request if any port is available drm/i915: Emit dma-fence (and execlists submit) first from signaler drm/i915: Move atomic state free from out of fence release drm/i915: Remove early pre-production RPS workarounds for BXT drm/i915: Report the failure to write to the punit drm/i915: Also clear the punit's PDATA sideband register drm/i915: Enable userspace to opt-out of implicit fencing drm/i915: Support explicit fencing for execbuf drm/i915: Make intel_detect_preproduction_hw easier to extend drm/i915: Mark the kernel as tainted if we fail the preproduction check drm/i915: Add early BXT sdv to the list of preproduction machines drm/i915: Record more information about the hanging contexts drm/i915: Be defensive when cleaning up i915_gem_internal pages drm/i915: Treat stolen memory as DMA addresses drm/i915: Sanity check the computed size and base of stolen memory drm/i915: Flush untouched framebuffers before display on !llc drm/i915/execlists: Skip resetting RING_CONTEXT_STATUS_PTR drm/i915/execlists: Add interrupt-pending check to intel_execlists_idle() drm/i915: Build DRM range manager selftests for CI drm/i915: Recreate internal objects with single page segments if dmar fails drm/i915: Reject set-tiling-ioctl with stride==0 and a tiling mode drm/i915: Tidy the tail of i915_tiling_ok() drm/i915: Allow large objects to be tiled on gen2/3 drm/i915: Drain the freed state from the tail of the next commit drm/i915: Print execlists restart after reset drm/i915: Manipulate the Global GTT size using I915_GTT_PAGE_SIZE drm/i915: Assign I915_COLOR_UNEVICTABLE to the address space head_node drm/i915: Use page coloring to provide the guard page at the end of the GTT drm: Micro-optimise drm_mm_for_each_node_in_range() drm/i915: Mark the end of intel_ring_begin() and check in intel_ring_advance() drm/i915: Avoid unguarded reads from the request pointer drm/i915: Generate i915_params {} using a macro drm/i915: Use bool i915_param.alpha_support drm/i915: Capture module parameters for the GPU error state drm/i915: Show the current i915_params in debugfs/i915_capabilites drm/i915: Remove overzealous fence warn on runtime suspend drm/i915: Restore context and pd for ringbuffer submission after reset drm/i915: i915_gem_shrink_all() needs an awake device drm/i915: Move calling engine->init_hw() to its own function drm/i915: Split GEM resetting into 3 phases drm/i915: Disable engine->irq_tasklet around resets drm/i915: Check for timeout completion when waiting for the rq to submitted drm/i915: Assert that we never create a vma for the aliasing_ppgtt drm/i915: Use the size/type of address space to make decisions drm/i915: Always pin contexts into the high GGTT drm/i915/byt: Take powerwell for reading PIPESTAT in debugfs drm/i915: Split device release from unload drm/i915: Unbind any residual objects/vma from the Global GTT on shutdown drm/i915: Flush the freed object queue on device release drm/i915: Move the irq_barrier for reset earlier into reset_prepare drm/i915: Rename conditional GEM execution macros drm/i915: Assert that the active request hasn't been signaled drm/i915: Always call i915_gem_reset_finish() following i915_gem_reset_prepare() drm/i915: Kill the tasklet then disable drm/i915: Park the breadcrumbs signaler across a GPU reset drm/i915: Clear the last_retired_context following a hang/reset drm/i915: Provide a hook for selftests drm/i915: Add some selftests for sg_table manipulation drm/i915: Add unit tests for the breadcrumb rbtree, insert/remove drm/i915: Add unit tests for the breadcrumb rbtree, completion drm/i915: Add unit tests for the breadcrumb rbtree, wakeups drm/i915: Mock the GEM device for self-testing drm/i915: Mock a GGTT for self-testing drm/i915: Mock infrastructure for request emission drm/i915: Create a fake object for testing huge allocations drm/i915: Add selftests for i915_gem_request drm/i915: Add a simple request selftest for waiting drm/i915: Add a simple fence selftest to i915_gem_request drm/i915: Simple selftest to exercise live requests drm/i915: Test simultaneously submitting requests to all engines drm/i915: Test request ordering between engines drm/i915: Live testing of empty requests drm/i915: Add selftests for object allocation, phys drm/i915: Add a live seftest for GEM objects drm/i915: Test partial mappings drm/i915: Test exhaustion of the mmap space drm/i915: Test coherency of and barriers between cache domains drm/i915: Move uncore selfchecks to live selftest infrastructure drm/i915: Test all fw tables during mock selftests drm/i915: Sanity check all registers for matching fw domains drm/i915: Add some mock tests for dmabuf interop drm/i915: Add a live dmabuf selftest drm/i915: Add initial selftests for i915_gem_gtt drm/i915: Exercise filling the top/bottom portions of the ppgtt drm/i915: Exercise filling the top/bottom portions of the global GTT drm/i915: Fill different pages of the GTT drm/i915: Exercise filling and removing random ranges from the live GTT drm/i915: Live testing of lowlevel GTT operations drm/i915: Use fault-injection to force the shrinker to run in live GTT tests drm/i915: Test creation of VMA drm/i915: Exercise i915_vma_pin/i915_vma_insert drm/i915: Verify page layout for rotated VMA drm/i915: Test creation of partial VMA drm/i915: Live testing for context execution drm/i915: Extract aliasing ppgtt setup drm/i915: Force an aliasing_ppgtt test for context execution drm/i915: Initial selftests for exercising eviction drm/i915: Add mock exercise for i915_gem_gtt_reserve drm/i915: Add mock exercise for i915_gem_gtt_insert drm/i915: Add mock tests for GTT/VMA handling drm/i915: Exercise manipulate of single pages in the GGTT drm/i915: Exercise crossing pot boundaries in the GTT drm/i915: Add initial selftests for hang detection and resets drm/i915/gvt: Disable access to stolen memory as a guest drm/i915: Pass timeout==0 on to i915_gem_object_wait_fence() drm: Reduce EDID warnings from DRM_ERROR to DRM_NOTE drm/i915: Avoid overflow in computing pot_hole loop termination drm/i915: Silence compiler for GTT selftests drm/i915: Silence compiler warning for seltests/i915_gem_coherency drm/i915/guc: Don't take struct_mutex for object unreference drm/i915: The return of i915_gpu_info to debugfs drm/i915: Enable fine-tuned RPS for cherryview drm/i915: Don't accidentally increase the frequency in handling DOWN rps drm/i915: Only apply the jump to the "efficient RPS" frequency on startup drm/i915: Micro-optimise i915_get_ggtt_vma_pages() drm/i915: Micro-optimise gen6_ppgtt_insert_entries() drm/i915: Micro-optimise gen8_ppgtt_insert_entries() drm/i915: Don't special case teardown of aliasing_ppgtt drm/i915: Split ggtt/alasing_gtt unbind_vma drm/i915: Convert clflushed pagetables over to WC maps drm/i915: Remove kmap/kunmap wrappers drm/i915: Move allocate_va_range to GTT drm/i915: Always preallocate gen6/7 ppgtt drm/i915: Remove redundant clear of appgtt drm/i915: Tidy gen6_write_pde() drm/i915: Remove bitmap tracking for used-ptes drm/i915: Remove bitmap tracking for used-pdes drm/i915: Remove bitmap tracking for used-pdpes drm/i915: Remove bitmap tracking for used-pml4 drm/i915: Remove superfluous posting reads after clear GGTT drm/i915: Always mark the PDP as dirty when altered drm/i915: Remove defunct GTT tracepoints drm/i915: Remove unused ppgtt->enable() drm/i915: Remove i915_address_space.start drm/i915: Only preallocate the aliasing GTT to the extents of the global GTT drm/i915: Differentiate the aliasing_ppgtt with an invalid filp drm/i915: Use preferred kernel types in i915_gem_gtt.c drm/i915: Only enable hotplug interrupts if the display interrupts are enabled drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl drm/i915: Unwind conversion to i915_gem_phys_ops on failure drm/i915: Remove struct_mutex for destroying framebuffers drm/i915: struct_mutex is not required for allocating the framebuffer drm/i915: Drop struct_mutex around frontbuffer flushes drm/i915: Postpone fake breadcrumb interrupt until real interrupts cease drm/i915: Break i915_spin_request() if we see an interrupt drm/i915: Defer declaration of missed-interrupt until the waiter is asleep drm/i915: Only start with the fake-irq timer if interrupts are dead drm/i915: Remove completed fences after a wait drm/i915: Only apply legacy PDE overflow detection to 3lvl machines drm/i915: Remove unneeded struct_mutex around rpm drm/i915: Prevent divide-by-zero in debugfs/i915_rps_boost_info drm/i915: Move the common RPS warnings to intel_set_rps() drm/i915: Store the requested frequency whilst RPS is disabled drm/i915: Remove unrequired POSTING_READ from gen6_set_rps() drm/i915: Assert that the request->tail is always qword aligned drm/i915: Use reservation_object_lock() drm/i915: Add i915_param charp macro magic drm/i915: Remove change_domain tracepoint drm/i915: Move cpu_cache_is_coherent() to header drm/i915: Amalgamate flushing of display objects drm/i915: Skip clflushes for all non-page backed objects drm/i915: Perform object clflushing asynchronously drm/i915: Remove 'retire' parameter from intel_fb_obj_flush drm/i915: Remove Braswell GGTT update w/a Revert "drm/i915/dp: Ratelimit DP aux timeout messages" drm/i915: Check against the signaled bit for fences/requests drm/i915: Keep a global seqno per-engine drm/i915: Move reserve_seqno() next to unreserve_seqno() drm/i915: Use a local to shorten req->i915->gpu_error.wait_queue drm/i915: Add ourselves to the gpu error waitqueue for the entire wait drm/i915: Inline __i915_gem_request_wait_for_execute() drm/i915: Deconstruct execute fence drm/i915: Protect the request->global_seqno with the engine->timeline lock drm/i915: Take a reference whilst processing the signaler request drm/i915: Allow a request to be cancelled drm/i915: Remove the preempted request from the execution queue drm/i915: Exercise request cancellation using a mock selftest drm/i915: Replace reset_wait_queue with default_wake_function drm/i915: Refactor direct GPU reset from request waiters drm/i915: Immediately process a reset before starting waiting drm/i915: Remove one level of indention from wait-for-execute drm/i915: Suppress fbc suggestion to increase stolen if disabled drm/i915/fbdev: Stop repeating tile configuration on stagnation drm/i915/execlists: Detect an out-of-order context switch drm/i915: Timeout lowlevel_hole GTT selftest early drm/i915: Assert all sg are initialised in fake_dma_object for selftests drm/i915: Assert we do not overflow 4lvl page directories drm/i915: Sanity check the vma->node prior to binding into the GTT drm/i915: Advance start address on crossing PML (48b ppgtt) boundary dma-buf/reservation: Wrap ww_mutex_trylock drm/i915: Only unwind the local pgtable layer if empty drm/i915: Unwind vma->pages allocation upon failure drm/i915: Remove the vma from the drm_mm if binding fails drm/i915: Remove redundant TLB invalidate on switching contexts drm/i915: Remove redundant TLB invalidate on switching ppgtt drm/i915: Reduce context alignment drm/i915: Distinguish between timeout and error in sideband transactions drm/i915: Report both waiters and success from intel_engine_wakeup() drm/i915: Signal first fence from irq handler if complete drm/i915: Defer enabling hangcheck to the first fake breadcrumb interrupt drm/i915: Delay disabling the user interrupt for breadcrumbs drm/i915: Consolidate reporting of "missed breadcrumbs" drm/i915/guc: Make wq_lock irq-safe drm/i915/guc: Reorder __i915_guc_submit to reduce spinlock holdtime drm/i915: Tighten mmio arrays for MIPI_PORT drm/i915: Fix all intel_framebuffer_init failures to take the error path drm/i915: Prevent concurrent tiling/framebuffer modifications drm/i915: Move w/a LRI debug message from context-init to driver load drm/i915: Hold rpm during GEM suspend in driver unload/suspend drm/i915: Restore the invalid access without RPM warning drm/i915: Assert that fence->lock is held in an irq-safe manner drm/i915: s/assert_spin_locked/lockdep_assert_held/ drm/i915/guc: Disable irq for __i915_guc_submit wq_lock drm/i915: Include GT/seqno activity in engine/hangcheck debugfs drm/i915: Include power-management state in gpu error dump drm/i915: Drop spinlocks around adding to the client request list drm/i915: Differentiate between hangcheck waiting for timer or scheduler drm/i915: Ensure the engine is idle before manually changing HWS drm/i915: Generalise wait for execlists to be idle drm/i915: Take reference for signaling the request from hardirq drm/i915: Refactor wakeup of the next breadcrumb waiter drm/i915: Split breadcrumbs spinlock into two drm/i915: Wake up all waiters before idling drm/i915: Take rpm wakelock for releasing the fence on unbind drm/i915: Avoid clearing the base drm_crtc_state drm/i915: Flush idle work when changing missed-irq fault injection drm/i915: Store a permanent error in obj->mm.pages drm/i915: Use pagecache write to prepopulate shmemfs from pwrite-ioctl drm/i915: Avoiding recursing on ww_mutex inside shrinker drm/i915: Purge i915_gem_object_is_dead() drm/i915: Check for an invalid seqno before __i915_gem_request_started drm/i915/userptr: Deactivate a failed userptr if the worker reports an EFAULT drm/i915/userptr: Only flush the workqueue if required drm/i915/userptr: Disallow wrapping GTT into a userptr drm/i915: Ignore skl+ for debugfs/i915_sr_status drm/i915/cmdparser: Limit clflush to active cachelines drm/i915: Extend debugfs/i915_drop_caches to call i915_gem_shrink_all() drm/i915: Stop using RP_DOWN_EI on Baytrail drm/i915: Use max(render, media) for Baytrail busyness calculation drm/i915: Defer unmasking RPS interrupts until after making adjustments drm/i915: Rename REDIRECT_TO_GUC bit drm/i915: Move whole object to CPU domain for coherent shmem access drm/i915/selftests: Fix error path for ggtt walk_hole() drm/i915/selftests: Catch error from mock_file() drm/i915: Inline gen6_sanitize_rps_pm_mask() drm/i915: Extend rpm wakelock for debugfs/i915_drpc_info drm/i915: Avoid rcu_barrier() from reclaim paths (shrinker) drm/i915: Extend rpm wakelock during i915_handle_error() drm/i915/breadcrumbs: Use booleans for intel_breadcrumbs_busy() drm/i915/breadcrumbs: Update bottom-half before marking as complete drm/i915/breadcrumbs: Disable interrupt bottom-half first on idling drm/i915/breadcrumbs: Assert that we do not shortcut the current bottom-half drm/i915: Only attempt to signal the request once from the interrupt handler drm/i915/breadcrumbs: Tweak commentary drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off) drm: Skip the waitqueue setup for vblank queries drm/i915/userptr: Reinvent GGTT self-faulting protection drm/i915: Replace irq_seqno_barrier on hws write with a clflush drm/i915/scheduler: emulate a scheduler for guc drm/i915: Split I915_RESET_IN_PROGRESS into two flags drm/i915: Move engine->submit_request selection to a vfunc drm/i915: Restore engine->submit_request before unwedging drm/i915: Wait for reset to complete before returning from debugfs/i915_wedged drm/i915: Assert that the context pin_counts do not overflow drm/i915: Avoid use-after-free of ctx in request tracepoints drm/i915: Remove superfluous i915_add_request_no_flush() helper drm/i915: Squelch WARN for VLV_COUNTER_CONTROL drm/i915: Stop using obj->obj_exec_link outside of execbuf drm/i915: Skip execlists_dequeue() early if the list is empty drm/i915: Add i810/i815 pci-ids for completeness drm/i915: Retire an active batch pool object rather than allocate new drm/i915: i915_gem_object_create_from_data() doesn't require struct_mutex drm/i915: Correct error handling for i915_gem_object_create_from_data() drm/i915: Initialise i915_gem_object_create_from_data() directly drm/i915: Reset tasklet back to execlists after disabling guc drm/i915: Skip force-wake for uncached mmio flush of GGTT writes drm/i915: Protect intel_engine_wakeup() for call from irq context drm/i915: intel_engine_init_global_seqno() requires atomic kmap drm/i915/execlists: Split the atomic test_and_clear_bit for irq handler drm/i915: Remove intel_ring.last_retired_head drm/i915: Prefer to report ENOMEM rather than incur the oom for gfx allocations drm/i915: Actually pass the reclaim gfp_t along to shmemfs! drm/i915: Remove superfluous hw_flags from mi_set_context() drm/i915: Restore marking context objects as dirty on pinning drm/i915: Eliminate per-fw_domain i915 backpointer drm/i915: Use correct fw_domains during initialisation drm/i915: Use correct fw_domains during reset drm/i915: Skip unused fw_domains drm/i915: Remove posting-read for forcewake put drm/i915: All fw_domains share the same set/clear/reset values drm/i915: Drop uncore spinlock for reading debugfs forcewake counters drm/i915: Wait for all fences before installing an exclusive clflush fence drm/i915/execlists: Relax the locked clear_bit(IRQ_EXECLIST) drm/i915/guc: Refactor the retrieval of guc_process_desc drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission drm/i915/execlists: Trim irq handler drm/i915: Check we have an wake device before flushing GTT writes drm/i915: Limit number of reads to stabilize rc6 counter reads drm/i915: Align "unfenced" tiled access on gen2, early gen3 drm/i915: Fixup intel_write_status_page() for old CPUs without clflush drm/i915: Remove unused intel_flush_status_page() drm/i915: Use BIT() for computing the engine's flag drm/i915/execlists: Wrap tail pointer after reset tweaking drm/i915: Assert that the request->tail fits within the ring drm/i915: Refactor tests for validity of RING_TAIL drm/i915: Mark manually wedged engines as guilty drm/i915: Take rpm wakelock around debugfs/i915_gpu_info drm/i915: Avoid lock dropping between rescheduling drm: Make the decision to keep vblank irq enabled earlier drm: Mark up accesses of vblank->enabled outside of its spinlock drm: vblank cannot be enabled if dev->irq_enabled is false drm: Refactor vblank sequence number comparison drm: Peek at the current counter/timestamp for vblank queries Revert "drm/i915: Skip execlists_dequeue() early if the list is empty" drm/i915: Ironlake do_idle_maps w/a may be called w/o struct_mutex drm/i915: Use a dummy timeline name for a signaled fence drm: Convert cmpxchg(bool) back to a two step operation drm/i915: Drop verbose and archaic "ring" from our internal engine names drm/i915: Do request retirement before marking engines as wedged drm/i915: Suppress busy status for engines if wedged drm/i915: Move retire-requests into i915_gem_wait_for_idle() drm/i915: Wait for all engines to be idle as part of i915_gem_wait_for_idle() drm/i915: Remove redudant wait for each engine to idle from seqno wrap drm/i915: Combine reset_all_global_seqno() loops into one drm/i915: Clear gt.active_requests before checking idle status drm: Don't allow interruptions when opening debugfs/crc drm/i915: Park the signaler before sleeping drm/i915: Apply a cond_resched() to the saturated signaler drm/i915: Use the right mapping_gfp_mask for final shmem allocation drm/i915: Fix use after free in lpe_audio_platdev_destroy() drm/i915/selftests: Allocate inode/file dynamically drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio drm/i915: Confirm the request is still active before adding it to the await
Chris Zhong (14): dt-bindings: add rk3399 support for dw-mipi-rockchip drm/rockchip/dsi: dw-mipi: support RK3399 mipi dsi drm/rockchip/dsi: dw-mipi: correct the coding style drm/rockchip/dsi: remove mode_valid function dt-bindings: add power domain node for dw-mipi-rockchip drm/rockchip/dsi: fix insufficient bandwidth of some panel drm/rockchip/dsi: add dw-mipi power domain support drm/rockchip: cdn-dp: return error code when clk_get_rate failed drm/rockchip: cdn-dp: Correct PHY register address drm/rockchip: cdn-dp: add more log for video config drm/rockchip/dsi: check phy_cfg_clk only for RK3399 dt-bindings: add the grf clock for dw-mipi-dsi drm/rockchip/dsi: enable the grf clk before writing grf registers drm/rockchip/dsi: correct the grf_switch_reg name
Christian König (47): drm/amdgpu: add support for BO_VAs without BO v2 drm/amdgpu: add basic PRT support (v2) drm/amdgpu: implement PRT for GFX6 v2 drm/amdgpu: implement PRT for GFX7 v2 drm/amdgpu: implement PRT for GFX8 v2 drm/amdgpu: fix PTE defines drm/amdgpu: minor PRT turnoff fix (v2) drm/amdgpu: add OOM fallback on PRT teardown (v2) drm/amdgpu: fix PRT teardown on VM fini v3 drm/amdgpu: disable HDP flushes on APUs drm/amdgpu: remove unused sync testing drm/amdgpu: make set_prt callback optional and fix error handling drm/amdgpu: separate page table allocation from mapping drm/amdgpu: implement AMDGPU_VA_OP_CLEAR v2 drm/amdgpu: add a VM mapping replace operation v2 drm/amdgpu: add IV trace point drm/amdgpu: rename page_directory_fence to last_dir_update drm/amdgpu: add the VM pointer to the amdgpu_pte_update_params as well drm/amdgpu: add num_level to the VM manager drm/amdgpu: generalize page table level drm/amdgpu: handle multi level PD size calculation (v2) drm/amdgpu: handle multi level PD during validation drm/amdgpu: handle multi level PD in the LRU drm/amdgpu: handle multi level PD updates V2 drm/amdgpu: handle multi level PD during PT updates drm/amdgpu: add alloc/free for multi level PDs V2 drm/amdgpu: drop GB_GPU_ID from the golden settings drm/amdgpu: remove duplicate allowed reg CP_CPF_BUSY_STAT drm/amdgpu: just disallow reading untouched registers drm/amdgpu: use a 64bit interval tree for VM management v2 drm/ttm: cleanup and optimize ttm_bo_mem_compat v2 drm/ttm: add io_mem_pfn callback drm/ttm: add TTM_PL_FLAG_CONTIGUOUS v2 drm/amdgpu: drop alpha support drm/amdgpu: fix VMHUB order to match the hardware drm/amdgpu: move VM related defines into amdgpu_vm.h drm/amdgpu: remove VMID first tracking drm/amdgpu: coding style of amdgpu_vm_is_gpu_reset drm/amdgpu: cleanup coding style in amdgpu_vm_flush drm/amdgpu: cleanup logic in amdgpu_vm_flush drm/amdgpu: move adjust_mc_addr into amdgpu_gart_funcs drm/amdgpu: use TTM_PL_FLAG_CONTIGUOUS v2 drm/amdgpu: handle CPU access for split VRAM buffers (v2) drm/amdgpu: cleanup VMHUB bit definitions v2 drm/amdgpu: cleanup get_invalidate_req v2 drm/amdgpu: fix over allocating of IRQ sources drm/amdgpu: fix "fix 64bit division"
Christopher James Halse Rogers (5): drm/radeon: Fail fb creation from imported dma-bufs. drm/amdgpu: Fail fb creation from imported dma-bufs. (v2) drm/amdgpu: Refuse to pin or change acceptable domains of prime BOs to VRAM. (v2) drm/radeon: Maintain prime import/export refcount for BOs drm/radeon: Refuse to migrate a prime BO to VRAM. (v2)
Christopher Spinrath (1): drm/bridge: ti-tfp410: support hpd via gpio
Chuanxiao Dong (1): drm/i915/gvt: set ring buffer size to default for guc submission
Chunming Zhou (9): drm/amdgpu: expand pte flags to uint64_t drm/amd/sched: revise priority number drm/amdgpu: fix duplicated code drm/amdgpu: abstract block size to one function drm/amdgpu: limit block size to one page drm/amdgpu: adapt vm size for multi vmpt drm/amdgpu: set page table depth by num_level drm/amdgpu: enable four level VMPT for gmc9 drm/amdgpu: fix fence memory leak in wait_all_fence V2
Colin Ian King (4): drm/vc4: simplify exit path of a failed allocation of dsi_connector drm: kselftest: fix spelling mistake: "misalinged" -> "misaligned" drm: vc4: remove redundant check of plane being non-null drm/amdgpu: remove redundant outer loop and remove commented out code
Dan Carpenter (8): drm: qxl: add missing return check drm/amd/powerplay: fix pp_dpm_get_current_power_state() (v2) drm/amd/powerplay: fix a couple locking issues drm/amdgpu: Fix a NULL deref in amdgpu_vm_add_prt_cb() drm: bridge: dw-hdmi: Add a missing break statement drm/i915/gvt: fix a bounds check in ring_id_to_context_switch_event() drm: atmel-hlcdc: Uninitialized return in atmel_hlcdc_create_outputs() drm/i915: checking for NULL instead of IS_ERR() in mock selftests
Daniel Vetter (106): Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20170206 drm/fb-helper: Explain unload sequence a bit better drm/fb-helper: Automatically clean up fb_info Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued Merge airlied/drm-next into drm-misc-next Merge airlied/drm-next into drm-misc-next drm/docs: Record TODO about plane clipping drm/doc: Capture TODO for deferred fbdev setup MAINTAINERS: Update git entries for drivers in drm-misc Revert "drm/i915: Implement Link Rate fallback on Link training failure" drm/i915: Update DRIVER_DATE to 20170306 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: Use drm_connector_list_iter in debugfs drm/i915: use drm_connector_list_iter in intel_hotplug.c drm/i915: use drm_connector_list_iter in intel_opregion.c drm/i915: Make intel_get_pipe_from_connector atomic drm/i915: use for_each_intel_connector_iter in intel_display.c drm/i915: Fix up verify_encoder_state drm/doc: Add todo about connector_list_iter drm: Extract drm_prime.h drm: Move drm_lock_data out of drmP.h drm: Extract drm_pci.h drm: Remove drmP.h include from drm_kms_helper_common.c drm/doc: document fallback behaviour for atomic events drm: rename drm_fops.c to drm_file.c drm: Remove DRM_MINOR_CNT drm: Extract drm_file.h Merge branch 'drm/next/platform' of git://linuxtv.org/pinchartl/media into drm-misc-next Merge tag 'topic/designware-baytrail-2017-03-02' of git://anongit.freedesktop.org/git/drm-intel into drm-intel-next-queued drm/i915: annote drop_caches debugfs interface with lockdep drm/i915: Merge pre/postclose hooks drm: Remove drm_pending_event->pid drm/doc: Document drm_file.[hc] drm/vgem: switch to postclose drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers drm/gem: Add DEFINE_DRM_GEM_FOPS Merge tag 'doc-4.11-images' of git://git.lwn.net/linux into drm-misc-next drm/doc: Add KMS overview graphs drm/doc: Consistent kerneldoc include order drm/doc: diagram for mode objects and properties drm/doc: atomic overview, with graph drm/i915: Update DRIVER_DATE to 20170320 drm/doc: Document feature merge deadlines Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux into drm-misc-next drm: drop extern from function decls drm: Extract drm_debugfs.h drm: document driver interface for CRC capturing drm/debugfs: Add kerneldoc drm/tilcdc: Drop calls to modeset_lock_crtc drm: Extract drm_ioctl.h drm/todo: Add tinydrm refactoring ideas drm/vblank: Remove DRM_VBLANKTIME_IN_VBLANK drm/atomic: Introduce drm_atomic_helper_shutdown drm/tegra: Don't use modeset_lock_crtc Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/doc: remove standard connector props from the csv file drm: Document kms locking a bit better drm: document the all the atomic iterators drm: Wire up proper acquire ctx for plane functions drm: Add acquire ctx parameter to ->update_plane drm: drm_plane_force_disable is not for atomic drivers drm: Add acquire ctx parameter to ->plane_disable drm/atomic-helper: remove backoff hack from disable/update_plane Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm: Roll out acquire context for the page_flip ioctl drm: Add acquire ctx parameter to ->page_flip(_target) drm/atomic-helper: remove backoff hack from page_flip drm: simplify the locking in the GETCRTC ioctl drm: Restrict drm_mode_set_config_internal to non-atomic drivers drm: Add explicit acquire ctx handling around ->set_config drm: Add acquire ctx parameter to ->set_config drm/atomic-helper: Remove the backoff hack from set_config drm/etnaviv: switch to postclose drm/radeon: Merge pre/postclose hooks drm/amdgpu: Merge pre/postclose hooks drm: Fixup failure paths in drm_atomic_helper_set_config Merge tag 'gvt-next-2017-03-30' of https://github.com/01org/gvt-linux into drm-intel-next-queued drm: Clear e after kfree in drm_mode_page_flip_ioctl drm: Fix locking gotcha in page_flip ioctl drm/i915: Update DRIVER_DATE to 20170403 drm: update todo.rst drm: Consolidate and document sysfs support drm: document drm_ioctl.[hc] drm/doc: Small markup fixup drm: Make drm_modeset_lock_crtc internal drm: Remove drm_modeset_(un)lock_crtc drm: Remove drm_modeset_legacy_acquire_ctx and crtc->acquire_ctx drm/atomic-helper: remove modeset_lock_all from helper_resume drm: drop modeset_lock_all from drm_state_info drm: Drop modeset_lock_all from the getproperty ioctl drm: Only take crtc lock in get_gamma ioctl drm/i915: Nuke intel_atomic_legacy_gamma_set drm/fb-helper: Give up on kgdb for atomic drivers drm: Add explicit acquire ctx handling around ->gamma_set drm: Add acquire ctx to ->gamma_set hook drm/atomic-helper: Remove legacy backoff hack from gamma_set drm: extract legacy framebuffer remove drm/fb-helper: Extract _legacy kms functions drm: Take mode_config.mutex in setcrtc ioctl drm/vmwgfx: Fix fbdev emulation using legacy functions drm: Only take cursor locks when the cursor plane exists drm/msm: switch to postclose drm/msm: Simplify vblank event delivery drm: Fix get_property logic fumble
Daniele Ceraolo Spurio (3): drm/i915: fix pm refcounting on fence error in execbuf drm/i915: refactor register fw read/write macros for recent GENs drm/i915/guc: limit forcewake to blitter domain in guc_send
Dave Airlie (33): Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge tag 'drm-intel-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-intel into drm-next Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next Merge tag 'drm-misc-next-2017-03-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge tag 'imx-drm-next-2017-03-17' of git://git.pengutronix.de/git/pza/linux into drm-next Merge tag 'drm-intel-next-2017-03-20' of git://anongit.freedesktop.org/git/drm-intel into drm-next Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next BackMerge tag 'v4.11-rc3' into drm-next Backmerge tag 'v4.11-rc4' into drm-next Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next Merge branch 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux into drm-next Merge tag 'drm-misc-next-2017-03-31' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge tag 'omapdrm-4.12' of git://git.kernel.org/.../tomba/linux into drm-next Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/media into drm-next Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next Merge tag 'imx-drm-next-2017-04-04' of git://git.pengutronix.de/git/pza/linux into drm-next Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next Merge branch 'drm-next-4.12' of https://github.com/ckhu-mediatek/linux.git-tags into drm-next Merge tag 'drm-intel-testing-2017-04-03' of git://anongit.freedesktop.org/git/drm-intel into drm-next Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next Backmerge tag 'v4.11-rc6' into drm-next Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next Merge tag 'drm/panel/for-4.12-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next Merge tag 'drm-misc-next-fixes-2017-04-12' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge tag 'v4.11-rc7' into drm-next Merge tag 'sunxi-drm-for-4.12' of https://git.kernel.org/.../mripard/linux into drm-next Merge tag 'drm-misc-next-fixes-2017-04-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next Merge branch 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next Merge branch 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux into drm-next Merge tag 'drm-intel-next-fixes-2017-04-27' of git://anongit.freedesktop.org/git/drm-intel into drm-next Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next
Deepak M (7): drm/i915: Set the Z inversion overlap field drm/i915/glk: Program dphy param reg for GLK drm/i915/glk: Program new MIPI DSI PHY registers for GLK drm/i915/glk: Add DSI PLL divider range for glk drm/i915i/glk: Program MIPI_CLOCK_CTRL only for BXT drm/i915/glk: Program txesc clock divider for GLK drm/i915/glk: Add MIPIIO Enable/disable sequence
Deepak S (1): drm/i915/chv: Set min freq to RPn on CHV.
Eric Anholt (9): drm/vc4: Drop debug print at boot with DPI enabled. drm/vc4: Convert existing documentation to actual kerneldoc. drm/vc4: Add RST to bring together vc4 kerneldoc. drm/vc4: Extend and edit documentation for output from the RST drm/vc4: Add a paragraph at the top of vc4 docs introducing what it is. drm/vc4: Fulfill user BO creation requests from the kernel BO cache. drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. drm/vc4: Add HDMI audio support drm: Clarify the role of plane_state argument to drm_simple update().
Eric Huang (22): drm/amd/amdgpu: add power profile sysfs entry drm/amd/powerplay: reapply power profile when force dpm level to auto drm/amd/powerplay: add power profile support for SMU7 drm/amd/powerplay: add power profile support for tonga drm/amd/powerplay: add power profile support for Fiji drm/amd/powerplay: add power profile support for Polaris drm/amd/amdgpu: add power profile support for CI drm/amd/powerplay: change parameter type pointer from int32_t to void in read sensor drm/amd/powerplay: add power consumption display support in debugfs drm/amd/powerplay: implement gpu power display for smu7_hwmgr drm/amd/powerplay: add voltage change support through pp_table drm/amd/powerplay: add function avfs control in smu7 drm/amd/powerplay: simplify avfs control code in smu7 drm/amdgpu: enable GFX/UVD/VCE PG for Bristol drm/amd/powerplay: restore disabling power containment on Fiji (v2) drm/amd/powerplay: add smu9 header files for Vega10 drm/amd/powerplay: add new Vega10's ppsmc header file drm/amdgpu: add new atomfirmware based helpers for powerplay drm/amd/powerplay: add some new structures for Vega10 drm/amd: add structures for display/powerplay interface drm/amd/powerplay: add some display/powerplay interfaces drm/amd/powerplay: add Vega10 powerplay support (v5)
Evan Quan (1): drm/amdgpu/smu9: update to latest driver interface
Felix Kuehling (6): drm/amd: Add MQD structs for GFX V9 drm/amdgpu: Register UTCL2 as a source of VM faults drm/amdgpu: Clean up GFX 9 VM fault messages drm/amdgpu: Make max_pfn 64-bit drm/amdgpu: Fix Vega10 VM initialization drm/amdgpu: Fix multi-level page table bugs for large BOs v3
Gabriel Krisman Bertazi (19): drm: Always prepare null framebuffer in transitional helper drm: qxl: Drop device flags attribute drm: qxl: Consolidate bo reservation when pinning drm: qxl: Don't initialize vblank support drm: qxl: Expose creation of universal primary plane drm: qxl: Atomic phase 1: convert cursor to universal plane drm: qxl: Atomic phase 1: Use drm_plane_helpers for primary plane drm: qxl: Atomic phase 1: Implement mode_set_nofb drm: qxl: Atomic phase 1: Don't unpin primary when disabling crtc drm: qxl: Atomic phase 2: Wire up state object handlers drm: qxl: Atomic phase 2: Use drm_atomic_set_fb_for_plane helper drm: qxl: Atomic phase 3: Use atomic handlers for planes drm: qxl: Atomic phase 3: Wire up atomic set_config helper drm: qxl: Atomic phase 3: Wire up atomic page_flip helper drm: qxl: Enable atomic modesetting ioctl drm: Update drm_fbdev_cma_init documentation drm: qxl: Don't alloc fbdev if emulation is not supported drm: bochs: Don't remove uninitialized fbdev framebuffer drm: bochs: Prevent double-free of fb helper
Geert Uytterhoeven (1): drm/amd: Spelling s/SDMA_WRTIE_SUB_OPCODE_TILED/SDMA_WRITE_SUB_OPCODE_TILED/
Geliang Tang (1): drm/i915/error: use rb_entry()
Gerd Hoffmann (9): qxl: drop mode_info.modes & related code. qxl: limit monitor config read retries qxl: read monitors config at boot qxl: fix qxl_conn_get_modes drm: virtio: use kmem_cache drm: virtio: fix kmem_cache_alloc error check drm: virtio: add virtio_gpu_translate_format drm: virtio: fix virtio_gpu_mode_dumb_create drm/virtio: don't leak bo on drm_gem_object_init failure
Gustavo Padovan (2): dma-buf/dma-fence: improve doc for dma_fence_add_callback() drm/virtio: call drm_plane_cleanup() at destroy phase
Hans de Goede (29): drm/i915: Fix not finding the VBT when it overlaps with OPREGION_ASLE_EXT x86/platform/intel/iosf_mbi: Add a mutex for P-Unit access drm/i915/dsi: Move calling of wait_for_dsi_fifo_empty to mipi_exec_send_packet drm/i915/dsi: Merge intel_dsi_disable/enable into their respective callers drm/i915/dsi: Add intel_dsi_unprepare() helper drm/i915/dsi: Move intel_dsi_clear_device_ready() drm/i915/dsi: Make intel_dsi_enable/disable directly exec VBT sequences drm/i915/dsi: VLV/CHT Only wait for LP00 on MIPI PORT A drm/i915/dsi: Document the panel enable / disable sequences from the spec drm/i915/dsi: Drop bogus MIPI_SEQ_ASSERT_RESET before POWER_ON drm/i915/dsi: Move MIPI_SEQ_POWER_ON/OFF calls together with pmic gpio calls drm/i915/dsi: Group DPOunit clock gate workaround with PLL enable drm/i915/dsi: Execute MIPI_SEQ_DEASSERT_RESET before calling device_ready() drm/i915/dsi: Group MIPI_SEQ_BACKLIGHT_ON/OFF with panel_[en|dis]able_backlight drm/i915/dsi: Document always using v3 SHUTDOWN / MIPI_SEQ_DISPLAY_OFF order drm/i915/dsi: Execute MIPI_SEQ_TEAR_OFF from intel_dsi_post_disable drm/i915/dsi: Call MIPI_SEQ_TEAR_ON and DISPLAY_ON for cmd-mode (untested) drm/i915/dsi: Skip delays for v3 VBTs in vid-mode x86/platform/intel/iosf_mbi: Add a PMIC bus access notifier i2c: designware: Rename accessor_flags to flags i2c: designware-baytrail: Pass dw_i2c_dev into helper functions i2c: designware-baytrail: Only check iosf_mbi_available() for shared hosts i2c: designware-baytrail: Disallow the CPU to enter C6 or C7 while holding the punit semaphore i2c: designware-baytrail: Fix race when resetting the semaphore i2c: designware-baytrail: Add support for cherrytrail i2c: designware-baytrail: Acquire P-Unit access on bus acquire i2c: designware-baytrail: Call pmic_bus_access_notifier_chain drm/i915: Add intel_uncore_suspend / resume functions drm/i915: Listen for PMIC bus access notifications
Harry Wentland (3): drm/amd/amdgpu: Fix some warnings in vce4 drm/amdgpu: Couple small warning fixes drm/amdgpu: Read vram width from integrated system info table
Hemant Hariyani (1): drm/omap: Add support for render nodes
Hoegeun Kwon (2): dt-bindings: Add support for Samsung s6e3ha2 panel binding drm/panel: Add support for S6E3HA2 panel driver on TM2 board
Huang Rui (14): drm/amdgpu: add a ucode size member into firmware info drm/amdgpu: add DRM MGCG header drm/amdgpu: add DF MGCG flag drm/amdgpu: use new flag to handle different firmware loading method drm/amdgpu: rework common ucode handling for vega10 drm/amdgpu: add psp firmware header info drm/amdgpu: add PSP driver for vega10 (v2) drm/amdgpu: add psp firmware info into info query and debugfs drm/amdgpu: add SMC firmware into global ucode list for psp loading drm/amdgpu: add get_clockgating callback for gfx v9 drm/amdgpu: add get_clockgating callback for nbio v6.1 drm/amdgpu: add get_clockgating callback for soc15 (v3) drm/amdgpu: add get_clockgating for sdma v4 drm/amdgpu: add get_clockgating callback for mmhub v1
Ilia Mirkin (3): drm/nouveau/mpeg: mthd returns true on success now drm/nouveau/mmu/nv4a: use nv04 mmu rather than the nv44 one drm/nouveau/fifo/nv40: no ctxsw for pre-nv44 mpeg engine
Imre Deak (12): drm/i915/gen9+: Enable hotplug detection early drm/i915/lspcon: Fix resume time initialization due to unasserted HPD drm/i915/lspcon: Remove DPCD compare based resume time workaround drm/i915/gen5+, pch: Enable hotplug detection early drm/i915: Remove redundant toggling from the power well sync_hw hooks drm/i915: Call the sync_hw hook for power wells without a domain drm/i915/gen9: Fix clearing of the BIOS power well request register drm/i915: Preserve the state of power wells not explicitly enabled drm/i915: Add power well SW/HW state verification drm/i915/lspcon: Switch back to PCON mode after output replug drm/i915/gen9: Increase PCODE request timeout to 50ms drm/i915: WARN if the core runtime PM get helpers fail
Jacopo Mondi (1): drm: rcar-du: Make sure the VSP is initialized on platforms that need it
Jani Nikula (29): drm/i915/dp: do not proceed with autotests if we don't ACK them drm/color: un-inline drm_color_lut_extract() Revert "drm/color: un-inline drm_color_lut_extract()" drm/i915: use variadic macros and arrays to choose port/pipe based registers drm/i915: don't warn about Skylake CPU - KabyPoint PCH combo drm/i915/bxt: apply clock gating workaround to all revisions drm/i915/bxt: remove snooping workaround on old A revisions drm/i915/bxt: remove WaRsDisableCoarsePowerGating for early BXT drm: move edid property update and add modes out of edid firmware loader drm: do not debug log about missing CEA extensions on NULL edid drm/edid: respect connector force for drm_get_edid ddc probe drm: add drm_get_connector_force_name drm/i915: use BUILD_BUG_ON to ensure platform name has been set up drm/i915/dsi: remove support for more than one panel driver drm/i915/dsi: call vbt_panel_get_modes directly instead of via drm_panel drm/i915/dsi: stop using the drm_panel framework completely drm/i915/dsi: rename intel_dsi_exec_vbt_sequence to intel_dsi_vbt_exec_sequence drm/i915/dsi: rename intel_dsi_pre_disable to intel_dsi_disable drm/i915/dsi: rename intel_dsi_panel_vbt.c to intel_dsi_vbt.c drm/i915/dsi: arrange intel_dsi.h according to relevant files drm/i915/vbt: don't propagate errors from intel_bios_init() drm/i915/vbt: split out defaults that are set when there is no VBT drm/scdc: declare drm_scdc_get_scrambling_status drm/i915: update the firmware download URL drm/i915/dp: reduce link M/N parameters drm/i915/opregion: bail out early for systems with no opregion VBT drm/i915/opregion: try to validate RVDA VBT only if it's there drm/i915/opregion: debug log about invalid ACPI OpRegion VBT Merge tag 'gvt-next-fixes-2017-04-20' of https://github.com/01org/gvt-linux into drm-intel-next-fixes
Javi Merino (1): drm: use .hword to represent 16-bit numbers
Jeffy Chen (12): drm/rockchip: Refactor the component match logic. drm: bridge: analogix: Detach panel when unbinding analogix dp drm: bridge: analogix: Unregister dp aux when unbinding drm: bridge: analogix: Disable clock when unbinding drm: bridge: analogix: Destroy connector & encoder when unbinding drm/rockchip: cdn-dp: Don't try to release firmware when not loaded drm/rockchip: cdn-dp: Don't unregister audio dev when unbinding drm/rockchip: vop: Enable pm domain before vop_initial drm/rockchip: vop: Unprepare clocks when unbinding drm/rockchip: analogix_dp: Disable clock when unbinding drm/rockchip: Reorder drm bind/unbind sequence drm/rockchip: Shutdown all crtcs when unbinding drm
Jim Qu (1): drm/amd/amdgpu: fix Tonga S3 resume hang on rhel6.8
Joan Jani (1): drivers:gpu: vga :vga_switcheroo.c : Fixed some coding style issues
Joe Perches (6): drm: drm_printer: add __printf validation gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> drivers/gpu: Convert remaining uses of pr_warning to pr_warn drm: Use pr_cont where appropriate gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level>
John Keeping (24): drm/rockchip: dw-mipi-dsi: don't configure hardware in mode_set for MIPI drm/rockchip: dw-mipi-dsi: pass mode in where needed drm/rockchip: dw-mipi-dsi: remove mode_set hook drm/rockchip: dw-mipi-dsi: fix command header writes drm/rockchip: dw-mipi-dsi: fix generic packet status check drm/rockchip: dw-mipi-dsi: avoid out-of-bounds read on tx_buf drm/rockchip: dw-mipi-dsi: include bad value in error message drm/rockchip: dw-mipi-dsi: respect message flags drm/rockchip: dw-mipi-dsi: only request HS clock when required drm/rockchip: dw-mipi-dsi: don't assume buffer is aligned drm/rockchip: dw-mipi-dsi: prepare panel after phy init drm/rockchip: dw-mipi-dsi: allow commands in panel_disable drm/rockchip: dw-mipi-dsi: fix escape clock rate drm/rockchip: dw-mipi-dsi: ensure PHY is reset drm/rockchip: dw-mipi-dsi: configure PHY before enabling drm/rockchip: dw-mipi-dsi: properly configure PHY timing drm/rockchip: dw-mipi-dsi: improve PLL configuration drm/rockchip: dw-mipi-dsi: use specific poll helper drm/rockchip: dw-mipi-dsi: use positive check for N{H, V}SYNC drm/rockchip: vop: test for P{H,V}SYNC drm/rockchip: dw-mipi-dsi: defer probe if panel is not loaded drm/rockchip: dw-mipi-dsi: support non-burst modes drm/rockchip: dw-mipi-dsi: add reset control dt-bindings: display: rk3288-mipi-dsi: add reset property
Joonas Lahtinen (4): drm/i915: Avoid BIT(max) - 1 and use GENMASK(max - 1, 0) drm/i915: Use for_each_power_domain() in i915_power_domain_info() drm/i915: Add __destroy_hw_context drm/i915/guc: Sanitize GuC client initialization
Jordan Crouse (11): drm/msm: Fix wrong pointer check in a5xx_destroy drm/msm: Don't increase priv->num_aspaces until we know that it fits drm/msm: Pass interrupt status to a5xx_rbbm_err_irq() drm/msm: Support 64 bit iova in RD_CMDSTREAM_ADDR drm/msm: Don't allow zero sized buffer objects drm/msm: Make sure to detach the MMU during GPU cleanup drm/msm: Reference count address spaces drm/msm: Add MSM_PARAM_GMEM_BASE drm/msm: Hard code the GPU "slow frequency" drm/msm: gpu: Use OPP tables if we can msm/drm: gpu: Dynamically locate the clocks from the device tree
Juergen Gross (1): drm/i915: fix i915 running as dom0 under Xen
Junshan Fang (1): drm/amd/amdgpu: add DID for Polaris10
Junwei Zhang (9): drm/amdgpu: IOCTL interface for PRT support v4 drm/amdgpu: export gfx config double offchip LDS buffers (v3) drm/amdgpu: rename amdgpu_gca_config to amdgpu_gfx_config drm/amdgpu: init aperture definitions (v2) drm/amdgpu: fix before and after mapping judgement for replace mapping drm/amdgpu: add NBIO 6.1 driver drm/amdgpu: add Vega10 Device IDs (v2) drm/amdgpu: fix vm pte pde flags to 64-bit for sdma (v3) drm/amdgpu: set vm size and block size by individual gmc by default (v3)
Jyri Sarha (5): drm/omap: Get rid of DRM_OMAP_NUM_CRTCS config option drm/omap: Rename enum omap_plane to enum omap_plane_id drm/omap: Fix one ugly indentation style break left by coccinelle drm/omap: Remove the obsolete #define omap_plane _omap_plane hack drm/omap: Major omap_modeset_init() cleanup
Kelvin Gardiner (1): drm/i915/bdw: Do not write the replay bit of the ring mode register
Ken Wang (11): drm/amdgpu: change wptr to 64 bits (v2) drm/amdgpu: add 64bit wb functions drm/amdgpu: add 64bit doorbell functions (v2) drm/amdgpu: add common soc15 headers drm/amdgpu: add vega10 chip name drm/amdgpu: add 64bit doorbell assignments drm/amdgpu: add SDMA v4.0 implementation (v2) drm/amdgpu: implement GFX 9.0 support (v2) drm/amdgpu: add vega10 interrupt handler drm/amdgpu: soc15 enable (v3) drm/amdgpu: Set the IP blocks for vega10
Ken Xue (1): drm/amdgpu:Refine handshake of mailbox
Kenneth Graunke (1): drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters.
Kieran Bingham (2): drm: bridge: dw-hdmi: Add support for custom PHY configuration drm: bridge: dw-hdmi: Remove device type from platform data
Koji Matsuoka (3): drm: rcar-du: Add Gen3 HDMI encoder support drm: rcar-du: Add DPLL support drm: rcar-du: Add HDMI outputs to R8A7795 device description
Laurent Pinchart (33): drm: Constify drm_mode_config atomic helper private pointer drm: shmobile: Perform initialization/cleanup at probe/remove time drm: exynos: Perform initialization/cleanup at probe/remove time drm: Remove unused drm_platform midlayer drm: Remove the struct drm_device platformdev field devicetree/bindings: display: bridge: Add LVDS encoder DT bindings drm: bridge: Add LVDS encoder driver drm: bridge: vga-dac: Add adi,adv7123 compatible string drm: bridge: lvds-encoder: Add thine,thc63lvdm83d compatible string drm: bridge: dw-hdmi: Remove unused functions drm: bridge: dw-hdmi: Move CSC configuration out of PHY code drm: bridge: dw-hdmi: Fix the PHY power down sequence drm: bridge: dw-hdmi: Fix the PHY power up sequence drm: bridge: dw-hdmi: Create PHY operations drm: bridge: dw-hdmi: Move the driver to a separate directory. devicetree/bindings: display: Document common panel properties devicetree/bindings: display: Add bindings for LVDS panels devicetree/bindings: display: Add bindings for two Mitsubishi panels drm: Add data transmission order bus flag drm: panels: Add LVDS panel driver drm: rcar-du: Switch to encoder .atomic_mode_set() helper function drm: rcar-du: Handle event when disabling CRTCs drm: rcar-du: Clear handled event pointer in CRTC state drm: rcar-du: Use DRM core's atomic commit helper drm: rcar-du: Remove wait field from rcar_du_device structure drm: rcar-du: Document the vsps property in the DT bindings drm: rcar-du: Use the DRM panel API drm: rcar-du: Add support for LVDS mode selection drm: rcar-du: Replace manual bridge implementation with DRM bridge drm: rcar-du: Hardcode encoders types to DRM_MODE_ENCODER_NONE dt-bindings: display: renesas: Add R-Car Gen3 HDMI TX DT bindings drm: rcar-du: Skip disabled outputs drm: bridge: dw-hdmi: Extract PHY interrupt setup to a function
Laurent Vivier (1): drm: virtio: fix virtio_gpu_cursor_formats
Lee, Shawn C (1): drm/i915/bxt: Add MST support when do DPLL calculation
Leo Liu (11): drm/amdgpu: add a ring func for end command drm/amdgpu: move amdgpu_uvd structure to uvd header drm/amdgpu: move amdgpu_vce structure to vce header drm/amdgpu: add uvd enc rings drm/amdgpu: add uvd enc run queue drm/amdgpu: add uvd enc ring type and functions uapi/drm: add AMDGPU_HW_IP_UVD_ENC drm/amdgpu: add AMDGPU_HW_IP_UVD_ENC to info query drm/amdgpu: get cs support of AMDGPU_HW_IP_UVD_ENC drm/amdgpu: add initial uvd 7.0 support for vega10 drm/amdgpu: add initial vce 4.0 support for vega10
Liu Ying (1): drm/imx: Remove unneeded definition for structure imx_drm_component
Liviu Dudau (3): drm: mali-dp: Update the state of all planes before re-enabling active CRTCs. drm: mali-dp: Enable power management for the device. drm/mali-dp: Add core_id file to the sysfs interface
Logan Gunthorpe (1): dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro
Lorenzo Stoakes (1): drm/via: use get_user_pages_unlocked()
Lucas Stach (14): gpu: ipu-v3: remove IRQ dance on DC channel disable gpu: ipu-v3: add DT binding for the Prefetch Resolve Engine gpu: ipu-v3: add driver for Prefetch Resolve Engine gpu: ipu-v3: add DT binding for the Prefetch Resolve Gasket gpu: ipu-v3: add driver for Prefetch Resolve Gasket gpu: ipu-v3: document valid IPUv3 compatibles and extend for i.MX6 QuadPlus gpu: ipu-v3: hook up PRG unit gpu: ipu-v3: only set non-zero AXI ID for IC when PRG is absent drm/imx: enable/disable PRG on CRTC enable/disable drm/imx: use PRG/PRE when possible drm/etnaviv: add lockdep assert to fence allocation drm/etnaviv: return GPU fence through the submit structure gpu: ipu-v3: don't depend on DRM being enabled drm/imx: merge imx-drm-core and ipuv3-crtc in one module
Lukas Wunner (6): MAINTAINERS: Add Lukas Wunner as reviewer for vga_switcheroo PCI: Recognize Thunderbolt devices drm/radeon: Don't register Thunderbolt eGPU with vga_switcheroo drm/amdgpu: Don't register Thunderbolt eGPU with vga_switcheroo drm/nouveau: Don't register Thunderbolt eGPU with vga_switcheroo apple-gmux: Don't switch external DP port on 2011+ MacBook Pros
Lyude (3): drm/i915/debugfs: Add i915_hpd_storm_ctl drm/i915/dp: Ratelimit DP aux timeout messages drm/radeon/dp_auxch: Ratelimit aux transfer debug messages
Maarten Lankhorst (28): drm/i915: Use atomic page flip for intel again. drm/i915: Disable all crtcs during driver unload, v2. drm/i915: Fix POWER_DOMAIN_AUDIO refcounting. drm/i915: Enable atomic support by default on supported platforms. drm/atomic: Add new iterators over all state, v3. drm/atomic: Make add_affected_connectors look at crtc_state. drm/atomic: Use new atomic iterator macros. drm/atomic: Make disable_all helper fully disable the crtc. drm: Convert drm_framebuffer_remove to atomic, v4. drm/atomic: Fix atomic helpers to use the new iterator macros, v3. drm/atomic: Make drm_atomic_plane_disabling easier to understand. drm/atomic: Add macros to access existing old/new state, v2. drm/atomic: Convert get_existing_state callers to get_old/new_state, v4. drm/blend: Use new atomic iterator macros. drm/i915: Move updating color management to before vblank evasion drm/i915: Complain if we take too long under vblank evasion. drm/i915: Nuke skl_update_plane debug message from the pipe update critical section drm/i915: Use new atomic iterator macros in ddi drm/i915: Use new atomic iterator macros in fbc drm/i915: Use new atomic iterator macros in wm code drm/i915: Use new atomic iterator macros in display code drm/i915: Use new atomic iterator macros in cdclk Revert unrelated part of "drm: simplify the locking in the GETCRTC ioctl" drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. drm/atomic: Unify conflicting encoder handling. drm/atomic: Set all the changed flags in one place. drm/atomic: Move enable/connector check up in check_modeset() drm/atomic: Add connector atomic_check function, v2.
Madhav Chauhan (2): drm/i915/glk: Validate only DSI PORT A PLL divider drm/i915/glk: Fix DSI enable I/O sequence
Manasi Navare (8): drm/i915: Add support for DP link training compliance drm/i915: Fixes to support DP Compliance EDID tests drm: Add definitions for DP compliance Video pattern tests drm/i915: Add support for DP Video pattern compliance tests drm/i915/dp: Reset the link params on HPD/connected boot/resume drm: Add a new connector atomic property for link status drm: Fix the kernel doc warning for drm_link_status drm/i915: Implement Link Rate fallback on Link training failure
Marek Olšák (2): drm/radeon: allow unaligned shader loads on CIK drm/amdgpu: don't validate TILE_SPLIT on GFX9
Mario Kleiner (4): drm/amdgpu: Make display watermark calculations more accurate drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations. drm/nouveau/kms: Increase max retries in scanout position queries. drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
Matthew Auld (6): drm/i915: remove 512GB allocation warning drm/i915/selftests: don't leak the gem object drm/i915: use correct node for handling cache domain eviction drm/i915/selftests: exercise cache domain eviction drm/i915/perf: destroy stream on sample_flags mismatch drm/i915/perf: remove user triggerable warn
Maxime Ripard (5): drm/fb-helper: implement ioctl FBIO_WAITFORVSYNC drm/sun4i: Grab reserved memory region MAINTAINERS: Add sun4i-drm git repo dt-bindings: display: panel: Add bindings for the Sitronix ST7789V panel drm/panel: Add driver for sitronix ST7789V LCD controller
Michael Zoran (1): drm/vc4: Don't wait for vblank when updating the cursor
Michal Wajdeczko (11): drm/i915: Don't use enums for hardware engine id drm/i915/guc: Use formalized struct definition for ads object drm/i915: Make intel_uc_sanitize_options() more robust drm/i915/uc: Make intel_uc_prepare_fw() static drm/i915: Move WARN_ON/MISSING_CASE macros to i915_utils.h drm/i915/uc: Move intel_uc_fw_status_repr() to intel_uc.h drm/i915/uc: Add intel_uc_fw_type_repr() drm/i915/uc: Add intel_uc_fw_fini() drm/i915/huc: Remove unused intel_huc_fini() drm/i915/uc: Move fw path check to fetch_uc_fw() drm/i915/uc: Drop use of MISSING_CASE on trivial enums
Michał Winiarski (2): drm/i915: Always convert incoming exec offsets to non-canonical drm/i915/skl: Add missing SKL ID
Mihail Atanassov (8): drm: mali-dp: add atomic_print_state for planes drm: mali-dp: add custom reset hook for planes drm: mali-dp: add malidp_crtc_state struct drm: mali-dp: enable gamma support drm: mali-dp: Add CTM support drm: mali-dp: Add plane upscaling support drm: mali-dp: Enable image enhancement when scaling drm: mali-dp: Check the mclk rate and allow up/down scaling
Mika Kuoppala (14): drm/i915: Create context desc template when context is created drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 drm/i915/gtt: Make I915_PDPES_PER_PDP inline function drm/i915: Don't mark pdps clear if pdps are not submitted drm/i915/gtt: Prefer i915_vm_is_48bit() over macro drm/i915: Avoid using word legacy with ppgtt drm/i915/gtt: Setup vm callbacks late drm/i915: Move residency calculation into intel_pm.c drm/i915: Return residency as microseconds drm/i915: Extend vlv/chv residency resolution drm/i915: Convert debugfs to use generic residency calculator drm/i915: Use ktime to calculate rc0 residency drm/i915: Use coarse grained residency counter with byt drm/i915: Fix system hang with EI UP masked on Haswell
Monk Liu (54): drm/amdgpu:fix typo drm/amdgpu:fix powerplay logic drm/amdgpu:fix amdgpu_sa_bo_new error(v2) drm/amdgpu:cg & pg shouldn't active on VF device drm/damdgpu:add new mqd member in ring drm/amdgpu:imple mqd soft ini/fini drm/amdgpu:bo_free_kernel will set ptr to NULL if freed drm/amdgpu:no need use sriov vf checks drm/amdgpu:minor cleanup drm/amdgpu:divide KCQ mqd init to sw and hw drm/amdgpu:implement SRIOV gpu_reset (v2) drm/amdgpu:change kiq lock name drm/amdgpu:add lock_reset for SRIOV drm/amdgpu:don't return error for debugfs failed drm/amdgpu:cleanup no needed braces drm/amdgpu:use hw_init for sriov_gpu_reset drm/amdgpu:use MACRO like other places drm/amdgpu:impl RREG32 no kiq version drm/amdgpu:no kiq for mailbox registers access drm/amdgpu:use work instead of delay-work drm/amdgpu:RUNTIME flag should clr later drm/amdgpu:new field in_reset introduced for gfx drm/amdgpu:alloc mqd backup drm/amdgpu:imple ring clear drm/amdgpu:use clear_ring to clr RB drm/amdgpu:fix kiq_resume routine (V2) drm/amdgpu/gfx9: programing wptr_poll_addr register drm/amdgpu:impl gfx9 cond_exec (v2) drm/amdgpu:bypass RLC init for SRIOV drm/amdgpu/sdma4:re-org SDMA initial steps for sriov drm/amdgpu/vega10:fix DOORBELL64 scheme drm/amdgpu:fix cs_ib_fill drm/amdgpu:protect cs submit drm/amdgpu:fix the check in cs_ib_fill for SRIOV drm/amdgpu:implement cond_exec for gfx8 drm/amdgpu:enable mcbp for gfx9(v2) drm/amdgpu:enable MCBP for SR-IOV (v2) uapi/drm:change Preamble Description uapi/drm:add new flag for Preemption drm/amdgpu:virt_init_setting invoke is missed! drm/amdgpu:fix ring init sequence drm/amdgpu:change sequence of SDMA v4 init drm/amdgpu:two fixings for sdma v4 for SRIOV drm/amdgpu:no cg for soc15 of SRIOV drm/amdgpu:fix gmc_v9 vm fault process for SRIOV drm/amdgpu:fix ring_write_multiple drm/amdgpu:fix missing programing critical registers drm/amdgpu:changes in gfx DMAframe scheme (v2) drm/amdgpu:add PSP block only load_type=PSP (v2) drm/amdgpu:no need to involv HDP in KIQ drm/amdgpu:fix typo for mxgpu_ai drm/amdgpu:implement the reset MB func for vega10 drm/amdgpu/vega10:timeout set to equal with VI drm/amdgpu:invoke new implemented AI MB func
Neil Armstrong (22): MAINTAINERS: drm-meson: Update git entries drm: bridge: dw-hdmi: Enable CSC even for DVI drm: bridge: dw-hdmi: Switch to regmap for register access media: uapi: Add RGB and YUV bus formats for Synopsys HDMI TX Controller documentation: media: Add documentation for new RGB and YUV bus formats MAINTAINERS: meson-drm: remove useless git repository drm: bridge: dw-hdmi: Switch to V4L bus format and encodings drm: bridge: dw-hdmi: Add Documentation on supported input formats drm: bridge: dw-hdmi: Move HPD handling to PHY operations drm/meson: Use crtc_state for hdisplay and fix atomic flush/enable sync for vsync commit drm/meson: Add missing HDMI register drm/meson: Add support for components drm/meson: venc_cvbs: no more return -ENODEV if CVBS is not available drm/meson: add support for HDMI clock support drm/meson: Add support for HDMI venc modes and settings drm/meson: Add support for HDMI encoder and DW-HDMI bridge + PHY dt-bindings: Add bindings for the Amlogic Meson dw-hdmi extension drm/meson: Convert existing documentation to actual kerneldoc drm/meson: Add RST to bring together kerneldoc MAINTAINERS: update files for Amlogic DRM Driver drm: bridge: dw-hdmi: remove unused hdmi_bus_fmt_is_yuv420 drm: bridge: dw-hdmi: fix input format/encoding from plat_data
Nickey Yang (2): drm/bridge: dw_hdmi: support i2c extended read mode drm: bridge: dw-hdmi: add HDMI vendor specific infoframe config
Nicolai Hähnle (7): drm/ttm: never add BO that failed to validate to the LRU list Revert "drm/amdgpu: fix a potential deadlock in amdgpu_bo_create_restricted()" drm/ttm: fix the documentation of ttm_bo_init drm/ttm: add ttm_bo_init_reserved drm/amdgpu: simplify reservation handling during buffer creation drm/amdgpu: add optional fence out-parameter to amdgpu_vm_clear_freed drm/amdgpu: clear freed mappings immediately when BO may be freed
Noralf Trønnes (10): drm/armada: Remove armada_drm_debugfs_cleanup() drm/nouveau: Remove nouveau_drm_debugfs_cleanup() drm/virtio: Remove virtio_gpu_debugfs_takedown() drm/qxl: Remove qxl_debugfs_takedown() drm/i915: Remove i915_debugfs_unregister() drm/msm: Remove drm_debugfs_remove_files() calls drm/msm: Remove msm_debugfs_cleanup() drm/debugfs: Remove the drm_driver.debugfs_cleanup callback drm/qxl: Remove qxl_debugfs_remove_files() drm/tinydrm: Fix drm_driver.fops.owner
Oscar Mateo (12): drm/i915/guc: Keep the ctx_pool_vaddr mapped, for easy access drm/i915/guc: Add onion teardown to the GuC setup drm/i915/guc: The Additional Data Struct (ADS) should get enabled together with GuC submission drm/i915/guc: Break out the GuC log extras into their own "runtime" struct drm/i915/guc: Make intel_guc_send a function pointer drm/i915/guc: Improve the GuC documentation & comments about proxy submissions drm/i915/guc: Wait for doorbell to be inactive before deallocating drm/i915/guc: A little bit more of doorbell sanitization drm/i915/guc: Refactor the concept "GuC context descriptor" into "GuC stage descriptor" drm/i915/guc: Split out the mmio_white_list struct drm/i915/guc: Move guc_interrupts_release next to guc_interrupts_capture drm/i915/guc: Take enable_guc_loading check out of GEM core code
Pandiyan, Dhinakaran (5): drm/i915/glk: Apply cdclk workaround for DP audio drm/i915: Implement cdclk restrictions based on Azalia BCLK drm/dp: Kill total_pbn and total_slots in struct drm_dp_mst_topology_mgr drm/dp: Kill unused MST vcpi slot availability tracking drm/dp: Split drm_dp_mst_allocate_vcpi
Paulo Zanoni (7): x86/gpu: GLK uses the same GMS values as SKL drm/i915: make i915_stolen_to_physical() return phys_addr_t drm/i915: remove potentially confusing IS_G4X checks drm/i915: move the {skl, bxt}_{i, uni}nit_cdclk declarations drm/i915: simplify intel_ddi_pll_select() drm/i915: kill intel_ddi_pll_select() drm/i915: make a few DDI functions static
Pei Zhang (2): drm/i915/gvt: make dpcd_fix_data supports DP1.2 drm/i915/gvt: add mmio init for virtual display
Peter Senna Tschudin (4): dt-bindings: display: megachips-stdpxxxx-ge-b850v3-fw MAINTAINERS: Add entry for megachips-stdpxxxx-ge-b850v3-fw drm/bridge: Drivers for megachips-stdpxxxx-ge-b850v3-fw (LVDS-DP++) drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Fix bridge initialization
Peter Ujfalusi (6): drm/omap: dss: Functions to check components in the display/output list drm/omap: dss: Support for detecting display stack readiness drm/omap: Use omapdss_stack_is_ready() to check that the display stack is up drm/omap: display: Add displays in sorted order to the panel_list drm/omap: poll only connectors where the connect/disconnect can be checked drm/omap: displays: panel-dpi: Support for handling backlight devices
Philipp Zabel (15): drm/imx: ipuv3-plane: use drm_plane_helper_check_state, clipped coordinates drm/imx: ipuv3-plane: update overlay plane position also without modeset gpu: ipu-cpmem: set image base address even for incorrect formats gpu: ipu-cpmem: add bayer formats to ipu_cpmem_set_image gpu: ipu-v3: add unsynchronised DP channel disabling drm/imx: don't wait for vblank and stop calling cleanup_planes in commit_tail drm/imx: add deferred plane disabling drm: add RGB formats with separate alpha plane gpu: ipu-v3: add support for separate alpha channels drm/imx: extend drm_plane_state_to_eba for separate channel support drm/imx: ipuv3-plane: add support for separate alpha planes dma-fence: add dma_fence_match_context helper drm/vc4: use platform_register_drivers drm/etnaviv: submit support for in-fences drm/etnaviv: submit support for out-fences
Ping Gao (7): drm/i915/gvt: use hrtimer replace delayed_work in scheduler drm/i915/gvt: add some statistic routine for scheduler drm/i915/gvt: factor out the scheduler drm/i915/gvt: define weight according to vGPU type drm/i915/gvt: add basic function for weight control drm/i915/gvt: create an idle vGPU drm/i915/gvt: control the scheduler by timeslice usage
Pixel Ding (3): drm/amdgpu/virt: increase mailbox timeout to 5000ms drm/amdgpu/virt: skip VM fault handler for VF drm/amdgpu: clean framebuffer with GPU
Rex Zhu (13): drm/amdgpu: print full bios version in dmesg. drm/amdgpu: check function points valid before use. (v3) drm/amdgpu: refine vce2.0 dpm sequence drm/amdgpu: refine vce_3.0 code. drm/amd/powerplay: add a new register define for APU in VI. drm/amdgpu: enable gfx/system/vce clockgating on Polars12. drm/amdgpu: load mc firware in driver for Polaris. drm/amd/powerplay: add global PowerPlay mutex. drm/amd/powerplay: reduce sample period time drm/amdgpu: when resume failed, return error to avoid system hang. drm/amdgpu: various cleanups for uvd/vce. drm/amd/powerplay: port newest process pptable code for vega10. drm/amd/powerplay: add fan controller table v11 support.
Richard Genoud (2): devicetree: add vendor prefix for Winstar Display Corp. drm/panel: simple: Add support for Winstar WF35LTIACD
Rob Clark (6): drm/msm/gpu: move suspend/resume into debugfs->show drm/msm/gpu: use pm-runtime drm/msm/adreno: reset ringbuffer in hw_init drm/msm: convert to iommu_map_sg drm/msm: pm runtime support for iommu drm/msm: move submit fence wait out of struct_mutex
Rob Herring (5): drm: make of_drm_find_panel also depend on CONFIG_DRM_PANEL drm: of: introduce drm_of_find_panel_or_bridge drm: convert drivers to use of_graph_get_remote_node drm: convert drivers to use drm_of_find_panel_or_bridge drm: omap: use common OF graph helpers
Robert Bragg (1): drm/i915: fix for WaDisableDopClockGating:bdw
Rodrigo Vivi (3): drm/i915/kbl: Apply WaIncreaseDefaultTLBEntries on KBL. drm/i915: Introduce IS_GEN9_BC for Skylake and Kabylake. drm/i915: DMC 1.03 for Geminilake
Roger.He (3): drm/amdgpu: increase IH ring buffer size to avoid overflow drm/amd/amdgpu: fix performance drop when VRAM pressure drm/ttm: decrease ttm bo priority number
Romain Perier (2): drm: dw_hdmi: Don't rely on the status of the bridge for updating HPD drm: dw-hdmi: Implement the mode_fixup drm helper
Russell King (4): drm: ensure atomic messages consistently include the name of the component drm/etnaviv: add etnaviv cooling device dma-buf: fence debugging dma-buf: align debugfs output
Sagar Arun Kamble (4): drm/i915: Initialize pm_intr_keep during intel_irq_init for GuC drm/i915/guc: Release GuC interrupts in i915_guc_submission_disable drm/i915: s/pm_intr_keep/pm_intrmsk_mbz drm/i915/guc: Update rps.pm_intrmsk_mbz in guc_interrupts_capture/release
Samuel Pitoiset (2): drm/amdgpu: implement read_sensor() for pre-powerplay chips drm/amdgpu: expose amdgpu_sensors on pre-powerplay chips
Sean Paul (5): drm: Fix compilation error when CONFIG_DEBUG_FS is undefined drm/rockchip: Fix link error when CONFIG_DRM_ANALOGIX_DP undefined Merge airlied/drm-next into drm-misc-next Merge tag 'topic/synopsys-media-formats-2017-04-03' of git://anongit.freedesktop.org/git/drm-misc into drm-misc-next Revert "drm: Don't allow interruptions when opening debugfs/crc"
Shashank Sharma (6): drm/i915: Remove intel_ prefix from encoder variables in intel_ddi.c drm/edid: detect SCDC support in HF-VSDB drm/edid: detect SCDC support in HF-VSDB drm/i915: enable scrambling drm/i915: allow HDMI 2.0 clock rates drm: Add description for scdc variable
Shawn Guo (24): drm: add vblank hooks to struct drm_crtc_funcs drm: remove drm_vblank_no_hw_counter assignment from driver code drm: unexport function drm_vblank_no_hw_counter() drm: hdlcd: use vblank hooks in struct drm_crtc_funcs drm: malidp: use vblank hooks in struct drm_crtc_funcs drm: armada: use vblank hooks in struct drm_crtc_funcs drm: atmel: use vblank hooks in struct drm_crtc_funcs drm: exynos: use vblank hooks in struct drm_crtc_funcs drm: fsl-dcu: use vblank hooks in struct drm_crtc_funcs drm: hibmc: use vblank hooks in struct drm_crtc_funcs drm: imx: remove struct imx_drm_crtc and imx_drm_crtc_helper_funcs drm: meson: use vblank hooks in struct drm_crtc_funcs drm: rcar-du: use vblank hooks in struct drm_crtc_funcs drm: rockchip: remove struct rockchip_crtc_funcs drm: shmobile: use vblank hooks in struct drm_crtc_funcs drm: sun4i: use vblank hooks in struct drm_crtc_funcs drm: tegra: use vblank hooks in struct drm_crtc_funcs drm: tilcdc: use vblank hooks in struct drm_crtc_funcs drm: vc4: use vblank hooks in struct drm_crtc_funcs drm: zte: use vblank hooks in struct drm_crtc_funcs drm: kirin: use vblank hooks in struct drm_crtc_funcs drm: mediatek: use vblank hooks in struct drm_crtc_funcs drm: qxl: use vblank hooks in struct drm_crtc_funcs drm: zte: remove leftover 'inf' from struct zx_hdmi
Sinclair Yeh (18): drm/vmwgfx: Removed unused snooper.crtc field drm/vmwgfx: Add universal plane support drm/vmwgfx: CRTC atomic state drm/vmwgfx: Plane atomic state drm/vmwgfx: Connector atomic state drm/vmwgfx: Add and connect CRTC helper functions drm/vmwgfx: Add and connect plane helper functions drm/vmwgfx: Add and connect connector helper function drm/vmwgfx: Add and connect atomic state object check/commit drm/vmwgfx: Fixes to vmwgfx_fb drm/vmwgfx: Switch over to internal atomic API for STDU drm/vmwgfx: Switch over to internal atomic API for SOU and LDU drm/vmwgfx: Turn on DRIVER_ATOMIC flag drm/vmwgfx: Explicityly track screen target width and height drm/vmwgfx: Skipping fbdev fb pinning for ldu drm/vmwgfx: Fix LDU X blank screen until mode change issue drm/vmwgfx: Support topology greater than texture size drm/vmwgfx: Properly check display/scanout surface size
Tamara Diaconita (1): drivers: gpu: drm: i915L intel_lpe_audio: Fix kerneldoc comments
Thierry Reding (14): drm/doc: Add TODO list drm: Rename drm_mode_object_get() drm: Introduce drm_mode_object_{get,put}() drm: Introduce drm_connector_{get,put}() drm: Introduce drm_framebuffer_{get,put}() drm: Introduce drm_gem_object_{get,put}() drm: Introduce drm_property_blob_{get,put}() drm: Rename connector list iterator API drm: Add SCDC helpers drm/edid: check for HF-VSDB block drm/fb-helper: Cleanup checkpatch warnings drm/fb-helper: Reshuffle code for subsequent patches drm/fb-helper: Improve code readability drm/nouveau/imem/gk20a: Turn instmem lock into mutex
Thomas Hellstrom (3): drm/vmwgfx: Introduce a simple resource type drm/vmwgfx: Re-implement the stream resource as a simple resource. drm/vmwgfx: Define an overlaid handle_close ioctl.
Tina Zhang (2): drm/i915/gvt: remove workload from intel_shadow_wa_ctx structure drm/i915/gvt: remove the redundant info NULL check
Tom St Denis (21): drm/amd/amdgpu: Update read_sensor calls to have size parameter (v3) drm/amd/amdgpu: Set VCE/UVD off during late init drm/amd/amdgpu: Correct ring wptr address in debugfs (v2) drm/amd/amdgpu: Clean up gfx_v8_0_kiq_set_interrupt_state() drm/amd/amdgpu: Clean up gfx_v8_0_inactive_hqd() drm/amd/amdgpu: clean up gfx_v8_0_kiq_init_register() drm/amd/amdgpu: de-numberify HQD_ACTIVE check. drm/amd/amdgpu: Clean up gfx_v8_0_mqd_init() drm/amd/amdgpu: Fix srbm_indexing in init/inactive hqd code drm/amd/amdgpu: Fix psp_v3_1 compare sram drm/amd/amdgpu: Clean up psp reload_quirk() drm/amd/amdgpu: cleanup gfx_v9_0_init_queue() drm/amd/amdgpu: cleanup gfx_v9_0_set_priv_inst_fault_state() drm/amd/amdgpu: cleanup gfx_v9_0_set_priv_reg_fault_state() drm/amd/amdgpu: cleanup gfx_v9_0_set_gfx_eop_interrupt_state() drm/amd/amdgpu: Drop gfx_v9_0_print_status() drm/amd/amdgpu: cleanup gfx_v9_0_kiq_init_register() drm/amd/amdgpu: simplify gfx_v9_0_cp_gfx_enable() drm/amd/amdgpu: cleanup gfx_v9_0_rlc_start() drm/amd/amdgpu: cleanup gfx_v9_0_rlc_reset() drm/amd/amdgpu: cleanup gfx_v9_0_gpu_init()
Tomeu Vizoso (6): drm/edid: Don't print an error if the checksum of a CEA block is wrong drm/dp: add crtc backpointer to drm_dp_aux drm/dp: add helpers for capture of frame CRCs drm/bridge: analogix_dp: add helpers for capture of frame CRCs drm/rockchip: Implement CRC debugfs API drm/dp: Add missing description to parameter
Tomi Valkeinen (23): drm/omap: use vblank hooks in struct drm_crtc_funcs drm/omap: work-around for errata i886 drm/omap: refactor CRTC HW property setup drm/omap: remove divider constraint from hsdiv drm/omap: decrease min width & height drm/omap: improve DPI clock selection on DRA7xx drm/omap: fix HDMI sync polarities drm/omap: add omapdss-base.ko drm/omap: move dss_initialized to omapdss-base drm/omap: output: use dev_err instead of DSSERR drm/omap: display: don't use dsi_get_pixel_size() drm/omap: move display, dss-of, output to omapdss-base drm/omap: move dispc related dss-feat funcs to dispc drm/omap: add dispc_ops drm/omap: fill dispc_ops drm/omap: use dispc_ops drm/omap: remove all EXPORT_SYMBOLs from dispc.c drm/omap: remove unused dispc_wb_enable & dispc_wb_is_enabled drm/omap: fix replication logic drm/omap: dispc: improve debug print of display flags drm/omap: fix display SYNC/DE flags drm/omap: use drm_atomic_helper_shutdown() drm/omap: fix crash on module unload
Trigger Huang (1): drm/amdgpu: Fix module unload hang by KIQ IRQ set
Tvrtko Ursulin (27): drm/i915/guc: Log significant events at the info level drm/i915: Emit to ringbuffer directly drm/i915: Fix uninitialized return from mi_set_context drm/i915: Remove duplicate intel_logical_ring_workarounds_emit drm/i915: Make int __intel_ring_space static drm/i915: Simplify cleanup path in intel_engines_init drm/i915: Move common workaround code to intel_engine_cs drm/i915: Tidy workaround batch buffer emission drm/i915: Consolidate gen8_emit_pipe_control drm/i915: Fix typo in semaphore debug message drm/i915: Tidy execlists_init_reg_state drm/i915/tracepoints: Tidy request event class drm/i915/tracepoints: Adjust i915_gem_ring_dispatch drm/i915/tracepoints: Tidy i915_gem_request_wait_begin drm/i915/tracepoints: Remove unused i915_gem_request_complete drm/i915/tracepoints: Add request submit and execute tracepoints drm/i915/tracepoints: Rename i915_gem_request_notify drm/i915/tracepoints: Add backend level request in and out tracepoints drm/i915/tracepoints: Add hw_id to context tracepoints drm/i915: No need to save/restore irq status in __i915_request_irq_complete drm/i915: No need to save/restore irq status in intel_breadcrumbs_fake_irq drm/i915: No need to save/restore irq status in intel_engine_wakeup drm/i915/guc: Fix request re-submission after reset drm/i915: Fix forcewake active domain tracking drm/i915/vgpu: Neuter forcewakes for VGPU more thoroughly drm/i915/guc: Correct the request_in tracepoint position drm/i915: Spinlocks in tasklets can use spin_(un)lock_irq
Uma Shankar (5): drm/i915: Add MIPI_IO WA and program DSI regulators drm/i915: Check for platform specific GPIO config drm/i915: Fix PLL 8x/3 divider for MIPI video mode drm/i915/bxt: Fix BXT DSI ULPS sequence drm/i915/bxt: Disable device ready before shutdown command
Ville Syrjälä (72): drm/i915: Store the pipe pixel rate in the crtc state drm/i915: Nuke intel_mode_max_pixclk() drm/i915: s/get_display_clock_speed/get_cdclk/ drm/i915: Clean up the .get_cdclk() assignment if ladder drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c drm/i915: Pass computed vco to bxt_set_cdclk() drm/i915: Start moving the cdclk stuff into a distinct state structure drm/i915: Track full cdclk state for the logical and actual cdclk frequencies drm/i915: Pass dev_priv to remainder of the cdclk functions drm/i915: Pass the cdclk state to the set_cdclk() functions drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk() drm/i915: Nuke the VLV/CHV PFI programming power domain workaround drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct .set_cdclk() hook drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c drm/i915: Avoid spurious WARNs about the wrong pipe in the PPS code drm/i915: Simplify platform checks in intel_fb_pitch_limit() drm/i915: Dump more configuration information for DSI drm/i915: Refactor code to select the DDI buf translation table drm/i915: Refactor translate_signal_level() drm/i915: Introduce intel_ddi_dp_voltage_max() drm/i915: Fix legacy cursor vs. watermarks for ILK-BDW drm/i915: Do .init_clock_gating() earlier to avoid it clobbering watermarks drm/i915: Track visible planes in a bitmask drm/i915: Track plane fifo sizes under intel_crtc drm/i915: Move vlv wms from crtc->wm_state to crtc->wm.active.vlv drm/i915: Plop vlv wm state into crtc_state drm/i915: Plop vlv/chv fifo sizes into crtc state drm/i915: Compute VLV/CHV FIFO sizes based on the PM2 watermarks drm/i915: Compute vlv/chv wms the atomic way drm/i915: Skip useless watermark/FIFO related work on VLV/CHV when not needed drm/i915: Compute proper intermediate wms for vlv/cvh drm/i915: Nuke crtc->wm.cxsr_allowed drm/i915: Only use update_wm_{pre,post} for pre-ilk platforms drm/i915: Sanitize VLV/CHV watermarks properly drm/i915: Workaround VLV/CHV sprite1->sprite0 enable underrun drm/i915: Kill level 0 wm hack for VLV/CHV drm/i915: Add plane update/disable tracepoints drm/i915: Add VLV/CHV watermark/FIFO programming tracepoints drm/i915: Add cxsr toggle tracepoint drm/i915: Add FIFO underrun tracepoints drm/i915: Nuke debug messages from the pipe update critical section drm/i915: Plumb drm_framebuffer into more places drm/i915: Move nv12 chroma plane handling into intel_surf_alignment() drm/i915: Avoid div-by-zero when computing aux_stride w/o an aux plane drm/i915: Pass the correct plane index to _intel_compute_tile_offset() drm/i915: Use DRM_DEBUG_KMS() for framebuffer failure debug messages drm/i915: Reject HDMI 12bpc if the sink doesn't indicate support drm/i915: Use I915_READ_FW in i915_get_vblank_counter() drm/i915: s/__raw_i915_read32/I915_READ_FW/ in the SKL+ scanline read w/a drm/i915: Organize plane register writes into tighter bunches drm/i915: Use I915_READ_FW for plane updates drm/i915: Optimize VLV/CHV display FIFO updates Revert "drm/i915: Ignore panel type from OpRegion on SKL" drm: Share the code to compute color plane dimesions drm: Remove fb hsub/vsub alignment requirement drm: Add mode_config .get_format_info() hook drm/i915: Extract intel_wm_plane_visible() drm/i915: Fix SKL cursor watermarks drm/i915: Extract skl_plane_ctl() drm/i915: Use skl_plane_ctl() for the SKL "sprite" planes drm/i915: Extract vlv_sprite_ctl() drm/i915: Extract ivb_sprite_ctl() drm/i915: Extract ilk_sprite_ctl() drm/i915: Extract i845_cursor_ctl() and i9xx_cursor_ctl() drm/i915: Extract i9xx_plane_ctl() and ironlake_plane_ctl() drm/i915: Nuke ironlake_plane_ctl() drm/i915: Pre-compute plane control register value drm/i915: Introduce i9xx_check_plane_surface() drm/i915: Eliminate ironlake_update_primary_plane() drm/i915: Use i9xx_check_plane_surface() for sprite planes as well drm/i915: Make legacy cursor updates more unsynced drm/i915: Perform link quality check unconditionally during long pulse
Vinay Simha BN (1): drm/msm/hdmi: redefinitions of macros not required
Vincent Abriou (2): MAINTAINERS: add drm/sti driver into drm-misc drm/sti: fix GDP size to support up to UHD resolution
Wei Yongjun (5): drm: mxsfb: fix error return code in mxsfb_load() drm: mxsfb: Make local symbol mxsfb_funcs static drm/bridge/tfp410: Make symbol tfp410_platform_driver static drm/msm/dsi: fix error return code in msm_dsi_host_init() drm/nouveau/secboot/gm20b: fix the error return code in gm20b_secboot_tegra_read_wpr()
Weinan Li (3): drm/i915: noop forcewake get/put when vgpu activated drm/i915: clean up unused vgpu_read/write drm/i915/gvt: emulate SKL_FUSE_STATUS and LCPLL_CTL for virtual monitor detection
Wolfram Sang (1): drm: rcar-du: Don't open code of_device_get_match_data()
Xiangliang Yu (27): drm/amdgpu: change pointer of mqd_ptr & mqd_backup to void drm/amdgpu/virt: fix typo drm/amdgpu/gfx: free memory of mqd backup drm/amdgpu/gfx8: move CE&DE meta data structure to vi_structs.h drm/amdgpu: impl sriov detection for vega10 drm/amdgpu: add kiq ring for gfx9 drm/amdgpu/gfx9: fullfill kiq funcs (v2) drm/amdgpu/gfx9: fullfill kiq irq funcs (v2) drm/amdgpu: init kiq and kcq for vega10 drm/amdgpu/gfx9: impl gfx9 meta data emit drm/amdgpu/soc15: bypass PSP for VF drm/amdgpu/gmc9: no need use kiq in vega10 tlb flush drm/amdgpu/dce_virtual: bypass DPM for vf drm/amdgpu/virt: impl mailbox for ai drm/amdgpu/soc15: init virt ops for vf drm/amdgpu/soc15: enable virtual dce for vf drm/amdgpu: Don't touch PG&CG for SRIOV MM drm/amdgpu/vce4: enable doorbell for SRIOV drm/amdgpu: disable uvd for sriov drm/amdgpu/virt: add structure for MM table drm/amdgpu/vce4: alloc mm table for MM sriov drm/amdgpu/vce4: Ignore vce ring/ib test temporarily drm/amdgpu: add mmsch structures drm/amdgpu/vce4: impl vce & mmsch sriov start drm/amdgpu/psp: add check sOS sign drm/amdgpu/soc15: bypass pp block for vf drm/amdgpu/soc15: enable psp block for SRIOV
Xinliang Liu (1): drm/fb-helper: Add multi buffer support for cma fbdev
Xu Han (5): drm/i915/gvt: Add KBL platform definition. drm/i915/gvt: Update MMIO handle policy to compatible KBL platform. drm/i915/gvt: Update save/restore list to compatible KBL platform. drm/i915/gvt: Add KBL dispatch logic in each function. drm/i915/gvt: Turn on KBL platform support.
Yannick Fertre (2): dt-bindings: Add Ampire AM-480272H3TMQW-T01H panel drm/panel: simple: Add support for Ampire AM-480272H3TMQW-T01H
Zhang, Jerry (2): drm/amdgpu: create a func to check vm size drm/amdgpu: fix vm size and block size for VMPT (v5)
Zhenyu Wang (7): drm/i915: Fix vGPU balloon for ggtt guard page drm/i915/gvt: fix error return check for copy_gma_to_hva() drm/i915/gvt: Add mdev device attribute group drm/i915/gvt: adjust mem size for low resolution type drm/i915/gvt: cleanup some too chatty scheduler message drm/i915/gvt: remove some debug messages in scheduler timer handler drm/i915/gvt: Fix PTE write flush for taking runtime pm properly
Zhi Wang (2): drm/i915: Let execlist_update_context() cover !FULL_PPGTT mode. drm/i915: A hotfix for making aliasing PPGTT work for GVT-g
kbuild test robot (3): drm/tinydrm: fix semicolon.cocci warnings drm/tinydrm: fix semicolon.cocci warnings drm/amdgpu: fix semicolon.cocci warnings
ken (1): drm/amdgpu: add clinetid definition for vega10
sagar.a.kamble@intel.com (1): drm/i915: Do RPM Wake during GuC/HuC status read
shaoming chen (2): drm/mediatek: add dsi interrupt control drm/mediatek: add dsi transfer function
yt.shen@mediatek.com (10): dt-bindings: display: mediatek: update supported chips drm/mediatek: add helpers for coverting from the generic components drm/mediatek: add *driver_data for different hardware settings drm/mediatek: add shadow register support drm/mediatek: add BLS component drm/mediatek: update display module connections drm/mediatek: cleaning up and refine drm/mediatek: add non-continuous clock mode and EOT packet control drm/mediatek: update DSI sub driver flow for sending commands to panel drm/mediatek: add support for Mediatek SoC MT2701
Øyvind A. Holm (2): drm/vmwgfx: Revert "drm/vmwgfx: Replace numeric parameter like 0444 with macro" drm/vmwgfx: Convert macro to octal representation
Documentation/ABI/testing/sysfs-bus-pci | 2 +- Documentation/EDID/edid.S | 6 +- Documentation/admin-guide/security-bugs.rst | 39 +- Documentation/conf.py | 2 +- Documentation/cpu-freq/cpu-drivers.txt | 2 +- .../bindings/display/amlogic,meson-dw-hdmi.txt | 111 + .../devicetree/bindings/display/brcm,bcm-vc4.txt | 3 + .../bindings/display/bridge/lvds-transmitter.txt | 64 + .../bridge/megachips-stdpxxxx-ge-b850v3-fw.txt | 94 + .../bindings/display/bridge/renesas,dw-hdmi.txt | 75 + .../bindings/display/imx/fsl-imx-drm.txt | 59 +- .../bindings/display/mediatek/mediatek,disp.txt | 2 + .../bindings/display/mediatek/mediatek,dsi.txt | 2 + .../display/panel/ampire,am-480272h3tmqw-t01h.txt | 26 + .../display/panel/mitsubishi,aa104xd12.txt | 47 + .../display/panel/mitsubishi,aa121td01.txt | 47 + .../bindings/display/panel/panel-common.txt | 91 + .../bindings/display/panel/panel-dpi.txt | 3 + .../bindings/display/panel/panel-lvds.txt | 120 + .../bindings/display/panel/samsung,s6e3ha2.txt | 28 + .../bindings/display/panel/sitronix,st7789v.txt | 37 + .../bindings/display/panel/winstar,wf35ltiacd.txt | 48 + .../devicetree/bindings/display/renesas,du.txt | 3 + .../display/rockchip/dw_mipi_dsi_rockchip.txt | 12 +- .../devicetree/bindings/vendor-prefixes.txt | 2 + Documentation/doc-guide/hello.dot | 3 + Documentation/doc-guide/sphinx.rst | 115 +- Documentation/doc-guide/svg_image.svg | 10 + Documentation/gpu/bridge/dw-hdmi.rst | 15 + Documentation/gpu/drm-internals.rst | 113 +- Documentation/gpu/drm-kms-helpers.rst | 40 +- Documentation/gpu/drm-kms.rst | 264 +- Documentation/gpu/drm-mm.rst | 41 +- Documentation/gpu/drm-uapi.rst | 40 + Documentation/gpu/i915.rst | 9 + Documentation/gpu/index.rst | 4 + Documentation/gpu/introduction.rst | 35 + Documentation/gpu/kms-properties.csv | 5 - Documentation/gpu/meson.rst | 61 + Documentation/gpu/todo.rst | 407 + Documentation/gpu/vc4.rst | 89 + Documentation/media/uapi/v4l/subdev-formats.rst | 3000 +- Documentation/phy.txt | 2 +- Documentation/process/changes.rst | 7 +- Documentation/process/index.rst | 1 + Documentation/sphinx/kfigure.py | 551 + MAINTAINERS | 37 +- arch/x86/include/asm/iosf_mbi.h | 87 + arch/x86/kernel/early-quirks.c | 1 + arch/x86/platform/intel/iosf_mbi.c | 49 + drivers/char/agp/intel-gtt.c | 16 +- drivers/dma-buf/dma-buf.c | 53 +- drivers/dma-buf/dma-fence-array.c | 26 + drivers/dma-buf/dma-fence.c | 2 + drivers/gpu/drm/Kconfig | 9 + drivers/gpu/drm/Makefile | 7 +- drivers/gpu/drm/amd/amdgpu/Makefile | 27 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 314 +- drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 57 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 112 + drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.h | 33 + drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 30 +- drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 41 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 71 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 533 +- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 14 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 70 +- drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 32 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 45 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 19 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 129 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 21 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h | 51 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 115 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 10 +- drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 157 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 50 +- drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 243 +- drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 481 + drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 127 + drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 61 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 29 +- drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 81 +- drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 106 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 96 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 112 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 19 + drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 62 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h | 29 + drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 25 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h | 25 + drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1098 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 70 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 17 +- drivers/gpu/drm/amd/amdgpu/atom.c | 90 +- drivers/gpu/drm/amd/amdgpu/atom.h | 2 +- drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 305 +- drivers/gpu/drm/amd/amdgpu/ci_dpm.h | 7 + drivers/gpu/drm/amd/amdgpu/cik.c | 8 + drivers/gpu/drm/amd/amdgpu/cik_ih.c | 3 +- drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 31 +- drivers/gpu/drm/amd/amdgpu/cikd.h | 2 +- drivers/gpu/drm/amd/amdgpu/clearstate_gfx9.h | 941 + drivers/gpu/drm/amd/amdgpu/cz_ih.c | 3 +- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 48 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 48 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 48 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 48 +- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 11 +- drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 31 +- drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 60 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 555 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 3916 + drivers/gpu/drm/amd/amdgpu/gfx_v9_0.h | 35 + drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c | 425 + drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.h | 35 + drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 87 +- drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 191 +- drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 300 +- drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 860 + drivers/gpu/drm/amd/amdgpu/gmc_v9_0.h | 30 + drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 3 +- drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 40 +- drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c | 582 + drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.h | 35 + drivers/gpu/drm/amd/amdgpu/mmsch_v1_0.h | 87 + drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 340 + drivers/gpu/drm/amd/amdgpu/mxgpu_ai.h | 52 + drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 102 +- drivers/gpu/drm/amd/amdgpu/mxgpu_vi.h | 2 +- drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c | 266 + drivers/gpu/drm/amd/amdgpu/nbio_v6_1.h | 54 + drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h | 269 + drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 517 + drivers/gpu/drm/amd/amdgpu/psp_v3_1.h | 50 + drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 34 +- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 49 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 1616 + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.h | 30 + drivers/gpu/drm/amd/amdgpu/si.c | 7 + drivers/gpu/drm/amd/amdgpu/si_dma.c | 22 +- drivers/gpu/drm/amd/amdgpu/si_dpm.c | 45 +- drivers/gpu/drm/amd/amdgpu/si_ih.c | 3 +- drivers/gpu/drm/amd/amdgpu/soc15.c | 894 + drivers/gpu/drm/amd/amdgpu/soc15.h | 35 + drivers/gpu/drm/amd/amdgpu/soc15_common.h | 57 + drivers/gpu/drm/amd/amdgpu/soc15d.h | 288 + drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 5 +- drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 30 +- drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 29 +- drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 37 +- drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 1532 + drivers/gpu/drm/amd/amdgpu/uvd_v7_0.h | 29 + drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 87 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 74 +- drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 1129 + drivers/gpu/drm/amd/amdgpu/vce_v4_0.h | 29 + drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 424 + drivers/gpu/drm/amd/amdgpu/vega10_ih.h | 30 + drivers/gpu/drm/amd/amdgpu/vega10_sdma_pkt_open.h | 3335 + drivers/gpu/drm/amd/amdgpu/vi.c | 67 +- drivers/gpu/drm/amd/amdgpu/vi.h | 112 - drivers/gpu/drm/amd/amdgpu/vid.h | 83 + drivers/gpu/drm/amd/include/amd_acpi.h | 12 + drivers/gpu/drm/amd/include/amd_pcie_helpers.h | 4 +- drivers/gpu/drm/amd/include/amd_shared.h | 20 + .../drm/amd/include/asic_reg/gmc/gmc_6_0_sh_mask.h | 4 + .../gpu/drm/amd/include/asic_reg/smu/smu_7_1_2_d.h | 1 + .../gpu/drm/amd/include/asic_reg/smu/smu_7_1_3_d.h | 2 + .../asic_reg/vega10/ATHUB/athub_1_0_default.h | 241 + .../asic_reg/vega10/ATHUB/athub_1_0_offset.h | 453 + .../asic_reg/vega10/ATHUB/athub_1_0_sh_mask.h | 2045 + .../include/asic_reg/vega10/DC/dce_12_0_default.h | 9868 ++ .../include/asic_reg/vega10/DC/dce_12_0_offset.h | 18193 +++ .../include/asic_reg/vega10/DC/dce_12_0_sh_mask.h | 64636 +++++++++ .../include/asic_reg/vega10/GC/gc_9_0_default.h | 3873 + .../amd/include/asic_reg/vega10/GC/gc_9_0_offset.h | 7230 + .../include/asic_reg/vega10/GC/gc_9_0_sh_mask.h | 29868 ++++ .../include/asic_reg/vega10/HDP/hdp_4_0_default.h | 117 + .../include/asic_reg/vega10/HDP/hdp_4_0_offset.h | 209 + .../include/asic_reg/vega10/HDP/hdp_4_0_sh_mask.h | 601 + .../asic_reg/vega10/MMHUB/mmhub_1_0_default.h | 1011 + .../asic_reg/vega10/MMHUB/mmhub_1_0_offset.h | 1967 + .../asic_reg/vega10/MMHUB/mmhub_1_0_sh_mask.h | 10127 ++ .../include/asic_reg/vega10/MP/mp_9_0_default.h | 342 + .../amd/include/asic_reg/vega10/MP/mp_9_0_offset.h | 375 + .../include/asic_reg/vega10/MP/mp_9_0_sh_mask.h | 1463 + .../asic_reg/vega10/NBIF/nbif_6_1_default.h | 1271 + .../include/asic_reg/vega10/NBIF/nbif_6_1_offset.h | 1688 + .../asic_reg/vega10/NBIF/nbif_6_1_sh_mask.h | 10281 ++ .../asic_reg/vega10/NBIO/nbio_6_1_default.h | 22340 +++ .../include/asic_reg/vega10/NBIO/nbio_6_1_offset.h | 3649 + .../asic_reg/vega10/NBIO/nbio_6_1_sh_mask.h | 133884 ++++++++++++++++++ .../asic_reg/vega10/OSSSYS/osssys_4_0_default.h | 176 + .../asic_reg/vega10/OSSSYS/osssys_4_0_offset.h | 327 + .../asic_reg/vega10/OSSSYS/osssys_4_0_sh_mask.h | 1196 + .../asic_reg/vega10/SDMA0/sdma0_4_0_default.h | 286 + .../asic_reg/vega10/SDMA0/sdma0_4_0_offset.h | 547 + .../asic_reg/vega10/SDMA0/sdma0_4_0_sh_mask.h | 1852 + .../asic_reg/vega10/SDMA1/sdma1_4_0_default.h | 282 + .../asic_reg/vega10/SDMA1/sdma1_4_0_offset.h | 539 + .../asic_reg/vega10/SDMA1/sdma1_4_0_sh_mask.h | 1810 + .../asic_reg/vega10/SMUIO/smuio_9_0_default.h | 100 + .../asic_reg/vega10/SMUIO/smuio_9_0_offset.h | 175 + .../asic_reg/vega10/SMUIO/smuio_9_0_sh_mask.h | 258 + .../include/asic_reg/vega10/THM/thm_9_0_default.h | 194 + .../include/asic_reg/vega10/THM/thm_9_0_offset.h | 363 + .../include/asic_reg/vega10/THM/thm_9_0_sh_mask.h | 1314 + .../include/asic_reg/vega10/UVD/uvd_7_0_default.h | 127 + .../include/asic_reg/vega10/UVD/uvd_7_0_offset.h | 222 + .../include/asic_reg/vega10/UVD/uvd_7_0_sh_mask.h | 811 + .../include/asic_reg/vega10/VCE/vce_4_0_default.h | 122 + .../include/asic_reg/vega10/VCE/vce_4_0_offset.h | 208 + .../include/asic_reg/vega10/VCE/vce_4_0_sh_mask.h | 488 + .../gpu/drm/amd/include/asic_reg/vega10/soc15ip.h | 1343 + .../drm/amd/include/asic_reg/vega10/vega10_enum.h | 22531 +++ drivers/gpu/drm/amd/include/atomfirmware.h | 2385 + drivers/gpu/drm/amd/include/atomfirmwareid.h | 86 + drivers/gpu/drm/amd/include/cgs_linux.h | 19 +- drivers/gpu/drm/amd/include/displayobject.h | 249 + drivers/gpu/drm/amd/include/dm_pp_interface.h | 83 + .../drm/amd/include/ivsrcid/ivsrcid_vislands30.h | 99 + drivers/gpu/drm/amd/include/v9_structs.h | 743 + drivers/gpu/drm/amd/include/vi_structs.h | 106 + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 449 +- drivers/gpu/drm/amd/powerplay/hwmgr/Makefile | 6 +- drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 34 +- .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 73 +- drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 9 + drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr_ppt.h | 16 +- drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c | 396 + drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h | 140 + drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 170 +- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 4450 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h | 434 + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_inc.h | 44 + .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c | 137 + .../gpu/drm/amd/powerplay/hwmgr/vega10_powertune.h | 65 + .../gpu/drm/amd/powerplay/hwmgr/vega10_pptable.h | 381 + .../amd/powerplay/hwmgr/vega10_processpptables.c | 1190 + .../amd/powerplay/hwmgr/vega10_processpptables.h | 62 + .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 761 + .../gpu/drm/amd/powerplay/hwmgr/vega10_thermal.h | 83 + drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 46 +- .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 43 + drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 137 +- drivers/gpu/drm/amd/powerplay/inc/pp_debug.h | 2 +- drivers/gpu/drm/amd/powerplay/inc/pp_instance.h | 1 + drivers/gpu/drm/amd/powerplay/inc/pp_soc15.h | 48 + drivers/gpu/drm/amd/powerplay/inc/smu7_ppsmc.h | 1 + drivers/gpu/drm/amd/powerplay/inc/smu9.h | 147 + drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h | 467 + drivers/gpu/drm/amd/powerplay/inc/smumgr.h | 8 + drivers/gpu/drm/amd/powerplay/inc/vega10_ppsmc.h | 131 + drivers/gpu/drm/amd/powerplay/smumgr/Makefile | 2 +- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | 103 +- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.h | 3 +- drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 1 + drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c | 14 +- .../gpu/drm/amd/powerplay/smumgr/polaris10_smc.c | 68 +- .../gpu/drm/amd/powerplay/smumgr/polaris10_smc.h | 2 + .../drm/amd/powerplay/smumgr/polaris10_smumgr.c | 1 + drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 19 + drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c | 67 +- drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.h | 2 + .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c | 1 + .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c | 564 + .../gpu/drm/amd/powerplay/smumgr/vega10_smumgr.h | 70 + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 6 +- drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 11 +- drivers/gpu/drm/arc/arcpgu_drv.c | 1 - drivers/gpu/drm/arm/hdlcd_crtc.c | 20 + drivers/gpu/drm/arm/hdlcd_drv.c | 55 +- drivers/gpu/drm/arm/malidp_crtc.c | 362 +- drivers/gpu/drm/arm/malidp_drv.c | 371 +- drivers/gpu/drm/arm/malidp_drv.h | 13 + drivers/gpu/drm/arm/malidp_hw.c | 213 + drivers/gpu/drm/arm/malidp_hw.h | 81 + drivers/gpu/drm/arm/malidp_planes.c | 108 +- drivers/gpu/drm/arm/malidp_regs.h | 72 +- drivers/gpu/drm/armada/armada_crtc.c | 59 +- drivers/gpu/drm/armada/armada_crtc.h | 2 - drivers/gpu/drm/armada/armada_debugfs.c | 65 +- drivers/gpu/drm/armada/armada_drm.h | 1 - drivers/gpu/drm/armada/armada_drv.c | 34 +- drivers/gpu/drm/armada/armada_fbdev.c | 2 - drivers/gpu/drm/armada/armada_gem.c | 8 +- drivers/gpu/drm/armada/armada_overlay.c | 6 +- drivers/gpu/drm/ast/ast_fb.c | 9 +- drivers/gpu/drm/ast/ast_mode.c | 3 +- drivers/gpu/drm/ast/ast_ttm.c | 1 + drivers/gpu/drm/atmel-hlcdc/Makefile | 1 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 93 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 147 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 369 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c | 666 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h | 399 - drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 72 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 642 +- drivers/gpu/drm/bochs/bochs_fbdev.c | 16 +- drivers/gpu/drm/bochs/bochs_kms.c | 3 +- drivers/gpu/drm/bochs/bochs_mm.c | 1 + drivers/gpu/drm/bridge/Kconfig | 38 +- drivers/gpu/drm/bridge/Makefile | 6 +- drivers/gpu/drm/bridge/adv7511/adv7533.c | 12 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 28 + drivers/gpu/drm/bridge/dumb-vga-dac.c | 16 +- drivers/gpu/drm/bridge/lvds-encoder.c | 210 + .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 429 + drivers/gpu/drm/bridge/nxp-ptn3460.c | 16 +- drivers/gpu/drm/bridge/parade-ps8622.c | 16 +- drivers/gpu/drm/bridge/sil-sii8620.c | 4 + drivers/gpu/drm/bridge/synopsys/Kconfig | 23 + drivers/gpu/drm/bridge/synopsys/Makefile | 5 + .../drm/bridge/{ => synopsys}/dw-hdmi-ahb-audio.c | 0 .../gpu/drm/bridge/{ => synopsys}/dw-hdmi-audio.h | 0 .../drm/bridge/{ => synopsys}/dw-hdmi-i2s-audio.c | 0 drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c | 1030 +- drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h | 4 + drivers/gpu/drm/bridge/tc358767.c | 27 +- drivers/gpu/drm/bridge/ti-tfp410.c | 89 +- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 1 - drivers/gpu/drm/cirrus/cirrus_mode.c | 3 +- drivers/gpu/drm/cirrus/cirrus_ttm.c | 1 + drivers/gpu/drm/drm_atomic.c | 190 +- drivers/gpu/drm/drm_atomic_helper.c | 927 +- drivers/gpu/drm/drm_blend.c | 23 +- drivers/gpu/drm/drm_cache.c | 12 +- drivers/gpu/drm/drm_color_mgmt.c | 51 +- drivers/gpu/drm/drm_connector.c | 132 +- drivers/gpu/drm/drm_crtc.c | 87 +- drivers/gpu/drm/drm_crtc_helper.c | 46 +- drivers/gpu/drm/drm_crtc_internal.h | 13 +- drivers/gpu/drm/drm_debugfs.c | 85 +- drivers/gpu/drm/drm_debugfs_crc.c | 17 +- drivers/gpu/drm/drm_dp_dual_mode_helper.c | 2 + drivers/gpu/drm/drm_dp_helper.c | 127 + drivers/gpu/drm/drm_dp_mst_topology.c | 35 +- drivers/gpu/drm/drm_edid.c | 94 +- drivers/gpu/drm/drm_edid_load.c | 17 +- drivers/gpu/drm/drm_encoder.c | 8 +- drivers/gpu/drm/drm_fb_cma_helper.c | 22 +- drivers/gpu/drm/drm_fb_helper.c | 337 +- drivers/gpu/drm/{drm_fops.c => drm_file.c} | 75 +- drivers/gpu/drm/drm_fourcc.c | 33 + drivers/gpu/drm/drm_framebuffer.c | 217 +- drivers/gpu/drm/drm_gem.c | 44 +- drivers/gpu/drm/drm_gem_cma_helper.c | 13 +- drivers/gpu/drm/drm_internal.h | 4 +- drivers/gpu/drm/drm_ioc32.c | 79 +- drivers/gpu/drm/drm_ioctl.c | 54 +- drivers/gpu/drm/drm_irq.c | 192 +- drivers/gpu/drm/drm_kms_helper_common.c | 3 +- drivers/gpu/drm/drm_mm.c | 2 +- drivers/gpu/drm/drm_mode_config.c | 22 +- drivers/gpu/drm/drm_mode_object.c | 44 +- drivers/gpu/drm/drm_modes.c | 2 +- drivers/gpu/drm/drm_modeset_helper.c | 2 +- drivers/gpu/drm/drm_modeset_lock.c | 102 - drivers/gpu/drm/drm_of.c | 52 + drivers/gpu/drm/drm_pci.c | 7 + drivers/gpu/drm/drm_plane.c | 102 +- drivers/gpu/drm/drm_plane_helper.c | 20 +- drivers/gpu/drm/drm_platform.c | 87 - drivers/gpu/drm/drm_prime.c | 21 +- drivers/gpu/drm/drm_print.c | 2 +- drivers/gpu/drm/drm_probe_helper.c | 122 +- drivers/gpu/drm/drm_property.c | 124 +- drivers/gpu/drm/drm_scdc_helper.c | 244 + drivers/gpu/drm/drm_simple_kms_helper.c | 8 +- drivers/gpu/drm/drm_sysfs.c | 70 +- drivers/gpu/drm/drm_trace.h | 20 +- drivers/gpu/drm/etnaviv/Kconfig | 1 + drivers/gpu/drm/etnaviv/etnaviv_drv.c | 6 +- drivers/gpu/drm/etnaviv/etnaviv_gem.h | 4 +- drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 65 +- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 99 +- drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 4 +- drivers/gpu/drm/exynos/exynos_dp.c | 36 +- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 40 +- drivers/gpu/drm/exynos/exynos_drm_crtc.h | 2 - drivers/gpu/drm/exynos/exynos_drm_dpi.c | 17 +- drivers/gpu/drm/exynos/exynos_drm_drv.c | 245 +- drivers/gpu/drm/exynos/exynos_drm_drv.h | 8 - drivers/gpu/drm/exynos/exynos_drm_dsi.c | 14 +- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 5 +- drivers/gpu/drm/exynos/exynos_drm_mic.c | 25 +- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 1 - drivers/gpu/drm/exynos/exynos_hdmi.c | 8 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 26 + drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 38 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 44 +- drivers/gpu/drm/gma500/cdv_intel_lvds.c | 9 +- drivers/gpu/drm/gma500/framebuffer.c | 9 +- drivers/gpu/drm/gma500/gma_display.c | 10 +- drivers/gpu/drm/gma500/gma_display.h | 6 +- drivers/gpu/drm/gma500/oaktrail_lvds.c | 18 +- drivers/gpu/drm/gma500/psb_drv.h | 5 +- drivers/gpu/drm/gma500/psb_intel_lvds.c | 7 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 20 + drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 23 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 2 - drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 27 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 11 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 42 +- drivers/gpu/drm/i915/Kconfig | 2 + drivers/gpu/drm/i915/Kconfig.debug | 29 + drivers/gpu/drm/i915/Makefile | 7 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 86 +- drivers/gpu/drm/i915/gvt/display.c | 51 +- drivers/gpu/drm/i915/gvt/execlist.c | 17 +- drivers/gpu/drm/i915/gvt/gtt.c | 8 +- drivers/gpu/drm/i915/gvt/gvt.c | 19 +- drivers/gpu/drm/i915/gvt/gvt.h | 13 + drivers/gpu/drm/i915/gvt/handlers.c | 427 +- drivers/gpu/drm/i915/gvt/interrupt.c | 5 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 38 +- drivers/gpu/drm/i915/gvt/mmio.h | 19 +- drivers/gpu/drm/i915/gvt/render.c | 29 +- drivers/gpu/drm/i915/gvt/sched_policy.c | 242 +- drivers/gpu/drm/i915/gvt/sched_policy.h | 2 + drivers/gpu/drm/i915/gvt/scheduler.c | 10 +- drivers/gpu/drm/i915/gvt/scheduler.h | 1 - drivers/gpu/drm/i915/gvt/vgpu.c | 85 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 25 +- drivers/gpu/drm/i915/i915_debugfs.c | 749 +- drivers/gpu/drm/i915/i915_drv.c | 183 +- drivers/gpu/drm/i915/i915_drv.h | 397 +- drivers/gpu/drm/i915/i915_gem.c | 555 +- drivers/gpu/drm/i915/i915_gem.h | 9 + drivers/gpu/drm/i915/i915_gem_batch_pool.c | 37 +- drivers/gpu/drm/i915/i915_gem_clflush.c | 189 + drivers/gpu/drm/i915/i915_gem_clflush.h | 37 + drivers/gpu/drm/i915/i915_gem_context.c | 181 +- drivers/gpu/drm/i915/i915_gem_context.h | 2 - drivers/gpu/drm/i915/i915_gem_dmabuf.c | 13 +- drivers/gpu/drm/i915/i915_gem_evict.c | 18 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 107 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 11 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 2086 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 124 +- drivers/gpu/drm/i915/i915_gem_internal.c | 7 +- drivers/gpu/drm/i915/i915_gem_object.h | 41 +- drivers/gpu/drm/i915/i915_gem_request.c | 494 +- drivers/gpu/drm/i915/i915_gem_request.h | 96 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 42 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 25 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 9 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 75 +- drivers/gpu/drm/i915/i915_gpu_error.c | 321 +- drivers/gpu/drm/i915/i915_guc_submission.c | 1026 +- drivers/gpu/drm/i915/i915_irq.c | 325 +- drivers/gpu/drm/i915/i915_params.c | 16 +- drivers/gpu/drm/i915/i915_params.h | 83 +- drivers/gpu/drm/i915/i915_pci.c | 32 +- drivers/gpu/drm/i915/i915_perf.c | 2 +- drivers/gpu/drm/i915/i915_reg.h | 114 +- drivers/gpu/drm/i915/i915_selftest.h | 106 + drivers/gpu/drm/i915/i915_sw_fence.c | 8 +- drivers/gpu/drm/i915/i915_sysfs.c | 63 +- drivers/gpu/drm/i915/i915_trace.h | 472 +- drivers/gpu/drm/i915/i915_utils.h | 31 + drivers/gpu/drm/i915/i915_vgpu.c | 17 +- drivers/gpu/drm/i915/i915_vma.c | 34 +- drivers/gpu/drm/i915/i915_vma.h | 4 +- drivers/gpu/drm/i915/intel_atomic.c | 15 +- drivers/gpu/drm/i915/intel_atomic_plane.c | 17 +- drivers/gpu/drm/i915/intel_audio.c | 4 +- drivers/gpu/drm/i915/intel_bios.c | 46 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 605 +- drivers/gpu/drm/i915/intel_cdclk.c | 1908 + drivers/gpu/drm/i915/intel_color.c | 104 +- drivers/gpu/drm/i915/intel_crt.c | 46 +- drivers/gpu/drm/i915/intel_csr.c | 10 +- drivers/gpu/drm/i915/intel_ddi.c | 585 +- drivers/gpu/drm/i915/intel_device_info.c | 17 +- drivers/gpu/drm/i915/intel_display.c | 3998 +- drivers/gpu/drm/i915/intel_dp.c | 339 +- drivers/gpu/drm/i915/intel_dp_mst.c | 41 +- drivers/gpu/drm/i915/intel_dpll_mgr.c | 54 +- drivers/gpu/drm/i915/intel_dpll_mgr.h | 16 - drivers/gpu/drm/i915/intel_drv.h | 261 +- drivers/gpu/drm/i915/intel_dsi.c | 614 +- drivers/gpu/drm/i915/intel_dsi.h | 13 +- drivers/gpu/drm/i915/intel_dsi_pll.c | 135 +- .../{intel_dsi_panel_vbt.c => intel_dsi_vbt.c} | 133 +- drivers/gpu/drm/i915/intel_dvo.c | 1 + drivers/gpu/drm/i915/intel_engine_cs.c | 734 +- drivers/gpu/drm/i915/intel_fbc.c | 13 +- drivers/gpu/drm/i915/intel_fbdev.c | 73 +- drivers/gpu/drm/i915/intel_fifo_underrun.c | 25 +- drivers/gpu/drm/i915/intel_frontbuffer.c | 3 +- drivers/gpu/drm/i915/intel_frontbuffer.h | 8 +- drivers/gpu/drm/i915/intel_guc_fwif.h | 71 +- drivers/gpu/drm/i915/intel_guc_loader.c | 501 +- drivers/gpu/drm/i915/intel_guc_log.c | 386 +- drivers/gpu/drm/i915/intel_gvt.c | 2 + drivers/gpu/drm/i915/intel_hangcheck.c | 4 + drivers/gpu/drm/i915/intel_hdmi.c | 82 +- drivers/gpu/drm/i915/intel_hotplug.c | 48 +- drivers/gpu/drm/i915/intel_huc.c | 130 +- drivers/gpu/drm/i915/intel_i2c.c | 4 +- drivers/gpu/drm/i915/intel_lpe_audio.c | 10 +- drivers/gpu/drm/i915/intel_lrc.c | 941 +- drivers/gpu/drm/i915/intel_lrc.h | 4 - drivers/gpu/drm/i915/intel_lspcon.c | 17 +- drivers/gpu/drm/i915/intel_lvds.c | 8 +- drivers/gpu/drm/i915/intel_mocs.c | 55 +- drivers/gpu/drm/i915/intel_opregion.c | 89 +- drivers/gpu/drm/i915/intel_overlay.c | 87 +- drivers/gpu/drm/i915/intel_panel.c | 4 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 72 +- drivers/gpu/drm/i915/intel_pm.c | 1099 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 1186 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 229 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 637 +- drivers/gpu/drm/i915/intel_sdvo.c | 1 + drivers/gpu/drm/i915/intel_sideband.c | 34 +- drivers/gpu/drm/i915/intel_sprite.c | 548 +- drivers/gpu/drm/i915/intel_tv.c | 22 +- drivers/gpu/drm/i915/intel_uc.c | 347 +- drivers/gpu/drm/i915/intel_uc.h | 101 +- drivers/gpu/drm/i915/intel_uncore.c | 419 +- drivers/gpu/drm/i915/selftests/huge_gem_object.c | 135 + drivers/gpu/drm/i915/selftests/huge_gem_object.h | 45 + .../gpu/drm/i915/selftests/i915_gem_coherency.c | 385 + drivers/gpu/drm/i915/selftests/i915_gem_context.c | 463 + drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c | 303 + drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 350 + drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 1562 + drivers/gpu/drm/i915/selftests/i915_gem_object.c | 600 + drivers/gpu/drm/i915/selftests/i915_gem_request.c | 882 + .../gpu/drm/i915/selftests/i915_live_selftests.h | 19 + .../gpu/drm/i915/selftests/i915_mock_selftests.h | 20 + drivers/gpu/drm/i915/selftests/i915_random.c | 63 + drivers/gpu/drm/i915/selftests/i915_random.h | 50 + drivers/gpu/drm/i915/selftests/i915_selftest.c | 250 + drivers/gpu/drm/i915/selftests/i915_vma.c | 746 + drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c | 481 + drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 542 + drivers/gpu/drm/i915/selftests/intel_uncore.c | 182 + drivers/gpu/drm/i915/selftests/mock_context.c | 78 + drivers/gpu/drm/i915/selftests/mock_context.h | 34 + drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 176 + drivers/gpu/drm/i915/selftests/mock_dmabuf.h | 41 + drivers/gpu/drm/i915/selftests/mock_drm.c | 73 + drivers/gpu/drm/i915/selftests/mock_drm.h | 31 + drivers/gpu/drm/i915/selftests/mock_engine.c | 206 + drivers/gpu/drm/i915/selftests/mock_engine.h | 54 + drivers/gpu/drm/i915/selftests/mock_gem_device.c | 226 + drivers/gpu/drm/i915/selftests/mock_gem_device.h | 9 + drivers/gpu/drm/i915/selftests/mock_gem_object.h | 8 + drivers/gpu/drm/i915/selftests/mock_gtt.c | 138 + drivers/gpu/drm/i915/selftests/mock_gtt.h | 35 + drivers/gpu/drm/i915/selftests/mock_request.c | 63 + drivers/gpu/drm/i915/selftests/mock_request.h | 46 + drivers/gpu/drm/i915/selftests/scatterlist.c | 364 + drivers/gpu/drm/imx/Kconfig | 7 - drivers/gpu/drm/imx/Makefile | 3 +- drivers/gpu/drm/imx/dw_hdmi-imx.c | 2 - drivers/gpu/drm/imx/imx-drm-core.c | 163 +- drivers/gpu/drm/imx/imx-drm.h | 18 +- drivers/gpu/drm/imx/imx-ldb.c | 27 +- drivers/gpu/drm/imx/ipuv3-crtc.c | 90 +- drivers/gpu/drm/imx/ipuv3-plane.c | 344 +- drivers/gpu/drm/imx/ipuv3-plane.h | 6 + drivers/gpu/drm/imx/parallel-display.c | 36 +- drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 64 +- drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 39 +- drivers/gpu/drm/mediatek/mtk_dpi.c | 12 +- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 83 +- drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 2 - drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 138 +- drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 2 + drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 69 +- drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 2 + drivers/gpu/drm/mediatek/mtk_drm_drv.c | 58 +- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 9 + drivers/gpu/drm/mediatek/mtk_dsi.c | 595 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 26 +- drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 38 +- drivers/gpu/drm/meson/Kconfig | 6 + drivers/gpu/drm/meson/Makefile | 1 + drivers/gpu/drm/meson/meson_canvas.c | 4 +- drivers/gpu/drm/meson/meson_crtc.c | 37 +- drivers/gpu/drm/meson/meson_drv.c | 153 +- drivers/gpu/drm/meson/meson_drv.h | 3 + drivers/gpu/drm/meson/meson_dw_hdmi.c | 919 + drivers/gpu/drm/meson/meson_dw_hdmi.h | 146 + drivers/gpu/drm/meson/meson_registers.h | 1 + drivers/gpu/drm/meson/meson_vclk.c | 632 +- drivers/gpu/drm/meson/meson_vclk.h | 6 +- drivers/gpu/drm/meson/meson_venc.c | 1254 +- drivers/gpu/drm/meson/meson_venc.h | 7 + drivers/gpu/drm/meson/meson_venc_cvbs.c | 30 +- drivers/gpu/drm/meson/meson_viu.c | 6 +- drivers/gpu/drm/meson/meson_vpp.c | 8 +- drivers/gpu/drm/meson/meson_vpp.h | 2 + drivers/gpu/drm/mgag200/mgag200_fb.c | 5 +- drivers/gpu/drm/mgag200/mgag200_mode.c | 5 +- drivers/gpu/drm/mgag200/mgag200_ttm.c | 1 + drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 - drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 4 - drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 22 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 126 +- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 43 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 3 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 12 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c | 32 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c | 83 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h | 8 + drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 30 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 466 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c | 192 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h | 21 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 66 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 130 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h | 53 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.c | 172 + drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.h | 47 + drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.c | 2 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_pipe.h | 1 - drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 348 +- drivers/gpu/drm/msm/mdp/mdp_kms.h | 6 + drivers/gpu/drm/msm/msm_debugfs.c | 19 +- drivers/gpu/drm/msm/msm_debugfs.h | 1 - drivers/gpu/drm/msm/msm_drv.c | 21 +- drivers/gpu/drm/msm/msm_drv.h | 9 +- drivers/gpu/drm/msm/msm_fbdev.c | 1 - drivers/gpu/drm/msm/msm_gem.h | 2 + drivers/gpu/drm/msm/msm_gem_submit.c | 39 +- drivers/gpu/drm/msm/msm_gem_vma.c | 35 +- drivers/gpu/drm/msm/msm_gpu.c | 183 +- drivers/gpu/drm/msm/msm_gpu.h | 18 +- drivers/gpu/drm/msm/msm_iommu.c | 69 +- drivers/gpu/drm/msm/msm_kms.h | 1 - drivers/gpu/drm/msm/msm_perf.c | 34 +- drivers/gpu/drm/msm/msm_rd.c | 40 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 18 +- drivers/gpu/drm/mxsfb/mxsfb_out.c | 40 +- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 10 +- drivers/gpu/drm/nouveau/dispnv04/overlay.c | 18 +- drivers/gpu/drm/nouveau/include/nvif/class.h | 2 + drivers/gpu/drm/nouveau/include/nvkm/core/device.h | 7 +- .../gpu/drm/nouveau/include/nvkm/core/msgqueue.h | 43 + drivers/gpu/drm/nouveau/include/nvkm/core/tegra.h | 4 + .../gpu/drm/nouveau/include/nvkm/engine/falcon.h | 9 + drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h | 3 + .../gpu/drm/nouveau/include/nvkm/engine/nvdec.h | 8 + drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h | 13 + drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 8 + drivers/gpu/drm/nouveau/include/nvkm/subdev/i2c.h | 8 +- drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/subdev/pmu.h | 1 + .../gpu/drm/nouveau/include/nvkm/subdev/secboot.h | 10 +- drivers/gpu/drm/nouveau/nouveau_acpi.c | 7 +- drivers/gpu/drm/nouveau/nouveau_bo.c | 1 + drivers/gpu/drm/nouveau/nouveau_connector.c | 5 +- drivers/gpu/drm/nouveau/nouveau_debugfs.c | 62 +- drivers/gpu/drm/nouveau/nouveau_debugfs.h | 6 - drivers/gpu/drm/nouveau/nouveau_display.c | 126 +- drivers/gpu/drm/nouveau/nouveau_display.h | 4 +- drivers/gpu/drm/nouveau/nouveau_drm.c | 5 +- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 1 - drivers/gpu/drm/nouveau/nouveau_platform.c | 12 + drivers/gpu/drm/nouveau/nouveau_usif.c | 1 - drivers/gpu/drm/nouveau/nouveau_vga.c | 14 +- drivers/gpu/drm/nouveau/nv50_display.c | 127 +- drivers/gpu/drm/nouveau/nvkm/core/mm.c | 10 +- drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 1 + drivers/gpu/drm/nouveau/nvkm/engine/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 50 +- drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 31 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/engine/fifo/dmanv40.c | 2 + drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c | 41 + drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild | 5 + drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h | 7 + drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c | 4 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp102.c | 98 + drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp107.c | 47 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 45 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 9 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c | 19 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c | 67 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c | 53 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c | 59 + drivers/gpu/drm/nouveau/nvkm/engine/nvdec/Kbuild | 3 +- drivers/gpu/drm/nouveau/nvkm/engine/nvdec/base.c | 59 + drivers/gpu/drm/nouveau/nvkm/engine/nvdec/gp102.c | 30 + drivers/gpu/drm/nouveau/nvkm/engine/nvdec/priv.h | 6 + drivers/gpu/drm/nouveau/nvkm/engine/sec2/Kbuild | 2 + drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c | 108 + drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.c | 30 + drivers/gpu/drm/nouveau/nvkm/engine/sec2/priv.h | 9 + drivers/gpu/drm/nouveau/nvkm/falcon/Kbuild | 3 + drivers/gpu/drm/nouveau/nvkm/falcon/base.c | 40 +- drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.c | 575 + drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.h | 213 + .../drm/nouveau/nvkm/falcon/msgqueue_0137c63d.c | 436 + .../drm/nouveau/nvkm/falcon/msgqueue_0148cdec.c | 264 + drivers/gpu/drm/nouveau/nvkm/falcon/v1.c | 124 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c | 2 +- .../drm/nouveau/nvkm/subdev/bios/power_budget.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/vpstate.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild | 4 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.c | 42 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.c | 38 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h | 33 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c | 148 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf108.c | 62 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c | 70 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm107.c | 25 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm200.c | 68 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c | 68 +- drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c | 14 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.h | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c | 11 +- drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c | 11 +- drivers/gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gf100.c | 6 +- drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk104.c | 6 +- drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gp10b.c | 59 + .../gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c | 19 +- drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c | 17 +- drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.c | 49 + drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h | 6 + drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c | 15 +- drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c | 25 +- drivers/gpu/drm/nouveau/nvkm/subdev/secboot/Kbuild | 7 + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr.h | 14 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.c | 565 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r352.h | 147 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r361.c | 149 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r361.h | 72 + .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r364.c | 117 + .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r367.c | 389 + .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r367.h | 36 + .../gpu/drm/nouveau/nvkm/subdev/secboot/acr_r375.c | 165 + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/base.c | 17 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/gm200.c | 23 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/gm200.h | 6 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c | 27 +- .../gpu/drm/nouveau/nvkm/subdev/secboot/gp102.c | 252 + .../gpu/drm/nouveau/nvkm/subdev/secboot/gp10b.c | 93 + .../gpu/drm/nouveau/nvkm/subdev/secboot/hs_ucode.c | 97 + .../gpu/drm/nouveau/nvkm/subdev/secboot/hs_ucode.h | 81 + .../gpu/drm/nouveau/nvkm/subdev/secboot/ls_ucode.h | 12 +- .../drm/nouveau/nvkm/subdev/secboot/ls_ucode_gr.c | 10 +- .../nvkm/subdev/secboot/ls_ucode_msgqueue.c | 205 + drivers/gpu/drm/nouveau/nvkm/subdev/secboot/priv.h | 5 +- drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c | 2 +- drivers/gpu/drm/omapdrm/Kconfig | 9 - drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 37 +- drivers/gpu/drm/omapdrm/dss/Kconfig | 4 + drivers/gpu/drm/omapdrm/dss/Makefile | 8 +- drivers/gpu/drm/omapdrm/dss/base.c | 140 + drivers/gpu/drm/omapdrm/dss/dispc.c | 278 +- drivers/gpu/drm/omapdrm/dss/dispc.h | 62 +- drivers/gpu/drm/omapdrm/dss/display.c | 36 +- drivers/gpu/drm/omapdrm/dss/dpi.c | 60 +- drivers/gpu/drm/omapdrm/dss/dsi.c | 22 +- drivers/gpu/drm/omapdrm/dss/dss-of.c | 105 +- drivers/gpu/drm/omapdrm/dss/dss.c | 77 +- drivers/gpu/drm/omapdrm/dss/dss.h | 37 +- drivers/gpu/drm/omapdrm/dss/dss_features.c | 9 +- drivers/gpu/drm/omapdrm/dss/dss_features.h | 8 +- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 3 +- drivers/gpu/drm/omapdrm/dss/hdmi5.c | 3 +- drivers/gpu/drm/omapdrm/dss/hdmi_wp.c | 12 +- drivers/gpu/drm/omapdrm/dss/omapdss.h | 111 +- drivers/gpu/drm/omapdrm/dss/output.c | 27 +- drivers/gpu/drm/omapdrm/dss/pll.c | 17 +- drivers/gpu/drm/omapdrm/dss/sdi.c | 2 +- drivers/gpu/drm/omapdrm/dss/venc.c | 3 +- drivers/gpu/drm/omapdrm/omap_connector.c | 18 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 121 +- drivers/gpu/drm/omapdrm/omap_drv.c | 260 +- drivers/gpu/drm/omapdrm/omap_drv.h | 10 +- drivers/gpu/drm/omapdrm/omap_fbdev.c | 4 - drivers/gpu/drm/omapdrm/omap_gem.c | 5 +- drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 +- drivers/gpu/drm/omapdrm/omap_irq.c | 61 +- drivers/gpu/drm/omapdrm/omap_plane.c | 47 +- drivers/gpu/drm/panel/Kconfig | 23 + drivers/gpu/drm/panel/Makefile | 3 + drivers/gpu/drm/panel/panel-lvds.c | 286 + drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 739 + drivers/gpu/drm/panel/panel-simple.c | 56 + drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 449 + drivers/gpu/drm/qxl/qxl_debugfs.c | 22 - drivers/gpu/drm/qxl/qxl_display.c | 822 +- drivers/gpu/drm/qxl/qxl_drv.c | 32 +- drivers/gpu/drm/qxl/qxl_drv.h | 12 +- drivers/gpu/drm/qxl/qxl_fb.c | 39 +- drivers/gpu/drm/qxl/qxl_kms.c | 28 +- drivers/gpu/drm/qxl/qxl_object.c | 41 +- drivers/gpu/drm/qxl/qxl_ttm.c | 1 + drivers/gpu/drm/r128/r128_cce.c | 7 +- drivers/gpu/drm/radeon/atom.c | 46 +- drivers/gpu/drm/radeon/cik.c | 63 +- drivers/gpu/drm/radeon/cikd.h | 2 +- drivers/gpu/drm/radeon/evergreen.c | 2 +- drivers/gpu/drm/radeon/evergreen_cs.c | 7 +- drivers/gpu/drm/radeon/ni.c | 22 +- drivers/gpu/drm/radeon/r100.c | 20 +- drivers/gpu/drm/radeon/r200.c | 3 +- drivers/gpu/drm/radeon/r300.c | 13 +- drivers/gpu/drm/radeon/r420.c | 9 +- drivers/gpu/drm/radeon/r520.c | 3 +- drivers/gpu/drm/radeon/r600.c | 21 +- drivers/gpu/drm/radeon/r600_cs.c | 7 +- drivers/gpu/drm/radeon/r600_dpm.c | 71 +- drivers/gpu/drm/radeon/radeon.h | 4 +- drivers/gpu/drm/radeon/radeon_acpi.h | 12 + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 4 +- drivers/gpu/drm/radeon/radeon_audio.c | 4 +- drivers/gpu/drm/radeon/radeon_clocks.c | 2 +- drivers/gpu/drm/radeon/radeon_cs.c | 10 + drivers/gpu/drm/radeon/radeon_device.c | 20 +- drivers/gpu/drm/radeon/radeon_display.c | 17 +- drivers/gpu/drm/radeon/radeon_dp_auxch.c | 3 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 4 +- drivers/gpu/drm/radeon/radeon_drv.c | 6 +- drivers/gpu/drm/radeon/radeon_fb.c | 14 +- drivers/gpu/drm/radeon/radeon_gem.c | 8 +- drivers/gpu/drm/radeon/radeon_kms.c | 45 +- drivers/gpu/drm/radeon/radeon_object.c | 5 + drivers/gpu/drm/radeon/radeon_prime.c | 6 + drivers/gpu/drm/radeon/radeon_test.c | 6 +- drivers/gpu/drm/radeon/radeon_ttm.c | 1 + drivers/gpu/drm/radeon/rs400.c | 4 +- drivers/gpu/drm/radeon/rs690.c | 3 +- drivers/gpu/drm/radeon/rv515.c | 9 +- drivers/gpu/drm/radeon/si.c | 45 +- drivers/gpu/drm/rcar-du/Kconfig | 10 +- drivers/gpu/drm/rcar-du/Makefile | 6 +- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 123 +- drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 5 +- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 64 +- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 8 +- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 187 +- drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 14 +- drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 134 - drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h | 35 - drivers/gpu/drm/rcar-du/rcar_du_kms.c | 143 +- drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 68 +- drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c | 11 +- drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h | 13 + drivers/gpu/drm/rcar-du/rcar_du_regs.h | 23 + drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 82 - drivers/gpu/drm/rcar-du/rcar_du_vgacon.h | 23 - drivers/gpu/drm/rcar-du/rcar_du_vsp.h | 2 +- drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 100 + drivers/gpu/drm/rockchip/Kconfig | 10 +- drivers/gpu/drm/rockchip/Makefile | 16 +- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 38 +- drivers/gpu/drm/rockchip/cdn-dp-core.c | 23 +- drivers/gpu/drm/rockchip/cdn-dp-reg.c | 6 +- drivers/gpu/drm/rockchip/cdn-dp-reg.h | 13 +- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 513 +- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 11 +- drivers/gpu/drm/rockchip/inno_hdmi.c | 10 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 243 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.h | 20 +- drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 9 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 101 +- drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 8 +- drivers/gpu/drm/selftests/test-drm_mm.c | 12 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 61 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.h | 1 - drivers/gpu/drm/shmobile/shmob_drm_drv.c | 236 +- drivers/gpu/drm/shmobile/shmob_drm_plane.c | 8 +- drivers/gpu/drm/sti/sti_drv.c | 17 +- drivers/gpu/drm/sti/sti_gdp.c | 12 +- drivers/gpu/drm/sun4i/Makefile | 4 +- drivers/gpu/drm/sun4i/sun4i_backend.c | 2 +- drivers/gpu/drm/sun4i/sun4i_crtc.c | 86 +- drivers/gpu/drm/sun4i/sun4i_crtc.h | 8 +- drivers/gpu/drm/sun4i/sun4i_drv.c | 85 +- drivers/gpu/drm/sun4i/sun4i_drv.h | 4 - drivers/gpu/drm/sun4i/sun4i_framebuffer.c | 1 - drivers/gpu/drm/sun4i/sun4i_layer.c | 32 +- drivers/gpu/drm/sun4i/sun4i_layer.h | 4 +- drivers/gpu/drm/sun4i/sun4i_rgb.c | 41 +- drivers/gpu/drm/sun4i/sun4i_rgb.h | 2 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 126 +- drivers/gpu/drm/sun4i/sun4i_tcon.h | 3 + drivers/gpu/drm/sun4i/sun4i_tv.c | 27 +- drivers/gpu/drm/tegra/dc.c | 23 +- drivers/gpu/drm/tegra/drm.c | 38 - drivers/gpu/drm/tegra/drm.h | 3 - drivers/gpu/drm/tegra/fb.c | 5 +- drivers/gpu/drm/tegra/gem.c | 8 +- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 35 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 26 +- drivers/gpu/drm/tilcdc/tilcdc_external.c | 68 +- drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 19 +- drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 2 +- drivers/gpu/drm/tinydrm/mi0283qt.c | 3 + drivers/gpu/drm/tinydrm/mipi-dbi.c | 4 +- drivers/gpu/drm/ttm/ttm_bo.c | 116 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 10 +- drivers/gpu/drm/udl/udl_dmabuf.c | 8 +- drivers/gpu/drm/udl/udl_fb.c | 5 +- drivers/gpu/drm/udl/udl_modeset.c | 3 +- drivers/gpu/drm/vc4/Kconfig | 4 + drivers/gpu/drm/vc4/vc4_bo.c | 26 +- drivers/gpu/drm/vc4/vc4_crtc.c | 23 +- drivers/gpu/drm/vc4/vc4_dpi.c | 31 +- drivers/gpu/drm/vc4/vc4_drv.c | 41 +- drivers/gpu/drm/vc4/vc4_drv.h | 2 - drivers/gpu/drm/vc4/vc4_dsi.c | 21 +- drivers/gpu/drm/vc4/vc4_gem.c | 26 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 517 +- drivers/gpu/drm/vc4/vc4_hvs.c | 12 +- drivers/gpu/drm/vc4/vc4_irq.c | 3 +- drivers/gpu/drm/vc4/vc4_plane.c | 29 +- drivers/gpu/drm/vc4/vc4_regs.h | 107 +- drivers/gpu/drm/vc4/vc4_render_cl.c | 4 + drivers/gpu/drm/vc4/vc4_validate.c | 34 +- drivers/gpu/drm/vc4/vc4_validate_shaders.c | 21 +- drivers/gpu/drm/vc4/vc4_vec.c | 6 + drivers/gpu/drm/vgem/vgem_drv.c | 4 +- drivers/gpu/drm/via/via_dmablit.c | 10 +- drivers/gpu/drm/virtio/virtgpu_debugfs.c | 8 - drivers/gpu/drm/virtio/virtgpu_display.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.c | 1 - drivers/gpu/drm/virtio/virtgpu_drv.h | 6 +- drivers/gpu/drm/virtio/virtgpu_fb.c | 63 +- drivers/gpu/drm/virtio/virtgpu_gem.c | 6 +- drivers/gpu/drm/virtio/virtgpu_object.c | 4 +- drivers/gpu/drm/virtio/virtgpu_plane.c | 73 + drivers/gpu/drm/virtio/virtgpu_ttm.c | 1 + drivers/gpu/drm/virtio/virtgpu_vq.c | 57 +- drivers/gpu/drm/vmwgfx/Makefile | 3 +- drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c | 1 + drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 15 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 85 +- drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 3 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 1115 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 147 +- drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 373 +- drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 +- drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 258 +- drivers/gpu/drm/vmwgfx/vmwgfx_resource_priv.h | 40 + drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 513 +- drivers/gpu/drm/vmwgfx/vmwgfx_simple_resource.c | 256 + drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 940 +- drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 15 +- drivers/gpu/drm/vmwgfx/vmwgfx_va.c | 168 + drivers/gpu/drm/zte/zx_drm_drv.c | 17 +- drivers/gpu/drm/zte/zx_hdmi.c | 1 - drivers/gpu/drm/zte/zx_vou.c | 61 +- drivers/gpu/drm/zte/zx_vou.h | 3 - drivers/gpu/ipu-v3/Makefile | 4 + drivers/gpu/ipu-v3/ipu-common.c | 46 +- drivers/gpu/ipu-v3/ipu-cpmem.c | 78 +- drivers/gpu/ipu-v3/ipu-dc.c | 61 +- drivers/gpu/ipu-v3/ipu-dp.c | 15 +- drivers/gpu/ipu-v3/ipu-image-convert.c | 7 +- drivers/gpu/ipu-v3/ipu-pre.c | 289 + drivers/gpu/ipu-v3/ipu-prg.c | 424 + drivers/gpu/ipu-v3/ipu-prv.h | 27 +- drivers/gpu/vga/vga_switcheroo.c | 28 +- drivers/i2c/busses/i2c-designware-baytrail.c | 83 +- drivers/i2c/busses/i2c-designware-core.c | 14 +- drivers/i2c/busses/i2c-designware-core.h | 13 +- drivers/i2c/busses/i2c-designware-pcidrv.c | 26 +- drivers/i2c/busses/i2c-designware-platdrv.c | 8 +- drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 +- drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 +- drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 +- drivers/of/platform.c | 71 + drivers/pci/pci.h | 2 + drivers/pci/probe.c | 21 + drivers/platform/x86/apple-gmux.c | 31 +- drivers/staging/android/ion/ion.c | 8 +- include/drm/bridge/analogix_dp.h | 3 + include/drm/bridge/dw_hdmi.h | 101 +- include/drm/drmP.h | 330 +- include/drm/drm_atomic.h | 350 +- include/drm/drm_atomic_helper.h | 47 +- include/drm/drm_auth.h | 17 + include/drm/drm_connector.h | 154 +- include/drm/drm_crtc.h | 101 +- include/drm/drm_crtc_helper.h | 42 +- include/drm/drm_debugfs.h | 101 + include/drm/drm_dp_helper.h | 66 + include/drm/drm_dp_mst_helper.h | 15 +- include/drm/drm_drv.h | 102 +- include/drm/drm_edid.h | 8 +- include/drm/drm_fb_helper.h | 16 +- include/drm/drm_file.h | 375 + include/drm/drm_fourcc.h | 6 + include/drm/drm_framebuffer.h | 49 +- include/drm/drm_gem.h | 110 +- include/drm/drm_gem_cma_helper.h | 26 + include/drm/drm_global.h | 8 +- include/drm/drm_hashtab.h | 20 +- include/drm/drm_ioctl.h | 188 + include/drm/drm_irq.h | 1 - include/drm/drm_mm.h | 5 +- include/drm/drm_mode_config.h | 167 +- include/drm/drm_mode_object.h | 36 +- include/drm/drm_modeset_helper_vtables.h | 70 + include/drm/drm_modeset_lock.h | 5 - include/drm/drm_of.h | 37 +- include/drm/drm_panel.h | 2 +- include/drm/drm_pci.h | 75 + include/drm/drm_plane.h | 43 +- include/drm/drm_plane_helper.h | 6 +- include/drm/drm_prime.h | 80 + include/drm/drm_print.h | 3 + include/drm/drm_property.h | 35 +- include/drm/drm_scdc_helper.h | 161 + include/drm/drm_simple_kms_helper.h | 2 +- include/drm/drm_sysfs.h | 12 +- include/drm/drm_vma_manager.h | 1 - include/drm/i915_pciids.h | 11 +- include/drm/tinydrm/tinydrm.h | 4 +- include/drm/ttm/ttm_bo_api.h | 71 +- include/drm/ttm/ttm_bo_driver.h | 11 +- include/drm/ttm/ttm_placement.h | 1 + include/linux/dma-buf.h | 22 +- include/linux/dma-fence-array.h | 2 + include/linux/hdmi.h | 1 + include/linux/of_platform.h | 11 + include/linux/pci.h | 23 + include/linux/reservation.h | 20 + include/uapi/drm/amdgpu_drm.h | 69 +- include/uapi/drm/drm.h | 3 +- include/uapi/drm/drm_fourcc.h | 14 + include/uapi/drm/drm_mode.h | 4 + include/uapi/drm/etnaviv_drm.h | 8 + include/uapi/drm/i915_drm.h | 65 +- include/uapi/drm/msm_drm.h | 1 + include/uapi/drm/vmwgfx_drm.h | 24 + include/uapi/linux/media-bus-format.h | 13 +- include/video/imx-ipu-v3.h | 39 +- kernel/locking/lockdep.c | 2 + scripts/coccinelle/api/drm-get-put.cocci | 92 + tools/testing/selftests/drivers/gpu/i915.sh | 1 + 1070 files changed, 457052 insertions(+), 27145 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt create mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt create mode 100644 Documentation/devicetree/bindings/display/bridge/megachips-stdpxxxx-ge-b850v3-fw.txt create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt create mode 100644 Documentation/devicetree/bindings/display/panel/ampire,am-480272h3tmqw-t01h.txt create mode 100644 Documentation/devicetree/bindings/display/panel/mitsubishi,aa104xd12.txt create mode 100644 Documentation/devicetree/bindings/display/panel/mitsubishi,aa121td01.txt create mode 100644 Documentation/devicetree/bindings/display/panel/panel-common.txt create mode 100644 Documentation/devicetree/bindings/display/panel/panel-lvds.txt create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,s6e3ha2.txt create mode 100644 Documentation/devicetree/bindings/display/panel/sitronix,st7789v.txt create mode 100644 Documentation/devicetree/bindings/display/panel/winstar,wf35ltiacd.txt create mode 100644 Documentation/doc-guide/hello.dot create mode 100644 Documentation/doc-guide/svg_image.svg create mode 100644 Documentation/gpu/bridge/dw-hdmi.rst create mode 100644 Documentation/gpu/meson.rst create mode 100644 Documentation/gpu/todo.rst create mode 100644 Documentation/gpu/vc4.rst create mode 100644 Documentation/sphinx/kfigure.py create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.h create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h create mode 100644 drivers/gpu/drm/amd/amdgpu/clearstate_gfx9.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/mmsch_v1_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c create mode 100644 drivers/gpu/drm/amd/amdgpu/mxgpu_ai.h create mode 100644 drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c create mode 100644 drivers/gpu/drm/amd/amdgpu/nbio_v6_1.h create mode 100644 drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h create mode 100644 drivers/gpu/drm/amd/amdgpu/psp_v3_1.c create mode 100644 drivers/gpu/drm/amd/amdgpu/psp_v3_1.h create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/soc15.c create mode 100644 drivers/gpu/drm/amd/amdgpu/soc15.h create mode 100644 drivers/gpu/drm/amd/amdgpu/soc15_common.h create mode 100644 drivers/gpu/drm/amd/amdgpu/soc15d.h create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v4_0.c create mode 100644 drivers/gpu/drm/amd/amdgpu/vce_v4_0.h create mode 100644 drivers/gpu/drm/amd/amdgpu/vega10_ih.c create mode 100644 drivers/gpu/drm/amd/amdgpu/vega10_ih.h create mode 100644 drivers/gpu/drm/amd/amdgpu/vega10_sdma_pkt_open.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/ATHUB/athub_1_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/ATHUB/athub_1_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/ATHUB/athub_1_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/DC/dce_12_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/DC/dce_12_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/DC/dce_12_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/GC/gc_9_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/GC/gc_9_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/GC/gc_9_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/HDP/hdp_4_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/HDP/hdp_4_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/HDP/hdp_4_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MMHUB/mmhub_1_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MMHUB/mmhub_1_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MMHUB/mmhub_1_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MP/mp_9_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MP/mp_9_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/MP/mp_9_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIF/nbif_6_1_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIF/nbif_6_1_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIF/nbif_6_1_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/OSSSYS/osssys_4_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/OSSSYS/osssys_4_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/OSSSYS/osssys_4_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA0/sdma0_4_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA0/sdma0_4_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA0/sdma0_4_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA1/sdma1_4_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA1/sdma1_4_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SDMA1/sdma1_4_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SMUIO/smuio_9_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SMUIO/smuio_9_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/SMUIO/smuio_9_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/THM/thm_9_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/THM/thm_9_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/THM/thm_9_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/UVD/uvd_7_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/UVD/uvd_7_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/UVD/uvd_7_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/VCE/vce_4_0_default.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/VCE/vce_4_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/VCE/vce_4_0_sh_mask.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/soc15ip.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/vega10/vega10_enum.h create mode 100644 drivers/gpu/drm/amd/include/atomfirmware.h create mode 100644 drivers/gpu/drm/amd/include/atomfirmwareid.h create mode 100644 drivers/gpu/drm/amd/include/displayobject.h create mode 100644 drivers/gpu/drm/amd/include/dm_pp_interface.h create mode 100644 drivers/gpu/drm/amd/include/v9_structs.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_inc.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_powertune.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_powertune.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_pptable.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.h create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_soc15.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu9.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu9_driver_if.h create mode 100644 drivers/gpu/drm/amd/powerplay/inc/vega10_ppsmc.h create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.c create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/vega10_smumgr.h delete mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c delete mode 100644 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h create mode 100644 drivers/gpu/drm/bridge/lvds-encoder.c create mode 100644 drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c create mode 100644 drivers/gpu/drm/bridge/synopsys/Kconfig create mode 100644 drivers/gpu/drm/bridge/synopsys/Makefile rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-ahb-audio.c (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-audio.h (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi-i2s-audio.c (100%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.c (74%) rename drivers/gpu/drm/bridge/{ => synopsys}/dw-hdmi.h (99%) rename drivers/gpu/drm/{drm_fops.c => drm_file.c} (90%) delete mode 100644 drivers/gpu/drm/drm_platform.c create mode 100644 drivers/gpu/drm/drm_scdc_helper.c create mode 100644 drivers/gpu/drm/i915/i915_gem_clflush.c create mode 100644 drivers/gpu/drm/i915/i915_gem_clflush.h create mode 100644 drivers/gpu/drm/i915/i915_selftest.h create mode 100644 drivers/gpu/drm/i915/intel_cdclk.c rename drivers/gpu/drm/i915/{intel_dsi_panel_vbt.c => intel_dsi_vbt.c} (89%) create mode 100644 drivers/gpu/drm/i915/selftests/huge_gem_object.c create mode 100644 drivers/gpu/drm/i915/selftests/huge_gem_object.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_coherency.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_context.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_evict.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_object.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_request.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_live_selftests.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_mock_selftests.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_random.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_random.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_selftest.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_vma.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_hangcheck.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_uncore.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_context.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_context.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_dmabuf.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_dmabuf.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_drm.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_drm.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_engine.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_engine.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_device.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_device.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_object.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gtt.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_gtt.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_request.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_request.h create mode 100644 drivers/gpu/drm/i915/selftests/scatterlist.c create mode 100644 drivers/gpu/drm/meson/meson_dw_hdmi.c create mode 100644 drivers/gpu/drm/meson/meson_dw_hdmi.h create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.c create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_mixer.h create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/core/msgqueue.h create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/engine/sec2.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp107.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/nvdec/base.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/nvdec/gp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/nvdec/priv.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/sec2/Kbuild create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/sec2/priv.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue_0137c63d.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue_0148cdec.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf108.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm200.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r361.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r364.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r367.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r367.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/acr_r375.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gp10b.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/hs_ucode.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/hs_ucode.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/secboot/ls_ucode_msgqueue.c create mode 100644 drivers/gpu/drm/omapdrm/dss/base.c create mode 100644 drivers/gpu/drm/panel/panel-lvds.c create mode 100644 drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c create mode 100644 drivers/gpu/drm/panel/panel-sitronix-st7789v.c delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_hdmienc.h delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_vgacon.c delete mode 100644 drivers/gpu/drm/rcar-du/rcar_du_vgacon.h create mode 100644 drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_simple_resource.c create mode 100644 drivers/gpu/drm/vmwgfx/vmwgfx_va.c create mode 100644 drivers/gpu/ipu-v3/ipu-pre.c create mode 100644 drivers/gpu/ipu-v3/ipu-prg.c create mode 100644 include/drm/drm_debugfs.h create mode 100644 include/drm/drm_file.h create mode 100644 include/drm/drm_ioctl.h create mode 100644 include/drm/drm_pci.h create mode 100644 include/drm/drm_prime.h create mode 100644 include/drm/drm_scdc_helper.h create mode 100644 scripts/coccinelle/api/drm-get-put.cocci
On Tue, May 2, 2017 at 8:44 PM, Dave Airlie airlied@gmail.com wrote:
i915: vblank evasion improvements
These may be "improvements", but they end up being very noisy.
I geta fair amount of messages like
[drm] Atomic update on pipe (A) took 161 us, max time under evasion is 100 us
on my desktop (i7-6700K) and I've seen it once on my laptop (i7-6560U) too.
The commit message says "This will make it easier to find cases where we potentially miss vblanks." but I'm not sure how that is the case. There's nothing else helpful in the log, and it doesn't seem to be associated with anything in particular (I'm just at the desktop, running a few xterms and google-chrome).
Linus
On Sat, May 6, 2017 at 10:02 PM, Linus Torvalds torvalds@linux-foundation.org wrote:
On Tue, May 2, 2017 at 8:44 PM, Dave Airlie airlied@gmail.com wrote:
i915: vblank evasion improvements
These may be "improvements", but they end up being very noisy.
I geta fair amount of messages like
[drm] Atomic update on pipe (A) took 161 us, max time under evasion is 100 us
on my desktop (i7-6700K) and I've seen it once on my laptop (i7-6560U) too.
The commit message says "This will make it easier to find cases where we potentially miss vblanks." but I'm not sure how that is the case. There's nothing else helpful in the log, and it doesn't seem to be associated with anything in particular (I'm just at the desktop, running a few xterms and google-chrome).
We did improve evasion a lot to the point that it didn't show up in our CI machines anymore (and we have a pile of those crunching tests 24/7), so we felt we could risk enabling this everywhere. But of course it pops up all over the place as soon as drm-next hits mainline, so we'll shut it down again except when debugging is enabled (to make sure we catch regressions in our CI).
The evasion stuff is duct-tape around hw design issues and mostly harmless (i.e. very unlikely it'll result in a real issue for you, especially on normal Linux desktops that don't use overlay planes) if you hit it, worst case should be flickering or some other temporary visual corruptions. And the message happens when there's simply a potential for a miss, not when we observed the race happening (i.e. like lockdep splats about theoretical stuff). -Daniel
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Cc: Daniel Vetter daniel@ffwll.ch Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Dave Airlie airlied@redhat.com Cc: Jens Axboe axboe@kernel.dk Cc: Linus Torvalds torvalds@linux-foundation.org Cc: Maarten Lankhorst maarten.lankhorst@linux.intel.com Reported-by: Jens Axboe axboe@kernel.dk Reported-by: Linus Torvalds torvalds@linux-foundation.org Fixes: e1edbd44e23b ("drm/i915: Complain if we take too long under vblank evasion.") Signed-off-by: Ville Syrjälä ville.syrjala@linux.intel.com --- drivers/gpu/drm/i915/Kconfig.debug | 13 +++++++++++++ drivers/gpu/drm/i915/intel_sprite.c | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug index e091809a9a9e..49db32fa6524 100644 --- a/drivers/gpu/drm/i915/Kconfig.debug +++ b/drivers/gpu/drm/i915/Kconfig.debug @@ -87,3 +87,16 @@ config DRM_I915_LOW_LEVEL_TRACEPOINTS and also analyze the request dependency resolving timeline.
If in doubt, say "N". + +config DRM_I915_DEBUG_VBLANK_EVADE + bool "Enable extra debug warnings for vblank evasion" + depends on DRM_I915 + default n + help + Choose this option to turn on extra debug warnings for the + vblank evade mechanism. This gives a warning every time the + the deadline allotted for the vblank evade critical section + is exceeded, even if there isn't an actual risk of missing + the vblank. + + If in doubt, say "N". diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index f7d431427115..8c87c717c7cd 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -198,12 +198,15 @@ void intel_pipe_update_end(struct intel_crtc *crtc, struct intel_flip_work *work ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end); - } else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) + } +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > + VBLANK_EVASION_TIME_US) DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", pipe_name(pipe), ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), VBLANK_EVASION_TIME_US); +#endif }
static void
On 05/07/2017 11:12 AM, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Shouldn't it just be a debug printk or something instead, so that normal people don't see it, but the folks that turn on debugging can get the info they need? Seems silly to add a kconfig option for this.
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe axboe@kernel.dk wrote:
On 05/07/2017 11:12 AM, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Shouldn't it just be a debug printk or something instead, so that normal people don't see it, but the folks that turn on debugging can get the info they need? Seems silly to add a kconfig option for this.
I guess we could keep it as debug for users, but we want to make this a hard failure on our CI machines. Kconfig knob is the easiest to roll out to all machines. -Daniel
On 05/07/2017 11:56 AM, Daniel Vetter wrote:
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe axboe@kernel.dk wrote:
On 05/07/2017 11:12 AM, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Shouldn't it just be a debug printk or something instead, so that normal people don't see it, but the folks that turn on debugging can get the info they need? Seems silly to add a kconfig option for this.
I guess we could keep it as debug for users, but we want to make this a hard failure on our CI machines. Kconfig knob is the easiest to roll out to all machines.
Wouldn't a module parameter be more useful then, as an opt-in to catch these violations.
Nobody is going to know wtf to set this kconfig option to.
On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
On 05/07/2017 11:56 AM, Daniel Vetter wrote:
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe axboe@kernel.dk wrote:
On 05/07/2017 11:12 AM, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Shouldn't it just be a debug printk or something instead, so that normal people don't see it, but the folks that turn on debugging can get the info they need? Seems silly to add a kconfig option for this.
I guess we could keep it as debug for users, but we want to make this a hard failure on our CI machines. Kconfig knob is the easiest to roll out to all machines.
Wouldn't a module parameter be more useful then, as an opt-in to catch these violations.
Nobody is going to know wtf to set this kconfig option to.
They're all hidden behind an overall i915 debugging option which tells you not to enable it. You won't see this. -Daniel
On 05/08/2017 01:25 AM, Daniel Vetter wrote:
On Sun, May 07, 2017 at 07:52:14PM -0600, Jens Axboe wrote:
On 05/07/2017 11:56 AM, Daniel Vetter wrote:
On Sun, May 7, 2017 at 7:46 PM, Jens Axboe axboe@kernel.dk wrote:
On 05/07/2017 11:12 AM, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Shouldn't it just be a debug printk or something instead, so that normal people don't see it, but the folks that turn on debugging can get the info they need? Seems silly to add a kconfig option for this.
I guess we could keep it as debug for users, but we want to make this a hard failure on our CI machines. Kconfig knob is the easiest to roll out to all machines.
Wouldn't a module parameter be more useful then, as an opt-in to catch these violations.
Nobody is going to know wtf to set this kconfig option to.
They're all hidden behind an overall i915 debugging option which tells you not to enable it. You won't see this.
OK, that does improve things a bit.
On Sun, May 07, 2017 at 08:12:52PM +0300, ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Add a new Kconfig option to enable/disable the extra warnings from the vblank evade code. For now we'll keep the warning about an actually missed vblank always enabled as that can have an actual user visible impact. But if we miss the deadline othrwise there's no real need to bother the user with that. We'll want these warnings enabled during development however so that we can catch regressions.
Based on the reports it looks like this is still very easy to hit on SKL, so we have more work ahead of us to optimize the crtiical section further.
Cc: Daniel Vetter daniel@ffwll.ch Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Dave Airlie airlied@redhat.com Cc: Jens Axboe axboe@kernel.dk Cc: Linus Torvalds torvalds@linux-foundation.org Cc: Maarten Lankhorst maarten.lankhorst@linux.intel.com Reported-by: Jens Axboe axboe@kernel.dk Reported-by: Linus Torvalds torvalds@linux-foundation.org Fixes: e1edbd44e23b ("drm/i915: Complain if we take too long under vblank evasion.") Signed-off-by: Ville Syrjälä ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/i915/Kconfig.debug | 13 +++++++++++++ drivers/gpu/drm/i915/intel_sprite.c | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug index e091809a9a9e..49db32fa6524 100644 --- a/drivers/gpu/drm/i915/Kconfig.debug +++ b/drivers/gpu/drm/i915/Kconfig.debug @@ -87,3 +87,16 @@ config DRM_I915_LOW_LEVEL_TRACEPOINTS and also analyze the request dependency resolving timeline.
If in doubt, say "N".
+config DRM_I915_DEBUG_VBLANK_EVADE
- bool "Enable extra debug warnings for vblank evasion"
- depends on DRM_I915
- default n
- help
Choose this option to turn on extra debug warnings for the
vblank evade mechanism. This gives a warning every time the
the deadline allotted for the vblank evade critical section
is exceeded, even if there isn't an actual risk of missing
the vblank.
If in doubt, say "N".
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index f7d431427115..8c87c717c7cd 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -198,12 +198,15 @@ void intel_pipe_update_end(struct intel_crtc *crtc, struct intel_flip_work *work ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end);
- } else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) >
VBLANK_EVASION_TIME_US)
- }
+#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE
- else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) >
DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", pipe_name(pipe), ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), VBLANK_EVASION_TIME_US);VBLANK_EVASION_TIME_US)
+#endif }
static void
2.10.2
dri-devel@lists.freedesktop.org