Hi Dave and Daniel, I do regret for taking so long for this first pull request. It accumulated over 400 patches with many code refactors, specially around gpu hangs detection/recover/debugability; display watermark handling; drm logs and warns; and our display conversion to use drm_i915_private *i915 with functions to modify registers instead the old global dev_priv with I915_READ/WRITE mmio macros. It also include fixes for Ice Lake and Elkhart Lake, and platform enabling work for Tiger Lake. I tried to do my best to capture the changes and bucketize them on the tag description below. Also right after doing the tag yesterday I tried a backmerge what generated a conflict on i915/gt/intel_lrc.c. So I solved this by only going with the latest we had on drm-intel-next-queued. It was simple, but I decided to do an extra small tag in an attempt to make it smoother for you. I hope it helps, but in the worst case it is just a matter of getting the latest version on every chunk. Here goes drm-intel-next-2020-02-25: - A backmerge of drm-next solving conflicts on i915/gt/intel_lrc.c - Clean up shadow batch after I915_EXEC_SECURE - Drop assertion that active->fence is unchanged drm-intel-next-2020-02-24-1: - RC6 fixes - Chris - Add extra slice common debug register - Lionel - Align virtual engines uabi_class/instance with i915_drm.h - Tvrtko - Avoid potential division by zero in computing CS timestamp - Chris - Avoid using various globals - Michal Winiarski, Matt Auld - Break up long lists of GEM object reclaim - Chris - Check that the vma hasn't been closed before we insert it - Chris - Consolidate SDVO HDMI force_dvi handling - Ville - Conversion to new logging and warn macros and functions - Pankaj, Wambul, Chris - DC3CO fixes - Jose - Disable use of hwsp_cacheline for kernel_context - Chris - Display IRQ pre/post uninstall refactor - Jani - Display port sync refactor for robustness and fixes - Ville, Manasi - Do not attempt to reprogram IA/ring frequencies for dgfx - Chris - Drop alpha_support for good in favor of force_probe - Jani - DSI ACPI related fixes and refactors - Vivek, Jani, Rajat - Encoder refactor for flexibility to add more information, especiallly DSI related - Jani, Vandita - Engine workarounds refactor for robustness around resue - Daniele - FBC simplification and tracepoints - Various fixes for build - Jani, Kees Cook, Chris, Zhang Xiaoxu - Fix cmdparser - Chris - Fix DRM_I915_GEM_MMAP_OFFFSET - Chris - Fix i915_request flags - Chris - Fix inconsistency between pfit enable and scaler freeing - Stanislav - Fix inverted warn_on on display code - Chris - Fix modeset locks in sanitize_watermarks - Ville - Fix OA context id overlap with idle context id - Umesh - Fix pipe and vblank enable for MST - Jani - Fix VBT handling for timing parameters - Vandita - Fixes o kernel doc - Chris, Ville - Force full modeset whenever DSC is enabled at probe - Jani - Various GEM locking simplification and fixes - Jani , Chris, Jose - Including some changes in preparation for making GEM execbuf parallel - Chris - Gen11 pcode error codes - Matt Roper - Gen8+ interrupt handler refactor - Chris - Many fixes and improvements around GuC code - Daniele, Michal Wajdeczko - i915 parameters improvements sfor flexible input and better debugability - Chris, Jani - Ice Lake and Elkhart Lake Fixes and workarounds - Matt Roper, Jose, Vivek, Matt Atwood - Improvements on execlists, requests and other areas, fixing hangs and also improving hang detection, recover and debugability - Chris - Also introducing offline GT error capture - Chris - Introduce encoder->compute_config_late() to help MST - Ville - Make dbuf configuration const - Jani - Few misc clean ups - Ville, Chris - Never allow userptr into the new mapping types - Janusz - Poison rings after use and GTT scratch pages - Chris - Protect signaler walk with RCU - Chris - PSR fixes - Jose - Pull sseu context updates under gt - Chris - Read rawclk_freq earlier - Chris - Refactor around VBT handling to allow geting information through the encoder - Jani - Refactor l3cc/mocs availability - Chris - Refactor to use intel_connector over drm_connector - Ville - Remove i915_energy_uJ from debugfs - Tvrtko - Remove lite restore defines - Mika Kuoppala - Remove prefault_disable modparam - Chris - Many selftests fixes and improvements - Chris - Set intel_dp_set_m_n() for MST slaves - Jose - Simplify hot plug pin handling and other fixes around pin and polled modes - Ville - Skip CPU synchronization on dma-buf attachments - chris - Skip global serialization of clear_range for bxt vtd - Chris - Skip rmw for marked register - Chris - Some other GEM Fixes - Chris - Some small changes for satisfying static code analysis - Colin, Chris - Suppress warnings for unused debugging locals - Tiger Lake enabling, including re-enable -f RPS, workarounds and other display fixes and changes - Chris, Matt Roper, Mika Kuoppala, Anshuman, Jose, Radhakrishna, Rafael. - Track hw reported context runtime - Tvrtko - Update bug filling URL - Jani - Use async bind for PIN_USER into bsw/bxt ggtt - Chris - Use the kernel_context to measuer the breadcrumb size - Chris - Userptr fixes and robustness for big pages - Matt Auld - Various Display refactors and clean-ups, specially around logs and use of drm_i915_private - Jani, Ville - Various display refactors and fixes, especially around cdclk, modeset, and encoder - Chris, Jani - Various eDP/DP fixes around DPCD - Lyude - Various fixes and refactors for better Display watermark handling - Ville, Stanislav - Various other display refactors - Ville - Various refactor for better handling of display plane states - Ville - Wean off drm_pci_alloc/drm_pci_free - Chris - Correctly terminate connector iteration- Ville - Downgrade gen7 (ivb, byt, hsw) back to aliasing-ppgtt - Chris Thanks, Rodrigo. The following changes since commit 1b245ec5b685ebf8e6e5d1e6b5bcc03b6608e8b0: Merge tag 'drm-misc-next-2020-02-10' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2020-02-21 05:44:40 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-02-25 for you to fetch changes up to 53e3ca6749186b5c147964bddc4eb47ba8b5f69e: drm/i915: Update DRIVER_DATE to 20200225 (2020-02-25 10:41:22 -0800) ---------------------------------------------------------------- - A backmerge of drm-next solving conflicts on i915/gt/intel_lrc.c - Clean up shadow batch after I915_EXEC_SECURE - Drop assertion that active->fence is unchanged ---------------------------------------------------------------- Anshuman Gupta (1): drm/i915: HDCP support on above PORT_E Chris Wilson (119): drm/i915/pmu: Correct the rc6 offset upon enabling drm/i915/gt: Clear rc6 residency trackers across suspend drm/i915/gem: Take local vma references for the parser drm/i915/selftests: Add a mock i915_vma to the mock_ring drm/i915/gt: Use the BIT when checking the flags, not the index drm/i915/execlists: Leave resetting ring to intel_ring drm/i915/gt: Drop rogue space in the middle of GT_TRACE drm/i915: Keep track of request among the scheduling lists drm/i915/gt: Allow temporary suspension of inflight requests drm/i915/execlists: Offline error capture drm/i915: Include the debugfs params header for its own definition drm/i915: Fix typo in kerneldoc function name drm/i915: Satisfy smatch that a loop has at least one iteration drm/i915/gt: Report the currently active execlists request drm/i915/gt: Be paranoid and reset the GPU before release drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list drm/i915: Don't show the blank process name for internal/simulated errors drm/i915: Clear the GGTT_WRITE bit on unbinding the vma drm/i915/gt: Include a tell-tale for engine parking drm/i915/execlists: Take a reference while capturing the guilty request drm/i915/execlists: Reclaim the hanging virtual request drm/i915: Mark the removal of the i915_request from the sched.link drm/i915/gem: Convert vm idr to xarray drm/i915/gem: Detect overflow in calculating dumb buffer size drm/i915/selftests: Show the RC6 residency on parking failure drm/i915/gem: Prevent NULL pointer dereference on missing ctx->vm drm/i915: Check activity on i915_vma after confirming pin_count==0 drm/i915: Wait on vma activity before taking the mutex drm/i915/gt: Flush engine parking before release drm/i915/gt: Poison GTT scratch pages drm/i915/tgl: Re-enable RPS drm/i915/display: Squelch kerneldoc complaints drm/i915: Stub out i915_gpu_coredump_put drm/i915: Remove 'prefault_disable' modparam drm/i915: Tighten atomicity of i915_active_acquire vs i915_active_release drm/i915: Restore the kernel context after verifying the w/a drm/i915/gt: Acquire ce->active before ce->pin_count/ce->pin_mutex drm/i915: Skip capturing errors from internal contexts drm/i915/gt: Reorganise gen8+ interrupt handler drm/i915/gt: Tidy repetition in declaring gen8+ interrupts drm/i915/gt: Lift set-wedged engine dumping out of user paths drm/i915/trace: i915_request.prio is a signed value drm/i915/selftests: Lock the drm_mm as we search drm/i915/execlist: Mark up racy read of execlists->pending[0] drm/i915/gt: Hook up CS_MASTER_ERROR_INTERRUPT drm/i915/execlists: Ignore discrepancies in pending[] across resets drm/i915/gt: Skip global serialisation of clear_range for bxt vtd drm/i915/fbc: __intel_fbc_cleanup_cfb() may be called multiple times drm/i915/gem: Tighten checks and acquiring the mmap object drm/i915/gt: Rename i915_gem_restore_ggtt_mappings() for its new placement drm/i915: Use the async worker to avoid reclaim tainting the ggtt->mutex drm/i915/gem: Require per-engine reset support for non-persistent contexts drm/i915/gt: Also use async bind for PIN_USER into bsw/bxt ggtt drm/i915/selftests: Also wait for the scratch buffer to be bound drm/i915/selftests: Disable heartbeat around hang tests drm/i915/gt: Skip rmw for masked registers drm/i915: Hold reference to previous active fence as we queue drm/i915: Initialise basic fence before acquiring seqno drm/i915/gt: Warn about the hidden i915_vma_pin in timeline_get_seqno drm/i915/audio: Skip the cdclk modeset if no pipes attached drm/i915/display: Fix NULL-crtc deref in calc_min_cdclk() drm/i915/display: Defer application of initial chv_phy_control drm/i915/selftests: Add a simple rollover test for the kernel context drm/i915/selftest: Ensure string fits within name[] drm/i915/gt: Pull sseu context updates under gt drm/i915: Wean off drm_pci_alloc/drm_pci_free drm/i915/gt: Fix rc6 on Ivybridge drm/i915/display: Explicitly cleanup initial_plane_config drm/i915/display: Be explicit in handling the preallocated vma drm/i915: Mark i915.reset as unsigned drm/i915: Flush execution tasklets before checking request status drm/i915/gt: Set the PP_DIR registers upon enabling ring submission drm/i915/gt: Prevent queuing retire workers on the virtual engine drm/i915/gt: Protect defer_request() from new waiters drm/i915/gt: Protect execlists_hold/unhold from new waiters drm/i915: Fix force-probe failure message drm/i915/gt: Use the kernel_context to measure the breadcrumb size drm/i915/gt: Only ignore already reset requests drm/i915/execlists: Always force a context reload when rewinding RING_TAIL drm/i915/gt: Fix hold/unhold recursion drm/i915/execlists: Ignore tracek for nop process_csb drm/i915/selftests: Remove erroneous intel_engine_pm_put drm/i915/selftests: Disable capturing forced error states drm/i915/selftests: Drop live_preempt_hang drm/i915/selftests: Trim blitter block size drm/i915: Skip CPU synchronisation on dmabuf attachments drm/i915/gt: Avoid resetting ring->head outside of its timeline mutex drm/i915/selftests: Relax timeout for error-interrupt reset processing drm/i915: Disable use of hwsp_cacheline for kernel_context drm/i915/gem: Don't leak non-persistent requests on changing engines drm/i915: Poison rings after use drm/i915/selftests: Sabotague the RING_HEAD drm/i915/selftests: Avoid choosing zero for phys_sz drm/i915/gt: Expand bad CS completion event debug drm/i915/gt: Suppress warnings for unused debugging locals drm/i915/selftests: Exercise timeslice rewinding drm/i915/selftests: Check for the error interrupt before we wait! drm/i915: Avoid potential division-by-zero in computing CS timestamp period drm/i915/gt: Rearrange code to silence compiler drm/i915/selftests: Mark the mock ring->vma as being in the GGTT drm/i915/selftests: Check for any sign of request starting in wait_for_submit() drm/i915/gt: Fix up missing error propagation for heartbeat pulses drm/i915/selftests: Flush tasklet on wait_for_submit() drm/i915/gt: Show the cumulative context runtime in engine debug drm/i915/gt: Refactor l3cc/mocs availability drm/i915: Read rawclk_freq earlier drm/i915/selftest: Analyse timestamp behaviour across context switches drm/i915/selftests: Mark GPR checking more hostile drm/i915/gt: Do not attempt to reprogram IA/ring frequencies for dgfx drm/i915/gt: Protect signaler walk with RCU drm/i915: Double check bumping after the spinlock drm/i915/gem: Break up long lists of object reclaim drm/i915: Check that the vma hasn't been closed before we insert it drm/i915: Avoid recursing onto active vma from the shrinker drm/i915/gt: Push the GPU cancellation to the backend drm/i915/display: Fix inverted WARN_ON drm/i915/gtt: Downgrade gen7 (ivb, byt, hsw) back to aliasing-ppgtt drm/i915/gem: Cleanup shadow batch after I915_EXEC_SECURE drm/i915: Drop assertion that active->fence is unchanged Colin Ian King (1): drm/i915/gt: remove redundant assignment to variable dw Daniele Ceraolo Spurio (11): drm/i915: extract engine WA programming to common resume function drm/i915: Move ringbuffer WAs to engine workaround list drm/i915/debugfs: Pass guc_log struct to i915_guc_log_info drm/i915/guc: Kill USES_GUC macro drm/i915/guc: Kill USES_GUC_SUBMISSION macro drm/i915/uc: Update the FW status on injected fetch error drm/i915/uc: autogenerate uC checker functions drm/i915/uc: Improve tracking of uC init status drm/i915/guc: Apply new uC status tracking to GuC submission as well drm/i915/uc: Abort early on uc_init failure drm/i915/uc: consolidate firmware cleanup Jani Nikula (77): drm/i915/params: add i915 parameters to debugfs drm/i915/params: support bool values for int and uint params drm/i915/bios: add intel_bios_max_tmds_encoder() drm/i915/bios: add intel_bios_hdmi_level_shift() drm/i915/bios: intel_bios_dp_boost_level() drm/i915/bios: intel_bios_hdmi_boost_level() drm/i915/bios: add intel_bios_dp_max_link_rate() drm/i915/bios: add intel_bios_alternate_ddc_pin() drm/i915/bios: add intel_bios_port_supports_*() drm/i915/bios: check DDI port presence based on child device drm/i915: use intel_bios_is_port_present() drm/i915/dp: debug log max vswing and pre-emphasis drm/i915: drop alpha_support for good in favour of force_probe Merge tag 'topic/drm-warn-2020-01-22' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next-queued drm/i915: add display engine uncore helpers drm/i915/dmc: use intel uncore functions for forcewake register access drm/i915/irq: use intel de functions for forcewake register access drm/i915/pm: use intel de functions for forcewake register access drm/i915/audio: use intel_de_*() functions for register access drm/i915/cdclk: use intel_de_*() functions for register access drm/i915/color: use intel_de_*() functions for register access drm/i915/crt: use intel_de_*() functions for register access drm/i915/dpio_phy: use intel_de_*() functions for register access drm/i915/dpll_mgr: use intel_de_*() functions for register access drm/i915/dp_mst: use intel_de_*() functions for register access drm/i915/dsb: use intel_de_*() functions for register access drm/i915/dvo: use intel_de_*() functions for register access drm/i915/fbc: use intel_de_*() functions for register access drm/i915/fifo_underrun: use intel_de_*() functions for register access drm/i915/gmbus: use intel_de_*() functions for register access drm/i915/hdmi: use intel_de_*() functions for register access drm/i915/lpe_audio: use intel_de_*() functions for register access drm/i915/lvds: use intel_de_*() functions for register access drm/i915/overlay: use intel_de_*() functions for register access drm/i915/panel: use intel_de_*() functions for register access drm/i915/sdvo: use intel_de_*() functions for register access drm/i915/tv: use intel_de_*() functions for register access drm/i915/vga: use intel_de_*() functions for register access drm/i915/pipe_crc: use intel_de_*() functions for register access drm/i915/psr: use intel_de_*() functions for register access drm/i915/sprite: use intel_de_*() functions for register access drm/i915/vdsc: use intel_de_*() functions for register access drm/i915/vlv_dsi: use intel_de_*() functions for register access drm/i915/vlv_dsi_pll: use intel_de_*() functions for register access drm/i915/icl_dsi: use intel_de_*() functions for register access drm/i915/combo_phy: use intel_de_*() functions for register access drm/i915/ddi: use intel_de_*() functions for register access drm/i915/display: use intel_de_*() functions for register access drm/i915/display_power: use intel_de_*() functions for register access drm/i915/dp: use intel_de_*() functions for register access drm/i915/hdcp: use intel_de_*() functions for register access drm/i915/psr: use intel_de_*() functions for register access drm/i915/debugfs: remove i915_dpcd file drm/i915/debugfs: remove VBT data about DRRS drm/i915: move pipe, pch and vblank enable to encoders on DDI platforms drm/i915: move intel_dp_set_m_n() to encoder for DDI platforms drm/i915/hdcp: move update pipe code to hdcp drm/i915/mst: fix pipe and vblank enable drm/i915/psr: pass i915 to psr_global_enabled() drm/i915/hdmi: prefer to_i915() over drm->dev_private to get at i915 drm/i915: register vga switcheroo later, unregister earlier drm/i915: switch i915_driver_probe() to use i915 local variable drm/i915: move intel_csr.[ch] under display/ drm/i915: split out display debugfs to a separate file drm/i915/dsc: force full modeset whenever DSC is enabled at probe MAINTAINERS: Update drm/i915 bug filing URL drm/i915: Update drm/i915 bug filing URL drm/i915: split out vlv/chv specific suspend/resume code drm/i915: switch vlv_suspend to use intel uncore register accessors drm/i915/csr: use intel_de_*() functions for register access drm/i915/display: use intel_de_*() functions for register access drm/i915/gem: use spinlock_t instead of struct spinlock drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall drm/i915: split i915_driver_modeset_probe() to pre/post irq install drm/i915: make dbuf configurations const drm/i915: fix header test with GCOV Janusz Krzysztofik (1): drm/i915: Never allow userptr into the new mapping types José Roberto de Souza (11): drm/i915/dp/tgl+: Update combo phy vswing tables drm/i915/vbt: Rename BDB_LVDS_POWER to BDB_LFP_POWER drm/i915/psr: Share the computation of idle frames drm/i915/dc3co: Do the full calculation of DC3CO exit only once drm/i915/dc3co: Avoid full modeset when EXITLINE needs to be changed drm/i915: Fix preallocated barrier list append drm/i915/display: Set TRANS_DDI_MODE_SELECT to default value when clearing DDI select drm/i915/display/ehl: Add HBR2 and HBR3 voltage swing table drm/i915/dc3co: Add description of how it works drm/i915/mst: Set intel_dp_set_m_n() for MST slaves drm/i915/psr: Force PSR probe only after full initialization Kees Cook (1): drm/i915: Distribute switch variables for initialization Lionel Landwerlin (1): drm/i915: add extra slice common debug registers Lyude Paul (6): drm/i915: Fix eDP DPCD aux max backlight calculations drm/i915: Assume 100% brightness when not in DPCD control mode drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() drm/i915: Auto detect DPCD backlight support by default drm/i915: Don't use VBT for detecting DPCD backlight controls Revert "drm/i915: Don't use VBT for detecting DPCD backlight controls" Manasi Navare (3): drm/i915/dp: Do not set master_trans bit in bitmak if INVALID_TRANSCODER drm/i915/dp: Compute port sync crtc states post compute_config() drm/i915/dp: Add all tiled and port sync conns to modeset Matt Atwood (1): drm/i915: add Wa_14010594013: icl,ehl Matt Roper (6): drm/i915/gen11: Add additional pcode status values drm/i915/ehl: Update port clock voltage level requirements drm/i915/tgl: Update cdclk voltage level settings drm/i915: Program MBUS with rmw during initialization drm/i915/tgl: Program MBUS_ABOX{1,2}_CTL during display init drm/i915/tgl: Add Wa_22010178259:tgl Matthew Auld (5): drm/i915/userptr: add user_size limit check drm/i915/userptr: fix size calculation drm/i915/selftests/perf: measure memcpy bw between regions drm/i915/selftests: drop igt_ppgtt_exhaust_huge drm/i915: remove the other slab_dependencies Michal Wajdeczko (12): drm/i915/guc: Simpler CT message size calculation drm/i915/guc: Introduce CT_ERROR drm/i915/guc: Update CTB helpers to use CT_ERROR drm/i915/guc: Use correct name for last CT fence drm/i915/guc: Don't GEM_BUG_ON on corrupted G2H CTB drm/i915/guc: Don't pass CTB while writing drm/i915/guc: Don't pass CTB while reading drm/i915/guc: Switch to CT_ERROR in ct_read drm/i915/guc: Introduce CT_DEBUG drm/i915/guc: Don't GEM_BUG_ON on corrupted H2G CTB drm/i915/guc: Introduce guc_is_ready drm/i915/guc: Make sure to sanitize CT status Michał Winiarski (2): drm/i915/pmu: Avoid using globals for CPU hotplug state drm/i915/pmu: Avoid using globals for PMU events Mika Kuoppala (4): drm/i915: Disable tesselation clock gating on tgl A0 drm/i915: Implement Wa_1607090982 drm/i915: Remove lite restore defines drm/i915: Use engine wa list for Wa_1607090982 Pankaj Bharadiya (24): drm/i915/display: Make WARN* drm specific where encoder ptr is available drm/i915/gem: Make WARN* drm specific where drm_priv ptr is available drm/i915/gt: Make WARN* drm specific where drm_priv ptr is available drm/i915: Make WARN* drm specific where drm_priv ptr is available drm/i915: Make WARN* drm specific where uncore or stream ptr is available drm/i915/display/icl_dsi: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/audio: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/crt: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/dpll_mgr: Make WARN* drm specific where drm_device ptr is available drm/i915/display/fbc: Make WARN* drm specific where drm_priv ptr is available drm/i915/fbdev: Make WARN* drm specific where drm_device ptr is available drm/i915/display/hdmi: Make WARN* drm specific where drm_device ptr is available drm/i915/display/overlay: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/panel: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/psr: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/sdvo: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/tc: Make WARN* drm specific where drm_priv ptr is available drm/i915/display: Make WARN* drm specific where drm_device ptr is available drm/i915/display/cdclk: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/ddi: Make WARN* drm specific where drm_device ptr is available drm/i915/display/display: Make WARN* drm specific where drm_device ptr is available drm/i915/display/power: Make WARN* drm specific where drm_priv ptr is available drm/i915/display/dp: Make WARN* drm specific where drm_device ptr is available drm/i915/display/hdcp: Make WARN* drm specific where drm_priv ptr is available Radhakrishna Sripada (1): drm/i915/tgl: Add Wa_1409825376 to tgl Rafael Antognolli (1): drm/i915/tgl: Add Wa_1808121037 to tgl. Rajat Jain (1): drm/i915/acpi: Move the code to populate ACPI device ID into intel_acpi Rodrigo Vivi (5): Merge drm/drm-next into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20200224 drm/i915: Update DRIVER_DATE to 20200224 Merge drm/drm-next into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20200225 Stanislav Lisovskiy (8): drm/i915: Fix inconsistance between pfit.enable and scaler freeing drm/i915: Remove skl_ddl_allocation struct drm/i915: Move dbuf slice update to proper place drm/i915: Update dbuf slices only with full modeset drm/i915: Introduce parameterized DBUF_CTL drm/i915: Manipulate DBuf slices properly drm/i915: Correctly map DBUF slices to pipes drm/i915: Ensure no conflicts with BIOS when updating Dbuf Tvrtko Ursulin (3): drm/i915: Align engine->uabi_class/instance with i915_drm.h drm/i915/debugfs: Remove i915_energy_uJ drm/i915: Track hw reported context runtime Umesh Nerlige Ramappa (1): drm/i915/perf: Fix OA context id overlap with idle context id Vandita Kulkarni (2): drm/i915/bios: Fix the timing parameters drm/i915/dsi: Enable ICL DSI transcoder as part of encoder->enable Ville Syrjälä (58): drm/i915: Make a copy of the ggtt view for slave plane drm/i915/fbc: Move the plane state check into the fbc functions drm/i915/fbc: Nuke fbc_supported() drm/i915/fbc: Add fbc tracepoints drm/i915: Fix post-fastset modeset check for port sync drm/i915: Clear most of crtc state when disabling the crtc drm/i915: Prefer to use the pipe to index the ddb entries drm/i915: Use PIPE_CONF_CHECK_X() for sync_mode_slaves_mask drm/i915: Move encoder variable to tighter scope drm/i915/sdvo: Reduce the size of the on stack buffers drm/i915: Consolidate HDMI force_dvi handling drm/i915/sdvo: Consolidate SDVO HDMI force_dvi handling drm/i915: Use intel_attached_encoder() drm/i915: Relocate intel_attached_dp() drm/i915: Use intel_attached_dp() instead of hand rolling it drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port() drm/i915/hdcp: Clean up local variables drm/i915: Clear old hw.fb & co. from slave plane's state drm/i915: Stop looking at plane->state in intel_prepare_plane_fb() drm/i915: s/intel_state/state/ in intel_{prepare,cleanup}_plane_fb() drm/i915: Balance prepare_fb/cleanup_fb drm/i915: Cleanup properly if the implicit fence setup fails drm/i915: Fix modeset locks in sanitize_watermarks() drm/i915: Prefer intel_connector over drm_connector in hotplug code drm/i915: Include the AUX CH name in the debug messages drm/i915: Give aux channels a better name drm/i915: Polish WM_LINETIME register stuff drm/i915: Move linetime wms into the crtc state drm/i915: Nuke skl wm.dirty_pipes bitmask drm/i915: Move more cdclk state handling into the cdclk code drm/i915: Collect more cdclk state under the same roof drm/i915: s/need_cd2x_updare/can_cd2x_update/ drm/i915: s/cdclk_state/cdclk_config/ drm/i915: Simplify intel_set_cdclk_{pre,post}_plane_update() calling convention drm/i915: Extract intel_cdclk_state drm/i915: swap() the entire cdclk state drm/i915: s/init_cdclk/init_cdclk_hw/ drm/i915: Move intel_atomic_state_free() into intel_atomic.c drm/i915: Introduce better global state handling drm/i915: Convert bandwidth state to global state drm/i915: Introduce intel_calc_active_pipes() drm/i915: Convert cdclk to global state drm/i915: Store active_pipes bitmask in cdclk state drm/i915: Introduce intel_connector_hpd_pin() drm/i915/crt: Configure connector->polled and encoder->hpd_pin consistently drm/i915: Mark ns2501 as LVDS without a fixed mode drm/i915/dvo: Mark TMDS DVO connectors as polled drm/i915: Sprinkle missing commas drm/i915: Don't use uninitialized 'ret' drm/i915: Fix the docs for intel_set_cdclk_post_plane_update() drm/i915: Force state->modeset=true when distrust_bios_wm==true drm/i915: Introduce encoder->compute_config_late() drm/i915: Add i9xx_lut_8() drm/i915/hpd: Replace the loop-within-loop with two independent loops drm/i915: Mark all HPD capabled connectors as such drm/i915: Parametrize PFIT_PIPE drm/i915: Use intel_de_write_fw() for skl+ scaler registers drm/i915: Correctly terminate connector iteration Vivek Kasireddy (3): drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y (v2) drm/i915/dsi: Ensure that the ACPI adapter lookup overrides the bus num drm/i915/ehl: Ensure that the DDI selection MUX is programmed correctly Wambui Karuga (48): drm/i915: conversion to new logging macros in i915/i915_vgpu.c drm/i915: conversion to new logging macros in i915/intel_csr.c drm/i915: conversion to new logging macros in i915/intel_device_info.c drm/i915: convert to new logging macros in i915/intel_gvt.c drm/i915: convert to new logging macros in i915/intel_memory_region.c drm/i915/atomic: use struct drm_device logging macros drm/i915/bios: convert to struct drm_device logging macros. drm/i915/audio: convert to struct drm_device logging macros. drm/i915/bw: convert to drm_device based logging macros drm/i915/cdclk: use new struct drm_device logging macros drm/i915/display: conversion to new struct drm_device logging macros. drm/i915/dsi: conversion to struct drm_device log macros. drm/i915/power: convert to struct drm_device macros in display/intel_display_power.c drm/i915/dp: conversion to struct drm_device logging macros. drm/i915/opregion: conversion to struct drm_device logging macros. drm/i915/hdcp: conversion to struct drm_device based logging macros. drm/i915/gem: initial conversion to new logging macros using coccinelle drm/i915/gem: manual conversion to struct drm_device logging macros. drm/i915/ggtt: use new drm logging macros in gt/intel_ggtt.c drm/i915/reset: conversion to new drm logging macros in gt/intel_reset.c drm/i915/engine_cs: use new drm logging macros in gt/intel_engine_cs.c drm/i915/gt: convert to new logging macros in gt/intel_gt.c drm/i915/ring: convert to new logging macros in gt/intel_ring_submission.c drm/i915/vlv_dsi_pll: conversion to struct drm_device logging macros. drm/i915/vlv_dsi: conversion to drm_device based logging macros. drm/i915/vga: conversion to drm_device based logging macros. drm/i915/vdsc: convert to struct drm_device based logging macros. drm/i915/tv: automatic conversion to drm_device based logging macros. drm/i915/tc: automatic conversion to drm_device based logging macros. drm/i915/sprite: automatic conversion to drm_device based logging macros drm/i915/sdvo: automatic conversion to drm_device based logging macros. drm/i915/quirks: automatic conversion to drm_device based logging macros. drm/i915/psr: automatic conversion to drm_device based logging macros. drm/i915/pipe_crc: automatic conversion to drm_device based logging macros. drm/i915/panel: automatic conversion to drm_device based logging macros. drm/i915: conversion to drm_device logging macros when drm_i915_private is present. drm/i915/debugfs: conversion to drm_device based logging macros. drm/i915/cmd_parser: conversion to struct drm_device logging macros. drm/i915/pci: conversion to drm_device based logging macros. drm/i915/dp_link_training: convert to drm_device based logging macros. drm/i915/atomic: conversion to drm_device based logging macros. drm/i915/color: conversion to drm_device based logging macros. drm/i915/crt: automatic conversion to drm_device based logging macros. drm/i915/dpll_mgr: convert to drm_device based logging macros. drm/i915/combo_phy: convert to struct drm_device logging macros. drm/i915/dsi_vbt: convert to drm_device based logging macros. drm/i915/dpio_phy: convert to drm_device based logging macros. drm/i915/perf: conversion to struct drm_device based logging macros. Zhang Xiaoxu (1): drm/i915: Fix i915_error_state_store error defination MAINTAINERS | 2 +- drivers/gpu/drm/i915/Kconfig | 12 +- drivers/gpu/drm/i915/Makefile | 15 +- drivers/gpu/drm/i915/display/icl_dsi.c | 383 ++- drivers/gpu/drm/i915/display/intel_acpi.c | 89 + drivers/gpu/drm/i915/display/intel_acpi.h | 5 + drivers/gpu/drm/i915/display/intel_atomic.c | 57 +- drivers/gpu/drm/i915/display/intel_atomic.h | 5 +- drivers/gpu/drm/i915/display/intel_atomic_plane.c | 73 +- drivers/gpu/drm/i915/display/intel_atomic_plane.h | 5 +- drivers/gpu/drm/i915/display/intel_audio.c | 247 +- drivers/gpu/drm/i915/display/intel_bios.c | 443 ++- drivers/gpu/drm/i915/display/intel_bios.h | 11 + drivers/gpu/drm/i915/display/intel_bw.c | 63 +- drivers/gpu/drm/i915/display/intel_bw.h | 4 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 1084 +++--- drivers/gpu/drm/i915/display/intel_cdclk.h | 73 +- drivers/gpu/drm/i915/display/intel_color.c | 222 +- drivers/gpu/drm/i915/display/intel_combo_phy.c | 163 +- drivers/gpu/drm/i915/display/intel_connector.c | 5 +- drivers/gpu/drm/i915/display/intel_crt.c | 127 +- drivers/gpu/drm/i915/{ => display}/intel_csr.c | 42 +- drivers/gpu/drm/i915/{ => display}/intel_csr.h | 0 drivers/gpu/drm/i915/display/intel_ddi.c | 944 +++--- drivers/gpu/drm/i915/display/intel_de.h | 72 + drivers/gpu/drm/i915/display/intel_display.c | 3442 +++++++++++--------- drivers/gpu/drm/i915/display/intel_display.h | 7 + .../gpu/drm/i915/display/intel_display_debugfs.c | 2129 ++++++++++++ .../gpu/drm/i915/display/intel_display_debugfs.h | 20 + drivers/gpu/drm/i915/display/intel_display_power.c | 737 +++-- drivers/gpu/drm/i915/display/intel_display_power.h | 5 + drivers/gpu/drm/i915/display/intel_display_types.h | 54 +- drivers/gpu/drm/i915/display/intel_dp.c | 848 +++-- .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 169 +- .../gpu/drm/i915/display/intel_dp_link_training.c | 75 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 33 +- drivers/gpu/drm/i915/display/intel_dpio_phy.c | 108 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 677 ++-- drivers/gpu/drm/i915/display/intel_dsb.c | 30 +- .../gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 6 +- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 167 +- drivers/gpu/drm/i915/display/intel_dvo.c | 49 +- drivers/gpu/drm/i915/display/intel_fbc.c | 202 +- drivers/gpu/drm/i915/display/intel_fbc.h | 13 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 13 +- drivers/gpu/drm/i915/display/intel_fifo_underrun.c | 37 +- drivers/gpu/drm/i915/display/intel_global_state.c | 223 ++ drivers/gpu/drm/i915/display/intel_global_state.h | 87 + drivers/gpu/drm/i915/display/intel_gmbus.c | 77 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 414 ++- drivers/gpu/drm/i915/display/intel_hdcp.h | 5 + drivers/gpu/drm/i915/display/intel_hdmi.c | 423 +-- drivers/gpu/drm/i915/display/intel_hotplug.c | 136 +- drivers/gpu/drm/i915/display/intel_lpe_audio.c | 16 +- drivers/gpu/drm/i915/display/intel_lvds.c | 64 +- drivers/gpu/drm/i915/display/intel_opregion.c | 221 +- drivers/gpu/drm/i915/display/intel_overlay.c | 57 +- drivers/gpu/drm/i915/display/intel_panel.c | 389 ++- drivers/gpu/drm/i915/display/intel_pipe_crc.c | 34 +- drivers/gpu/drm/i915/display/intel_psr.c | 386 ++- drivers/gpu/drm/i915/display/intel_psr.h | 1 + drivers/gpu/drm/i915/display/intel_quirks.c | 10 +- drivers/gpu/drm/i915/display/intel_sdvo.c | 113 +- drivers/gpu/drm/i915/display/intel_sprite.c | 385 ++- drivers/gpu/drm/i915/display/intel_tc.c | 51 +- drivers/gpu/drm/i915/display/intel_tv.c | 164 +- drivers/gpu/drm/i915/display/intel_vbt_defs.h | 2 +- drivers/gpu/drm/i915/display/intel_vdsc.c | 443 ++- drivers/gpu/drm/i915/display/intel_vga.c | 14 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 440 +-- drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 96 +- drivers/gpu/drm/i915/gem/i915_gem_context.c | 368 ++- drivers/gpu/drm/i915/gem/i915_gem_context_types.h | 13 +- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 8 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 66 +- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_object.h | 4 +- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 5 +- drivers/gpu/drm/i915/gem/i915_gem_pages.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_phys.c | 98 +- drivers/gpu/drm/i915/gem/i915_gem_pm.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 17 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 135 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 1 - drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 19 +- drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 102 - .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 163 +- .../drm/i915/gem/selftests/i915_gem_object_blt.c | 74 +- drivers/gpu/drm/i915/gem/selftests/mock_context.c | 5 +- drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 3 + drivers/gpu/drm/i915/gt/intel_context.c | 9 +- drivers/gpu/drm/i915/gt/intel_context.h | 20 + drivers/gpu/drm/i915/gt/intel_context_sseu.c | 98 + drivers/gpu/drm/i915/gt/intel_context_types.h | 12 + drivers/gpu/drm/i915/gt/intel_engine.h | 22 +- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 145 +- drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 8 +- drivers/gpu/drm/i915/gt/intel_engine_pm.c | 4 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 12 +- drivers/gpu/drm/i915/gt/intel_engine_user.c | 3 +- drivers/gpu/drm/i915/gt/intel_ggtt.c | 91 +- drivers/gpu/drm/i915/gt/intel_gt.c | 65 +- drivers/gpu/drm/i915/gt/intel_gt.h | 2 +- drivers/gpu/drm/i915/gt/intel_gt_irq.c | 117 +- drivers/gpu/drm/i915/gt/intel_gt_irq.h | 3 +- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 2 +- drivers/gpu/drm/i915/gt/intel_gt_requests.c | 3 + drivers/gpu/drm/i915/gt/intel_gtt.c | 36 +- drivers/gpu/drm/i915/gt/intel_gtt.h | 4 +- drivers/gpu/drm/i915/gt/intel_llc.c | 6 +- drivers/gpu/drm/i915/gt/intel_lrc.c | 328 +- drivers/gpu/drm/i915/gt/intel_lrc_reg.h | 1 + drivers/gpu/drm/i915/gt/intel_mocs.c | 76 +- drivers/gpu/drm/i915/gt/intel_rc6.c | 10 +- drivers/gpu/drm/i915/gt/intel_reset.c | 83 +- drivers/gpu/drm/i915/gt/intel_ring.c | 7 +- drivers/gpu/drm/i915/gt/intel_ring.h | 8 + drivers/gpu/drm/i915/gt/intel_ring_submission.c | 87 +- drivers/gpu/drm/i915/gt/intel_ring_types.h | 7 +- drivers/gpu/drm/i915/gt/intel_rps.c | 20 +- drivers/gpu/drm/i915/gt/intel_timeline.c | 6 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 138 +- drivers/gpu/drm/i915/gt/intel_workarounds_types.h | 4 +- drivers/gpu/drm/i915/gt/mock_engine.c | 3 + drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +- drivers/gpu/drm/i915/gt/selftest_llc.c | 11 +- drivers/gpu/drm/i915/gt/selftest_lrc.c | 1210 +++++-- drivers/gpu/drm/i915/gt/selftest_mocs.c | 24 +- drivers/gpu/drm/i915/gt/selftest_rc6.c | 5 +- drivers/gpu/drm/i915/gt/selftest_reset.c | 2 +- drivers/gpu/drm/i915/gt/selftest_timeline.c | 188 +- drivers/gpu/drm/i915/gt/selftest_workarounds.c | 9 + drivers/gpu/drm/i915/gt/uc/intel_guc.c | 30 +- drivers/gpu/drm/i915/gt/uc/intel_guc.h | 23 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 255 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h | 7 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 9 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h | 19 +- drivers/gpu/drm/i915/gt/uc/intel_huc.c | 7 +- drivers/gpu/drm/i915/gt/uc/intel_huc.h | 8 +- drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 69 +- drivers/gpu/drm/i915/gt/uc/intel_uc.h | 62 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 9 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 18 +- drivers/gpu/drm/i915/gvt/handlers.c | 8 +- drivers/gpu/drm/i915/gvt/scheduler.c | 3 +- drivers/gpu/drm/i915/i915_active.c | 16 +- drivers/gpu/drm/i915/i915_active.h | 3 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 29 +- drivers/gpu/drm/i915/i915_debugfs.c | 2302 +------------ drivers/gpu/drm/i915/i915_debugfs.h | 8 +- drivers/gpu/drm/i915/i915_debugfs_params.c | 250 ++ drivers/gpu/drm/i915/i915_debugfs_params.h | 14 + drivers/gpu/drm/i915/i915_drv.c | 756 +---- drivers/gpu/drm/i915/i915_drv.h | 98 +- drivers/gpu/drm/i915/i915_gem.c | 26 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 13 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 3 +- drivers/gpu/drm/i915/i915_gpu_error.c | 34 +- drivers/gpu/drm/i915/i915_gpu_error.h | 5 + drivers/gpu/drm/i915/i915_irq.c | 236 +- drivers/gpu/drm/i915/i915_params.c | 11 +- drivers/gpu/drm/i915/i915_params.h | 74 +- drivers/gpu/drm/i915/i915_pci.c | 20 +- drivers/gpu/drm/i915/i915_perf.c | 80 +- drivers/gpu/drm/i915/i915_pmu.c | 65 +- drivers/gpu/drm/i915/i915_pmu.h | 11 +- drivers/gpu/drm/i915/i915_reg.h | 42 +- drivers/gpu/drm/i915/i915_request.c | 75 +- drivers/gpu/drm/i915/i915_request.h | 2 +- drivers/gpu/drm/i915/i915_scheduler.c | 16 +- drivers/gpu/drm/i915/i915_sw_fence.c | 17 +- drivers/gpu/drm/i915/i915_sw_fence.h | 2 +- drivers/gpu/drm/i915/i915_sysfs.c | 19 +- drivers/gpu/drm/i915/i915_trace.h | 66 +- drivers/gpu/drm/i915/i915_utils.c | 5 +- drivers/gpu/drm/i915/i915_vgpu.c | 41 +- drivers/gpu/drm/i915/i915_vma.c | 66 +- drivers/gpu/drm/i915/i915_vma.h | 2 + drivers/gpu/drm/i915/intel_device_info.c | 44 +- drivers/gpu/drm/i915/intel_device_info.h | 4 + drivers/gpu/drm/i915/intel_gvt.c | 15 +- drivers/gpu/drm/i915/intel_memory_region.c | 4 +- drivers/gpu/drm/i915/intel_pch.c | 66 +- drivers/gpu/drm/i915/intel_pm.c | 642 ++-- drivers/gpu/drm/i915/intel_pm.h | 5 +- drivers/gpu/drm/i915/intel_sideband.c | 11 +- drivers/gpu/drm/i915/intel_uncore.c | 54 +- drivers/gpu/drm/i915/selftests/i915_gem.c | 6 +- .../gpu/drm/i915/selftests/i915_perf_selftests.h | 1 + .../gpu/drm/i915/selftests/intel_memory_region.c | 203 ++ drivers/gpu/drm/i915/vlv_suspend.c | 489 +++ drivers/gpu/drm/i915/vlv_suspend.h | 18 + 196 files changed, 16273 insertions(+), 11429 deletions(-) rename drivers/gpu/drm/i915/{ => display}/intel_csr.c (94%) rename drivers/gpu/drm/i915/{ => display}/intel_csr.h (100%) create mode 100644 drivers/gpu/drm/i915/display/intel_de.h create mode 100644 drivers/gpu/drm/i915/display/intel_display_debugfs.c create mode 100644 drivers/gpu/drm/i915/display/intel_display_debugfs.h create mode 100644 drivers/gpu/drm/i915/display/intel_global_state.c create mode 100644 drivers/gpu/drm/i915/display/intel_global_state.h create mode 100644 drivers/gpu/drm/i915/gt/intel_context_sseu.c create mode 100644 drivers/gpu/drm/i915/i915_debugfs_params.c create mode 100644 drivers/gpu/drm/i915/i915_debugfs_params.h create mode 100644 drivers/gpu/drm/i915/vlv_suspend.c create mode 100644 drivers/gpu/drm/i915/vlv_suspend.h _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx