linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git pull] drm for v4.1-rc1
@ 2015-04-20  3:32 Dave Airlie
  2015-04-21 16:07 ` Linus Torvalds
  2015-06-05 21:18 ` Stefan Lippers-Hollmann
  0 siblings, 2 replies; 17+ messages in thread
From: Dave Airlie @ 2015-04-20  3:32 UTC (permalink / raw)
  To: torvalds; +Cc: DRI mailing list, linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 75842 bytes --]


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%)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-20  3:32 git pull] drm for v4.1-rc1 Dave Airlie
@ 2015-04-21 16:07 ` Linus Torvalds
  2015-04-21 21:12   ` Bjorn Helgaas
  2015-04-23 21:30   ` Bjorn Helgaas
  2015-06-05 21:18 ` Stefan Lippers-Hollmann
  1 sibling, 2 replies; 17+ messages in thread
From: Linus Torvalds @ 2015-04-21 16:07 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter, Jani Nikula, Bjorn Helgaas
  Cc: DRI mailing list, Linux Kernel Mailing List, intel-gfx, linux-pci

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-21 16:07 ` Linus Torvalds
@ 2015-04-21 21:12   ` Bjorn Helgaas
  2015-04-23 21:30   ` Bjorn Helgaas
  1 sibling, 0 replies; 17+ messages in thread
From: Bjorn Helgaas @ 2015-04-21 21:12 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, DRI mailing list,
	Linux Kernel Mailing List, intel-gfx, linux-pci

On Tue, Apr 21, 2015 at 11:07 AM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> 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?

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
>/sys/bus/pci/rescan" is also a reproducer.

Bjorn

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-21 16:07 ` Linus Torvalds
  2015-04-21 21:12   ` Bjorn Helgaas
@ 2015-04-23 21:30   ` Bjorn Helgaas
  2015-04-23 21:56     ` Matthew Garrett
  2015-04-24  0:55     ` Alex Deucher
  1 sibling, 2 replies; 17+ messages in thread
From: Bjorn Helgaas @ 2015-04-23 21:30 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, DRI mailing list,
	Linux Kernel Mailing List, intel-gfx, linux-pci, Matthew Garrett

[+cc Matthew]

On Tue, Apr 21, 2015 at 09:07:45AM -0700, Linus Torvalds wrote:
> 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.

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-23 21:30   ` Bjorn Helgaas
@ 2015-04-23 21:56     ` Matthew Garrett
  2015-04-23 22:47       ` Linus Torvalds
  2015-04-24  0:55     ` Alex Deucher
  1 sibling, 1 reply; 17+ messages in thread
From: Matthew Garrett @ 2015-04-23 21:56 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linus Torvalds, Dave Airlie, Daniel Vetter, Jani Nikula,
	DRI mailing list, Linux Kernel Mailing List, intel-gfx,
	linux-pci, Matthew Garrett

On Thu, Apr 23, 2015 at 2:30 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:

> 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?

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...

>   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?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-23 21:56     ` Matthew Garrett
@ 2015-04-23 22:47       ` Linus Torvalds
  2015-04-23 22:59         ` Matthew Garrett
  0 siblings, 1 reply; 17+ messages in thread
From: Linus Torvalds @ 2015-04-23 22:47 UTC (permalink / raw)
  To: Matthew Garrett
  Cc: Bjorn Helgaas, Dave Airlie, Daniel Vetter, Jani Nikula,
	DRI mailing list, Linux Kernel Mailing List, intel-gfx,
	linux-pci, Matthew Garrett

On Thu, Apr 23, 2015 at 2:56 PM, Matthew Garrett
<matthew.garrett@coreos.com> wrote:
> On Thu, Apr 23, 2015 at 2:30 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
>>
>>   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?

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-23 22:47       ` Linus Torvalds
@ 2015-04-23 22:59         ` Matthew Garrett
  0 siblings, 0 replies; 17+ messages in thread
From: Matthew Garrett @ 2015-04-23 22:59 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Bjorn Helgaas, Dave Airlie, Daniel Vetter, Jani Nikula,
	DRI mailing list, Linux Kernel Mailing List, intel-gfx,
	linux-pci, Matthew Garrett

On Thu, Apr 23, 2015 at 3:47 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:

> 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

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.

> 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.

-- 
Matthew Garrett | matthew.garrett@coreos.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-23 21:30   ` Bjorn Helgaas
  2015-04-23 21:56     ` Matthew Garrett
@ 2015-04-24  0:55     ` Alex Deucher
  1 sibling, 0 replies; 17+ messages in thread
