git pull] drm for v4.1-rc1
Subsystems (4)
Hi Linus,
First up, this tree contains a backmerge of your tree, as it merges cleanly but then fails to build on ARM due to an API change, I've included the fixed up patch in the merge commit.
The unmerged, unfixed tree is in my drm-next branch if you want to confirm things. The fixup is 3 trivial ^regulator_set_optimum_mode^regulator_set_load in drivers/gpu/drm/msm/dsi/dsi_host.c.
I've also been delayed waiting for Grant's tree to merge, but that is in now so I'm not dragging in stuff from that any longer.
Highlights:
Core:
Virtual GEM layer merged, this has been around for a long time, and it provides a software backed device that allows userspace to use it as a GEM shared memory handler. This makes it a lot easier to do certain things when you have no GPU but still have to deal with DRI expectations.
atomic helper updates.
framebuffer modifier interface added.
i2c over auxch displayport fixes.
fb width/height confusion fixes.
new driver for ps8622/ps8625 bridge chips
lots of new panels
i915:
more plane atomic conversion
vGPU guest support for XenGT
Skylake workarounds and fixes
Y-tiling support
work on dynamic pagetable allocation
EU count report param for gen9+
CHV fixes (no longer prelim)
remove ilk rc6
frontbuffer tracking for fbc
Displayport link rate refactoring
sprite colorkey refactor
radeon:
Displayport MST support (not enabled by default) non-ATOM native hw auxch support (DCE5+) output csc support
new queries for userspace debug support new VCE packet
nouveau:
gk20a iommu support
gm107 graphics support
more gm20x bringup (waiting on signed nvidia fw).
amdkfd:
multiple kgd instance support
use 64-bit time accessors
msm:
stolen memory support
DSI and dual-DSI support
snapdragon 410 support
exynos:
cleanups for atomic and pageflip
imx-drm:
more media-bus formats
TV output prep
drm panel support
tegra:
hw vblank counter using host1x syncpoints
omap:
universal plane support
prep work for atomic modesetting
rcar-du:
ported to atomic modesetting
atmel-hlcdc:
ported to atomic modesetting
added suspend/resume support
sti:
ported to atomic modesetting
dwhdmi:
more compliant audio support
update rockchip phy support
tda998x:
DT probing for attached crtcs
simplified EDID reading
rockchip:
fixes
adv7511:
fixes
Dave.
The following changes since commit 09d51602cf84a1264946711dd4ea0dddbac599a1:
Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 14:31:41 -0700)
are available in the git repository at:
git://people.freedesktop.org/~airlied/linux drm-next-merged
for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e:
Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
----------------------------------------------------------------
Akash Goel (12):
drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions drm/i915/skl: Added new macros
drm/i915/skl: Updated intel_gpu_freq() and intel_freq_opcode() drm/i915/skl: Updated the gen6_init_rps_frequencies function drm/i915/skl: Updated the gen6_set_rps function drm/i915/skl: Restructured the gen6_set_rps_thresholds function drm/i915/skl: Updated the gen6_rps_limits function drm/i915/skl: Updated the gen9_enable_rps function drm/i915/skl: Updated the act_freq_mhz_show sysfs function drm/i915/skl: Updated the i915_frequency_info debugfs function drm/i915/skl: Enabling processing of Turbo interrupts drm/i915/skl: Enable the RPS interrupts programming
Alex Deucher (27):
drm/radeon: add an output_csc property
drm/radeon: implement output csc property for DCE5+ drm/radeon: setup quantization_range in AVI infoframe drm/radeon: add INFO query for GPU temperature drm/radeon/dpm: add new callbacks to get the current sclk/mclk drm/radeon/rs780: implement get_current_sclk/mclk drm/radeon/rv6xx: implement get_current_sclk/mclk drm/radeon/rv7xx/eg: implement get_current_sclk/mclk drm/radeon/btc: implement get_current_sclk/mclk drm/radeon: remove some rv7xx leftovers from btc dpm code drm/radeon/ni: implement get_current_sclk/mclk drm/radeon/si: implement get_current_sclk/mclk drm/radeon/ci: implement get_current_sclk/mclk drm/radeon/sumo: implement get_current_sclk/mclk drm/radeon/tn: implement get_current_sclk/mclk drm/radeon/kv: implement get_current_sclk/mclk drm/radeon: add INFO query for current sclk/mclk drm/radeon: add new callback for info ioctl register accessor drm/radeon: add get_allowed_info_register function for r1xx-r5xx drm/radeon: add get_allowed_info_register for r6xx/r7xx drm/radeon: add get_allowed_info_register for EG/BTC drm/radeon: add get_allowed_info_register for cayman/TN drm/radeon: add get_allowed_info_register for SI drm/radeon: add get_allowed_info_register for CIK drm/radeon: add support for read reg query from radeon info ioctl drm/radeon: fix doublescan modes (v2)
radeon/cik: add support for short HPD irqs
Alexandre Courbot (11):
make RAM device optional
drm/nouveau/instmem/gk20a: move memory allocation to instmem drm/nouveau/gk20a: remove RAM device drm/nouveau/instmem/gk20a: use DMA attributes drm/nouveau/platform: probe IOMMU if present drm/nouveau/instmem/gk20a: add IOMMU support drm/nouveau/gem: allow user-space to specify an object should be coherent drm/nouveau/instmem/gk20a: fix crash during error path drm/nouveau/platform: release IOMMU's mm upon exit drm/nouveau/platform: fix probe error path drm/nouveau/pmu/gk20a: add some missing statics
Ander Conselvan de Oliveira (28):
drm/i915: Look at staged config when fixing pipe_src_w for LVDS drm/i915: Set crtc backpointer when duplicating crtc state drm/i915: Add a for_each_intel_connector macro
drm/i915: Improve staged config logging
drm/i915: Simplify the way BC bifurcation state consistency is kept drm/i915: Add intel_atomic_get_crtc_state() helper function drm/i915: Pass acquire ctx also to intel_release_load_detect_pipe() drm/i915: Allocate a drm_atomic_state for the legacy modeset code drm/i915: Allocate a crtc_state also when the crtc is being disabled drm/i915: Implement connector state duplication
drm/i915: Update dummy connector atomic state with current config drm/i915: Copy the staged connector config to the legacy atomic state drm/i915: Don't use encoder->new_crtc in intel_modeset_pipe_config() drm/i915: Don't use encoder->new_crtc in compute_baseline_pipe_bpp() drm/i915: Don't depend on encoder->new_crtc in intel_dp_compute_config() drm/i915: Don't depend on encoder->new_crtc in intel_hdmi_compute_config drm/i915: Use atomic state in intel_ddi_crtc_get_new_encoder() drm/i915: Don't use staged config in intel_dp_mst_compute_config() drm/i915: Don't use encoder->new_crtc in intel_lvds_compute_config() drm/i915: Pass an atomic state to modeset_global_resources() functions drm/i915: Convert intel_pipe_will_have_type() to using atomic state drm/i915: Don't look at staged config crtc when changing DRRS state drm/i915: Remove usage of encoder->new_crtc from clock computations drm/i915: Handle error to get connector state when staging config drm/atomic: Clear crtcs, connectors and planes when clearing state drm/atomic: Don't try to free a NULL state
drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros drm/i915: Allocate connector state together with the connectors
Andreas Ruprecht (1):
drm/i915: Remove references to previously removed UMS config option
Beata Michalska (1):
drm/exynos/ipp: Validate buffer enqueue requests
Ben Skeggs (22):
drm/nouveau/devinit/nv04: change owner to int
drm/nouveau: bump driver patchlevel for coherent flag drm/nouveau/disp/nv50-: fix push buffers in vram drm/nouveau/disp/gf110-: fix base channel update debug/error output drm/nouveau/pmu/gk110: implement gr power-up magic like PGOB on earlier chips drm/nouveau/pmu/gk208: implement gr power-up magic with gk110_pmu_pgob() drm/nouveau/gr/gk104-gk20a: call pmu to disable any power-gating before ctor() drm/nouveau/gr: fix engine name, cosmetic search+replace mistake drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode drm/nouveau/gr/gf100-: add symbolic names for classes drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler drm/nouveau/fifo/gm204: initial support
drm/nouveau: add support for gm20x fifo channels drm/nouveau/ce/gm204: initial support
drm/nouveau: support for buffer moves via MaxwellDmaCopyA drm/nouveau/gr/gm204: initial init+ctx code drm/nouveau/fifo/gm206: enable support via gm204 code drm/nouveau/ce/gm206: enable support via gm204 code drm/nouveau/gr/gm206: initial init+ctx code
Ben Widawsky (11):
drm/i915/trace: Fix offsets for 64b
drm/i915: Rename to GEN8_LEGACY_PDPES
drm/i915: Setup less PPGTT on failed page_directory drm/i915/gen8: Un-hardcode number of page directories drm/i915: page table abstractions
drm/i915: Complete page table structures drm/i915: Create page table allocators
drm/i915: Extract context switch skip and add pd load logic drm/i915: Track GEN6 page table usage
drm/i915: Track page table reload need
drm/i915: Initialize all contexts
Benjamin Gaignard (2):
drm: check that planes types are correct while initializing CRTC
drm: sti: convert driver to atomic modeset
Boris BREZILLON (1):
drm/panel: simple: Add support for Shelly SCA07010-BFN-LNN
Boris Brezillion (1):
Add RGB444_1X12 and RGB565_1X16 media bus formats
Boris Brezillon (2):
drm: atmel-hlcdc: Atomic mode-setting conversion
drm: atmel-hlcdc: add discard area support
Caesar Wang (1):
drm: rockchip: Turn off VT switching on suspend
Chris Ruffin (1):
drm/bochs: disable video before changing video mode
Chris Wilson (10):
drm/i915: Trim the command parser allocations
drm/i915: Clarify obj->map_and_fenceable
drm: Lighten sysfs connector 'status'
drm/i915: Disable the mmio.debug WARN after it fires drm/i915: Move drm_framebuffer_unreference out of struct_mutex for flips drm/i915: Fallback to using CPU relocations for large batch buffers drm/i915: Relax RPS contraints to allows setting minfreq on idle drm/i915: Improved w/a for rps on Baytrail
drm/i915: Use down ei for manual Baytrail RPS calculations drm/i915: Skip allocating shadow batch for 0-length batches
Christian König (2):
drm/radeon: add userptr config option drm/radeon: allow creating overlapping userptrs
Clint Taylor (1):
drm/i915/chv: Remove DPIO force latency causing interpair skew issue
Damien Lespiau (58):
drm/i915/skl: Remove the check enforcing VCS2 to be gen8 only drm/i915/skl: Split the SKL PCI ids by GT
drm/i915/skl: Declare that GT3 has a second VCS
drm/i915: Put update_state_fb() next to the fb update
drm/i915: Use an intermediate variable to avoid repeating ourselves drm/i915: Don't try to reference the fb in get_initial_plane_config() drm/i915: Store the initial framebuffer in initial_plane_config drm/i915: Fix atomic state when reusing the firmware fb
drm/i915: Make sure the primary plane is enabled before reading out the fb state drm/i915: Support not having an init clock gating function defined drm/i915/bdw: Implement WaForceContextSaveRestoreNonCoherent drm/i915: Garbage collect orphaned prototypes
drm/i915: Make intel_ring_setup_status_page() static
drm/i915: Remove intel_dsi_cmd.h
drm/i915: Make intel_lr_context_render_state_init() static drm/i915: Make intel_logical_ring_advance_and_submit() static drm/i915: Make intel_dp_check_link_status() static
drm/i915: Make intel_dp_unpack_aux() static
drm/i915: Make intel_unpin_fb_obj() static
drm/i915: Remove the IS_SNB_GT1 define
drm/i915: Detect eDRAM with the enabled bit only
drm/i915/skl: Also detect eDRAM on SKL
drm/i915/skl: Document the WM read latency W/A with its name drm/i915/skl: Provide a gen9 specific init_render_ring() drm/i915/skl: Make the init clock gating function skylake specific drm/i915/skl: Implement WaSetGAPSunitClckGateDisable
drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset drm/i915/skl: Introduce a SKL specific init_workarounds() drm/i915/skl: Implement WaDisablePartialResolveInVc
drm/i915/skl: Implement WaDisableLSQCROPERFforOCL
drm/i915/skl: Implement WaDisableHDCInvalidation
drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl
drm/i915/skl: Implement WaBarrierPerformanceFixDisable drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement drm/i915/skl: Fix always true comparison in a revision id check drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5
drm: Fix drm_crtc_vblank_get() documentation
drm: Fix the CRTC_STEREO_DOUBLE_ONLY define to include stero modes drm/i915/skl: Implement WaDisablePowerCompilerClockGating drm/i915/skl: Tune IZ hashing when subslices are unbalanced drm/i915/skl: Make sure to allocate mininum sizes in the DDB drm/i915/skl: Allow scanning out Y and Yf fbs
drm/i915/skl: Adjust intel_fb_align_height() for Yb/Yf tiling drm/i915/skl: Teach pin_and_fence_fb_obj() about Y tiling constraints drm/i915/skl: Adjust get_plane_config() to support Yb/Yf tiling drm/i915: Make for_each_plane() take dev_priv as argument drm/i915: Make for_each_sprite() take dev_priv as argument drm/i915/skl: Only use the 800mV+2bB HDMI translation entry drm/i915/skl: Make gen8_irq_power_well_post_enable() take a pipe mask drm/i915/skl: Introduce enable_requested and is_enabled in the power well code drm/i915/skl: Mirror what we do on HSW for the power well enable log message drm/i915/skl: Restore pipe interrupt registers after power well enabling drm/i915: Remove unused condition in hsw_power_well_post_enable() drm/i915/skl: Restore the DDI translation tables when enabling PW1 drm/i915: Exit early from psr_status if PSR is not supported by the device drm/i915/skl: Implement WaDisableHBR2
Dan Carpenter (4):
drm/i915: cleanup some indenting drm/i915: fix a printk format
drm/i915: memory leak in __i915_gem_vma_create() drm/nouveau/mxm: indent an if statement
Daniel Kurtz (2):
drm/rockchip: Only alloc a kmap for fbdev gem object drm/rockchip: register all connectors after bind
Daniel Stone (7):
drm: mode: Fix typo in kerneldoc
drm: fb_helper: Simplify exit condition
drm: mode: Allow NULL modes for equality check
drm: crtc_helper: Update hwmode before mode_set call
drm: atomic: Expose CRTC active property
drm: atomic: Allow setting CRTC active property drm/exynos: Fix FIMD buffer size calculation
Daniel Vetter (46):
drm/i915: Add fb format modifier support
drm/i915: Set up fb format modifier for initial plane config drm/i915: Switch intel_fb_align_height to fb format modifiers drm/i915: Use fb format modifiers in skylake_update_primary_plane drm/i915: Update DRIVER_DATE to 20150214
drm/irq: Add drm_crtc_vblank_reset
drm/i915: Drop pipe_enable checks in vblank funcs
drm/i915: Flatten DRIVER_MODESET checks in i915_irq.c
drm/i915: Switch to drm_crtc variants of vblank functions
drm/irq: Don't call ->get_vblank_counter directly from irq_uninstall/cleanup
drm: WARN if drm_handle_vblank is called errornously
drm: Add DRM_DEBUG_ATOMIC
drm: If available use atomic state in getcrtc ioctl drm/atomic-helper: Rename commmit_post/pre_planes drm/atomic-helpers: make mode_set hooks optional
drm/i915: Remove DRIVER_MODESET checks in load/unload/close code drm/i915: Remove DRIVER_MODESET checks from suspend/resume code drm/i915: Remove DRIVER_MODESET checks in the gpu reset code drm/i915: Remove DRIVER_MODESET checks from gem code
drm/i915: Remove regfile code&data for UMS suspend/resume
drm/i915: Remove DRIVER_MODESET checks from modeset code
drm/i915: Update DRIVER_DATE to 20150227
drm: Remove redundant code in the getencoder ioctl drm/atomic-helper: Fix kerneldoc for prepare_planes
drm: Fixup racy refcounting in plane_force_disable drm/plane-helper: unexport drm_primary_helper_create_plane drm/plane-helper: Fixup mismerge
drm/i915: Remove irq-related FIXME in reset code
Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" drm/fourcc: 64 #defines need ULL postfix
drm/i915: Add ULL postfix to VGT_MAGIC constant
drm/i915: Update DRIVER_DATE to 20150313
Merge tag 'drm-intel-fixes-2015-03-19' into drm-intel-next drm/i915: Extract i915_gem_shrinker.c
drm/i915: kerneldoc for i915_gem_shrinker.c
drm/i915: Fixup legacy plane->crtc link for initial fb config drm/i915: Add initial_ prefix to bios fb takeover code
drm/i915: always preserve bios swizzling
drm/i915: Rip out GET_SPRITE_COLORKEY ioctl
drm/i915: Add module param to test the load detect code drm/atomic-helpers: Properly avoid full modeset dance
drm/i915: Update DRIVER_DATE to 20150327
Merge tag 'v4.0-rc6' into drm-intel-next
drm/i915: Fix locking in DRRS flush/invalidate hooks
drm/i915: Don't cancel DRRS worker synchronously for flush/invalidate drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
Dave Airlie (46):
Merge tag 'topic/drm-misc-2015-02-25' of git://anongit.freedesktop.org/drm-intel into drm-next Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next Merge branch 'drm/next/atomic' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge branch 'drm-atmel-hlcdc-devel' of git://github.com/bbrezillon/linux-at91 into drm-next Merge tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel into drm-next Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next Merge tag 'v4.0-rc3' into drm-next
Merge tag 'topic/drm-misc-2015-03-10' of git://anongit.freedesktop.org/drm-intel into drm-next Merge tag 'topic/drm-misc-2015-03-18' of git://anongit.freedesktop.org/drm-intel into drm-next Merge branch 'drm_next' of https://github.com/markyzq/kernel-drm-rockchip into drm-next drm/radeon: program auxch directly (v2)
drm/dp_mst: add a function to retrieve vcpi slots
radeon: introduce a dp_work handler
radeon/evergreen: add support for short HPD irqs
radeon/si: add support for short HPD irqs
radeon/fb: add wrapper functions around fb connector add/remove
drm/radeon: add some MST registers
drm/radeon: add new atombios encoder/transmitter interfaces
drm/radeon: export max link rate calculation
drm/radeon: improve encoder picking functions (v2)
drm/radeon: add DisplayPort MST support (v2)
Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next Merge branch 'drm/next/adv7511' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge branch 'drm/next/rcar-du' of git://linuxtv.org/pinchartl/fbdev into drm-next
Merge tag 'drm-intel-next-2015-03-13-merge' of git://anongit.freedesktop.org/drm-intel into drm-next Merge branch 'drm-st-next-2015-03-19' of git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next Merge tag 'drm-amdkfd-next-2015-03-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next Merge branch 'drm-atmel-hlcdc-4.1-fixes' of git://github.com/bbrezillon/linux-at91 into drm-next Merge tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel into drm-next Merge tag 'topic/drm-misc-2015-03-31' of git://anongit.freedesktop.org/drm-intel into drm-next Merge branch 'drm-next0401' of git://github.com/markyzq/kernel-drm-rockchip into drm-next Merge tag 'omapdrm-4.1' of git://git.kernel.org/.../tomba/linux into drm-next
Merge tag 'drm/tegra/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next Merge tag 'drm/panel/for-4.1-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next Merge tag 'imx-drm-fixes-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next Merge tag 'v4.0-rc7' into drm-next
Merge branch 'exynos-drm-next' of git://git.kernel.org/.../daeinki/drm-exynos into drm-next Merge tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux into drm-next Merge tag 'imx-drm-next-2015-03-31' of git://git.pengutronix.de/git/pza/linux into drm-next Merge branch 'linux-4.1' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next Merge branch 'drm-next-4.1' of git://people.freedesktop.org/~agd5f/linux into drm-next Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next Merge tag 'topic/drm-misc-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next Merge tag 'drm-intel-next-fixes-2015-04-15' of git://anongit.freedesktop.org/drm-intel into drm-next Merge Linus master into drm-next
Dave Gordon (1):
drm/i915: FIFO space query code refactor
Durgadoss R (1):
drm/i915: Enable eDP DRRS for CHV
Emil Velikov (1):
drm: line wrap DRM_IOCTL_DEF* macros
Geert Uytterhoeven (1):
drm/i915: Spelling s/auxilliary/auxiliary/
Grygorii Strashko (2):
drm/omap: add hibernation callbacks
drm/omap: tiler: add hibernation callback
Gustavo Padovan (7):
drm/exynos: fimd: fix alpha setting for XR24 pixel format drm/exynos: remove unused exynos_crtc->win_enable() callback drm/exynos: remove struct *_win_data abstraction on planes drm/exynos: preset zpos value for overlay planes drm/exynos: make zpos property immutable drm/exynos: remove exynos_plane_destroy() drm/exynos: remove leftover functions declarations
Hai Li (8):
drm/msm/mdp5: Add pingpong entry to mdp5 config table drm/msm/mdp5: Update generated mdp5 header file with DSI support drm/msm/mdp5: Fix PIPE source image size settings drm/msm/dsi: Update generated DSI header file drm/msm/mdp5: Move *_modeset_init out of construct_encoder function drm/msm: Add split display interface
drm/msm: Initial add DSI connector support drm/msm/mdp5: Enable DSI connector in msm drm driver
Heiko Stuebner (1):
drm/rockchip: fix clk enable disable mismatch in vop_crtc_mode_set
Hoath, Nicholas (6):
drm/i915: ring w/a initialisation for gen 9 drm/i915: ring w/a gen 9 revision definitions drm/i915/gen9: Implement WaDisablePartialInstShootdown drm/i915/gen9: Implement WaDisableSDEUnitClockGating drm/i915/gen9: Implement Wa4x4STCOptimizationDisable drm/i915/gen9: Implement WaForceEnableNonCoherent
Huang Lin (1):
drm/panel: simple: Add support for AUO b101ean01 panel
Hyungwon Hwang (2):
drm/exynos: dsi: remove the empty mode_valid callback drm/exynos: fimd: check whether exynos_drm_crtc_create succeed or not
Imre Deak (5):
drm/i915: factor out vlv_PLL_is_optimal
drm/i915: check for div-by-zero in vlv_PLL_is_optimal drm/i915/chv: use vlv_PLL_is_optimal in chv_find_best_dpll drm/i915: fix race when clearing RPS IIR bits
drm/i915: move clearing of RPS interrupt bits from disable to reset time
Jan Vesely (1):
drm/nouveau/bios: fix fetching from acpi on certain systems
Jani Nikula (19):
drm/i915/fbc: fix the check for already reserved fbc size drm/dp: indentation and ordering cleanups
drm/dp: add DPCD definitions from eDP 1.2
drm/dp: add DPCD definitions from DP 1.1 and 1.2a
drm/dp: add DPCD definitions from eDP 1.4
drm/i915: remove indirection in the PCI ID macros drm/i915: redefine WARN_ON_ONCE to include the condition drm/i915/dp: return number of bytes written for short aux/i2c writes drm/exynos: constify all struct drm_*_helper funcs pointers drm/mgag200: constify all struct drm_*_helper funcs pointers drm/gma500: constify all struct drm_*_helper funcs pointers drm/radeon: constify all struct drm_*_helper funcs pointers drm/nouveau: constify all struct drm_*_helper funcs pointers drm/qxl: constify all struct drm_*_helper funcs pointers drm/drm: constify all struct drm_*_helper funcs pointers drm/edid: add #defines for ELD versions
drm/radeon: constify more struct drm_*_helper funcs pointers drm/armada: constify struct drm_encoder_helper_funcs pointer
drm: make crtc/encoder/connector/plane helper_private a const pointer
Jeff McGee (6):
drm/i915/skl: Determine SKL slice/subslice/EU info drm/i915/skl: Add SKL HW status to SSEU status drm/i915: Request full SSEU enablement on Gen9 drm/i915/chv: Determine CHV slice/subslice/EU info drm/i915/chv: Add CHV HW status to SSEU status drm/i915: Export total subslice and EU counts
Jesse Barnes (2):
drm/i915/skl: port A fuse straps don't work on early SKL steppings drm/i915: make unsupported fb modifier message DRM_DEBUG
Joe Perches (1):
MAINTAINERS: Remove rcar-du.h entry
John Harrison (4):
drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading drm/i915: Add missing trace point to LRC execbuff code path drm/i915: Cache ringbuf pointer in request structure drm/i915: Remove ironlake rc6 support
John Hunter (4):
drm: Fix some typo mistake of the annotations
drm: change connector to tmp_connector
drm: Fix some typos
drm: fix trivial typo mistake
John Stultz (1):
drm/amdkfd: Convert timestamping to use 64bit time accessors
Joonas Lahtinen (2):
drm/i915: Do not use ggtt_view with (aliasing) PPGTT drm/i915: Compare GGTT view structs instead of types
Joonyoung Shim (2):
drm/exynos: use src_x and src_y instead of fb_x and fb_y drm/exynos: add ratio calculation
Julia Lawall (1):
drm/i2c: tda998x: fix misspelling of current function in string
Krzysztof Kozlowski (1):
drm/exynos: Enable DP clock to fix display on Exynos5250 and other
Laurent Pinchart (57):
drm/i2c: tda998x: use drm_do_get_edid()
drm/atomic-helpers: Fix documentation typos and wrong copy&paste drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument
drm: rcar-du: Don't disable unused functions at init time
drm: rcar-du: Remove drm_fbdev_cma_restore_mode() call at init time
drm: rcar-du: Don't set connector->encoder at init time
drm: rcar-du: Reorder CRTC functions
drm: rcar-du: Wait for page flip completion when turning the CRTC off
drm: rcar-du: Turn vblank on/off when enabling/disabling CRTC
drm: rcar-du: Disable fbdev emulation when no connector is present
drm: rcar-du: Define macros for the max number of groups, CRTCs and LVDS
drm: rcar-du: Implement universal plane support
drm: rcar-du: Fix hardware plane allocation
drm: rcar-du: Implement planes atomic operations
drm: rcar-du: Handle primary plane config through atomic plane ops
drm: rcar-du: Wire up atomic state object scaffolding
drm: rcar-du: Remove private copy of plane size and position
drm: rcar-du: Replace LVDS encoder DPMS by enable/disable
drm: rcar-du: Rework encoder enable/disable for atomic updates
drm: rcar-du: Rework HDMI encoder enable/disable for atomic updates
drm: rcar-du: Rework CRTC enable/disable for atomic updates
drm: rcar-du: Switch plane update to atomic helpers
drm: rcar-du: Switch mode config to atomic helpers
drm: rcar-du: Switch connector DPMS to atomic helpers
drm: rcar-du: Replace encoder mode_fixup with atomic_check
drm: rcar-du: Implement asynchronous commit support
drm: rcar-du: Switch page flip to atomic helpers
drm: rcar-du: Switch plane set_property to atomic helpers
drm: rcar-du: Rework plane setup code
drm: rcar-du: Replace plane crtc and enabled fields by plane state
drm: rcar-du: Remove unneeded rcar_du_crtc plane field
drm: rcar-du: Move plane format to plane state
drm: rcar-du: Move plane commit code from CRTC start to CRTC resume
drm: rcar-du: Move group locking inside rcar_du_crtc_update_planes()
drm: rcar-du: Fix race condition in hardware plane allocator
drm: Share plane pixel format check code between legacy and atomic
drm: Check in setcrtc if the primary plane supports the fb pixel format
drm: rcar-du: Fix framebuffer reference leak through plane state
drm: rcar-du: Don't initialize event->pipe field
drm: rcar-du: Enable the atomic updates API
drm: adv7511: Fix DDC error interrupt handling
drm: adv7511: Fix nested sleep when reading EDID
drm: adv7511: Refactor power management
drm: omapdrm: Fix indentation of structure and array initializers
drm: omapdrm: Refactor CRTC creation code
drm: omapdrm: Remove unused variables
drm: omapdrm: Switch to the universal plane API
drm: omapdrm: Rename omap_plane_dpms() to omap_plane_set_enable()
drm: omapdrm: Reset the zorder property when disabling a plane
drm: omapdrm: Fix race condition between GO and vblank IRQ
drm: omapdrm: Remove manual update display support
drm: omapdrm: Remove omap_crtc->full_update field
drm: omapdrm: Avoid function forward declaration in omap_crtc.c
drm: omapdrm: Prefix all plane functions with omap_plane_
drm: omapdrm: Pass integer source coordinates to omap_plane_mode_set()
drm: omapdrm: Planes are already disabled when destroyed
drm: omapdrm: Reorder CRTC functions
Lauri Peltonen (2):
drm/nouveau/graph/nvc0: Fix engine pointer retrieval drm/nouveau/gr/gf100: Clear notify interrupt
Leo Liu (1):
drm/radeon: add video usability info support for VCE
Maarten Lankhorst (2):
drm/radeon: dont switch vt on suspend
drm: Use kref_put_mutex in drm_gem_object_unreference_unlocked
Mandeep Singh Baines (1):
drm/exynos: track vblank events on a per crtc basis
Mark Yao (5):
drm/rockchip: vop: fix vop vsync/hsync polarity drm/rockchip: vop use is_enabled instead of dpms mode drm/rockchip: vop: set vop enabled after enable iommu drm/rockchip: vop: power off until vop standby take effect drm/rockchip: vop: add vop power domain support
Martin Peres (1):
drm/nouveau/fuse/gm107: simplify the return logic
Matt Roper (13):
drm/i915: Keep plane->state updated on pageflip
drm/i915: Switch planes from transitional helpers to full atomic helpers drm/i915: Ensure plane->state->fb stays in sync with plane->fb drm/i915: Use enabled value from crtc_state rather than crtc (v2) drm/i915: Ensure crtc_state backpointer is always initialized drm/i915: Kill intel_crtc->cursor_{width, height} (v2)
drm/i915: Use plane->state->fb in watermark code (v2)
drm/i915: Don't clobber plane state on internal disables drm/i915: Update intel_crtc_active() to use state values (v2) drm/i915: Use crtc->state->active in ilk/skl watermark calculations (v3) drm/i915: Don't assume primary & cursor are always on for wm calculation (v4) drm/i915: Move vblank wait determination to 'check' phase
drm: Make integer overflow checking cover universal cursor updates (v2)
Michael Grzeschik (1):
drm/panel: simple: Add support for Innolux ZJ070NA-01P
Michel Thierry (9):
drm/i915: Plumb drm_device through page tables operations drm/i915: Add missing description to parameter in alloc_pt_range drm/i915: page table generalizations
drm/i915: Do not leak objects after capturing error state drm/i915: Prevent out of range pt in gen6_for_each_pde drm/i915: Fix i915_dma_map_single positive error code drm/i915: Remove unnecessary gen6_ppgtt_unmap_pages drm/i915: Finish gen6/7 dynamic page table allocation drm/i915: Add dynamic page trace events
Mika Kuoppala (5):
drm/i915: Add process identifier to requests drm/i915: Setup all page directories for gen8 drm/i915: Do both mt and gen6 style forcewake reset on ivb probe drm/i915: Fix vmap_batch page iterator overrun drm/i915: Add fault address to error state for gen8 and gen9
Neil Roberts (1):
drm/i915: Add I915_PARAM_REVISION
Nick Hoath (5):
drm/i915/gen9: Implement WaDisableDgMirrorFixInHalfSliceChicken5 drm/i915/gen9: h/w w/a: syncing dependencies between camera and graphics drm/i915/gen9: Implement WaEnableYV12BugFixInHalfSliceChicken7 drm/i915: gen 9 h/w w/a Fix stepping check
drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS)
Nicolas Ferre (1):
drm/panel: simple: Add support for Innolux AT043TN24
Oded Gabbay (3):
drm/amdkfd: rename fence_wait_timeout
drm/amdkfd: Remove unused field from struct qcm_process_device drm/amdkfd: add debug prints for process teardown
Paulo Zanoni (10):
drm/i915: don't try to find crtcs for FBC if it's disabled drm/i915: don't keep reassigning FBC_UNSUPPORTED drm/i915: change dev_priv->fbc.plane to dev_priv->fbc.crtc drm/i915: extract intel_fbc_find_crtc()
drm/i915: HSW+ FBC is tied to pipe A
drm/i915: gen5+ can have FBC with multiple pipes drm/i915: don't reallocate the compressed FB at every frame drm/i915: pass which operation triggered the frontbuffer tracking drm/i915: also do frontbuffer tracking on pwrites drm/i915: add frontbuffer tracking to FBC
Philipp Zabel (26):
drm/imx: Add support for interlaced scanout
drm/imx: ipuv3-crtc: Allow to divide DI clock from TVEv2
Add LVDS RGB media bus formats
Add BGR888_1X24 and GBR888_1X24 media bus formats
Add YUV8_1X24 media bus format
Add RGB666_1X24_CPADHI media bus format
drm/imx: switch to use media bus formats
drm/imx: consolidate bus format variable names
gpu: ipu-v3: limit pixel clock divider to 8-bits
gpu: ipu-v3: turns out the IPU can only downsize 4:1
drm/imx: imx-ldb: add drm_panel support
drm/imx: imx-ldb: reset display clock input when disabling LVDS drm/imx: imx-ldb: allow to determine bus format from the connected panel drm/panel: Add bus format for Giantplus GPG482739QS5 panel
of: Add vendor prefix for Ortus Technology Co., Ltd.
drm/panel: Add support for OrtusTech COM43H4M85ULC panel
drm/panel: Add display timing support
drm/panel: simple: Add display timing support
drm/panel: Add display timing for HannStar HSD070PWW1
of: Add vendor prefix for Ampire Co., Ltd.
drm/panel: Add support for Ampire AM-800480R3TMQW-A1H 800x480 7" panel
drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id drm/rcar-du: use for_each_endpoint_of_node macro
drm/rockchip: use for_each_endpoint_of_node macro, drop endpoint reference on break
media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format
Ramalingam C (4):
drm/i915: Add support for DRRS in intel_dp_set_m_n drm/i915: Enhancing eDP DRRS debug message drm/i915: Fixing mutex deadlock window at eDP DRRS drm/i915: Removing the drrs capability enum initialization
Rob Clark (12):
drm: add support for tiled/compressed/etc modifier in addfb2 drm/fb: document drm_fb_helper_surface_size drm/atomic: minor kerneldoc typo fix
drm/cma: use correct fb width/height
drm/exynos: use correct fb width/height drm/rockchip: use correct fb width/height
drm/fb: small cleanup
drm/fb: handle tiled connectors better
drm/msm: split out vram initialization
drm/msm: add support for "stolen" mem drm/msm/hdmi: add 74.176MHz and 154.0MHz pix clks
drm: export tile-group functions
Rodrigo Vivi (4):
drm/i915: Make sure we invalidate frontbuffer on fbcon. drm/i915: Fix sink crc connector iteration drm/i915: kill i915.powersave
drm/i915: Remove duplicated psr.active unset
Roy Spliet (2):
drm/nouveau/pbus/hwsq: Support strided register writes drm/nouveau/pbus/hwsq: Make code size u16
Russell King (4):
drm/i2c: tda998x: add OF support for finding attached CRTCs
drm: bridge/dw_hdmi: combine hdmi_set_clock_regenerator_n() and hdmi_regenerate_cts()
drm: bridge/dw_hdmi: protect n/cts setting with a mutex
drm: bridge/dw_hdmi: adjust n/cts setting order
Satheeshakrishna M (1):
drm/i915/skl: Implementation of SKL display power well support
Scott Wood (1):
drm: %pF is only for function pointers
Sean Paul (1):
drm/tegra: gem: Return 64-bit offset for mmap(2)
Shobhit Kumar (1):
drm/i915: Correct the variable holding the value for EOT to write
Simon Farnsworth (1):
drm/dp: Use large transactions for I2C over AUX
Sonika Jindal (6):
drm: Adding edp1.4 specific dpcd macros drm/i915/skl: Support for edp low_vswing param in vbt drm/i915/skl: Add support for edp1.4 low vswing drm/i915/skl: Read sink supported rates from edp panel drm/i915/skl: Add support for edp 1.4 intermediate frequencies drm/i915/skl: Program PLL for edp1.4 intermediate frequencies
Stephane Viau (12):
drm/msm/mdp5: only flush on a CRTC ->atomic_flush() drm/msm/mdp5: Update generated header files drm/msm/mdp5: Enhance operation mode for pipeline configuration drm/msm/mdp5: Add START signal to kick off certain pipelines drm/msm/mdp5: Make the intf connection in config module drm/msm/mdp5: Update headers (introduce MDP5 domain) drm/msm/mdp5: Separate MDP5 domain from MDSS domain drm/msm/mdp5: Update headers (remove enum mdp5_client_id) drm/msm/mdp5: Get SMP client list from mdp5_cfg drm/msm/mdp5: Add hardware configuration for msm8x16 drm/msm/mdp5: Update headers (add CTL flush bits) drm/msm/mdp5: Remove CTL flush dummy bits
Stéphane Marchesin (1):
drm/panel: simple: Add support for Samsung LTN140AT29 panel
Sylvain Rochet (3):
drm: atmel-hlcdc: Add PM suspend/resume support
drm: atmel-hlcdc: Add pinctrl PM select sleep,default state in CRTC suspend/resume
drm: atmel-hlcdc: use appropriate enabled flag in suspend/resume
Thierry Reding (16):
drm/bridge: ps8622: Fix sparse warnings drm/bridge: ptn3460: Fix sparse warnings
drm: Remove unused DRM_MODE_OBJECT_BRIDGE drm/tegra: dc: Check for valid parent clock drm/tegra: Provide debugfs file for the IOVA space drm/tegra: sor: Registers are 32-bit drm/tegra: sor: Dump registers via debugfs
gpu: host1x: Export host1x_syncpt_read() drm/tegra: dc: Implement hardware VBLANK counter drm/atomic: Add helpers for state-subclassing drivers drm/tegra: dc: Use base atomic state helpers drm/tegra: dc: Remove unused function drm/tegra: dc: Remove unused callbacks drm/tegra: dc: Document tegra_dc_state_setup_clock() drm/tegra: hdmi: Resets are synchronous drm/tegra: hdmi: Name register fields consistently
Thomas Daniel (2):
drm/i915: Reset logical ring contexts' head and tail during GPU reset drm/i915: Shift driver's HWSP usage out of reserved range
Tobias Jakobi (3):
drm/exynos: fix typos in hdmi and mixer drm/exynos: remove superfluous error messages drm/exynos: mixer: add 2x scaling to mixer_graph_buffer
Tomeu Vizoso (1):
drm/tegra: sor: Reset during initialization
Tomi Valkeinen (20):
drm/omap: fix encoder-crtc mapping
drm/omap: page_flip: return -EBUSY if flip pending drm/omap: clear omap_obj->paddr in omap_gem_put_paddr() drm/omap: add pin refcounting to omap_framebuffer drm/omap: add a comment why locking is missing drm/omap: fix operation without fbdev
drm/omap: fix error handling in omap_framebuffer_create() drm/omap: handle incompatible buffer stride and pixel size drm/omap: fix TILER on OMAP5
drm/omap: fix plane's channel selection drm/omap: tiler: fix race condition with engine->async drm/omap: remove dummy PM functions
drm/omap: stop connector polling during suspend drm/omap: use DRM_ERROR_RATELIMITED() for error irqs drm/omap: fix race with error_irq
drm/omap: only ignore DIGIT SYNC LOST for TV output drm/omap: do not use BUG_ON(!spin_is_locked(x)) drm/omap: fix race condition with dev->obj_list drm/omap: fix race conditon in DMM
drm/omap: keep ref to old_fb
Tommi Rantala (1):
drm/i915: fix definition of the DRM_IOCTL_I915_GET_SPRITE_COLORKEY ioctl
Tvrtko Ursulin (25):
drm/i915: Track old framebuffer instead of object
drm/i915: Add tiled framebuffer modifiers
drm/i915: Show frame buffer modifier in debug info drm/i915/skl: CS flips are not supported with execlists drm/i915/skl: Use fb modifiers for sprites
drm/i915: Use fb modifiers in intel_check_cursor_plane drm/i915: Use fb modifiers in intel_pin_and_fence_fb_obj drm/i915: Announce support for framebuffer modifiers drm/i915/skl: Add new displayable tiling formats
drm/i915/skl: Updated watermark programming
drm/i915/skl: Update watermarks for Y tiling
drm/i915/skl: Allow Y (and Yf) frame buffer creation
drm: Pass in new and old plane state to prepare_fb and cleanup_fb
drm: Complete moving rotation property to core
drm/i915: Rotation property is now handled in DRM core drm/i915: Turn on PIN_GLOBAL in i915_gem_object_ggtt_pin drm/i915/skl: Extract tile height code into a helper function drm/i915: Use GGTT view when (un)pinning objects to planes drm/i915: Pass in plane state when (un)pinning frame buffers drm/i915: Helper function to determine GGTT view from plane state drm/i915/skl: Support secondary (rotated) frame buffer mapping drm/i915/skl: Query display address through a wrapper drm/i915/skl: Take 90/270 rotation into account in watermark calculations drm/i915/skl: Fix up positive error code
drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover
Vandana Kannan (4):
drm/i915/bdw: Add support for DRRS to switch RR drm/i915: Support for RR switching on VLV Documentation/drm: DocBook integration for DRRS drm/i915: Add debugfs entry for DRRS
Vidya Srinivas (1):
drm/i915: Program PFI credits for VLV
Vijay Purushothaman (5):
drm/i915: Add new PHY reg definitions for lock threshold drm/i915: Limit max VCO supported in CHV to 6.48GHz drm/i915: Disable M2 frac division for integer case drm/i915: Initialize CHV digital lock detect threshold drm/i915: Update prop, int co-eff and gain threshold for CHV
Ville Syrjälä (54):
drm/i915: Introduce intel_set_rps()
drm/i915: Add media rc6 residency file to sysfs
drm/i915: Fix struct_mutex deadlock due to merge fumble drm/atomic: Constify a bunch of functions pointer structs
drm: Silence sparse warnings
drm/i915: Reduce CHV DPLL min vco frequency to 4.8 GHz
drm/i915: Reduce CHV DDL multiplier to 16/8
drm/i915: Kill DRAIN_LATENCY_PRECISION_* defines
drm/i915: Simplify VLV drain latency computation
drm/i915: Hide VLV DDL precision handling
drm/i915: Reorganize VLV DDL setup
drm/i915: Pass plane to vlv_compute_drain_latency()
drm/i915: Read out display FIFO size on VLV/CHV
drm/i915: Make sure PND deadline mode is enabled on VLV/CHV drm/i915: Allow pixel clock up to 95% of cdclk on CHV
drm/i915: Fix chv cdclk support
drm/i915: Rewrite VLV/CHV watermark code
drm/i915: Enable the maxfifo PM5 mode when appropriate on CHV drm/i915: Disable DDR DVFS on CHV
drm/i915: Remove debug prints from primary plane update funcs drm/i915: Reduce clutter by using the local plane pointer drm/i915: Use plane->state->fb instead of plane->fb in intel_plane_restore() drm/i915: Add polish to VLV WM shift+mask operations
drm/i915: Use FW_WM() macro for older gmch platforms too drm/i915: Rewrite some some of the FDI lane checks
drm/i915: Rewrite IVB FDI bifurcation conflict checks
drm/i915: Read CHV_PLL_DW8 from the correct offset
drm/i915: Remove the preliminary_hw_support shackles from CHV drm/i915: Make the DP rates int instead of uint32_t
drm/i915: Store the converted link rates in intel_dp->supported_rates[] drm/i915: Don't copy the DP source rates arrays
drm/i915: Don't copy sink rates either
drm/i915: Remove special case from intel_supported_rates() drm/i915: Fully separate source vs. sink rates
drm/i915: Hide the source vs. sink rate handling from intel_dp_compute_config() drm/i915: Fix max link rate in intel_dp_mode_valid()
drm/i915: Use DP_LINK_RATE_SET whenever possible
drm/i915: Fix MST link rate handling
drm/i915: Avoid overflowing the DP link rate arrays
drm/i915: Add eDP intermediate frequencies for CHV
drm/i915: Include the sink/source/supported rates in debug output drm/i915: Unconfuse DP link rate array names
drm/i915: Send out the full AUX address
drm/i915: Kill intel_plane->obj
drm/i915: Eliminate the RMW sprite colorkey management
drm/i915: Eliminate plane control register RMW from sprite code drm/i915: Fix SKL sprite disable double buffer register update drm/i915: Use usleep_range() in wait_for()
drm/dp: Print the number of bytes processed for aux nacks
drm: Fix DRM_IOCTL_DEF_DRV()
drm: Drop ioctl->cmd_drv
drm: Simplify core vs. drv ioctl handling
drm: Use max() to make the ioctl alloc size code cleaner
drm: Rewrite drm_ioctl_flags() to resemble the new drm_ioctl() code
Vincent Batts (1):
drm/radeon: typo in parameter description
Vincent Palatin (1):
drm/bridge: Add I2C based driver for ps8622/ps8625 bridge
Xihan Zhang (1):
drm/amdkfd: Add multiple kgd support
Yakir Yang (3):
drm: bridge/dw_hdmi: fixed codec style
drm: bridge/dw_hdmi: separate VLEVCTRL settting into platform driver
drm: rockchip/dw_hdmi-rockchip: improve for HDMI electrical test
Yannick Guerrini (2):
drm: Fix trivial typos in comments
drm/i915: Fix trivial typos in comments and warning message
Yu Zhang (8):
drm/i915: Introduce a PV INFO page structure for Intel GVT-g. drm/i915: Adds graphic address space ballooning logic drm/i915: Partition the fence registers for vGPU in i915 driver drm/i915: Disable framebuffer compression for i915 driver in VM drm/i915: Add the display switch logic for vGPU in i915 driver drm/i915: Disable power management for i915 driver in VM drm/i915: Create vGPU specific MMIO operations to reduce traps drm/i915: Support alias ppgtt in VM if ppgtt is enabled
Zach Reizner (1):
drm/vgem: implement virtual GEM
Zhi Wang (1):
drm/i915: Introduce bit definitions of CTXT_SR_CTRL register.
kbuild test robot (3):
drm/i915: fix simple_return.cocci warnings
drm/i915/skl: fix semicolon.cocci warnings
drm/i915: fix simple_return.cocci warnings
Documentation/DocBook/drm.tmpl | 29 +-
Documentation/DocBook/media/v4l/subdev-formats.xml | 426 ++++-
Documentation/devicetree/bindings/drm/imx/ldb.txt | 62 +-
.../bindings/panel/ampire,am800480r3tmqwa1h.txt | 7 +
.../devicetree/bindings/panel/auo,b101ean01.txt | 7 +
.../bindings/panel/innolux,at043tn24.txt | 7 +
.../bindings/panel/innolux,zj070na-01p.txt | 7 +
.../bindings/panel/ortustech,com43h4m85ulc.txt | 7 +
.../bindings/panel/samsung,ltn140at29-301.txt | 7 +
.../bindings/panel/shelly,sca07010-bfn-lnn.txt | 7 +
.../devicetree/bindings/vendor-prefixes.txt | 2 +
MAINTAINERS | 1 -
drivers/gpu/drm/Kconfig | 9 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 13 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 17 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 18 +-
drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 17 +-
drivers/gpu/drm/amd/amdkfd/kfd_module.c | 12 +-
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 13 +-
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 14 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 6 +
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 12 +-
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 64 +-
drivers/gpu/drm/armada/armada_output.h | 2 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 311 ++-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 40 +
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 62 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c | 4 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h | 3 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 41 +-
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 640 ++++---
drivers/gpu/drm/bochs/bochs_hw.c | 1 +
drivers/gpu/drm/bridge/Kconfig | 11 +
drivers/gpu/drm/bridge/Makefile | 1 +
drivers/gpu/drm/bridge/dw_hdmi.c | 54 +-
drivers/gpu/drm/bridge/ps8622.c | 684 +++++++
drivers/gpu/drm/bridge/ptn3460.c | 2 +-
drivers/gpu/drm/drm_atomic.c | 205 +-
drivers/gpu/drm/drm_atomic_helper.c | 660 +++----
drivers/gpu/drm/drm_bridge.c | 2 +-
drivers/gpu/drm/drm_crtc.c | 114 +-
drivers/gpu/drm/drm_crtc_helper.c | 34 +-
drivers/gpu/drm/drm_dp_helper.c | 80 +-
drivers/gpu/drm/drm_dp_mst_topology.c | 13 +
drivers/gpu/drm/drm_drv.c | 2 +-
drivers/gpu/drm/drm_fb_cma_helper.c | 2 +-
drivers/gpu/drm/drm_fb_helper.c | 62 +-
drivers/gpu/drm/drm_info.c | 1 +
drivers/gpu/drm/drm_ioc32.c | 2 +-
drivers/gpu/drm/drm_ioctl.c | 63 +-
drivers/gpu/drm/drm_irq.c | 58 +-
drivers/gpu/drm/drm_modes.c | 12 +-
drivers/gpu/drm/drm_of.c | 10 +-
drivers/gpu/drm/drm_pci.c | 1 +
drivers/gpu/drm/drm_plane_helper.c | 39 +-
drivers/gpu/drm/drm_probe_helper.c | 2 +-
drivers/gpu/drm/drm_sysfs.c | 61 +-
drivers/gpu/drm/drm_vm.c | 1 +
drivers/gpu/drm/exynos/exynos7_drm_decon.c | 178 +-
drivers/gpu/drm/exynos/exynos_dp_core.c | 10 +
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 101 +-
drivers/gpu/drm/exynos/exynos_drm_crtc.h | 7 +-
drivers/gpu/drm/exynos/exynos_drm_drv.c | 27 -
drivers/gpu/drm/exynos/exynos_drm_drv.h | 40 +-
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 7 -
drivers/gpu/drm/exynos/exynos_drm_fb.c | 10 +-
drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 5 +-
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 251 ++-
drivers/gpu/drm/exynos/exynos_drm_fimd.h | 15 +
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 44 +
drivers/gpu/drm/exynos/exynos_drm_plane.c | 78 +-
drivers/gpu/drm/exynos/exynos_drm_plane.h | 7 +-
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 136 +-
drivers/gpu/drm/exynos/exynos_hdmi.c | 4 +-
drivers/gpu/drm/exynos/exynos_mixer.c | 260 ++-
drivers/gpu/drm/exynos/regs-mixer.h | 2 +-
drivers/gpu/drm/gma500/cdv_intel_display.c | 2 +-
drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 2 +-
drivers/gpu/drm/gma500/cdv_intel_lvds.c | 2 +-
drivers/gpu/drm/gma500/gma_display.c | 10 +-
drivers/gpu/drm/gma500/mdfld_dsi_output.c | 2 +-
drivers/gpu/drm/gma500/mdfld_intel_display.c | 2 +-
drivers/gpu/drm/gma500/oaktrail_crtc.c | 2 +-
drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +-
drivers/gpu/drm/gma500/psb_intel_display.c | 2 +-
drivers/gpu/drm/gma500/psb_intel_lvds.c | 2 +-
drivers/gpu/drm/i2c/adv7511.c | 197 +-
drivers/gpu/drm/i2c/tda998x_drv.c | 101 +-
drivers/gpu/drm/i915/Makefile | 7 +-
drivers/gpu/drm/i915/i915_cmd_parser.c | 75 +-
drivers/gpu/drm/i915/i915_debugfs.c | 352 +++-
drivers/gpu/drm/i915/i915_dma.c | 242 ++-
drivers/gpu/drm/i915/i915_drv.c | 178 +-
drivers/gpu/drm/i915/i915_drv.h | 392 ++--
drivers/gpu/drm/i915/i915_gem.c | 545 ++----
drivers/gpu/drm/i915/i915_gem_context.c | 115 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 4 +
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 194 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 1068 +++++++----
drivers/gpu/drm/i915/i915_gem_gtt.h | 160 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 335 ++++
drivers/gpu/drm/i915/i915_gem_stolen.c | 8 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 22 +-
drivers/gpu/drm/i915/i915_irq.c | 294 +--
drivers/gpu/drm/i915/i915_params.c | 19 +-
drivers/gpu/drm/i915/i915_reg.h | 199 +-
drivers/gpu/drm/i915/i915_suspend.c | 215 +--
drivers/gpu/drm/i915/i915_sysfs.c | 78 +-
drivers/gpu/drm/i915/i915_trace.h | 107 +-
drivers/gpu/drm/i915/i915_ums.c | 552 ------
drivers/gpu/drm/i915/i915_vgpu.c | 264 +++
drivers/gpu/drm/i915/i915_vgpu.h | 91 +
drivers/gpu/drm/i915/intel_atomic.c | 16 +-
drivers/gpu/drm/i915/intel_atomic_plane.c | 24 +-
drivers/gpu/drm/i915/intel_bios.c | 7 +
drivers/gpu/drm/i915/intel_bios.h | 1 +
drivers/gpu/drm/i915/intel_crt.c | 11 +-
drivers/gpu/drm/i915/intel_ddi.c | 111 +-
drivers/gpu/drm/i915/intel_display.c | 1788 ++++++++++++------
drivers/gpu/drm/i915/intel_dp.c | 459 ++++-
drivers/gpu/drm/i915/intel_dp_mst.c | 38 +-
drivers/gpu/drm/i915/intel_drv.h | 126 +-
drivers/gpu/drm/i915/intel_dsi.c | 5 +-
drivers/gpu/drm/i915/intel_dvo.c | 3 +-
drivers/gpu/drm/i915/intel_fbc.c | 184 +-
drivers/gpu/drm/i915/intel_fbdev.c | 32 +-
drivers/gpu/drm/i915/intel_frontbuffer.c | 21 +-
drivers/gpu/drm/i915/intel_hdmi.c | 29 +-
drivers/gpu/drm/i915/intel_lrc.c | 208 +-
drivers/gpu/drm/i915/intel_lrc.h | 12 +-
drivers/gpu/drm/i915/intel_lvds.c | 11 +-
drivers/gpu/drm/i915/intel_opregion.c | 6 +-
drivers/gpu/drm/i915/intel_overlay.c | 5 +-
drivers/gpu/drm/i915/intel_pm.c | 1286 +++++++------
drivers/gpu/drm/i915/intel_psr.c | 2 -
drivers/gpu/drm/i915/intel_ringbuffer.c | 351 ++--
drivers/gpu/drm/i915/intel_ringbuffer.h | 13 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 266 ++-
drivers/gpu/drm/i915/intel_sdvo.c | 25 +-
drivers/gpu/drm/i915/intel_sprite.c | 476 ++---
drivers/gpu/drm/i915/intel_tv.c | 5 +-
drivers/gpu/drm/i915/intel_uncore.c | 69 +-
drivers/gpu/drm/imx/Kconfig | 1 +
drivers/gpu/drm/imx/dw_hdmi-imx.c | 14 +-
drivers/gpu/drm/imx/imx-drm-core.c | 25 +-
drivers/gpu/drm/imx/imx-drm.h | 10 +-
drivers/gpu/drm/imx/imx-ldb.c | 196 +-
drivers/gpu/drm/imx/imx-tve.c | 6 +-
drivers/gpu/drm/imx/ipuv3-crtc.c | 24 +-
drivers/gpu/drm/imx/ipuv3-plane.c | 7 +-
drivers/gpu/drm/imx/ipuv3-plane.h | 2 +-
drivers/gpu/drm/imx/parallel-display.c | 13 +-
drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +-
drivers/gpu/drm/msm/Kconfig | 11 +
drivers/gpu/drm/msm/Makefile | 5 +
drivers/gpu/drm/msm/dsi/dsi.c | 212 +++
drivers/gpu/drm/msm/dsi/dsi.h | 117 ++
drivers/gpu/drm/msm/dsi/dsi.xml.h | 418 +++-
drivers/gpu/drm/msm/dsi/dsi_host.c | 1993 ++++++++++++++++++++
drivers/gpu/drm/msm/dsi/dsi_manager.c | 705 +++++++
drivers/gpu/drm/msm/dsi/dsi_phy.c | 352 ++++
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c | 34 +
drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 6 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h | 399 ++--
drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c | 102 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h | 18 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 343 ++++
drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 86 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c | 315 +++-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h | 75 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 83 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c | 26 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 200 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h | 75 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 10 +-
drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c | 64 +-
drivers/gpu/drm/msm/msm_atomic.c | 4 +-
drivers/gpu/drm/msm/msm_drv.c | 100 +-
drivers/gpu/drm/msm/msm_drv.h | 29 +
drivers/gpu/drm/msm/msm_fbdev.c | 3 +-
drivers/gpu/drm/msm/msm_gem.c | 25 +-
drivers/gpu/drm/msm/msm_gem.h | 5 +-
drivers/gpu/drm/msm/msm_kms.h | 4 +
drivers/gpu/drm/nouveau/dispnv04/crtc.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/dac.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/dfp.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/disp.c | 6 +-
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 +-
drivers/gpu/drm/nouveau/include/nvif/class.h | 10 +
drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h | 3 +
drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h | 4 +-
.../gpu/drm/nouveau/include/nvkm/subdev/instmem.h | 1 +
drivers/gpu/drm/nouveau/include/nvkm/subdev/pmu.h | 1 +
drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +
drivers/gpu/drm/nouveau/nouveau_chan.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_display.c | 9 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 1 +
drivers/gpu/drm/nouveau/nouveau_drm.h | 4 +-
drivers/gpu/drm/nouveau/nouveau_gem.c | 3 +
drivers/gpu/drm/nouveau/nouveau_platform.c | 79 +-
drivers/gpu/drm/nouveau/nouveau_platform.h | 18 +
drivers/gpu/drm/nouveau/nouveau_ttm.c | 3 +
drivers/gpu/drm/nouveau/nv84_fence.c | 14 +-
drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/ce/gm204.c | 173 ++
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c | 6 +-
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c | 16 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c | 7 +-
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h | 2 +
drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm204.c | 57 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild | 4 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h | 29 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c | 16 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c | 20 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c | 1054 +++++++++++
drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm206.c | 83 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/gpc.fuc | 114 +-
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgf100.fuc3.h | 294 +--
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgf117.fuc3.h | 354 ++--
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgk104.fuc3.h | 354 ++--
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgk110.fuc3.h | 354 ++--
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgk208.fuc5.h | 230 +--
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5 | 2 +-
.../drm/nouveau/nvkm/engine/gr/fuc/gpcgm107.fuc5.h | 480 +++--
.../gpu/drm/nouveau/nvkm/engine/gr/fuc/macros.fuc | 32 +
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 22 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 20 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf108.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c | 17 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 45 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c | 47 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c | 26 +-
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm204.c | 387 ++++
drivers/gpu/drm/nouveau/nvkm/engine/gr/gm206.c | 40 +
.../gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.h | 44 +-
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.h | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild | 1 -
drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c | 26 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c | 1 -
drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h | 1 -
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk20a.c | 149 --
drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.c | 4 +-
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/Kbuild | 1 +
.../gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c | 440 +++++
drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c | 10 +-
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c | 2 +-
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/Kbuild | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk110.c | 95 +
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk208.c | 1 +
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c | 7 +-
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/priv.h | 2 +
drivers/gpu/drm/omapdrm/omap_connector.c | 12 -
drivers/gpu/drm/omapdrm/omap_crtc.c | 622 +++---
drivers/gpu/drm/omapdrm/omap_dmm_priv.h | 8 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 80 +-
drivers/gpu/drm/omapdrm/omap_dmm_tiler.h | 1 +
drivers/gpu/drm/omapdrm/omap_drv.c | 241 +--
drivers/gpu/drm/omapdrm/omap_drv.h | 23 +-
drivers/gpu/drm/omapdrm/omap_fb.c | 66 +-
drivers/gpu/drm/omapdrm/omap_fbdev.c | 57 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 10 +-
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 20 +-
drivers/gpu/drm/omapdrm/omap_irq.c | 2 +-
drivers/gpu/drm/omapdrm/omap_plane.c | 146 +-
drivers/gpu/drm/panel/Kconfig | 1 +
drivers/gpu/drm/panel/panel-simple.c | 256 ++-
drivers/gpu/drm/qxl/qxl_drv.c | 2 +-
drivers/gpu/drm/radeon/Kconfig | 8 +
drivers/gpu/drm/radeon/Makefile | 2 +-
drivers/gpu/drm/radeon/atombios_crtc.c | 25 +-
drivers/gpu/drm/radeon/atombios_dp.c | 17 +-
drivers/gpu/drm/radeon/atombios_encoders.c | 171 +-
drivers/gpu/drm/radeon/btc_dpm.c | 55 +-
drivers/gpu/drm/radeon/ci_dpm.c | 14 +
drivers/gpu/drm/radeon/cik.c | 132 +-
drivers/gpu/drm/radeon/cikd.h | 2 +
drivers/gpu/drm/radeon/evergreen.c | 129 +-
drivers/gpu/drm/radeon/evergreend.h | 1 +
drivers/gpu/drm/radeon/kv_dpm.c | 23 +
drivers/gpu/drm/radeon/ni.c | 29 +
drivers/gpu/drm/radeon/ni_dpm.c | 36 +
drivers/gpu/drm/radeon/ni_reg.h | 44 +
drivers/gpu/drm/radeon/nid.h | 47 +
drivers/gpu/drm/radeon/r600.c | 26 +
drivers/gpu/drm/radeon/radeon.h | 12 +-
drivers/gpu/drm/radeon/radeon_asic.c | 49 +
drivers/gpu/drm/radeon/radeon_asic.h | 30 +
drivers/gpu/drm/radeon/radeon_atombios.c | 1 +
drivers/gpu/drm/radeon/radeon_audio.c | 24 +
drivers/gpu/drm/radeon/radeon_connectors.c | 132 +-
drivers/gpu/drm/radeon/radeon_device.c | 5 +
drivers/gpu/drm/radeon/radeon_display.c | 15 +-
drivers/gpu/drm/radeon/radeon_dp_auxch.c | 206 ++
drivers/gpu/drm/radeon/radeon_dp_mst.c | 782 ++++++++
drivers/gpu/drm/radeon/radeon_drv.c | 13 +-
drivers/gpu/drm/radeon/radeon_encoders.c | 14 +-
drivers/gpu/drm/radeon/radeon_fb.c | 11 +
drivers/gpu/drm/radeon/radeon_irq_kms.c | 15 +
drivers/gpu/drm/radeon/radeon_kfd.c | 10 +-
drivers/gpu/drm/radeon/radeon_kms.c | 29 +
drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 2 +-
drivers/gpu/drm/radeon/radeon_mn.c | 102 +-
drivers/gpu/drm/radeon/radeon_mode.h | 72 +
drivers/gpu/drm/radeon/radeon_vce.c | 1 +
drivers/gpu/drm/radeon/rs780_dpm.c | 22 +
drivers/gpu/drm/radeon/rv6xx_dpm.c | 46 +
drivers/gpu/drm/radeon/rv770_dpm.c | 44 +
drivers/gpu/drm/radeon/si.c | 130 +-
drivers/gpu/drm/radeon/si_dpm.c | 36 +
drivers/gpu/drm/radeon/sid.h | 1 +
drivers/gpu/drm/radeon/sumo_dpm.c | 28 +
drivers/gpu/drm/radeon/trinity_dpm.c | 25 +
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 400 ++--
drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 8 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 20 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.h | 16 +-
drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 71 +-
drivers/gpu/drm/rcar-du/rcar_du_group.h | 5 +
drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c | 9 +-
drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 65 +-
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 349 +++-
drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 9 +-
drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.c | 18 +-
drivers/gpu/drm/rcar-du/rcar_du_lvdsenc.h | 8 +-
drivers/gpu/drm/rcar-du/rcar_du_plane.c | 422 ++---
drivers/gpu/drm/rcar-du/rcar_du_plane.h | 69 +-
drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 9 +-
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 14 +-
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 30 +-
drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 7 +-
drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 17 +-
drivers/gpu/drm/rockchip/rockchip_drm_gem.h | 3 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 143 +-
drivers/gpu/drm/sti/sti_drm_crtc.c | 175 +-
drivers/gpu/drm/sti/sti_drm_drv.c | 86 +-
drivers/gpu/drm/sti/sti_drm_drv.h | 6 +
drivers/gpu/drm/sti/sti_drm_plane.c | 66 +-
drivers/gpu/drm/sti/sti_dvo.c | 6 +-
drivers/gpu/drm/sti/sti_hda.c | 6 +-
drivers/gpu/drm/sti/sti_hdmi.c | 6 +-
drivers/gpu/drm/tegra/dc.c | 105 +-
drivers/gpu/drm/tegra/dc.h | 7 +-
drivers/gpu/drm/tegra/drm.c | 22 +-
drivers/gpu/drm/tegra/drm.h | 4 +-
drivers/gpu/drm/tegra/hdmi.c | 4 +-
drivers/gpu/drm/tegra/hdmi.h | 2 +-
drivers/gpu/drm/tegra/sor.c | 202 +-
drivers/gpu/drm/vgem/Makefile | 4 +
drivers/gpu/drm/vgem/vgem_dma_buf.c | 94 +
drivers/gpu/drm/vgem/vgem_drv.c | 364 ++++
.../drm/{i915/intel_dsi_cmd.h => vgem/vgem_drv.h} | 46 +-
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 +-
drivers/gpu/host1x/syncpt.c | 6 +
drivers/gpu/ipu-v3/ipu-dc.c | 18 +-
drivers/gpu/ipu-v3/ipu-di.c | 9 +-
drivers/gpu/ipu-v3/ipu-ic.c | 4 +-
include/drm/bridge/dw_hdmi.h | 5 +-
include/drm/drmP.h | 20 +-
include/drm/drm_atomic.h | 24 +
include/drm/drm_atomic_helper.h | 20 +-
include/drm/drm_crtc.h | 21 +-
include/drm/drm_crtc_helper.h | 9 +-
include/drm/drm_dp_helper.h | 176 +-
include/drm/drm_dp_mst_helper.h | 2 +
include/drm/drm_edid.h | 2 +
include/drm/drm_fb_helper.h | 19 +
include/drm/drm_gem.h | 14 +-
include/drm/drm_modes.h | 2 +-
include/drm/drm_panel.h | 5 +
include/drm/drm_plane_helper.h | 12 +-
include/drm/i915_pciids.h | 77 +-
include/linux/host1x.h | 1 +
include/uapi/drm/drm.h | 1 +
include/uapi/drm/drm_fourcc.h | 78 +
include/uapi/drm/drm_mode.h | 9 +
include/uapi/drm/i915_drm.h | 5 +-
include/uapi/drm/nouveau_drm.h | 1 +
include/uapi/drm/radeon_drm.h | 4 +
include/uapi/drm/tegra_drm.h | 3 +-
include/uapi/linux/media-bus-format.h | 13 +-
include/video/imx-ipu-v3.h | 2 +-
include/video/samsung_fimd.h | 11 +
396 files changed, 25495 insertions(+), 10222 deletions(-)
create mode 100644 Documentation/devicetree/bindings/panel/ampire,am800480r3tmqwa1h.txt
create mode 100644 Documentation/devicetree/bindings/panel/auo,b101ean01.txt
create mode 100644 Documentation/devicetree/bindings/panel/innolux,at043tn24.txt
create mode 100644 Documentation/devicetree/bindings/panel/innolux,zj070na-01p.txt
create mode 100644 Documentation/devicetree/bindings/panel/ortustech,com43h4m85ulc.txt
create mode 100644 Documentation/devicetree/bindings/panel/samsung,ltn140at29-301.txt
create mode 100644 Documentation/devicetree/bindings/panel/shelly,sca07010-bfn-lnn.txt
create mode 100644 drivers/gpu/drm/bridge/ps8622.c
create mode 100644 drivers/gpu/drm/exynos/exynos_drm_fimd.h
create mode 100644 drivers/gpu/drm/i915/i915_gem_shrinker.c
delete mode 100644 drivers/gpu/drm/i915/i915_ums.c
create mode 100644 drivers/gpu/drm/i915/i915_vgpu.c
create mode 100644 drivers/gpu/drm/i915/i915_vgpu.h
create mode 100644 drivers/gpu/drm/msm/dsi/dsi.c
create mode 100644 drivers/gpu/drm/msm/dsi/dsi.h
create mode 100644 drivers/gpu/drm/msm/dsi/dsi_host.c
create mode 100644 drivers/gpu/drm/msm/dsi/dsi_manager.c
create mode 100644 drivers/gpu/drm/msm/dsi/dsi_phy.c
create mode 100644 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ce/gm204.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm204.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm206.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gm204.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gm206.c
delete mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk20a.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c
create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk110.c
create mode 100644 drivers/gpu/drm/radeon/radeon_dp_auxch.c
create mode 100644 drivers/gpu/drm/radeon/radeon_dp_mst.c
create mode 100644 drivers/gpu/drm/vgem/Makefile
create mode 100644 drivers/gpu/drm/vgem/vgem_dma_buf.c
create mode 100644 drivers/gpu/drm/vgem/vgem_drv.c
rename drivers/gpu/drm/{i915/intel_dsi_cmd.h => vgem/vgem_drv.h} (51%)_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Hmm. The odd Intel PCI resource mess is back.
Or maybe it never went away.
I get these when suspending. Things *work*, but it's really spamming my logs a fair bit:
i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment pci_bus 0000:01: Allocating resources
pci_bus 0000:02: Allocating resources
i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [??? 0x00000000 flags 0x2] has bogus alignment
That resource is complete garbage. "flags 0x2" is not even a valid flag value. I'm *guessing* it might be IORESOURCE_ROM_SHADOW, but if that is valid, then it should also have have had the IORESOURCE_MEM bit, and it doesn't.
(The low 8 bits of the resource flags depend on the high bits, which is why I say that I'm "guessing" at that ROM_SHADOW bit. It could be something else, like a IORESOURCE_MEM_CACHEABLE PnP bit - but that should not show up for PCI, and "BAR 6" is normally the ROM resource, so the ROM_SHADOW bit makes some sense.
The only place that sets IORESOURCE_ROM_SHADOW that I find is the x86 pci_fixup_video() function. That one checks for PCI_COMMAND_IO | PCI_COMMAND_MEMORY in the PCI command word, though. Why are the other bits not set?
Both i915/dri people and PCI people on the Cc. This warning does *not* happen at bootup, but only at suspend time. So my suspicion is that somebody messes with the PCI ROM resource, and disables it or something, but the IORESOURCE_ROM_SHADOW never gets cleared. And then because res->flags is non-zero, the PCI scanning code doesn't ignore the resource.
Just before the whole bogus alignment check, the PCI code does
if (!(r->flags) || r->parent)
continue;(don't ask me about the odd parenthesis) which *should* have triggered, but that IORESOURCE_ROM_SHADOW bit screws things up.
Anybody?
Linus
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Bjorn Helgaas
maintainerQuoted 42 lines · Linus Torvalds
Hmm. The odd Intel PCI resource mess is back.
Or maybe it never went away.
I get these when suspending. Things *work*, but it's really spamming my logs a fair bit:
i915 0000:00:02.0: BAR 6: [???
0x00000000flags0x2] has bogus alignmentpci_bus0000:01: Allocating resources
pci_bus0000:02: Allocating resources
i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignmentThat resource is complete garbage. "flags
0x2" is not even a valid flag value. I'm *guessing* it might beIORESOURCE_ROM_SHADOW, but if that is valid, then it should also have have had theIORESOURCE_MEMbit, and it doesn't.(The low 8 bits of the resource flags depend on the high bits, which is why I say that I'm "guessing" at that
ROM_SHADOWbit. It could be something else, like aIORESOURCE_MEM_CACHEABLEPnP bit - but that should not show up for PCI, and "BAR 6" is normally the ROM resource, so theROM_SHADOWbit makes some sense.The only place that sets
IORESOURCE_ROM_SHADOWthat I find is the x86pci_fixup_video()function. That one checks forPCI_COMMAND_IO|PCI_COMMAND_MEMORYin the PCI command word, though. Why are the other bits not set?Both i915/dri people and PCI people on the Cc. This warning does *not* happen at bootup, but only at suspend time. So my suspicion is that somebody messes with the PCI ROM resource, and disables it or something, but the
IORESOURCE_ROM_SHADOWnever gets cleared. And then becauseres->flagsis non-zero, the PCI scanning code doesn't ignore the resource.Just before the whole bogus alignment check, the PCI code does
Quoted 7 lines
if (!(r->flags) || r->parent) continue;(don't ask me about the odd parenthesis) which *should* have triggered, but that
IORESOURCE_ROM_SHADOWbit screws things up.Anybody?
I'll look into this. It's been around a long time, but hasn't percolated to the top of my list until now.
https://bugzilla.kernel.org/show_bug.cgi?id=16063 says "echo 1
Quoted 1 line
/sys/bus/pci/rescan" is also a reproducer.
Bjorn
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Bjorn Helgaas
maintainer[+cc Matthew]
Quoted 17 lines · Linus Torvalds
Hmm. The odd Intel PCI resource mess is back.
Or maybe it never went away.
I get these when suspending. Things *work*, but it's really spamming my logs a fair bit:
i915 0000:00:02.0: BAR 6: [???
0x00000000flags0x2] has bogus alignmentpci_bus0000:01: Allocating resources
pci_bus0000:02: Allocating resources
i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment
Quoted 4 lines
That resource is complete garbage. "flags
0x2" is not even a valid flag value. I'm *guessing* it might beIORESOURCE_ROM_SHADOW, but if that is valid, then it should also have have had theIORESOURCE_MEMbit, and it doesn't.
Your i915 does not have a ROM BAR in hardware. If the default video device has no ROM BAR, pci_fixup_video() sets IORESOURCE_ROM_SHADOW even though the resource flags are zero because the BAR itself doesn't exist.
If IORESOURCE_ROM_SHADOW is set, pci_map_rom() assumes there's a shadow ROM image at 0xC0000. Is there a shadow image even if the device itself doesn't have a ROM BAR?
We could fabricate a resource even if the BAR doesn't exist, e.g., "flags = IORESOURCE_MEM | ... | IORESOURCE_ROM_SHADOW", but that would be ugly and error-prone in other places that use the ROM.
Matthew added dev->rom for ROM images supplied by the platform (84c1b80e3263 ("PCI: Add support for non-BAR ROMs")). A shadow image seems like a similar thing. I think it would be cleaner to get rid of IORESOURCE_ROM_SHADOW altogether and instead set "dev->rom = 0xC0000" if there's a shadow image, e.g.:
int pcibios_add_device(struct pci_dev *dev)
{
if (dev-is-default-vga-device) {
dev->rom = 0xC0000;
dev->romlen = 0x20000;
} pa_data = boot_params.hdr.setup_data;
while (pa_data) {
...
if (data->type == SETUP_PCI) {
rom = (struct pci_setup_rom *)data;
if (dev-is-rom-dev) {
dev->rom = ...
dev->romlen = rom->pcilen;
}
}
}But the rules for figuring out which image to use seem ... complicated.
Bjorn
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 8 lines · Bjorn Helgaas
Your i915 does not have a ROM BAR in hardware. If the default video device has no ROM BAR,
pci_fixup_video()setsIORESOURCE_ROM_SHADOWeven though the resource flags are zero because the BAR itself doesn't exist.If
IORESOURCE_ROM_SHADOWis set,pci_map_rom()assumes there's a shadow ROM image at0xC0000. Is there a shadow image even if the device itself doesn't have a ROM BAR?
On UEFI systems, there's no special reason to believe that there's anything at 0xc0000 - it depends on whether a CSM got loaded or not. Everything is awful. So...
Quoted 6 lines
int pcibios_add_device(struct pci_dev *dev)
{
if (dev-is-default-vga-device) {
dev->rom = 0xC0000;
dev->romlen = 0x20000;
}I don't know what we want to do here. This is, at some level, fundamentally wrong - however, it also wouldn't surprise me if this is also the only copy of the video ROM we have on some UEFI systems, especially since I believe that Windows 7 still required that there be a legacy ROM it could use for bootloader modesetting on UEFI platforms. So simply making this conditional on BIOS may break existing machines. But if there *is* a ROM there then we should be able to id it from the usual video ROM signature?
Quoted 9 lines · Matthew Garrett
Quoted 7 lines · Bjorn Helgaas
int pcibios_add_device(struct pci_dev *dev) { if (dev-is-default-vga-device) { dev->rom = 0xC0000; dev->romlen = 0x20000; }
Quoted 8 lines
I don't know what we want to do here. This is, at some level, fundamentally wrong - however, it also wouldn't surprise me if this is also the only copy of the video ROM we have on some UEFI systems, especially since I believe that Windows 7 still required that there be a legacy ROM it could use for bootloader modesetting on UEFI platforms. So simply making this conditional on BIOS may break existing machines. But if there *is* a ROM there then we should be able to id it from the usual video ROM signature?
I'm not sure why we want that IORESOURCE_ROM_SHADOW thing at all, but yes, if what this is all about is the magic video ROM at 0xc0000, then
(a) it should have nothing what-so-ever to do with the actual PCI
BAR, since it's been *ages* since people actually had an expansion rom like that, and it's much more common that the video ROM comes as part of the system BIOS on laptops etc.
(b) yes, the sane thing to do would be to just look for the ROM
signature, 0x55 0xaa at 2kB incrementing headers (and checking the proper checksum too).
There is no way to see that from the PCI device state, because as mentioned, quite often the "ROM" is entirely fake, and is not just some shadowed copy of a real underlying hardware ROM, but is fundamentally just a RAM image decompressed from some other source and then marked read-only.
Linus
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 2 lines · Linus Torvalds
I'm not sure why we want that
IORESOURCE_ROM_SHADOWthing at all, but yes, if what this is all about is the magic video ROM at0xc0000, then
It's used in the PCI layer to say "Read from 0xc0000 rather than the ROM BAR" and then ends up as a shorthand for "Was this the boot video device" in various places because we're bad at software.
Quoted 5 lines
There is no way to see that from the PCI device state, because as mentioned, quite often the "ROM" is entirely fake, and is not just some shadowed copy of a real underlying hardware ROM, but is fundamentally just a RAM image decompressed from some other source and then marked read-only.
If only - nvidias used to rewrite their image at runtime.
Signature · 1 line
Matthew Garrett | [email protected]
Quoted 25 lines · Bjorn Helgaas
[+cc Matthew]
Quoted 17 lines · Linus Torvalds
Hmm. The odd Intel PCI resource mess is back.
Or maybe it never went away.
I get these when suspending. Things *work*, but it's really spamming my logs a fair bit:
i915 0000:00:02.0: BAR 6: [???
0x00000000flags0x2] has bogus alignmentpci_bus0000:01: Allocating resources
pci_bus0000:02: Allocating resources
i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignment i915 0000:00:02.0: BAR 6: [???0x00000000flags0x2] has bogus alignmentQuoted 4 lines
That resource is complete garbage. "flags
0x2" is not even a valid flag value. I'm *guessing* it might beIORESOURCE_ROM_SHADOW, but if that is valid, then it should also have have had theIORESOURCE_MEMbit, and it doesn't.
Quoted 8 lines
Your i915 does not have a ROM BAR in hardware. If the default video device has no ROM BAR,
pci_fixup_video()setsIORESOURCE_ROM_SHADOWeven though the resource flags are zero because the BAR itself doesn't exist.If
IORESOURCE_ROM_SHADOWis set,pci_map_rom()assumes there's a shadow ROM image at0xC0000. Is there a shadow image even if the device itself doesn't have a ROM BAR?
Very likely yes. With integrated APUs and mobile dGPUs, the vbios image is often stored as part of the system rom rather than as a dedicated rom for the GPU. The vbios image is then copied to the shadow location during sbios init to provide OS access to the rom.
Alex
Quoted 31 lines
We could fabricate a resource even if the BAR doesn't exist, e.g., "flags =
IORESOURCE_MEM| ... |IORESOURCE_ROM_SHADOW", but that would be ugly and error-prone in other places that use the ROM.Matthew added
dev->romfor ROM images supplied by the platform (84c1b80e3263("PCI: Add support for non-BAR ROMs")). A shadow image seems like a similar thing. I think it would be cleaner to get rid ofIORESOURCE_ROM_SHADOWaltogether and instead set "dev->rom=0xC0000" if there's a shadow image, e.g.:int pcibios_add_device(struct pci_dev *dev) { if (dev-is-default-vga-device) { dev->rom = 0xC0000; dev->romlen = 0x20000; }pa_data = boot_params.hdr.setup_data; while (pa_data) { ... if (data->type == SETUP_PCI) { rom = (struct pci_setup_rom *)data; if (dev-is-rom-dev) { dev->rom = ... dev->romlen = rom->pcilen; } } }
Quoted 8 lines
But the rules for figuring out which image to use seem ... complicated.
Bjorn
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi
On 2015-04-20, Dave Airlie wrote:
[...]
Quoted 11 lines
The following changes since commit
09d51602cf84a1264946711dd4ea0dddbac599a1:Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux(2015-04-19 14:31:41 -0700)are available in the git repository at:
git://people.freedesktop.org/~airlied/linuxdrm-next-mergedfor you to fetch changes up to
2c33ce009ca2389dbf0535d0672214d09738e35e:Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
[...]
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] [ 13.265803] PGD 0 [ 13.265810] Oops: 0002 [#1] PREEMPT SMP [ 13.265820] Modules linked in: iTCO_wdt i915(+) iTCO_vendor_support snd_hda_codec_realtek snd_hda_codec_generic coretemp gpio_ich pcspkr lpc_ich mfd_core video i2c_algo_bit drm_kms_helper snd_hda_intel drm snd_hda_controller i2c_i801 i2c_core evdev snd_hda_codec psmouse sg serio_raw intel_agp intel_gtt rng_core snd_hda_core snd_hwdep snd_pcm snd_timer snd soundcore floppy(+) 8250_fintek acpi_cpufreq button processor fuse parport_pc ppdev lp parport autofs4 ext4 crc16 jbd2 mbcache dm_mod sr_mod cdrom sd_mod ata_generic pata_acpi ata_piix libata scsi_mod uhci_hcd ehci_pci ehci_hcd usbcore usb_common r8169 mii [ 13.265958] CPU: 0 PID: 211 Comm: systemd-udevd Not tainted 4.1.0-rc6-aptosid-amd64 #1 aptosid 4.1~rc6-1~git65.slh.1 [ 13.265971] Hardware name: /D945GCLF2, BIOS LF94510J.86A.0278.2010.0414.2000 04/14/2010 [ 13.265999] task: ffff8800372f65c0 ti: ffff88007958c000 task.ti: ffff88007958c000 [ 13.266005] RIP: 0010:[<ffffffffa0556f01>] [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] [ 13.266005] RSP: 0018:ffff88007958f820 EFLAGS: 00010246 [ 13.266005] RAX: ffff88007b0ba800 RBX: ffff88000010b378 RCX: ffff88003738c000 [ 13.266005] RDX: 0000000000000000 RSI: ffff88003738b408 RDI: ffff88000010b330 [ 13.266005] RBP: ffff88007c010000 R08: ffff88007c010000 R09: ffff88003738b000 [ 13.266005] R10: 0000000000000292 R11: 0000000000000020 R12: ffff88000010b348 [ 13.266005] R13: ffff88000010b000 R14: ffff88007c018688 R15: 0000000000000000 [ 13.266005] FS: 00007f4af014a880(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000 [ 13.266005] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 13.266005] CR2: 0000000000000010 CR3: 00000000371b2000 CR4: 00000000000007f0 [ 13.266005] Stack: [ 13.266005] ffffffffa05709d0 ffff880000000002 ffff88007c010000 ffff88000010b330 [ 13.266005] 0000000079f44a80 ffff88000010b348 ffff88000010b378 ffff88000010b000 [ 13.266005] ffffffffa00f7949 ffff88000010b000 ffff880000000000 ffff880079f44a80 [ 13.266005] Call Trace: [ 13.266005] [<ffffffffa05709d0>] ? intel_modeset_setup_hw_state+0x7e0/0xdb0 [i915] [ 13.266005] [<ffffffffa00f7949>] ? drm_modeset_lock_all_crtcs+0xa9/0xc0 [drm] [ 13.266005] [<ffffffffa05719f4>] ? intel_modeset_init+0x8f4/0x1700 [i915] [ 13.266005] [<ffffffffa054c9fb>] ? gen2_read32+0x1b/0x30 [i915] [ 13.266005] [<ffffffffa05a4acf>] ? i915_driver_load+0xe6f/0x13d0 [i915] [ 13.266005] [<ffffffff8109f96f>] ? __wake_up+0x2f/0x50 [ 13.266005] [<ffffffff8143b220>] ? netlink_broadcast_filtered+0x130/0x380 [ 13.266005] [<ffffffff8127a450>] ? kobj_ns_drop+0x50/0x50 [ 13.266005] [<ffffffff8127a79c>] ? kobject_uevent_env+0xfc/0x400 [ 13.266005] [<ffffffff81392612>] ? get_device+0x12/0x30 [ 13.266005] [<ffffffff814ff7ff>] ? klist_add_tail+0x1f/0x50 [ 13.266005] [<ffffffff81393efd>] ? device_add+0x21d/0x650 [ 13.266005] [<ffffffffa00e214c>] ? drm_dev_register+0x9c/0xf0 [drm] [ 13.266005] [<ffffffffa00e4f54>] ? drm_get_pci_dev+0x84/0x1f0 [drm] [ 13.266005] [<ffffffff813a0607>] ? __pm_runtime_resume+0x47/0x60 [ 13.266005] [<ffffffff812c052a>] ? local_pci_probe+0x3a/0xa0 [ 13.266005] [<ffffffff812c16a4>] ? pci_match_device+0xe4/0x110 [ 13.266005] [<ffffffff812c17f8>] ? pci_device_probe+0xe8/0x140 [ 13.266005] [<ffffffff81396f59>] ? driver_probe_device+0x179/0x2f0 [ 13.266005] [<ffffffff8139719b>] ? __driver_attach+0x7b/0x80 [ 13.266005] [<ffffffff81397120>] ? __device_attach+0x50/0x50 [ 13.266005] [<ffffffff81394eeb>] ? bus_for_each_dev+0x6b/0xc0 [ 13.266005] [<ffffffff813965d8>] ? bus_add_driver+0x178/0x230 [ 13.266005] [<ffffffffa022b000>] ? 0xffffffffa022b000 [ 13.266005] [<ffffffff813977ce>] ? driver_register+0x5e/0xf0 [ 13.266005] [<ffffffff81002108>] ? do_one_initcall+0x98/0x1f0 [ 13.266005] [<ffffffff81508d8e>] ? do_init_module+0x50/0x1b0 [ 13.266005] [<ffffffff810d70f3>] ? load_module+0x1ae3/0x2010 [ 13.266005] [<ffffffff810d4670>] ? __symbol_put+0x70/0x70 [ 13.266005] [<ffffffff810d49bd>] ? copy_module_from_fd.isra.55+0xdd/0x170 [ 13.266005] [<ffffffff810d77ed>] ? SyS_finit_module+0x8d/0xa0 [ 13.266005] [<ffffffff8150f56e>] ? system_call_fastpath+0x12/0x71 [ 13.266005] Code: 03 00 00 48 8b 49 40 48 89 4a 08 48 8b 50 18 48 39 d7 48 8d 42 e8 74 3a 48 8b 90 b8 02 00 00 48 85 d2 75 c6 48 8b 90 70 03 00 00 <48> c7 42 10 00 00 00 00 48 8b 90 70 03 00 00 48 c7 42 08 00 00 [ 13.266005] RIP [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] [ 13.266005] RSP <ffff88007958f820> [ 13.266005] CR2: 0000000000000010 [ 13.267502] ---[ end trace 365d8347f4bc917c ]---
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Device 464c
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at 90200000 (32-bit, non-prefetchable) [size=512K]
Region 1: I/O ports at 20e0 [size=8]
Region 2: Memory at 80000000 (32-bit, prefetchable) [size=256M]
Region 3: Memory at 90280000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: i915
The monitor switches off immediately when the modeswitch occurs and stays off, the system won't reboot normally afterwards.
Bisecting this problem hints at:
$ git bisect bad 08d9bc920d465bbbbd762cac9383249c19bf69a2 is the first bad commit commit 08d9bc920d465bbbbd762cac9383249c19bf69a2 Author: Ander Conselvan de Oliveira <[email protected]> Date: Fri Apr 10 10:59:10 2015 +0300
drm/i915: Allocate connector state together with the connectors
Connector states were being allocated in intel_setup_outputs() in loop over all connectors. That meant hot-added connectors would have a NULL state. Since the change to use a struct drm_atomic_state for the legacy modeset, connector states are necessary for the i915 driver to function properly, so that would lead to oopses.
Broken by
commit 944b0c76575753da5a332aab0a1d8c6df65a076b
Author: Ander Conselvan de Oliveira <[email protected]>
Date: Fri Mar 20 16:18:07 2015 +0200
drm/i915: Copy the staged connector config to the legacy atomic state
v2: Fix test for intel_connector_init() success in lvds and sdvo (PRTS)
:040000 040000 cc9b8038218687b7b98630970239fd0e05637c6e 46c31b06a2be069098ff6ee0f509edad019b3c43 M drivers
$ git bisect log git bisect start # bad: [ff25ea8f4eeea252bfcaf65289fa57ba6de080dd] Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma git bisect bad ff25ea8f4eeea252bfcaf65289fa57ba6de080dd # good: [39a8804455fb23f09157341d3ba7db6d7ae6ee76] Linux 4.0 git bisect good 39a8804455fb23f09157341d3ba7db6d7ae6ee76 # good: [6d50ff91d9780263160262daeb6adfdda8ddbc6c] Merge tag 'locks-v4.1-1' of git://git.samba.org/jlayton/linux git bisect good 6d50ff91d9780263160262daeb6adfdda8ddbc6c # bad: [1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1] Merge tag 'char-misc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc git bisect bad 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1 # good: [e2fdae7e7c5a690b10b2d2891ec819e554dc033d] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc git bisect good e2fdae7e7c5a690b10b2d2891ec819e554dc033d # bad: [cec32a47010647e8b0603726ebb75b990a4057a4] media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format git bisect bad cec32a47010647e8b0603726ebb75b990a4057a4 # good: [3cd919fc010043d67259ccf37ca5c5892582051e] drm/i915: Remove duplicated psr.active unset git bisect good 3cd919fc010043d67259ccf37ca5c5892582051e # good: [67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf] Merge tag 'omapdrm-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next git bisect good 67a0375f5e27c1daa50554de7a01fdfa4a9ea0bf # good: [bb1dc08c94ead1b98e750caf535422f79363c1a2] Merge tag 'of-graph-drm-2015-04-08' of git://git.pengutronix.de/git/pza/linux into drm-next git bisect good bb1dc08c94ead1b98e750caf535422f79363c1a2 # good: [89025bd458a572f15e30f59d1ac5acb599cb53bc] drm/nouveau/fifo/gm204: initial support git bisect good 89025bd458a572f15e30f59d1ac5acb599cb53bc # good: [52139bdea1558e854123d7a07e7648f5a8c77a5c] Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next git bisect good 52139bdea1558e854123d7a07e7648f5a8c77a5c # good: [16bb079e45f2c3a795b6b0546535cd6466275ec5] drm/radeon: constify more struct drm_*_helper funcs pointers git bisect good 16bb079e45f2c3a795b6b0546535cd6466275ec5 # bad: [37ef01ab5d24d1d520dc79f6a98099d451c2a901] drm/i915: Dont enable CS_PARSER_ERROR interrupts at all git bisect bad 37ef01ab5d24d1d520dc79f6a98099d451c2a901 # good: [af8fcb9c58f1b2f02ddc04ba64710aaa52da00db] drm/i915/chv: Remove DPIO force latency causing interpair skew issue git bisect good af8fcb9c58f1b2f02ddc04ba64710aaa52da00db # bad: [e0d6149b3debce1a7e17dfda7c2829935917dc58] drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover git bisect bad e0d6149b3debce1a7e17dfda7c2829935917dc58 # bad: [08d9bc920d465bbbbd762cac9383249c19bf69a2] drm/i915: Allocate connector state together with the connectors git bisect bad 08d9bc920d465bbbbd762cac9383249c19bf69a2 # first bad commit: [08d9bc920d465bbbbd762cac9383249c19bf69a2] drm/i915: Allocate connector state together with the connectors
Reverting just this commit on top of yesterday evening's v4.1-rc6-52-gff25ea8 avoids the problem for me.
Using the very same kernel, other i915 based systems are fine for me:
DP && HDMI: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0162] (rev 09)
DVI: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09) headless: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev 09) headless: 00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 0e) HDMI: 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0122] (rev 09) LVDS: 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GSE Express Integrated Graphics Controller [8086:27ae] (rev 03) headless: 00:02.0 VGA compatible controller [0300]: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device [8086:2562] (rev 01)
Regards
Stefan Lippers-Hollmann
[1] http://www.intel.com/support/motherboards/desktop/d945gclf2/sb/CS-029540.htm
Quoted 21 lines · Stefan Lippers-Hollmann
Hi
On 2015-04-20, Dave Airlie wrote:
[...]Quoted 11 lines
The following changes since commit
09d51602cf84a1264946711dd4ea0dddbac599a1:Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux(2015-04-19 14:31:41 -0700)are available in the git repository at:
git://people.freedesktop.org/~airlied/linuxdrm-next-mergedfor you to fetch changes up to
2c33ce009ca2389dbf0535d0672214d09738e35e:Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
[...]
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
Quoted 7 lines
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though.
Can you try with something like this so we'd at least find out which connector(s) is/are at fault here?
drivers/gpu/drm/drm_crtc.c +2 -0
@@ -918,6 +918,8 @@ int drm_connector_init(struct drm_device *dev, connector->debugfs_entry =NULL ; +WARN (1 ,"connector = %p\n" , connector); + out_put:if (ret)drm_mode_object_put (dev, &connector->base);
drivers/gpu/drm/i915/intel_display.c +4 -0
@@ -10332,6 +10332,10 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev)struct intel_connector *connector;for_each_intel_connector (dev, connector) { +if (WARN (!connector->base.state, +"connector = %p\n" , &connector->base)) +continue ; +if (connector->base.encoder) { connector->base.state->best_encoder = connector->base.encoder;
Signature · 9 lines
2.3.6 -- Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi
Quoted 30 lines · Ville Syrjälä
Quoted 21 lines · Stefan Lippers-Hollmann
Hi
On 2015-04-20, Dave Airlie wrote:
[...]Quoted 11 lines
The following changes since commit
09d51602cf84a1264946711dd4ea0dddbac599a1:Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux(2015-04-19 14:31:41 -0700)are available in the git repository at:
git://people.freedesktop.org/~airlied/linuxdrm-next-mergedfor you to fetch changes up to
2c33ce009ca2389dbf0535d0672214d09738e35e:Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
[...]
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
Quoted 7 lines
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]
Quoted 6 lines
Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though.
Can you try with something like this so we'd at least find out which connector(s) is/are at fault here?
With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even harder, so I had to switch to a serial console in order to fetch the boot messages:
[ 13.492784] connector = ffff880079bb8000 [ 13.910439] connector = ffff8800795b5800 [ 14.463114] connector = ffff8800795b6000 [ 14.700707] connector = ffff8800795b6800 [ 14.869418] connector = ffff8800795b7000 [ 14.923848] connector = ffff8800795b7000
Full, gzipped, bootlog attached - thanks a lot for your efforts.
Regards
Stefan Lippers-Hollmann
Quoted 44 lines · Stefan Lippers-Hollmann
Hi
Quoted 30 lines · Ville Syrjälä
Quoted 21 lines · Stefan Lippers-Hollmann
Hi
On 2015-04-20, Dave Airlie wrote:
[...]Quoted 11 lines
The following changes since commit
09d51602cf84a1264946711dd4ea0dddbac599a1:Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux(2015-04-19 14:31:41 -0700)are available in the git repository at:
git://people.freedesktop.org/~airlied/linuxdrm-next-mergedfor you to fetch changes up to
2c33ce009ca2389dbf0535d0672214d09738e35e:Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
[...]
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
Quoted 7 lines
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]Quoted 6 lines
Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though.
Can you try with something like this so we'd at least find out which connector(s) is/are at fault here?
With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even harder, so I had to switch to a serial console in order to fetch the boot messages:
Quoted 8 lines
[ 13.492784] connector = ffff880079bb8000 [ 13.910439] connector = ffff8800795b5800 [ 14.463114] connector = ffff8800795b6000 [ 14.700707] connector = ffff8800795b6800 [ 14.869418] connector = ffff8800795b7000 [ 14.923848] connector = ffff8800795b7000Full, gzipped, bootlog attached - thanks a lot for your efforts.
Could you repeat the process with drm.debug=0xe in your kernel command line and send the logs again?
Thanks,
Ander
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 52 lines · Ander Conselvan De Oliveira
Quoted 51 lines · Stefan Lippers-Hollmann
Hi
Quoted 30 lines · Ville Syrjälä
Quoted 21 lines · Stefan Lippers-Hollmann
Hi
On 2015-04-20, Dave Airlie wrote:
[...]Quoted 11 lines
The following changes since commit
09d51602cf84a1264946711dd4ea0dddbac599a1:Merge branch 'turbostat' of
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux(2015-04-19 14:31:41 -0700)are available in the git repository at:
git://people.freedesktop.org/~airlied/linuxdrm-next-mergedfor you to fetch changes up to
2c33ce009ca2389dbf0535d0672214d09738e35e:Merge Linus master into drm-next (2015-04-20 13:05:20 +1000)
[...]
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
Quoted 7 lines
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]Quoted 6 lines
Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though.
Can you try with something like this so we'd at least find out which connector(s) is/are at fault here?
With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even harder, so I had to switch to a serial console in order to fetch the boot messages:
[ 13.492784] connector = ffff880079bb8000 [ 13.910439] connector = ffff8800795b5800 [ 14.463114] connector = ffff8800795b6000 [ 14.700707] connector = ffff8800795b6800 [ 14.869418] connector = ffff8800795b7000 [ 14.923848] connector = ffff8800795b7000
Quoted 4 lines
Quoted 1 line
Full, gzipped, bootlog attached - thanks a lot for your efforts.
Could you repeat the process with drm.debug=0xe in your kernel command line and send the logs again?
Never mind, Ville's patch produced all the information necessary. Please give the patch I just sent a try.
Thanks,
Ander
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi
Quoted 5 lines · Ander Conselvan De Oliveira
Quoted 4 lines · Ander Conselvan De Oliveira
Quoted 3 lines · Stefan Lippers-Hollmann
Quoted 2 lines · Ville Syrjälä
Quoted 1 line · Stefan Lippers-Hollmann
On 2015-04-20, Dave Airlie wrote:
[...]
Quoted 31 lines
Quoted 31 lines
Quoted 31 lines
Quoted 13 lines
Quoted 5 lines
Quoted 1 line
Ander Conselvan de Oliveira (28):
[...]
Quoted 1 line
drm/i915: Allocate connector state together with the connectors
[...]
Quoted 7 lines
This commit introduces a regression relative to v4.0 on an Intel D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics using its (only-) VGA connector for me.
v4.1-rc6-52-gff25ea8:
[ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 13.265723] IP: [<ffffffffa0556f01>] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915]Quoted 6 lines
Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though.
Can you try with something like this so we'd at least find out which connector(s) is/are at fault here?
With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even harder, so I had to switch to a serial console in order to fetch the boot messages:
[ 13.492784] connector = ffff880079bb8000 [ 13.910439] connector = ffff8800795b5800 [ 14.463114] connector = ffff8800795b6000 [ 14.700707] connector = ffff8800795b6800 [ 14.869418] connector = ffff8800795b7000 [ 14.923848] connector = ffff8800795b7000
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Full, gzipped, bootlog attached - thanks a lot for your efforts.
Could you repeat the process with drm.debug=0xe in your kernel command line and send the logs again?
Never mind, Ville's patch produced all the information necessary. Please give the patch I just sent a try.
Thanks a lot, as already reported as a response to your patch, your change "drm/i915: Allocate connector state together with the connectors" fixes the problem for me.
Regards
Stefan Lippers-Hollmann
PATCH 1/1 drm/i915: Properly initialize SDVO analog connectors
In reply to Stefan Lippers-HollmannIn the commit below, I missed the connector allocation in the function intel_sdvo_analog_init(), leading to those connectors to have a NULL state pointer.
commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
Author: Ander Conselvan de Oliveira <[email protected]> Date: Fri Apr 10 10:59:10 2015 +0300
drm/i915: Allocate connector state together with the connectors
--- drivers/gpu/drm/i915/intel_sdvo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_sdvo.c +1 -1
@@ -2554,7 +2554,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device)DRM_DEBUG_KMS ("initialising analog device %d\n" , device); - intel_sdvo_connector =kzalloc (sizeof (*intel_sdvo_connector),GFP_KERNEL ); + intel_sdvo_connector =intel_sdvo_connector_alloc ();if (!intel_sdvo_connector)return false;
Signature · 1 line
2.1.0
PATCH 1/1 drm/i915: Properly initialize SDVO analog connectors]
Thanks for testing.
-------- Forwarded Message --------
From: Stefan Lippers-Hollmann <[email protected]>
To: Ander Conselvan de Oliveira <[email protected]>
Subject: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors
Date: Mon, 8 Jun 2015 12:16:04 +0200
Hi
Quoted 3 lines · Ander Conselvan de Oliveira
In the commit below, I missed the connector allocation in the function
intel_sdvo_analog_init(), leading to those connectors to have a NULL state pointer.
Thanks a lot, this patch is working (on top of 4.1-rc7).
Quoted 2 lines
commit
08d9bc920d465bbbbd762cac9383249c19bf69a2
Author: Ander Conselvan de Oliveira
Quoted 5 lines
Date: Fri Apr 10 10:59:10 2015 +0300
drm/i915: Allocate connector state together with the connectors
Signed-off-by Ander Conselvan de Oliveira
Feel free to add:
Regards
Stefan Lippers-Hollmann
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors
In reply to Ander Conselvan de OliveiraQuoted 11 lines · Ander Conselvan de Oliveira
In the commit below, I missed the connector allocation in the function
intel_sdvo_analog_init(), leading to those connectors to have a NULL state pointer.commit
08d9bc920d465bbbbd762cac9383249c19bf69a2Author: Ander Conselvan de Oliveira <[email protected]> Date: Fri Apr 10 10:59:10 2015 +0300drm/i915: Allocate connector state together with the connectors
Signed-off-by Ander Conselvan de Oliveira <[email protected]>
Pushed to drm-intel-fixes, thanks for the patch and testing.
BR,
Jani.
Quoted 20 lines
--- drivers/gpu/drm/i915/intel_sdvo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/gpu/drm/i915/intel_sdvo.c +1
-1@@ -2554,7 +2554,7 @@ intel_sdvo_analog_init(struct intel_sdvo *intel_sdvo, int device)DRM_DEBUG_KMS ("initialising analog device %d\n" , device); - intel_sdvo_connector =kzalloc (sizeof (*intel_sdvo_connector),GFP_KERNEL ); + intel_sdvo_connector =intel_sdvo_connector_alloc ();if (!intel_sdvo_connector)return false;Signature · 1 line
2.1.0
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel