Module Name: src
Committed By: riastradh
Date: Sun Sep 8 15:59:47 UTC 2013
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915 [riastradh-drm2]: intel_pm.c
src/sys/modules/i915drm2 [riastradh-drm2]: Makefile
Removed Files:
src/sys/external/bsd/drm2/i915drm [riastradh-drm2]: intel_pm.c
Log Message:
Adapt intel_pm.c to NetBSD. Drop stubs.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.4 -r1.1.1.1.2.5 \
src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c
cvs rdiff -u -r1.1.2.5 -r0 src/sys/external/bsd/drm2/i915drm/intel_pm.c
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/sys/modules/i915drm2/Makefile
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_pm.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.1.1.1.2.4 src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.1.1.1.2.5
--- src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c:1.1.1.1.2.4 Sun Sep 8 15:58:53 2013
+++ src/sys/external/bsd/drm2/dist/drm/i915/intel_pm.c Sun Sep 8 15:59:47 2013
@@ -2300,7 +2300,11 @@ err_unref:
/**
* Lock protecting IPS related data structures
*/
+#ifdef __NetBSD__
+spinlock_t mchdev_lock;
+#else
DEFINE_SPINLOCK(mchdev_lock);
+#endif
/* Global for IPS driver to get at the current i915 device. Protected by
* mchdev_lock. */
@@ -2682,6 +2686,12 @@ static void gen6_update_ring_freq(struct
WARN_ON(!mutex_is_locked(&dev_priv->rps.hw_lock));
+#ifdef __NetBSD__ /* XXX cpufreq */
+ {
+ extern uint64_t tsc_freq; /* x86 TSC frequency in Hz */
+ max_ia_freq = (tsc_freq / 1000);
+ }
+#else
max_ia_freq = cpufreq_quick_get_max(0);
/*
* Default to measured freq if none found, PCU will ensure we don't go
@@ -2689,6 +2699,7 @@ static void gen6_update_ring_freq(struct
*/
if (!max_ia_freq)
max_ia_freq = tsc_khz;
+#endif
/* Convert from kHz to MHz */
max_ia_freq /= 1000;
@@ -3190,6 +3201,7 @@ unsigned long i915_gfx_val(struct drm_i9
return val;
}
+#ifndef __NetBSD__ /* XXX IPS */
/**
* i915_read_mch_val - return value for IPS use
*
@@ -3329,6 +3341,7 @@ out_unlock:
return ret;
}
EXPORT_SYMBOL_GPL(i915_gpu_turbo_disable);
+#endif
/**
* Tells the intel_ips driver that the i915 driver is now loaded, if
@@ -3354,6 +3367,14 @@ ips_ping_for_i915_load(void)
void intel_gpu_ips_init(struct drm_i915_private *dev_priv)
{
+#ifdef __NetBSD__ /* XXX */
+ /*
+ * This seems as good a place as any to initialize mchdev_lock.
+ * Taking the lock in the rest of this routine is silly, but...
+ */
+ spin_lock_init(&mchdev_lock);
+#endif
+
/* We only register the i915 ips part with intel-ips once everything is
* set up, to avoid intel-ips sneaking in and reading bogus values. */
spin_lock_irq(&mchdev_lock);
@@ -3368,6 +3389,9 @@ void intel_gpu_ips_teardown(void)
spin_lock_irq(&mchdev_lock);
i915_mch_dev = NULL;
spin_unlock_irq(&mchdev_lock);
+#ifdef __NetBSD__
+ spin_lock_destroy(&mchdev_lock);
+#endif
}
static void intel_init_emon(struct drm_device *dev)
{
Index: src/sys/modules/i915drm2/Makefile
diff -u src/sys/modules/i915drm2/Makefile:1.1.2.9 src/sys/modules/i915drm2/Makefile:1.1.2.10
--- src/sys/modules/i915drm2/Makefile:1.1.2.9 Sun Sep 8 15:52:20 2013
+++ src/sys/modules/i915drm2/Makefile Sun Sep 8 15:59:47 2013
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1.2.9 2013/09/08 15:52:20 riastradh Exp $
+# $NetBSD: Makefile,v 1.1.2.10 2013/09/08 15:59:47 riastradh Exp $
.include "../Makefile.inc"
.include "../drm2/Makefile.inc"
@@ -57,4 +57,6 @@ SRCS+= i915_module.c
SRCS+= i915_pci.c
SRCS+= intel_gtt.c
+COPTS.intel_pm.c+= -Wno-shadow
+
.include <bsd.kmodule.mk>