Subversion Repositories Kolibri OS

Rev

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

Rev 4126 Rev 4293
Line 2383... Line 2383...
2383
	int pipe;
2383
	int pipe;
Line 2384... Line 2384...
2384
 
2384
 
2385
	if (!dev_priv)
2385
	if (!dev_priv)
Line -... Line 2386...
-
 
2386
		return;
-
 
2387
 
2386
		return;
2388
	del_timer_sync(&dev_priv->hotplug_reenable_timer);
2387
 
2389
 
Line 2388... Line 2390...
2388
	for_each_pipe(pipe)
2390
	for_each_pipe(pipe)
2389
		I915_WRITE(PIPESTAT(pipe), 0xffff);
2391
		I915_WRITE(PIPESTAT(pipe), 0xffff);
Line 2404... Line 2406...
2404
	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
2406
	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
Line 2405... Line 2407...
2405
 
2407
 
2406
	if (!dev_priv)
2408
	if (!dev_priv)
Line -... Line 2409...
-
 
2409
		return;
-
 
2410
 
2407
		return;
2411
	del_timer_sync(&dev_priv->hotplug_reenable_timer);
Line 2408... Line 2412...
2408
 
2412
 
2409
	I915_WRITE(HWSTAM, 0xffffffff);
2413
	I915_WRITE(HWSTAM, 0xffffffff);
2410
 
2414
 
Line 2786... Line 2790...
2786
static void i915_irq_uninstall(struct drm_device * dev)
2790
static void i915_irq_uninstall(struct drm_device * dev)
2787
{
2791
{
2788
	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
2792
	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
2789
	int pipe;
2793
	int pipe;
Line -... Line 2794...
-
 
2794
 
-
 
2795
	del_timer_sync(&dev_priv->hotplug_reenable_timer);
2790
 
2796
 
2791
	if (I915_HAS_HOTPLUG(dev)) {
2797
	if (I915_HAS_HOTPLUG(dev)) {
2792
		I915_WRITE(PORT_HOTPLUG_EN, 0);
2798
		I915_WRITE(PORT_HOTPLUG_EN, 0);
2793
		I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT));
2799
		I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT));
Line 3034... Line 3040...
3034
	int pipe;
3040
	int pipe;
Line 3035... Line 3041...
3035
 
3041
 
3036
	if (!dev_priv)
3042
	if (!dev_priv)
Line -... Line 3043...
-
 
3043
		return;
-
 
3044
 
3037
		return;
3045
	del_timer_sync(&dev_priv->hotplug_reenable_timer);
3038
 
3046
 
Line 3039... Line 3047...
3039
	I915_WRITE(PORT_HOTPLUG_EN, 0);
3047
	I915_WRITE(PORT_HOTPLUG_EN, 0);
3040
	I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT));
3048
	I915_WRITE(PORT_HOTPLUG_STAT, I915_READ(PORT_HOTPLUG_STAT));
Line 3096... Line 3104...
3096
	INIT_WORK(&dev_priv->l3_parity.error_work, ivybridge_parity_work);
3104
	INIT_WORK(&dev_priv->l3_parity.error_work, ivybridge_parity_work);
Line 3097... Line 3105...
3097
 
3105
 
3098
	setup_timer(&dev_priv->hotplug_reenable_timer, i915_reenable_hotplug_timer_func,
3106
	setup_timer(&dev_priv->hotplug_reenable_timer, i915_reenable_hotplug_timer_func,
Line -... Line 3107...
-
 
3107
		    (unsigned long) dev_priv);
-
 
3108
 
-
 
3109
	dev->driver->get_vblank_counter = i915_get_vblank_counter;
-
 
3110
	dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */
-
 
3111
	if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5) {
-
 
3112
		dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */
Line -... Line 3113...
-
 
3113
		dev->driver->get_vblank_counter = gm45_get_vblank_counter;
-
 
3114
	}
-
 
3115
 
-
 
3116
	if (drm_core_check_feature(dev, DRIVER_MODESET))
3099
		    (unsigned long) dev_priv);
3117
		dev->driver->get_vblank_timestamp = i915_get_vblank_timestamp;
