Subversion Repositories Kolibri OS

Rev

Rev 3037 | Rev 3243 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3037 Rev 3120
Line 638... Line 638...
638
__i915_read(64, q)
638
__i915_read(64, q)
639
#undef __i915_read
639
#undef __i915_read
Line 640... Line 640...
640
 
640
 
641
#define __i915_write(x, y) \
641
#define __i915_write(x, y) \
-
 
642
void i915_write##x(struct drm_i915_private *dev_priv, u32 reg, u##x val) { \
-
 
643
	u32 __fifo_ret = 0; \
642
void i915_write##x(struct drm_i915_private *dev_priv, u32 reg, u##x val) { \
644
	trace_i915_reg_rw(true, reg, val, sizeof(val)); \
643
	if (NEEDS_FORCE_WAKE((dev_priv), (reg))) { \
645
	if (NEEDS_FORCE_WAKE((dev_priv), (reg))) { \
644
		__gen6_gt_wait_for_fifo(dev_priv); \
646
		__fifo_ret = __gen6_gt_wait_for_fifo(dev_priv); \
-
 
647
	} \
-
 
648
	if (IS_VALLEYVIEW(dev_priv->dev) && IS_DISPLAYREG(reg)) { \
-
 
649
		write##y(val, dev_priv->regs + reg + 0x180000);		\
645
	} \
650
	} else {							\
-
 
651
	write##y(val, dev_priv->regs + reg); \
-
 
652
	}								\
-
 
653
	if (unlikely(__fifo_ret)) { \
-
 
654
		gen6_gt_check_fifodbg(dev_priv); \
-
 
655
	} \
-
 
656
	if (IS_HASWELL(dev_priv->dev) && (I915_READ_NOTRACE(GEN7_ERR_INT) & ERR_INT_MMIO_UNCLAIMED)) { \
-
 
657
		DRM_ERROR("Unclaimed write to %x\n", reg); \
-
 
658
		writel(ERR_INT_MMIO_UNCLAIMED, dev_priv->regs + GEN7_ERR_INT);	\
646
	write##y(val, dev_priv->regs + reg); \
659
	} \
647
}
660
}
648
__i915_write(8, b)
661
__i915_write(8, b)
649
__i915_write(16, w)
662
__i915_write(16, w)
650
__i915_write(32, l)
663
__i915_write(32, l)