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

Commit 6a933166 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

Pull drm fixes from Dave Airlie:
 "Mostly radeon, more fixes for dynamic power management which is is off
  by default for this release anyways, but there are a large number of
  testers, so I'd like to keep merging the fixes.

  Otherwise, radeon UVD fixes affecting suspend/resume regressions, i915
  regression fixes, one for your mac mini, ast, mgag200, cirrus ttm fix
  and one regression fix in the core"

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (25 commits)
  drm: Don't pass negative delta to ktime_sub_ns()
  drm/radeon: make missing smc ucode non-fatal
  drm/radeon/dpm: require rlc for dpm
  drm/radeon/cik: use a mutex to properly lock srbm instanced registers
  drm/radeon: remove unnecessary unpin
  drm/radeon: add more UVD CS checking
  drm/radeon: stop sending invalid UVD destroy msg
  drm/radeon: only save UVD bo when we have open handles
  drm/radeon: always program the MC on startup
  drm/radeon: fix audio dto calculation on DCE3+ (v3)
  drm/radeon/dpm: disable sclk ss on rv6xx
  drm/radeon: fix halting UVD
  drm/radeon/dpm: adjust power state properly for UVD on SI
  drm/radeon/dpm: fix spread spectrum setup (v2)
  drm/radeon/dpm: adjust thermal protection requirements
  drm/radeon: select audio dto based on encoder id for DCE3
  drm/radeon: properly handle pm on gpu reset
  drm/i915: do not disable backlight on vgaswitcheroo switch off
  drm/i915: Don't call encoder's get_config unless encoder is active
  drm/i915: avoid brightness overflow when doing scale
  ...
parents 201d3dfa e42f5814
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -323,6 +323,7 @@ int ast_bo_create(struct drm_device *dev, int size, int align,

	astbo->gem.driver_private = NULL;
	astbo->bo.bdev = &ast->ttm.bdev;
	astbo->bo.bdev->dev_mapping = dev->dev_mapping;

	ast_ttm_placement(astbo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM);

+1 −0
Original line number Diff line number Diff line
@@ -328,6 +328,7 @@ int cirrus_bo_create(struct drm_device *dev, int size, int align,

	cirrusbo->gem.driver_private = NULL;
	cirrusbo->bo.bdev = &cirrus->ttm.bdev;
	cirrusbo->bo.bdev->dev_mapping = dev->dev_mapping;

	cirrus_ttm_placement(cirrusbo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM);

+4 −1
Original line number Diff line number Diff line
@@ -708,6 +708,9 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc,
	/* Subtract time delta from raw timestamp to get final
	 * vblank_time timestamp for end of vblank.
	 */
	if (delta_ns < 0)
		etime = ktime_add_ns(etime, -delta_ns);
	else
		etime = ktime_sub_ns(etime, delta_ns);
	*vblank_time = ktime_to_timeval(etime);

+9 −3
Original line number Diff line number Diff line
@@ -1856,10 +1856,16 @@
#define CRT_HOTPLUG_DETECT_VOLTAGE_475MV	(1 << 2)

#define PORT_HOTPLUG_STAT	(dev_priv->info->display_mmio_offset + 0x61114)
/* HDMI/DP bits are gen4+ */
#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 29)
/*
 * HDMI/DP bits are gen4+
 *
 * WARNING: Bspec for hpd status bits on gen4 seems to be completely confused.
 * Please check the detailed lore in the commit message for for experimental
 * evidence.
 */
#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 27)
#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
#define   PORTD_HOTPLUG_INT_STATUS		(3 << 21)
#define   PORTC_HOTPLUG_INT_STATUS		(3 << 19)
#define   PORTB_HOTPLUG_INT_STATUS		(3 << 17)
+3 −1
Original line number Diff line number Diff line
@@ -8269,9 +8269,11 @@ check_crtc_state(struct drm_device *dev)

		list_for_each_entry(encoder, &dev->mode_config.encoder_list,
				    base.head) {
			enum pipe pipe;
			if (encoder->base.crtc != &crtc->base)
				continue;
			if (encoder->get_config)
			if (encoder->get_config &&
			    encoder->get_hw_state(encoder, &pipe))
				encoder->get_config(encoder, &pipe_config);
		}

Loading