From: Alex Deucher @ 2015-04-24  0:55 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linus Torvalds, linux-pci, intel-gfx, Linux Kernel Mailing List,
	DRI mailing list, Matthew Garrett, Daniel Vetter

On Thu, Apr 23, 2015 at 5:30 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> [+cc Matthew]
>
> On Tue, Apr 21, 2015 at 09:07:45AM -0700, Linus Torvalds wrote:
>> 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.
>
> 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?

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

>
> 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
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-04-20  3:32 git pull] drm for v4.1-rc1 Dave Airlie
  2015-04-21 16:07 ` Linus Torvalds
@ 2015-06-05 21:18 ` Stefan Lippers-Hollmann
  2015-06-06 23:52   ` Ville Syrjälä
  1 sibling, 1 reply; 17+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-06-05 21:18 UTC (permalink / raw)
  To: Dave Airlie
  Cc: torvalds, DRI mailing list, linux-kernel,
	Ander Conselvan de Oliveira, Nicolas Kalkhof, Daniel Vetter,
	Jani Nikula

[-- Attachment #1: Type: text/plain, Size: 12994 bytes --]

Hi

On 2015-04-20, Dave Airlie wrote:
[...]
> 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)
[...]
> Ander Conselvan de Oliveira (28):
[...]
>       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 <ander.conselvan.de.oliveira@intel.com>
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 <ander.conselvan.de.oliveira@intel.com>
    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)
    
    Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Reported-and-tested-by: Nicolas Kalkhof <nkalkhof@web.de>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

: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

[-- Attachment #2: Digitale Signatur von OpenPGP --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-06-05 21:18 ` Stefan Lippers-Hollmann
@ 2015-06-06 23:52   ` Ville Syrjälä
  2015-06-07  2:32     ` Stefan Lippers-Hollmann
  0 siblings, 1 reply; 17+ messages in thread
From: Ville Syrjälä @ 2015-06-06 23:52 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: Dave Airlie, Ander Conselvan de Oliveira, Nicolas Kalkhof,
	Jani Nikula, Daniel Vetter, linux-kernel, DRI mailing list,
	torvalds

On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-04-20, Dave Airlie wrote:
> [...]
> > 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)
> [...]
> > Ander Conselvan de Oliveira (28):
> [...]
> >       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]

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?

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 3007b44..c10f423 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -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);
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d0f3cbc..dd8ced7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -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;
-- 
2.3.6

-- 
Ville Syrjälä
Intel OTC

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-06-06 23:52   ` Ville Syrjälä
@ 2015-06-07  2:32     ` Stefan Lippers-Hollmann
  2015-06-08  8:06       ` Ander Conselvan De Oliveira
  2015-06-08  8:26       ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Ander Conselvan de Oliveira
  0 siblings, 2 replies; 17+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-06-07  2:32 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Dave Airlie, Ander Conselvan de Oliveira, Nicolas Kalkhof,
	Jani Nikula, Daniel Vetter, linux-kernel, DRI mailing list,
	torvalds


[-- Attachment #1.1: Type: text/plain, Size: 2139 bytes --]

Hi

On 2015-06-07, Ville Syrjälä wrote:
> On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > Hi
> > 
> > On 2015-04-20, Dave Airlie wrote:
> > [...]
> > > 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)
> > [...]
> > > Ander Conselvan de Oliveira (28):
> > [...]
> > >       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]
> 
> 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

[-- Attachment #1.2: D945GCLF2.dmesg.gz --]
[-- Type: application/gzip, Size: 15935 bytes --]

[-- Attachment #2: Digitale Signatur von OpenPGP --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-06-07  2:32     ` Stefan Lippers-Hollmann
@ 2015-06-08  8:06       ` Ander Conselvan De Oliveira
  2015-06-08  8:29         ` Ander Conselvan De Oliveira
  2015-06-08  8:26       ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Ander Conselvan de Oliveira
  1 sibling, 1 reply; 17+ messages in thread
