|
@@ -221,6 +221,11 @@ enum no_fbc_reason {
|
|
FBC_NOT_TILED, /* buffer not tiled */
|
|
FBC_NOT_TILED, /* buffer not tiled */
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+enum intel_pch {
|
|
|
|
+ PCH_IBX, /* Ibexpeak PCH */
|
|
|
|
+ PCH_CPT, /* Cougarpoint PCH */
|
|
|
|
+};
|
|
|
|
+
|
|
typedef struct drm_i915_private {
|
|
typedef struct drm_i915_private {
|
|
struct drm_device *dev;
|
|
struct drm_device *dev;
|
|
|
|
|
|
@@ -331,6 +336,9 @@ typedef struct drm_i915_private {
|
|
/* Display functions */
|
|
/* Display functions */
|
|
struct drm_i915_display_funcs display;
|
|
struct drm_i915_display_funcs display;
|
|
|
|
|
|
|
|
+ /* PCH chipset type */
|
|
|
|
+ enum intel_pch pch_type;
|
|
|
|
+
|
|
/* Register state */
|
|
/* Register state */
|
|
bool modeset_on_lid;
|
|
bool modeset_on_lid;
|
|
u8 saveLBB;
|
|
u8 saveLBB;
|
|
@@ -992,6 +1000,8 @@ extern int intel_modeset_vga_set_state(struct drm_device *dev, bool state);
|
|
extern void i8xx_disable_fbc(struct drm_device *dev);
|
|
extern void i8xx_disable_fbc(struct drm_device *dev);
|
|
extern void g4x_disable_fbc(struct drm_device *dev);
|
|
extern void g4x_disable_fbc(struct drm_device *dev);
|
|
|
|
|
|
|
|
+extern void intel_detect_pch (struct drm_device *dev);
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Lock test for when it's just for synchronization of ring access.
|
|
* Lock test for when it's just for synchronization of ring access.
|
|
*
|
|
*
|
|
@@ -1137,6 +1147,9 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
|
|
#define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \
|
|
#define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \
|
|
IS_GEN6(dev))
|
|
IS_GEN6(dev))
|
|
|
|
|
|
|
|
+#define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type)
|
|
|
|
+#define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT)
|
|
|
|
+
|
|
#define PRIMARY_RINGBUFFER_SIZE (128*1024)
|
|
#define PRIMARY_RINGBUFFER_SIZE (128*1024)
|
|
|
|
|
|
#endif
|
|
#endif
|