Loading drivers/gpu/drm/i915/i915_debugfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -1492,7 +1492,7 @@ static int i915_fbc_status(struct seq_file *m, void *unused) seq_puts(m, "FBC enabled\n"); } else { seq_puts(m, "FBC disabled: "); switch (dev_priv->no_fbc_reason) { switch (dev_priv->fbc.no_fbc_reason) { case FBC_NO_OUTPUT: seq_puts(m, "no outputs"); break; Loading drivers/gpu/drm/i915/i915_drv.h +29 −21 Original line number Diff line number Diff line Loading @@ -528,9 +528,25 @@ struct i915_hw_context { struct i915_ctx_hang_stats hang_stats; }; enum no_fbc_reason { struct i915_fbc { unsigned long size; unsigned int fb_id; enum plane plane; int y; struct drm_mm_node *compressed_fb; struct drm_mm_node *compressed_llb; struct intel_fbc_work { struct delayed_work work; struct drm_crtc *crtc; struct drm_framebuffer *fb; int interval; } *fbc_work; enum { FBC_NO_OUTPUT, /* no outputs enabled to compress */ FBC_STOLEN_TOO_SMALL, /* not enough space to hold compressed buffers */ FBC_STOLEN_TOO_SMALL, /* not enough space for buffers */ FBC_UNSUPPORTED_MODE, /* interlace or doublescanned mode */ FBC_MODE_TOO_LARGE, /* mode too large for compression */ FBC_BAD_PLANE, /* fbc not supported on plane */ Loading @@ -538,8 +554,10 @@ enum no_fbc_reason { FBC_MULTIPLE_PIPES, /* more than one pipe active */ FBC_MODULE_PARAM, FBC_CHIP_DEFAULT, /* disabled by default on this chip */ } no_fbc_reason; }; enum intel_pch { PCH_NONE = 0, /* No PCH present */ PCH_IBX, /* Ibexpeak PCH */ Loading Loading @@ -1059,12 +1077,7 @@ typedef struct drm_i915_private { int num_plane; unsigned long cfb_size; unsigned int cfb_fb; enum plane cfb_plane; int cfb_y; struct intel_fbc_work *fbc_work; struct i915_fbc fbc; struct intel_opregion opregion; struct intel_vbt_data vbt; Loading Loading @@ -1142,11 +1155,6 @@ typedef struct drm_i915_private { /* Haswell power well */ struct i915_power_well power_well; enum no_fbc_reason no_fbc_reason; struct drm_mm_node *compressed_fb; struct drm_mm_node *compressed_llb; struct i915_gpu_error gpu_error; struct drm_i915_gem_object *vlv_pctx; Loading drivers/gpu/drm/i915/i915_gem_stolen.c +10 −10 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ static int i915_setup_compression(struct drm_device *dev, int size) if (!compressed_llb) goto err_fb; dev_priv->compressed_llb = compressed_llb; dev_priv->fbc.compressed_llb = compressed_llb; I915_WRITE(FBC_CFB_BASE, dev_priv->mm.stolen_base + compressed_fb->start); Loading @@ -128,8 +128,8 @@ static int i915_setup_compression(struct drm_device *dev, int size) dev_priv->mm.stolen_base + compressed_llb->start); } dev_priv->compressed_fb = compressed_fb; dev_priv->cfb_size = size; dev_priv->fbc.compressed_fb = compressed_fb; dev_priv->fbc.size = size; DRM_DEBUG_KMS("reserved %d bytes of contiguous stolen space for FBC\n", size); Loading @@ -150,7 +150,7 @@ int i915_gem_stolen_setup_compression(struct drm_device *dev, int size) if (dev_priv->mm.stolen_base == 0) return -ENODEV; if (size < dev_priv->cfb_size) if (size < dev_priv->fbc.size) return 0; /* Release any current block */ Loading @@ -163,16 +163,16 @@ void i915_gem_stolen_cleanup_compression(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; if (dev_priv->cfb_size == 0) if (dev_priv->fbc.size == 0) return; if (dev_priv->compressed_fb) drm_mm_put_block(dev_priv->compressed_fb); if (dev_priv->fbc.compressed_fb) drm_mm_put_block(dev_priv->fbc.compressed_fb); if (dev_priv->compressed_llb) drm_mm_put_block(dev_priv->compressed_llb); if (dev_priv->fbc.compressed_llb) drm_mm_put_block(dev_priv->fbc.compressed_llb); dev_priv->cfb_size = 0; dev_priv->fbc.size = 0; } void i915_gem_cleanup_stolen(struct drm_device *dev) Loading drivers/gpu/drm/i915/intel_display.c +3 −3 Original line number Diff line number Diff line Loading @@ -3408,7 +3408,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc) intel_crtc_wait_for_pending_flips(crtc); drm_vblank_off(dev, pipe); if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); intel_crtc_update_cursor(crtc, false); Loading Loading @@ -3481,7 +3481,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc) drm_vblank_off(dev, pipe); /* FBC must be disabled before disabling the plane on HSW. */ if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); hsw_disable_ips(intel_crtc); Loading Loading @@ -3720,7 +3720,7 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc) intel_crtc_wait_for_pending_flips(crtc); drm_vblank_off(dev, pipe); if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); intel_crtc_dpms_overlay(intel_crtc, false); Loading drivers/gpu/drm/i915/intel_drv.h +0 −7 Original line number Diff line number Diff line Loading @@ -549,13 +549,6 @@ struct intel_unpin_work { bool enable_stall_check; }; struct intel_fbc_work { struct delayed_work work; struct drm_crtc *crtc; struct drm_framebuffer *fb; int interval; }; int intel_pch_rawclk(struct drm_device *dev); int intel_connector_update_modes(struct drm_connector *connector, Loading Loading
drivers/gpu/drm/i915/i915_debugfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -1492,7 +1492,7 @@ static int i915_fbc_status(struct seq_file *m, void *unused) seq_puts(m, "FBC enabled\n"); } else { seq_puts(m, "FBC disabled: "); switch (dev_priv->no_fbc_reason) { switch (dev_priv->fbc.no_fbc_reason) { case FBC_NO_OUTPUT: seq_puts(m, "no outputs"); break; Loading
drivers/gpu/drm/i915/i915_drv.h +29 −21 Original line number Diff line number Diff line Loading @@ -528,9 +528,25 @@ struct i915_hw_context { struct i915_ctx_hang_stats hang_stats; }; enum no_fbc_reason { struct i915_fbc { unsigned long size; unsigned int fb_id; enum plane plane; int y; struct drm_mm_node *compressed_fb; struct drm_mm_node *compressed_llb; struct intel_fbc_work { struct delayed_work work; struct drm_crtc *crtc; struct drm_framebuffer *fb; int interval; } *fbc_work; enum { FBC_NO_OUTPUT, /* no outputs enabled to compress */ FBC_STOLEN_TOO_SMALL, /* not enough space to hold compressed buffers */ FBC_STOLEN_TOO_SMALL, /* not enough space for buffers */ FBC_UNSUPPORTED_MODE, /* interlace or doublescanned mode */ FBC_MODE_TOO_LARGE, /* mode too large for compression */ FBC_BAD_PLANE, /* fbc not supported on plane */ Loading @@ -538,8 +554,10 @@ enum no_fbc_reason { FBC_MULTIPLE_PIPES, /* more than one pipe active */ FBC_MODULE_PARAM, FBC_CHIP_DEFAULT, /* disabled by default on this chip */ } no_fbc_reason; }; enum intel_pch { PCH_NONE = 0, /* No PCH present */ PCH_IBX, /* Ibexpeak PCH */ Loading Loading @@ -1059,12 +1077,7 @@ typedef struct drm_i915_private { int num_plane; unsigned long cfb_size; unsigned int cfb_fb; enum plane cfb_plane; int cfb_y; struct intel_fbc_work *fbc_work; struct i915_fbc fbc; struct intel_opregion opregion; struct intel_vbt_data vbt; Loading Loading @@ -1142,11 +1155,6 @@ typedef struct drm_i915_private { /* Haswell power well */ struct i915_power_well power_well; enum no_fbc_reason no_fbc_reason; struct drm_mm_node *compressed_fb; struct drm_mm_node *compressed_llb; struct i915_gpu_error gpu_error; struct drm_i915_gem_object *vlv_pctx; Loading
drivers/gpu/drm/i915/i915_gem_stolen.c +10 −10 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ static int i915_setup_compression(struct drm_device *dev, int size) if (!compressed_llb) goto err_fb; dev_priv->compressed_llb = compressed_llb; dev_priv->fbc.compressed_llb = compressed_llb; I915_WRITE(FBC_CFB_BASE, dev_priv->mm.stolen_base + compressed_fb->start); Loading @@ -128,8 +128,8 @@ static int i915_setup_compression(struct drm_device *dev, int size) dev_priv->mm.stolen_base + compressed_llb->start); } dev_priv->compressed_fb = compressed_fb; dev_priv->cfb_size = size; dev_priv->fbc.compressed_fb = compressed_fb; dev_priv->fbc.size = size; DRM_DEBUG_KMS("reserved %d bytes of contiguous stolen space for FBC\n", size); Loading @@ -150,7 +150,7 @@ int i915_gem_stolen_setup_compression(struct drm_device *dev, int size) if (dev_priv->mm.stolen_base == 0) return -ENODEV; if (size < dev_priv->cfb_size) if (size < dev_priv->fbc.size) return 0; /* Release any current block */ Loading @@ -163,16 +163,16 @@ void i915_gem_stolen_cleanup_compression(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; if (dev_priv->cfb_size == 0) if (dev_priv->fbc.size == 0) return; if (dev_priv->compressed_fb) drm_mm_put_block(dev_priv->compressed_fb); if (dev_priv->fbc.compressed_fb) drm_mm_put_block(dev_priv->fbc.compressed_fb); if (dev_priv->compressed_llb) drm_mm_put_block(dev_priv->compressed_llb); if (dev_priv->fbc.compressed_llb) drm_mm_put_block(dev_priv->fbc.compressed_llb); dev_priv->cfb_size = 0; dev_priv->fbc.size = 0; } void i915_gem_cleanup_stolen(struct drm_device *dev) Loading
drivers/gpu/drm/i915/intel_display.c +3 −3 Original line number Diff line number Diff line Loading @@ -3408,7 +3408,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc) intel_crtc_wait_for_pending_flips(crtc); drm_vblank_off(dev, pipe); if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); intel_crtc_update_cursor(crtc, false); Loading Loading @@ -3481,7 +3481,7 @@ static void haswell_crtc_disable(struct drm_crtc *crtc) drm_vblank_off(dev, pipe); /* FBC must be disabled before disabling the plane on HSW. */ if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); hsw_disable_ips(intel_crtc); Loading Loading @@ -3720,7 +3720,7 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc) intel_crtc_wait_for_pending_flips(crtc); drm_vblank_off(dev, pipe); if (dev_priv->cfb_plane == plane) if (dev_priv->fbc.plane == plane) intel_disable_fbc(dev); intel_crtc_dpms_overlay(intel_crtc, false); Loading
drivers/gpu/drm/i915/intel_drv.h +0 −7 Original line number Diff line number Diff line Loading @@ -549,13 +549,6 @@ struct intel_unpin_work { bool enable_stall_check; }; struct intel_fbc_work { struct delayed_work work; struct drm_crtc *crtc; struct drm_framebuffer *fb; int interval; }; int intel_pch_rawclk(struct drm_device *dev); int intel_connector_update_modes(struct drm_connector *connector, Loading