From: Ander Conselvan De Oliveira @ 2015-06-08  8:06 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: Ville Syrjälä,
	Dave Airlie, Nicolas Kalkhof, Jani Nikula, Daniel Vetter,
	linux-kernel, DRI mailing list, torvalds

On Sun, 2015-06-07 at 04:32 +0200, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On 2015-06-07, Ville Syrjälä wrote:
> > On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > > Hi
> > > 
> > > On 2015-04-20, Dave Airlie wrote:
> > > [...]
> > > > 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)
> > > [...]
> > > > Ander Conselvan de Oliveira (28):
> > > [...]
> > > >       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]
> > 
> > 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.

Could you repeat the process with drm.debug=0xe in your kernel command
line and send the logs again?

Thanks,
Ander


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH] drm/i915: Properly initialize SDVO analog connectors
  2015-06-07  2:32     ` Stefan Lippers-Hollmann
  2015-06-08  8:06       ` Ander Conselvan De Oliveira
@ 2015-06-08  8:26       ` Ander Conselvan de Oliveira
  2015-06-08 10:36         ` [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors] Ander Conselvan De Oliveira
  2015-06-08 10:50         ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Jani Nikula
  1 sibling, 2 replies; 17+ messages in thread
From: Ander Conselvan de Oliveira @ 2015-06-08  8:26 UTC (permalink / raw)
  To: ville.syrjala
  Cc: nkalkhof, jani.nikula, daniel.vetter, linux-kernel, dri-devel,
	torvalds, 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 08d9bc920d465bbbbd762cac9383249c19bf69a2
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
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 <ander.conselvan.de.oliveira@intel.com>
---
 drivers/gpu/drm/i915/intel_sdvo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index d24ef75..aa2fd75 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -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;
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-06-08  8:06       ` Ander Conselvan De Oliveira
@ 2015-06-08  8:29         ` Ander Conselvan De Oliveira
  2015-06-08 10:28           ` Stefan Lippers-Hollmann
  0 siblings, 1 reply; 17+ messages in thread
From: Ander Conselvan De Oliveira @ 2015-06-08  8:29 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: Ville Syrjälä,
	Dave Airlie, Nicolas Kalkhof, Jani Nikula, Daniel Vetter,
	linux-kernel, DRI mailing list, torvalds

On Mon, 2015-06-08 at 11:06 +0300, Ander Conselvan De Oliveira wrote:
> On Sun, 2015-06-07 at 04:32 +0200, Stefan Lippers-Hollmann wrote:
> > Hi
> > 
> > On 2015-06-07, Ville Syrjälä wrote:
> > > On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > > > Hi
> > > > 
> > > > On 2015-04-20, Dave Airlie wrote:
> > > > [...]
> > > > > 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)
> > > > [...]
> > > > > Ander Conselvan de Oliveira (28):
> > > > [...]
> > > > >       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]
> > > 
> > > 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.
> 
> 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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: git pull] drm for v4.1-rc1
  2015-06-08  8:29         ` Ander Conselvan De Oliveira
