Hi Dave, Last (very likely at least) drm-misc pull for 4.5. 3 big things: - piles of docs for kms vtables. - drm.debug dmesg output prettification from Ville (i915 parts are for 4.6 I think) - connector mode probing/validating/merging cleanup from Ville.
>From that last pile please cherry-pick commit be8719a610003297c28b140f1ebd4445aef1d613 Author: Ville Syrjälä <ville.syrjala at linux.intel.com> Date: Thu Dec 3 23:14:09 2015 +0200 drm: Don't overwrite UNVERFIED mode status to OK for drm-fixes like we discussed on irc - it's a regression fix I merged to avoid conflict hilarity. Oh, conflicts: One in i915 with drm-intel-next (new argument vs. error path added to same function call), and a few in vmwgfx (hook removal here vs. set_cursor2 addedin in -fixes). Stephen has the right resolutions posted to dri-devel too. There's one more small series from Nicolas to clean up the interface of drm_dev_set_unique, but that might conflict with new drivers. So wanted to double-check that and wait a bit until I send you that one. Worst case it'll go in right around 4.5-rc1. Wrt 4.5 I'll only send you one more drm-intel pull early next week, because misaligned agina a bit. Is that still ok? Cheers, Daniel The following changes since commit e876b41ab074561d65f213bf5e0fc68cf5bc7380: Back merge tag 'v4.4-rc4' into drm-next (2015-12-08 11:04:26 +1000) are available in the git repository at: git://anongit.freedesktop.org/drm-intel tags/topic/drm-misc-2015-12-14 for you to fetch changes up to d6e6e14fa61dcabbc05092ea124540280573720c: drm: modes: Revert cc344980c767 "replace simple_strtoul by kstrtouint" (2015-12-11 17:13:06 +0100) ---------------------------------------------------------------- Daniel Vetter (27): drm: Polish fbdev helper struct docs drm: Move LEAVE/ENTER_ATOMIC_MODESET to fbdev helpers drm: Reorganize helper vtables and their docs drm: Make helper vtable pointers type-safe drm: Merge helper docbook into kerneldoc comments drm/bridge: Improve kerneldoc drm: Update drm_plane_funcs kerneldoc drm/nouveau: Ditch NULL save/restore hook assignments drm/qxl: Drop dummy save/restore hooks drm/virtio: Drop dummy save/restore functions drm/vmwgfx: Drop dummy save/restore hooks drm/gma500: Move to private save/restore hooks drm/nouveau: Use private save/restore hooks for CRTCs drm: Remove crtc/connector->save/restore hooks drm: Move encoder->save/restore into nouveau drm: Document drm_atomic_*_get_property drm: Document drm_connector_funcs drm: connector->dpms is not optional drm: document drm_crtc_funcs drm: Add kerneldoc for drm_framebuffer_funcs drm: Kerneldoc for drm_mode_config_funcs drm: Document drm_plane_helper_funcs drm: Document drm_connector_helper_funcs drm/atomic-helper: Mention the new system/resume helpers the docs drm: Move drm_display_mode an related docs into kerneldoc drm: Document drm_encoder/crtc_helper_funcs drm: Documentation style guide LABBE Corentin (1): drm: modes: Revert cc344980c767 "replace simple_strtoul by kstrtouint" Rodrigo Vivi (1): drm/i2c/tda998x: Remove unused save/restore drm encoder helpers. Ville Syrjälä (14): drm: Pass 'name' to drm_crtc_init_with_planes() drm: Pass 'name' to drm_universal_plane_init() drm: Pass 'name' to drm_encoder_init() drm: Use driver specified encoder name drm: Add crtc->name and use it in debug messages drm: Add plane->name and use it in debug prints drm: Don't overwrite UNVERFIED mode status to OK drm: Rename MODE_UNVERIFIED to MODE_STALE drm: Flatten drm_mode_connector_list_update() a bit drm: Only merge mode type bits between new probed modes drm: Drop drm_helper_probe_single_connector_modes_nomerge() drm/sti: Drop bogus drm_mode_sort() call drm: Allow override_edid to override the firmware EDID drm: Expand the drm_helper_probe_single_connector_modes() docs Documentation/DocBook/gpu.tmpl | 537 +--------- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 + drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 14 +- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 14 +- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 14 +- drivers/gpu/drm/armada/armada_crtc.c | 4 +- drivers/gpu/drm/armada/armada_overlay.c | 2 +- drivers/gpu/drm/ast/ast_mode.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 2 +- drivers/gpu/drm/bochs/bochs_kms.c | 2 +- drivers/gpu/drm/cirrus/cirrus_mode.c | 2 +- drivers/gpu/drm/drm_atomic.c | 86 +- drivers/gpu/drm/drm_atomic_helper.c | 72 +- drivers/gpu/drm/drm_bridge.c | 69 +- drivers/gpu/drm/drm_crtc.c | 95 +- drivers/gpu/drm/drm_crtc_helper.c | 93 +- drivers/gpu/drm/drm_modes.c | 75 +- drivers/gpu/drm/drm_plane_helper.c | 9 +- drivers/gpu/drm/drm_probe_helper.c | 130 ++- drivers/gpu/drm/exynos/exynos_dp_core.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 2 +- drivers/gpu/drm/exynos/exynos_hdmi.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 2 +- drivers/gpu/drm/gma500/cdv_device.c | 2 + drivers/gpu/drm/gma500/cdv_intel_crt.c | 2 +- drivers/gpu/drm/gma500/cdv_intel_display.c | 2 - drivers/gpu/drm/gma500/cdv_intel_dp.c | 3 +- drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 7 +- drivers/gpu/drm/gma500/cdv_intel_lvds.c | 6 +- drivers/gpu/drm/gma500/mdfld_device.c | 2 + drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 2 +- drivers/gpu/drm/gma500/mdfld_dsi_output.c | 5 +- drivers/gpu/drm/gma500/oaktrail_device.c | 2 + drivers/gpu/drm/gma500/oaktrail_hdmi.c | 2 +- drivers/gpu/drm/gma500/oaktrail_lvds.c | 2 +- drivers/gpu/drm/gma500/psb_device.c | 22 +- drivers/gpu/drm/gma500/psb_drv.h | 2 + drivers/gpu/drm/gma500/psb_intel_display.c | 2 - drivers/gpu/drm/gma500/psb_intel_drv.h | 3 + drivers/gpu/drm/gma500/psb_intel_lvds.c | 7 +- drivers/gpu/drm/gma500/psb_intel_sdvo.c | 8 +- drivers/gpu/drm/i2c/tda998x_drv.c | 16 +- drivers/gpu/drm/i915/i915_gem.c | 4 + drivers/gpu/drm/i915/intel_crt.c | 2 +- drivers/gpu/drm/i915/intel_ddi.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 6 +- drivers/gpu/drm/i915/intel_dp.c | 2 +- drivers/gpu/drm/i915/intel_dp_mst.c | 2 +- drivers/gpu/drm/i915/intel_dsi.c | 3 +- drivers/gpu/drm/i915/intel_dvo.c | 2 +- drivers/gpu/drm/i915/intel_hdmi.c | 2 +- drivers/gpu/drm/i915/intel_lvds.c | 2 +- drivers/gpu/drm/i915/intel_sdvo.c | 3 +- drivers/gpu/drm/i915/intel_sprite.c | 2 +- drivers/gpu/drm/i915/intel_tv.c | 2 +- drivers/gpu/drm/imx/dw_hdmi-imx.c | 2 +- drivers/gpu/drm/imx/imx-drm-core.c | 2 +- drivers/gpu/drm/imx/imx-ldb.c | 2 +- drivers/gpu/drm/imx/imx-tve.c | 2 +- drivers/gpu/drm/imx/ipuv3-plane.c | 3 +- drivers/gpu/drm/imx/parallel-display.c | 2 +- drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 3 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_lcdc_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 3 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 3 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c | 2 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 +- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 5 +- drivers/gpu/drm/nouveau/dispnv04/dac.c | 10 +- drivers/gpu/drm/nouveau/dispnv04/dfp.c | 9 +- drivers/gpu/drm/nouveau/dispnv04/disp.c | 43 +- drivers/gpu/drm/nouveau/dispnv04/tvnv04.c | 8 +- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 8 +- drivers/gpu/drm/nouveau/nouveau_connector.c | 6 - drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 + drivers/gpu/drm/nouveau/nouveau_encoder.h | 3 + drivers/gpu/drm/nouveau/nv50_display.c | 7 +- drivers/gpu/drm/omapdrm/omap_crtc.c | 2 +- drivers/gpu/drm/omapdrm/omap_encoder.c | 2 +- drivers/gpu/drm/omapdrm/omap_plane.c | 2 +- drivers/gpu/drm/qxl/qxl_display.c | 16 +- drivers/gpu/drm/radeon/atombios_crtc.c | 1 + drivers/gpu/drm/radeon/atombios_encoders.c | 30 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 2 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 1 + drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 15 +- drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_hdmienc.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 3 +- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +- drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 2 +- drivers/gpu/drm/sti/sti_crtc.c | 2 +- drivers/gpu/drm/sti/sti_cursor.c | 2 +- drivers/gpu/drm/sti/sti_gdp.c | 2 +- drivers/gpu/drm/sti/sti_hda.c | 2 - drivers/gpu/drm/sti/sti_hqvdp.c | 2 +- drivers/gpu/drm/sti/sti_tvout.c | 7 +- drivers/gpu/drm/tegra/dc.c | 11 +- drivers/gpu/drm/tegra/dsi.c | 2 +- drivers/gpu/drm/tegra/hdmi.c | 2 +- drivers/gpu/drm/tegra/rgb.c | 2 +- drivers/gpu/drm/tegra/sor.c | 2 +- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 2 +- drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 2 +- drivers/gpu/drm/udl/udl_encoder.c | 3 +- drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- drivers/gpu/drm/vc4/vc4_plane.c | 2 +- drivers/gpu/drm/virtio/virtgpu_display.c | 18 +- drivers/gpu/drm/virtio/virtgpu_plane.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 18 +- drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 6 +- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 8 +- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 6 +- include/drm/drm_crtc.h | 1210 +++++++++++++++++++--- include/drm/drm_crtc_helper.h | 165 +-- include/drm/drm_fb_helper.h | 101 +- include/drm/drm_modes.h | 345 +++++- include/drm/drm_modeset_helper_vtables.h | 890 ++++++++++++++++ include/drm/drm_plane_helper.h | 38 +- 133 files changed, 3071 insertions(+), 1389 deletions(-) create mode 100644 include/drm/drm_modeset_helper_vtables.h -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch