Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b8eeac5 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-next-2018-03-09-3' of git://anongit.freedesktop.org/drm/drm-misc into drm-next

drm-misc-next for 4.17:

UAPI Changes:
 plane: Add color encoding/range properties (Jyri)
 nouveau: Replace iturbt_709 property with color_encoding property (Ville)

Core Changes:
 atomic: Move plane clipping into plane check helper (Ville)
 property: Multiple new property checks/verification (Ville)

Driver Changes:
 rockchip: Fixes & improvements for rk3399/chromebook plus (various)
 sun4i: Add H3/H5 HDMI support (Jernej)
 i915: Add support for limited/full-range ycbcr toggling (Ville)
 pl111: Add bandwidth checking/limiting (Linus)

Cc: Jernej Skrabec <jernej.skrabec@siol.net>
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Linus Walleij <linus.walleij@linaro.org>

* tag 'drm-misc-next-2018-03-09-3' of git://anongit.freedesktop.org/drm/drm-misc: (85 commits)
  drm/rockchip: Don't use atomic constructs for psr
  drm/rockchip: analogix_dp: set psr activate/deactivate when enable/disable bridge
  drm/rockchip: dw_hdmi: Move HDMI vpll clock enable to bind()
  drm/rockchip: inno_hdmi: reorder clk_disable_unprepare call in unbind
  drm/rockchip: inno_hdmi: Fix error handling path.
  drm/rockchip: dw-mipi-dsi: Fix connector and encoder cleanup.
  drm/nouveau: Replace the iturbt_709 prop with the standard COLOR_ENCODING prop
  drm/pl111: Use max memory bandwidth for resolution
  drm/bridge: sii902x: Retry status read after DDI I2C
  drm/pl111: Handle the RealView variant separately
  drm/pl111: Make the default BPP a per-variant variable
  drm: simple_kms_helper: Fix .mode_valid() documentation
  bridge: Elaborate a bit on dumb VGA bridges in Kconfig
  drm/atomic: Add new reverse iterator over all plane state (V2)
  drm: Reject bad property flag combinations
  drm: Make property flags u32
  drm/uapi: Deprecate DRM_MODE_PROP_PENDING
  drm: WARN when trying to add enum value > 63 to a bitmask property
  drm: WARN when trying add enum values to non-enum/bitmask properties
  drm: Reject replacing property enum values
  ...
parents 62ccb653 60beeccc
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ DWC HDMI PHY
Required properties:
  - compatible: value must be one of:
    * allwinner,sun8i-a83t-hdmi-phy
    * allwinner,sun8i-h3-hdmi-phy
  - reg: base address and size of memory-mapped region
  - clocks: phandles to the clocks feeding the HDMI PHY
    * bus: the HDMI PHY interface clock
@@ -110,6 +111,9 @@ Required properties:
  - resets: phandle to the reset controller driving the PHY
  - reset-names: must be "phy"

H3 HDMI PHY requires additional clock:
  - pll-0: parent of phy clock

TV Encoder
----------

@@ -275,6 +279,7 @@ Required properties:
  - compatible: value must be one of:
    * allwinner,sun8i-a83t-de2-mixer-0
    * allwinner,sun8i-a83t-de2-mixer-1
    * allwinner,sun8i-h3-de2-mixer-0
    * allwinner,sun8i-v3s-de2-mixer
  - reg: base address and size of the memory-mapped region.
  - clocks: phandles to the clocks feeding the mixer
@@ -305,6 +310,7 @@ Required properties:
    * allwinner,sun7i-a20-display-engine
    * allwinner,sun8i-a33-display-engine
    * allwinner,sun8i-a83t-display-engine
    * allwinner,sun8i-h3-display-engine
    * allwinner,sun8i-v3s-display-engine

  - allwinner,pipelines: list of phandle to the display engine
+1 −6
Original line number Diff line number Diff line
@@ -229,7 +229,6 @@ static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs = {
static int hdlcd_plane_atomic_check(struct drm_plane *plane,
				    struct drm_plane_state *state)
{
	struct drm_rect clip = { 0 };
	struct drm_crtc_state *crtc_state;
	u32 src_h = state->src_h >> 16;

@@ -249,11 +248,7 @@ static int hdlcd_plane_atomic_check(struct drm_plane *plane,
		return -EINVAL;
	}

	if (crtc_state->enable)
		drm_mode_get_hv_timing(&crtc_state->mode,
				       &clip.x2, &clip.y2);

	return drm_atomic_helper_check_plane_state(state, crtc_state, &clip,
	return drm_atomic_helper_check_plane_state(state, crtc_state,
						   DRM_PLANE_HELPER_NO_SCALING,
						   DRM_PLANE_HELPER_NO_SCALING,
						   false, true);
+1 −6
Original line number Diff line number Diff line
@@ -141,18 +141,13 @@ static int malidp_se_check_scaling(struct malidp_plane *mp,
	struct drm_crtc_state *crtc_state =
		drm_atomic_get_existing_crtc_state(state->state, state->crtc);
	struct malidp_crtc_state *mc;
	struct drm_rect clip = { 0 };
	u32 src_w, src_h;
	int ret;

	if (!crtc_state)
		return -EINVAL;

	if (crtc_state->enable)
		drm_mode_get_hv_timing(&crtc_state->mode,
				       &clip.x2, &clip.y2);

	ret = drm_atomic_helper_check_plane_state(state, crtc_state, &clip,
	ret = drm_atomic_helper_check_plane_state(state, crtc_state,
						  0, INT_MAX, true, true);
	if (ret)
		return ret;
+5 −4
Original line number Diff line number Diff line
@@ -1200,13 +1200,14 @@ static int armada_drm_primary_update(struct drm_plane *plane,
		.crtc_h = crtc_h,
		.rotation = DRM_MODE_ROTATE_0,
	};
	const struct drm_rect clip = {
		.x2 = crtc->mode.hdisplay,
		.y2 = crtc->mode.vdisplay,
	struct drm_crtc_state crtc_state = {
		.crtc = crtc,
		.enable = crtc->enabled,
		.mode = crtc->mode,
	};
	int ret;

	ret = drm_atomic_helper_check_plane_state(&state, crtc->state, &clip, 0,
	ret = drm_atomic_helper_check_plane_state(&state, &crtc_state, 0,
						  INT_MAX, true, false);
	if (ret)
		return ret;
+5 −4
Original line number Diff line number Diff line
@@ -205,9 +205,10 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
		.crtc_h = crtc_h,
		.rotation = DRM_MODE_ROTATE_0,
	};
	const struct drm_rect clip = {
		.x2 = crtc->mode.hdisplay,
		.y2 = crtc->mode.vdisplay,
	struct drm_crtc_state crtc_state = {
		.crtc = crtc,
		.enable = crtc->enabled,
		.mode = crtc->mode,
	};
	int ret;

@@ -215,7 +216,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
				 crtc_x, crtc_y, crtc_w, crtc_h,
				 src_x, src_y, src_w, src_h);

	ret = drm_atomic_helper_check_plane_state(&state, crtc->state, &clip, 0,
	ret = drm_atomic_helper_check_plane_state(&state, &crtc_state, 0,
						  INT_MAX, true, false);
	if (ret)
		return ret;
Loading