@ 2015-06-08 10:28           ` Stefan Lippers-Hollmann
  0 siblings, 0 replies; 17+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-06-08 10:28 UTC (permalink / raw)
  To: Ander Conselvan De Oliveira
  Cc: Ville Syrjälä,
	Dave Airlie, Nicolas Kalkhof, Jani Nikula, Daniel Vetter,
	linux-kernel, DRI mailing list, torvalds

Hi

On 2015-06-08, Ander Conselvan De Oliveira wrote:
> On Mon, 2015-06-08 at 11:06 +0300, Ander Conselvan De Oliveira wrote:
> > On Sun, 2015-06-07 at 04:32 +0200, Stefan Lippers-Hollmann wrote:
> > > On 2015-06-07, Ville Syrjälä wrote:
> > > > On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote:
> > > > > On 2015-04-20, Dave Airlie wrote:
[...]
> > > > > > Ander Conselvan de Oliveira (28):
> > > > > [...]
> > > > > >       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]
> > > > 
> > > > 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.
> > 
> > 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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors]
  2015-06-08  8:26       ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Ander Conselvan de Oliveira
@ 2015-06-08 10:36         ` Ander Conselvan De Oliveira
  2015-06-08 10:50         ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Jani Nikula
  1 sibling, 0 replies; 17+ messages in thread
From: Ander Conselvan De Oliveira @ 2015-06-08 10:36 UTC (permalink / raw)
  To: s.l-h
  Cc: nkalkhof, jani.nikula, daniel.vetter, linux-kernel, dri-devel,
	torvalds, ville.syrjala

Thanks for testing.

-------- Forwarded Message --------
From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
To: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Subject: Re: [PATCH] drm/i915: Properly initialize SDVO analog
connectors
Date: Mon, 8 Jun 2015 12:16:04 +0200

Hi

On 2015-06-08, Ander Conselvan de Oliveira wrote:
> 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).

> commit 08d9bc920d465bbbbd762cac9383249c19bf69a2
> Author: Ander Conselvan de Oliveira
<ander.conselvan.de.oliveira@intel.com>
> 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
<ander.conselvan.de.oliveira@intel.com>

Feel free to add:

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>

Regards
	Stefan Lippers-Hollmann



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors
  2015-06-08  8:26       ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Ander Conselvan de Oliveira
  2015-06-08 10:36         ` [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors] Ander Conselvan De Oliveira
@ 2015-06-08 10:50         ` Jani Nikula
  1 sibling, 0 replies; 17+ messages in thread
From: Jani Nikula @ 2015-06-08 10:50 UTC (permalink / raw)
  To: Ander Conselvan de Oliveira, ville.syrjala
  Cc: nkalkhof, daniel.vetter, linux-kernel, dri-devel, torvalds,
	Ander Conselvan de Oliveira, Stefan Lippers-Hollmann

On Mon, 08 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
> 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 08d9bc920d465bbbbd762cac9383249c19bf69a2
> Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> 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 <ander.conselvan.de.oliveira@intel.com>

Pushed to drm-intel-fixes, thanks for the patch and testing.

BR,
Jani.



> ---
>  drivers/gpu/drm/i915/intel_sdvo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index d24ef75..aa2fd75 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -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;
>  
> -- 
> 2.1.0
>

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-06-08 10:53 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-20  3:32 git pull] drm for v4.1-rc1 Dave Airlie
2015-04-21 16:07 ` Linus Torvalds
2015-04-21 21:12   ` Bjorn Helgaas
2015-04-23 21:30   ` Bjorn Helgaas
2015-04-23 21:56     ` Matthew Garrett
2015-04-23 22:47       ` Linus Torvalds
2015-04-23 22:59         ` Matthew Garrett
2015-04-24  0:55     ` Alex Deucher
2015-06-05 21:18 ` Stefan Lippers-Hollmann
2015-06-06 23:52   ` Ville Syrjälä
2015-06-07  2:32     ` Stefan Lippers-Hollmann
2015-06-08  8:06       ` Ander Conselvan De Oliveira
2015-06-08  8:29         ` Ander Conselvan De Oliveira
2015-06-08 10:28           ` Stefan Lippers-Hollmann
2015-06-08  8:26       ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Ander Conselvan de Oliveira
2015-06-08 10:36         ` [Fwd: Re: [PATCH] drm/i915: Properly initialize SDVO analog connectors] Ander Conselvan De Oliveira
2015-06-08 10:50         ` [PATCH] drm/i915: Properly initialize SDVO analog connectors Jani Nikula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).