Module Name:    src
Committed By:   riastradh
Date:           Mon Jul 21 20:03:31 UTC 2014

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915: intel_uncore.c

Log Message:
Avoid bus_space_read/write_8 on i386.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
    src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c:1.4	Wed Jul 16 23:25:18 2014
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_uncore.c	Mon Jul 21 20:03:31 2014
@@ -38,8 +38,13 @@
 #define	__raw_i915_read32(dev_priv, reg) bus_space_read_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg))
 #define	__raw_i915_write32(dev_priv, reg, val) bus_space_write_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg), (val))
 
+#ifdef _LP64
 #define	__raw_i915_read64(dev_priv, reg) bus_space_read_8((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg))
 #define	__raw_i915_write64(dev_priv, reg, val) bus_space_write_8((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg), (val))
+#else
+#define	__raw_i915_read64(dev_priv, reg) (bus_space_read_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg)) | ((uint64_t)bus_space_read_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg)) << 32))
+#define	__raw_i915_write64(dev_priv, reg, val) (bus_space_write_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg), (uint32_t)(val)), bus_space_write_4((dev_priv)->regs_bst, (dev_priv)->regs_bsh, (reg) + 4, (uint32_t)((val) >> 32)))
+#endif
 
 #else
 

Reply via email to