Line 3100... Line 3118...
3100
 
3118
	else
3101
 
3119
		dev->driver->get_vblank_timestamp = NULL;
3102
//	dev->driver->get_scanout_position = i915_get_crtc_scanoutpos;
3120
	dev->driver->get_scanout_position = i915_get_crtc_scanoutpos;
3103
 
3121
 
-
 
3122
	if (IS_VALLEYVIEW(dev)) {
-
 
3123
		dev->driver->irq_handler = valleyview_irq_handler;
-
 
3124
		dev->driver->irq_preinstall = valleyview_irq_preinstall;
3104
	if (IS_VALLEYVIEW(dev)) {
3125
		dev->driver->irq_postinstall = valleyview_irq_postinstall;
3105
		dev->driver->irq_handler = valleyview_irq_handler;
3126
		dev->driver->irq_uninstall = valleyview_irq_uninstall;
3106
		dev->driver->irq_preinstall = valleyview_irq_preinstall;
3127
		dev->driver->enable_vblank = valleyview_enable_vblank;
3107
		dev->driver->irq_postinstall = valleyview_irq_postinstall;
3128
		dev->driver->disable_vblank = valleyview_disable_vblank;
3108
		dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
3129
		dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
-
 
3130
	} else if (HAS_PCH_SPLIT(dev)) {
-
 
3131
		dev->driver->irq_handler = ironlake_irq_handler;
-
 
3132
		dev->driver->irq_preinstall = ironlake_irq_preinstall;
3109
	} else if (HAS_PCH_SPLIT(dev)) {
3133
		dev->driver->irq_postinstall = ironlake_irq_postinstall;
3110
		dev->driver->irq_handler = ironlake_irq_handler;
3134
		dev->driver->irq_uninstall = ironlake_irq_uninstall;
3111
		dev->driver->irq_preinstall = ironlake_irq_preinstall;
3135
		dev->driver->enable_vblank = ironlake_enable_vblank;
3112
		dev->driver->irq_postinstall = ironlake_irq_postinstall;
3136
		dev->driver->disable_vblank = ironlake_disable_vblank;
3113
		dev_priv->display.hpd_irq_setup = ibx_hpd_irq_setup;
3137
		dev_priv->display.hpd_irq_setup = ibx_hpd_irq_setup;
3114
	} else {
3138
	} else {
-
 
3139
		if (INTEL_INFO(dev)->gen == 2) {
3115
		if (INTEL_INFO(dev)->gen == 2) {
3140
		} else if (INTEL_INFO(dev)->gen == 3) {
3116
		} else if (INTEL_INFO(dev)->gen == 3) {
3141
			dev->driver->irq_preinstall = i915_irq_preinstall;
3117
			dev->driver->irq_preinstall = i915_irq_preinstall;
3142
			dev->driver->irq_postinstall = i915_irq_postinstall;
3118
			dev->driver->irq_postinstall = i915_irq_postinstall;
3143
			dev->driver->irq_uninstall = i915_irq_uninstall;
3119
			dev->driver->irq_handler = i915_irq_handler;
3144
			dev->driver->irq_handler = i915_irq_handler;
-
 
3145
			dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
3120
			dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
3146
		} else {
3121
		} else {
3147
			dev->driver->irq_preinstall = i965_irq_preinstall;
3122
			dev->driver->irq_preinstall = i965_irq_preinstall;
3148
			dev->driver->irq_postinstall = i965_irq_postinstall;
-
 
3149
			dev->driver->irq_uninstall = i965_irq_uninstall;
-
 
3150
			dev->driver->irq_handler = i965_irq_handler;
3123
			dev->driver->irq_postinstall = i965_irq_postinstall;
3151
			dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
3124
			dev->driver->irq_handler = i965_irq_handler;
3152
		}
Line 3125... Line 3153...
3125
			dev_priv->display.hpd_irq_setup = i915_hpd_irq_setup;
3153
		dev->driver->enable_vblank = i915_enable_vblank;
3126
		}
3154
		dev->driver->disable_vblank = i915_disable_vblank;