Hi Dave, Because of the backmerge now 3 separate tags together: drm-intel-next-2017-01-09: More 4.11 stuff, holidays edition (i.e. not much): - docs and cleanups for shared dpll code (Ander) - some kerneldoc work (Chris) - fbc by default on gen9+ too, yeah! (Paulo) - fixes, polish and other small things all over gem code (Chris) - and a few small things on top Plus a backmerge, because Dave was enjoying time off too. drm-intel-next-2016-12-26: 2nd round of stuff for 4.11: - DP link rate fixes (DK) - prep work for atomic wm updates on vlv/chv (Ville) - platform enumeration cleanup (Jani) - dsi fixes and cleaups (Hans de Goede) - gen9 wm fixes (Mahesh Kumar) - prep work for DP link failure fallback handling (Manasi) - introduce GEM_WARN_ON (Matthew Auld) - overlay fixes and cleanups (Ville) - make is_lp apply to all modern/gen7+ atom-based platforms (Rodrigo) Tons of small polish, fixes and cleanups all over. This time around this is about half the patches! drm-intel-next-2016-12-05: First round of stuff for 4.10! - refactor hangcheck/ban/reset stats code in prep for TDR (Mika) - much more fancy perf monitoring support (Robert Bragg) - lspcon fixes (Imre) - rework plane ids to unconfuse the code (Ville) - fix up cdclck/atomic state handling (Ville) - debugobjects support for i915 fences (Chris) - guc code cleanup (Arkadiusz Hiler) - dp mst enabling, one more attempt (Libin) - bugfixes for request resubmission after hangs (Chris) - add basic geminilake support (Ander) - switch more internal functions from drm_device to dev_priv (Tvrtko) Cheers, Daniel The following changes since commit 0c744ea4f77d72b3dcebb7a8f2684633ec79be88: Linux 4.10-rc2 (2017-01-01 14:31:53 -0800) are available in the git repository at: git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2017-01-09 for you to fetch changes up to 5d799acdd057e4f10fdd09ade22028c83f829f3e: drm/i915: Update DRIVER_DATE to 20170109 (2017-01-09 10:12:02 +0100) ---------------------------------------------------------------- More 4.11 stuff, holidays edition (i.e. not much): - docs and cleanups for shared dpll code (Ander) - some kerneldoc work (Chris) - fbc by default on gen9+ too, yeah! (Paulo) - fixes, polish and other small things all over gem code (Chris) - and a few small things on top Plus a backmerge, because Dave was enjoying time off too. ---------------------------------------------------------------- A.Sunil Kamath (1): drm/i915: Use num_scalers instead of SKL_NUM_SCALERS in debugfs Ander Conselvan de Oliveira (22): drm/i915: Pass dev_priv to intel_setup_outputs() drm/i915: Don't sanitize has_decoupled_mmio if platform is not broxton drm/i915/glk: Introduce Geminilake platform definition drm/i915/glk: Add Geminilake PCI IDs drm/i915/glk: Add a IS_GEN9_LP() macro drm/i915: Fix intel_psr_init() kerneldoc drm/i915/glk: Reuse broxton code for geminilake drm/i915/glk: Add power wells for Geminilake drm/i915/glk: Implement Geminilake DDI init sequence drm/i915/glk: Set DCC delay range 2 in PLL enable sequence drm/i915/glk: Reuse broxton's cdclk code for GLK drm/i915/glk: Allow dotclock up to 2 * cdclk on geminilake drm/i915/glk: Implement core display init/uninit sequence for geminilake drm/i915/glk: Configure number of sprite planes properly drm/i915: Introduce intel_release_shared_dpll() drm/i915: Rename intel_shared_dpll_commit() to _swap_state() drm/i915: Rename intel_shared_dpll_config to intel_shared_dpll_state drm/i915: Rename intel_shared_dpll->mode_set() to prepare() drm/i915: Update kerneldoc for intel_dpll_mgr.c drm/i915: Add dpll entrypoint for dumping hw state drm/i915: Move intel_atomic_get_shared_dpll_state() to intel_dpll_mgr.c drm/i915: Initialize num_scalers for skl and glk too Arkadiusz Hiler (6): drm/i915: Rename intel_guc.h to intel_uc.h drm/i915/guc: Drop guc2host/host2guc from names drm/i915/guc: Move guc_{send,recv}() to intel_uc.c drm/i915/guc: Init send_mutex in intel_uc_init_early() drm/i915/guc: Remove spurious include drm/i915/guc: Drop comment on fwif autogeneration Bob Paauwe (1): drm/i915/bxt: Correct dual-link MIPI port control. Chris Wilson (74): drm/i915: Use user, not driver, DRM_DEBUG for 2 context ioctls drm/i915: Add a warning on shutdown if signal threads still active drm/i915: Don't deref context->file_priv ERR_PTR upon reset drm/i915: Disable hangcheck when wedged drm/i915: Complete requests in nop_submit_request drm/i915: Stop the machine as we install the wedged submit_request handler drm/i915/debugfs: Drop i915_hws_info drm/i915/debugfs: Increment return value of gt.next_seqno drm/i915: Use the precomputed value for whether to enable command parsing drm/i915/debugfs: Update pageflip information drm/i915: Add is-completed assert to request retire entrypoint drm/i915: Assert no external observers when unwind a failed request alloc drm/i915: Hold a reference on the request for its fence chain drm/i915: Integrate i915_sw_fence with debugobjects drm/i915: Move priority bumping for flips earlier Revert "drm/i915/execlists: Use a local lock for dfs_link access" drm/i915: Convert vm->dev backpointer to vm->i915 drm/i915/perf: Wrap 64bit divides in do_div() drm/i915: Fix tracepoint compilation drm/i915: Trim i915_guc_info() stack usage drm/i915/guc: Rename client->cookie to match use drm/i915/guc: Initialise doorbell cookie to matching value drm/i915/guc: Keep the execbuf client allocated across reset drm/i915/guc: Split hw submission for replay after GPU reset drm/i915/perf: Treat u64 in uabi as a normal integer drm/i915: Mark all non-vma being inserted into the address spaces drm/i915: Fix i915_gem_evict_for_vma (soft-pinning) drm/i915: Tidy i915_gem_valid_gtt_space() drm/i915: Implement local atomic_state_free callback drm/i915: Enable swfence debugobject support for i915.ko drm/i915/execlists: Use list_safe_reset_next() instead of opencoding drm/i915: Use memcpy_from_wc for GPU error capture drm/i915: Reorder phys backing storage release drm/i915: Retire before attempting to evict from the active lists drm/i915: Add a reminder that i915_vma_move_to_active() requires struct_mutex drm/i915: Move intel_lrc_context_pin() to avoid the forward declaration drm/i915: Unify active context tracking between legacy/execlists/guc drm/i915: Simplify releasing context reference drm/i915: Mark the shadow gvt context as closed drm/i915/execlists: Request the kernel context be pinned high drm/i915: Swap if(enable_execlists) in i915_gem_request_alloc for a vfunc drm/i915: Drop mutex after successful kref_put_mutex() drm/i915/breadcrumbs: s/container_of/rb_entry/ drm/i915: Fallback to single PAGE_SIZE segments for DMA remapping drm/i915: Add a test that we terminate the trimmed sgtable as expected drm/i915: Break after walking all GGTT vma in bump_inactive_ggtt drm/i915: Repeat flush of idle work during suspend drm/i915: Don't clflush before release phys object drm/i915: Silence allocation failure during sg_trim() drm/i915: Assert that the partial VMA fits within the object drm/i915: Prevent timeline updates whilst performing reset drm/i915/guc: Assert that all GGTT offsets used by the GuC are mappable drm/i915: Move assert of page pin vs bind count into i915_vma_unbind drm/i915: Fix kerneldoc for i915_gem_object_pin_map() drm/i915: Complete kerneldoc for struct i915_gem_context drm/i915: Drop kerneldoc markup from non-kerneldoc enum drrs_refresh_rate_type drm/i915: Update comment in vlv_set_rps_idle() drm/i915: Revoke fenced GTT mmapings across GPU reset drm/i915: Assert all timeline requests are gone before fini drm/i915: Assert that we do create the deferred context drm/i915/execlists: Reorder execlists register enabling drm/i915: Move a few utility macros into a separate header drm/i915/guc: Exclude the upper end of the Global GTT for the GuC drm/i915: Clear ret before unbinding in i915_gem_evict_something() drm/i915: Move a few more utility macros to i915_utils.h drm/i915: Only skip requests once a context is banned drm/i915: Consolidate checks for memcpy-from-wc support drm/i915: Use phys_addr_t for the address of stolen memory drm/i915: Use fixed-sized types for stolen drm/i915: Use range_overflows() drm/i915: Simplify testing for am-I-the-kernel-context? drm/i915: Fix phys pwrite for struct_mutex-less operation drm/i915: Purge loose pages if we run out of DMA remap space drm/i915: Drain freed objects for mmap space exhaustion Daniel Vetter (9): drm/i915: Remove dummy i915_kick_out_firmware_fb drm/i915: Update DRIVER_DATE to 20161205 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: tune down the fast link training vs boot fail drm/i915: Update DRIVER_DATE to 20161226 drm/i915: Update comment that sets I915_MODE_FLAG_INHERITED Merge tag 'v4.10-rc2' into drm-intel-next-queued Merge tag 'drm-misc-next-2016-12-30' of git://anongit.freedesktop.org/git/drm-misc into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20170109 Daniele Ceraolo Spurio (2): drm/i915: request ring to be pinned above GUC_WOPCM_TOP drm/i915: re-use computed offset bias for context pin Deepak M (1): drm/i915/glk: Add new bit fields in MIPI CTRL register Dhinakaran Pandiyan (2): drm/i915: Fix DP link rate math drm/i915: Validate mode against max. link data rate for DP MST Elaine Wang (1): drm/i915: Check num_pipes before initializing audio component Geliang Tang (1): drm/i915/debugfs: use rb_entry() Hans de Goede (4): drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting drm/i915/dsi: Move disable pll call outside of clear_device_ready() Imre Deak (10): drm/i915/lspcon: Ensure AUX CH is awake while in DP Sleep state drm/i915/lspcon: Add dp_to_lspcon helper() drm/i915/lspcon: Wait for expected LSPCON mode to settle drm/i915/lspcon: Remove unused force change mode parameter drm/i915/lspcon: Enable AUX interrupts for resume time initialization drm/i915/gen6+: Clear upper data byte during PCODE write drm/i915: Add I2C and DP-AUX char devices to debug kconfig drm/i915/gen9: Fix PCODE polling during CDCLK change notification drm/i915/gen9: Fix PCODE polling during SAGV disabling drm/i915/ddi: Rely on VBT DDI port info for eDP detection Jani Nikula (9): drm/i915: replace platform flags with a platform enum drm/i915: keep intel device info structs in gen based order drm/i915: rename BROADWATER and CRESTLINE to I965G and I965GM, respectively drm/i915: add some more "i" in platform names for consistency drm/i915: give G45 and GM45 their own platform enums drm/i915: use platform enum instead of duplicating PCI ID if possible drm/i915: distinguish G33 and Pineview from each other drm/i915/bxt: add bxt dsi gpio element support drm/i915: simplify check for I915G/I945G in bit 6 swizzling detection Joonas Lahtinen (2): drm/i915: Rename i915_gem_timeline.next_seqno to .seqno drm/i915: Catch non-existent registers in find_fw_domain Jérémy Lefaure (1): drm/i915: fix compilation warnings on maybe uninitialized pointers Libin Yang (6): drm/i915/audio: fix hdmi audio noise issue drm/i915/debugfs: add dp mst info drm/i915: abstract ddi being audio enabled drm/i915: enable dp mst audio drm/i915/audio: extend get_saved_enc() to support more scenarios drm/i915/audio: extend audio sync rate support for DP MST Maarten Lankhorst (1): drm/i915: Remove all ->config dereferences from intel_hdmi, v2. Madhav Chauhan (1): drm/i915/glk: Update Port PLL enable sequence for Geminilkae Mahesh Kumar (5): drm/i915/skl: Add variables to check x_tile and y_tile drm/i915/bxt: IPC WA for Broxton drm/i915/kbl: IPC workaround for kabylake drm/i915/skl+: change WM calc to fixed point 16.16 drm/i915: Add intel_atomic_get_existing_crtc_state function Manasi Navare (3): drm/i915: Compute sink's max lane count/link BW at Hotplug drm/i915: Find fallback link rate/lane count drm/i915: Move all the DP compliance data to a separate struct Matthew Auld (9): drm/i915: cleanup use of INSTR_CLIENT_MASK drm/i915: kick out cmd_parser specific structs from i915_drv.h drm/i915: drop the struct_mutex when wedged or trying to reset drm/i915: make i915_suspend_switcheroo static drm/i915: allow GEM_BUG_ON expr checking with !DEBUG_GEM drm/i915: introduce GEM_WARN_ON drm/i915: move vma sanity checking into i915_vma_bind drm/i915: introduce range_overflows utility macros drm/i915: convert to using range_overflows Michal Wajdeczko (2): drm/i915: Fix inconsistent naming of i915_guc_client parameter drm/i915/guc: Make intel_guc_recv static. Michel Thierry (2): drm/i915: Advertise ppgtt support type in platform definition drm/i915: Keep has_* in alphabetical order Mika Kahola (3): drm/i915: Intel panel detection cleanup drm/i915: Intel panel downclock cleanup drm/i915: clean up Hz to PWM for i965 Mika Kuoppala (8): drm/i915: Add more keywords to firmware loading message drm/i915: Split up hangcheck phases drm/i915: Decouple hang detection from hangcheck period drm/i915: Use request retirement as context progress drm/i915: Add bannable context parameter drm/i915: Add per client max context ban limit drm/i915: Wipe hang stats as an embedded struct drm/i915: Fix setting of boost freq tunable Nabendu Maiti (1): drm/i915: Move number of scalers initialization to runtime init Nagaraju, Vathsala (1): drm/i915/psr: report psr2 hw enabled from psr2_ctl Nicholas Mc Guire (2): drm/i915: relax uncritical udelay_range() settings drm/i915: relax uncritical udelay_range() Paulo Zanoni (7): drm/i915: disable PSR by default on HSW/BDW drm/i915: skip the first 4k of stolen memory on everything >= gen8 drm/i915: fully apply WaSkipStolenMemoryFirstPage drm/i915: fix INTEL_BDW_IDS definition drm/i915: more .is_mobile cleanups for BDW drm/i915: actually drive the BDW reserved IDs drm/i915: enable FBC on gen9+ too Robert Bragg (13): drm/i915: Add i915 perf infrastructure drm/i915: rename OACONTROL GEN7_OACONTROL drm/i915: return EACCES for check_cmd() failures drm/i915: don't whitelist oacontrol in cmd parser drm/i915: Add 'render basic' Haswell OA unit config drm/i915: Enable i915 perf stream for Haswell OA unit drm/i915: advertise available metrics via sysfs drm/i915: Add dev.i915.perf_stream_paranoid sysctl option drm/i915: add dev.i915.oa_max_sample_rate sysctl drm/i915: Add more Haswell OA metric sets drm/i915: Add a kerneldoc summary for i915_perf.c drm/i915/perf: use DRM_DEBUG for userspace issues drm/i915/perf: More documentation hooked to i915.rst Rodrigo Vivi (7): drm/i915: Create a common GEN9_LP_FEATURE. drm/i915: Only poll DW3_A when init DDI PHY for ports B and C. drm/i915: Expand is_lp backwards to gen8_lp and gen7_lp. drm/i915: Rename get stolen functions for LP platforms chv+ drm/i915: Simplify gem stolen initialization. drm/i915: Remove useless VLV_FEATURE Macro. drm/i915: Update SKL SRV GT4 pci ids reference. Tomeu Vizoso (1): drm/i915/debugfs: Move out pipe CRC code Tvrtko Ursulin (17): drm/i915/guc: Remove unused intel_guc_fw struct member drm/i915: i915_gem_alloc_context_obj can be static drm/i915: Make GEM object alloc/free and stolen created take dev_priv drm/i915: Make GEM object create and create from data take dev_priv drm/i915: Make various init functions take dev_priv drm/i915: More GEM init dev_priv cleanup drm/i915: dev_priv cleanup in bridge/bar/mmio init code drm/i915: Unexport VGA switcheroo functions drm/i915: Make gmbus setup take dev_priv drm/i915: Make i915_destroy_error_state take dev_priv drm/i915: Make i915_save/restore_state and intel_i2c_reset take dev_priv drm/i915: Make intel_pm_setup take dev_priv drm/i915: Fix kerneldoc for intel_guc_fini drm/i915: Shrink pipe config checker drm/i915: Use DRM_DEV_ERROR in i915_driver_load drm/i915: Optimise VMA lookup slightly drm/i915: Fix use after free in logical_render_ring_init Vidya Srinivas (1): drm/i915: Parse panel backlight controller from VBT Ville Syrjälä (40): drm/i915: Make skl_write_{plane,cursor}_wm() static drm/i915: Add per-pipe plane identifier drm/i915: Add crtc->plane_ids_mask drm/i915: Use enum plane_id in SKL wm code drm/i915: Use enum plane_id in SKL plane code drm/i915: Use enum plane_id in VLV/CHV sprite code drm/i915: Use enum plane_id in VLV/CHV wm code drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things drm/i915: Protect dev_priv->atomic_cdclk_freq with all the crtc locks drm/i915: Simplify error handling in intel_modeset_all_pipes() drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time drm/i915: Drop the nop intel_update_watermarks() call from haswell_crtc_enable() drm/i915: Use the ilk_disable_lp_wm() return value drm/i915: Fix the level 0 max_wm hack on VLV/CHV drm/i915: Clean up VLV/CHV maxfifo watermark setup drm/i915: Remove duplicated wm setup for vlv and chv drm/i915: Organize vlv/chv watermarks by plane_id drm/i915: Introduce vlv_invert_wm_value() drm/i915: Pass around dev_priv in vlv wm functions drm/i915: Protect cxsr state with wm_mutex drm/i915: Skip vblank wait if cxsr was already off drm/i915: Zero out HOWM registers before writing new WM/HOWM register values drm/i915: Write all DDL registers in one go drm/i915: Clean up vlv_program_watermarks() drm/i915: Pass crtc state to vlv_compute_wm_level() drm/i915: Protect DSPARB registers with a spinlock drm/i915: Prevent PPS stealing from a normal DP port on VLV/CHV drm/i915: Force VDD off on the new power seqeuencer before starting to use it drm/i915: Move the min_pixclk[] handling to the end of readout drm/i915: Initialize overlay->last_flip properly drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff drm/i915: Fix oops in overlay due to frontbuffer tracking drm/i915: Fix the overlay frontbuffer tracking drm/i915: Use pipe_src_w in overlay code drm/i915: Kill intel_panel_fitter_pipe() drm/i915: Simplify SWIDTHSW calculation drm/i915: Reorganize overlay filter coeffs into a nicer form drm/i915: Use primary plane->state for overlay ckey setup drm/i915: Disable L2 cache clock gating on 830 when using the overlay drm/i915: Kill the 830 MI_OVERLAY_OFF workaround Vincente Tsou (1): drm/915: Parsing the missed out DTD fields from the VBT Zhi Wang (1): drm/i915: Move the release of PT page to the upper caller .../bindings/display/bridge/ti,ths8135.txt | 46 + .../bindings/display/hisilicon/hisi-ade.txt | 2 +- Documentation/dma-buf-sharing.txt | 482 ----- Documentation/driver-api/dma-buf.rst | 92 + Documentation/gpu/i915.rst | 103 + MAINTAINERS | 2 +- drivers/char/agp/intel-gtt.c | 6 +- drivers/dma-buf/dma-buf.c | 208 +- drivers/dma-buf/sync_file.c | 15 +- drivers/gpu/drm/Kconfig | 19 + drivers/gpu/drm/Makefile | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 + drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 6 +- drivers/gpu/drm/arc/arcpgu_crtc.c | 3 +- drivers/gpu/drm/arc/arcpgu_hdmi.c | 5 +- drivers/gpu/drm/arm/hdlcd_crtc.c | 18 +- drivers/gpu/drm/arm/malidp_planes.c | 10 +- drivers/gpu/drm/armada/armada_crtc.c | 9 +- drivers/gpu/drm/armada/armada_fb.c | 2 +- drivers/gpu/drm/armada/armada_fbdev.c | 5 +- drivers/gpu/drm/armada/armada_overlay.c | 4 +- drivers/gpu/drm/ast/ast_drv.h | 1 + drivers/gpu/drm/ast/ast_fb.c | 4 +- drivers/gpu/drm/ast/ast_main.c | 2 +- drivers/gpu/drm/ast/ast_mode.c | 16 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 4 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 22 +- drivers/gpu/drm/bochs/bochs.h | 1 + drivers/gpu/drm/bochs/bochs_fbdev.c | 2 +- drivers/gpu/drm/bochs/bochs_mm.c | 2 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 9 +- drivers/gpu/drm/bridge/dumb-vga-dac.c | 1 + drivers/gpu/drm/bridge/dw-hdmi.c | 3 +- drivers/gpu/drm/cirrus/cirrus_drv.h | 1 + drivers/gpu/drm/cirrus/cirrus_fbdev.c | 6 +- drivers/gpu/drm/cirrus/cirrus_main.c | 2 +- drivers/gpu/drm/cirrus/cirrus_mode.c | 9 +- drivers/gpu/drm/drm_atomic.c | 26 +- drivers/gpu/drm/drm_atomic_helper.c | 115 +- drivers/gpu/drm/drm_bridge.c | 59 +- drivers/gpu/drm/drm_connector.c | 229 ++- drivers/gpu/drm/drm_crtc.c | 9 +- drivers/gpu/drm/drm_crtc_helper.c | 53 +- drivers/gpu/drm/drm_crtc_internal.h | 9 + drivers/gpu/drm/drm_debugfs.c | 1 + drivers/gpu/drm/drm_drv.c | 11 +- drivers/gpu/drm/drm_edid.c | 1 + drivers/gpu/drm/drm_encoder.c | 17 +- drivers/gpu/drm/drm_fb_cma_helper.c | 11 +- drivers/gpu/drm/drm_fb_helper.c | 28 +- drivers/gpu/drm/drm_fops.c | 2 +- drivers/gpu/drm/drm_framebuffer.c | 53 +- drivers/gpu/drm/drm_internal.h | 8 +- drivers/gpu/drm/drm_ioctl.c | 23 +- drivers/gpu/drm/drm_irq.c | 30 +- drivers/gpu/drm/drm_mm.c | 571 +++-- drivers/gpu/drm/drm_mode_config.c | 145 +- drivers/gpu/drm/drm_mode_object.c | 3 +- drivers/gpu/drm/drm_modeset_helper.c | 25 +- drivers/gpu/drm/drm_of.c | 1 + drivers/gpu/drm/drm_plane.c | 14 +- drivers/gpu/drm/drm_plane_helper.c | 6 +- drivers/gpu/drm/drm_probe_helper.c | 18 +- drivers/gpu/drm/drm_simple_kms_helper.c | 21 +- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 +- drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 9 +- drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 6 +- drivers/gpu/drm/exynos/exynos7_drm_decon.c | 8 +- drivers/gpu/drm/exynos/exynos_dp.c | 5 +- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 6 +- drivers/gpu/drm/exynos/exynos_drm_fb.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 6 +- drivers/gpu/drm/exynos/exynos_drm_fimd.c | 4 +- drivers/gpu/drm/exynos/exynos_mixer.c | 12 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 3 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h | 2 + drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 4 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 5 +- drivers/gpu/drm/gma500/accel_2d.c | 2 +- drivers/gpu/drm/gma500/framebuffer.c | 6 +- drivers/gpu/drm/gma500/gma_display.c | 13 +- drivers/gpu/drm/gma500/mdfld_intel_display.c | 17 +- drivers/gpu/drm/gma500/oaktrail_crtc.c | 13 +- drivers/gpu/drm/gma500/psb_intel_drv.h | 1 + drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 6 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 2 +- drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c | 2 +- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 5 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 17 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 8 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 4 +- drivers/gpu/drm/i915/Kconfig.debug | 15 + drivers/gpu/drm/i915/Makefile | 9 +- drivers/gpu/drm/i915/gvt/aperture_gm.c | 7 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 5 +- drivers/gpu/drm/i915/gvt/handlers.c | 2 +- drivers/gpu/drm/i915/gvt/scheduler.c | 10 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 174 +- drivers/gpu/drm/i915/i915_debugfs.c | 1047 +--------- drivers/gpu/drm/i915/i915_drv.c | 146 +- drivers/gpu/drm/i915/i915_drv.h | 880 +++++--- drivers/gpu/drm/i915/i915_gem.c | 286 +-- drivers/gpu/drm/i915/i915_gem.h | 4 +- drivers/gpu/drm/i915/i915_gem_context.c | 244 +-- drivers/gpu/drm/i915/i915_gem_context.h | 277 +++ drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 +- drivers/gpu/drm/i915/i915_gem_evict.c | 165 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 10 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 36 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 193 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 21 +- drivers/gpu/drm/i915/i915_gem_internal.c | 4 +- drivers/gpu/drm/i915/i915_gem_request.c | 75 +- drivers/gpu/drm/i915/i915_gem_request.h | 30 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 119 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gem_timeline.c | 16 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 2 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 115 +- drivers/gpu/drm/i915/i915_guc_reg.h | 7 +- drivers/gpu/drm/i915/i915_guc_submission.c | 368 ++-- drivers/gpu/drm/i915/i915_irq.c | 14 +- drivers/gpu/drm/i915/i915_oa_hsw.c | 752 +++++++ drivers/gpu/drm/i915/i915_oa_hsw.h | 38 + drivers/gpu/drm/i915/i915_params.c | 6 +- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/i915_pci.c | 183 +- drivers/gpu/drm/i915/i915_perf.c | 2096 +++++++++++++++++++ drivers/gpu/drm/i915/i915_reg.h | 462 ++++- drivers/gpu/drm/i915/i915_suspend.c | 16 +- drivers/gpu/drm/i915/i915_sw_fence.c | 140 +- drivers/gpu/drm/i915/i915_sw_fence.h | 6 + drivers/gpu/drm/i915/i915_sysfs.c | 4 +- drivers/gpu/drm/i915/i915_trace.h | 34 +- drivers/gpu/drm/i915/i915_utils.h | 64 + drivers/gpu/drm/i915/i915_vma.c | 52 +- drivers/gpu/drm/i915/i915_vma.h | 18 +- drivers/gpu/drm/i915/intel_atomic.c | 31 - drivers/gpu/drm/i915/intel_atomic_plane.c | 51 +- drivers/gpu/drm/i915/intel_audio.c | 39 +- drivers/gpu/drm/i915/intel_bios.c | 27 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 10 +- drivers/gpu/drm/i915/intel_crt.c | 7 +- drivers/gpu/drm/i915/intel_csr.c | 4 +- drivers/gpu/drm/i915/intel_ddi.c | 70 +- drivers/gpu/drm/i915/intel_device_info.c | 53 +- drivers/gpu/drm/i915/intel_display.c | 776 ++++--- drivers/gpu/drm/i915/intel_dp.c | 355 ++-- drivers/gpu/drm/i915/intel_dp_mst.c | 28 +- drivers/gpu/drm/i915/intel_dpio_phy.c | 130 +- drivers/gpu/drm/i915/intel_dpll_mgr.c | 351 +++- drivers/gpu/drm/i915/intel_dpll_mgr.h | 178 +- drivers/gpu/drm/i915/intel_drv.h | 103 +- drivers/gpu/drm/i915/intel_dsi.c | 46 +- drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 38 +- drivers/gpu/drm/i915/intel_dsi_pll.c | 18 +- drivers/gpu/drm/i915/intel_dvo.c | 9 +- drivers/gpu/drm/i915/intel_engine_cs.c | 28 +- drivers/gpu/drm/i915/intel_fbc.c | 18 +- drivers/gpu/drm/i915/intel_fbdev.c | 14 +- drivers/gpu/drm/i915/intel_guc_fwif.h | 55 +- drivers/gpu/drm/i915/intel_guc_loader.c | 49 +- drivers/gpu/drm/i915/intel_hangcheck.c | 256 ++- drivers/gpu/drm/i915/intel_hdmi.c | 184 +- drivers/gpu/drm/i915/intel_i2c.c | 22 +- drivers/gpu/drm/i915/intel_lrc.c | 216 +- drivers/gpu/drm/i915/intel_lrc.h | 9 +- drivers/gpu/drm/i915/intel_lspcon.c | 94 +- drivers/gpu/drm/i915/intel_lvds.c | 8 +- drivers/gpu/drm/i915/intel_mocs.c | 7 +- drivers/gpu/drm/i915/intel_mocs.h | 2 +- drivers/gpu/drm/i915/intel_overlay.c | 291 +-- drivers/gpu/drm/i915/intel_panel.c | 32 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 939 +++++++++ drivers/gpu/drm/i915/intel_pm.c | 843 ++++---- drivers/gpu/drm/i915/intel_psr.c | 6 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 85 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 66 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 163 +- drivers/gpu/drm/i915/intel_sdvo.c | 21 +- drivers/gpu/drm/i915/intel_sprite.c | 131 +- drivers/gpu/drm/i915/intel_tv.c | 4 +- drivers/gpu/drm/i915/intel_uc.c | 142 ++ drivers/gpu/drm/i915/{intel_guc.h => intel_uc.h} | 41 +- drivers/gpu/drm/i915/intel_uncore.c | 14 +- drivers/gpu/drm/i915/intel_vbt_defs.h | 12 +- drivers/gpu/drm/imx/imx-ldb.c | 8 +- drivers/gpu/drm/imx/ipuv3-plane.c | 40 +- drivers/gpu/drm/imx/parallel-display.c | 6 +- drivers/gpu/drm/lib/drm_random.c | 41 + drivers/gpu/drm/lib/drm_random.h | 25 + drivers/gpu/drm/mediatek/mtk_dpi.c | 8 +- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 3 +- drivers/gpu/drm/mediatek/mtk_drm_fb.c | 2 +- drivers/gpu/drm/mediatek/mtk_drm_plane.c | 4 +- drivers/gpu/drm/mediatek/mtk_dsi.c | 24 +- drivers/gpu/drm/mediatek/mtk_hdmi.c | 11 +- drivers/gpu/drm/meson/meson_plane.c | 2 +- drivers/gpu/drm/mgag200/mgag200_drv.h | 1 + drivers/gpu/drm/mgag200/mgag200_fb.c | 4 +- drivers/gpu/drm/mgag200/mgag200_main.c | 2 +- drivers/gpu/drm/mgag200/mgag200_mode.c | 23 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 17 +- drivers/gpu/drm/msm/edp/edp_bridge.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 2 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 +- drivers/gpu/drm/msm/msm_fb.c | 12 +- drivers/gpu/drm/msm/msm_fbdev.c | 2 +- drivers/gpu/drm/mxsfb/mxsfb_crtc.c | 2 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 4 +- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 17 +- drivers/gpu/drm/nouveau/dispnv04/dfp.c | 3 +- drivers/gpu/drm/nouveau/dispnv04/overlay.c | 8 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 5 +- drivers/gpu/drm/nouveau/nouveau_connector.h | 1 + drivers/gpu/drm/nouveau/nouveau_display.c | 10 +- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 6 +- drivers/gpu/drm/nouveau/nouveau_ttm.c | 28 +- drivers/gpu/drm/nouveau/nv50_display.c | 14 +- drivers/gpu/drm/omapdrm/omap_fb.c | 12 +- drivers/gpu/drm/omapdrm/omap_fbdev.c | 2 +- drivers/gpu/drm/qxl/qxl_display.c | 2 +- drivers/gpu/drm/qxl/qxl_draw.c | 2 +- drivers/gpu/drm/qxl/qxl_drv.h | 1 + drivers/gpu/drm/qxl/qxl_fb.c | 5 +- drivers/gpu/drm/radeon/atombios_crtc.c | 19 +- drivers/gpu/drm/radeon/r100.c | 10 +- drivers/gpu/drm/radeon/radeon_display.c | 8 +- drivers/gpu/drm/radeon/radeon_fb.c | 4 +- drivers/gpu/drm/radeon/radeon_irq_kms.c | 12 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 16 +- drivers/gpu/drm/radeon/radeon_mode.h | 1 + drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 1 + drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 5 +- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 4 +- drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 4 +- drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 5 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 22 +- drivers/gpu/drm/selftests/Makefile | 1 + drivers/gpu/drm/selftests/drm_mm_selftests.h | 23 + drivers/gpu/drm/selftests/drm_selftest.c | 109 + drivers/gpu/drm/selftests/drm_selftest.h | 41 + drivers/gpu/drm/selftests/test-drm_mm.c | 2172 ++++++++++++++++++++ drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 6 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.h | 1 + drivers/gpu/drm/shmobile/shmob_drm_plane.c | 4 +- drivers/gpu/drm/sti/sti_dvo.c | 3 +- drivers/gpu/drm/sti/sti_gdp.c | 10 +- drivers/gpu/drm/sti/sti_hda.c | 3 +- drivers/gpu/drm/sti/sti_hdmi.c | 3 +- drivers/gpu/drm/sti/sti_hqvdp.c | 2 +- drivers/gpu/drm/sun4i/sun4i_backend.c | 5 +- drivers/gpu/drm/sun4i/sun4i_rgb.c | 13 +- drivers/gpu/drm/tegra/dc.c | 8 +- drivers/gpu/drm/tegra/drm.c | 5 +- drivers/gpu/drm/tegra/drm.h | 1 + drivers/gpu/drm/tegra/fb.c | 6 +- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 4 +- drivers/gpu/drm/tilcdc/tilcdc_external.c | 4 +- drivers/gpu/drm/tilcdc/tilcdc_plane.c | 4 +- drivers/gpu/drm/ttm/ttm_bo_manager.c | 10 +- drivers/gpu/drm/udl/udl_fb.c | 6 +- drivers/gpu/drm/vc4/vc4_drv.h | 2 + drivers/gpu/drm/vc4/vc4_plane.c | 8 +- drivers/gpu/drm/virtio/virtgpu_display.c | 3 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 1 + drivers/gpu/drm/virtio/virtgpu_fb.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 10 +- drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 11 +- drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 10 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 1 + drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 5 +- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 2 +- drivers/gpu/drm/zte/zx_plane.c | 4 +- include/drm/drmP.h | 13 + include/drm/drm_atomic.h | 8 +- include/drm/drm_atomic_helper.h | 3 - include/drm/drm_auth.h | 17 +- include/drm/drm_bridge.h | 4 +- include/drm/drm_connector.h | 79 +- include/drm/drm_crtc.h | 8 - include/drm/drm_encoder.h | 7 +- include/drm/drm_encoder_slave.h | 1 + include/drm/drm_framebuffer.h | 27 +- include/drm/drm_mm.h | 300 ++- include/drm/drm_mode_config.h | 12 +- include/drm/drm_modeset_helper.h | 3 +- include/drm/drm_modeset_helper_vtables.h | 1 + include/drm/drm_simple_kms_helper.h | 2 - include/drm/i915_pciids.h | 21 +- include/drm/intel-gtt.h | 6 +- include/linux/dma-buf.h | 224 +- include/linux/kref.h | 2 +- include/linux/prime_numbers.h | 37 + include/linux/reservation.h | 34 + include/uapi/drm/drm_fourcc.h | 11 + include/uapi/drm/i915_drm.h | 135 ++ lib/Kconfig | 7 + lib/Makefile | 2 + lib/prime_numbers.c | 314 +++ tools/testing/selftests/drivers/gpu/drm_mm.sh | 15 + tools/testing/selftests/lib/prime_numbers.sh | 15 + 314 files changed, 15155 insertions(+), 6196 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,ths8135.txt delete mode 100644 Documentation/dma-buf-sharing.txt create mode 100644 drivers/gpu/drm/i915/i915_gem_context.h create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h create mode 100644 drivers/gpu/drm/i915/i915_perf.c create mode 100644 drivers/gpu/drm/i915/i915_utils.h create mode 100644 drivers/gpu/drm/i915/intel_pipe_crc.c create mode 100644 drivers/gpu/drm/i915/intel_uc.c rename drivers/gpu/drm/i915/{intel_guc.h => intel_uc.h} (85%) create mode 100644 drivers/gpu/drm/lib/drm_random.c create mode 100644 drivers/gpu/drm/lib/drm_random.h create mode 100644 drivers/gpu/drm/selftests/Makefile create mode 100644 drivers/gpu/drm/selftests/drm_mm_selftests.h create mode 100644 drivers/gpu/drm/selftests/drm_selftest.c create mode 100644 drivers/gpu/drm/selftests/drm_selftest.h create mode 100644 drivers/gpu/drm/selftests/test-drm_mm.c create mode 100644 include/linux/prime_numbers.h create mode 100644 lib/prime_numbers.c create mode 100755 tools/testing/selftests/drivers/gpu/drm_mm.sh create mode 100755 tools/testing/selftests/lib/prime_numbers.sh -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel