|
@@ -61,11 +61,18 @@ static struct drm_driver driver;
|
|
|
.palette_offsets = { PALETTE_A_OFFSET, PALETTE_B_OFFSET, \
|
|
|
CHV_PALETTE_C_OFFSET }
|
|
|
|
|
|
+#define CURSOR_OFFSETS \
|
|
|
+ .cursor_offsets = { CURSOR_A_OFFSET, CURSOR_B_OFFSET, CHV_CURSOR_C_OFFSET }
|
|
|
+
|
|
|
+#define IVB_CURSOR_OFFSETS \
|
|
|
+ .cursor_offsets = { CURSOR_A_OFFSET, IVB_CURSOR_B_OFFSET, IVB_CURSOR_C_OFFSET }
|
|
|
+
|
|
|
static const struct intel_device_info intel_i830_info = {
|
|
|
.gen = 2, .is_mobile = 1, .cursor_needs_physical = 1, .num_pipes = 2,
|
|
|
.has_overlay = 1, .overlay_needs_physical = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_845g_info = {
|
|
@@ -73,6 +80,7 @@ static const struct intel_device_info intel_845g_info = {
|
|
|
.has_overlay = 1, .overlay_needs_physical = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_i85x_info = {
|
|
@@ -82,6 +90,7 @@ static const struct intel_device_info intel_i85x_info = {
|
|
|
.has_fbc = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_i865g_info = {
|
|
@@ -89,6 +98,7 @@ static const struct intel_device_info intel_i865g_info = {
|
|
|
.has_overlay = 1, .overlay_needs_physical = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_i915g_info = {
|
|
@@ -96,6 +106,7 @@ static const struct intel_device_info intel_i915g_info = {
|
|
|
.has_overlay = 1, .overlay_needs_physical = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
static const struct intel_device_info intel_i915gm_info = {
|
|
|
.gen = 3, .is_mobile = 1, .num_pipes = 2,
|
|
@@ -105,12 +116,14 @@ static const struct intel_device_info intel_i915gm_info = {
|
|
|
.has_fbc = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
static const struct intel_device_info intel_i945g_info = {
|
|
|
.gen = 3, .has_hotplug = 1, .cursor_needs_physical = 1, .num_pipes = 2,
|
|
|
.has_overlay = 1, .overlay_needs_physical = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
static const struct intel_device_info intel_i945gm_info = {
|
|
|
.gen = 3, .is_i945gm = 1, .is_mobile = 1, .num_pipes = 2,
|
|
@@ -120,6 +133,7 @@ static const struct intel_device_info intel_i945gm_info = {
|
|
|
.has_fbc = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_i965g_info = {
|
|
@@ -128,6 +142,7 @@ static const struct intel_device_info intel_i965g_info = {
|
|
|
.has_overlay = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_i965gm_info = {
|
|
@@ -137,6 +152,7 @@ static const struct intel_device_info intel_i965gm_info = {
|
|
|
.supports_tv = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_g33_info = {
|
|
@@ -145,6 +161,7 @@ static const struct intel_device_info intel_g33_info = {
|
|
|
.has_overlay = 1,
|
|
|
.ring_mask = RENDER_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_g45_info = {
|
|
@@ -152,6 +169,7 @@ static const struct intel_device_info intel_g45_info = {
|
|
|
.has_pipe_cxsr = 1, .has_hotplug = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_gm45_info = {
|
|
@@ -161,6 +179,7 @@ static const struct intel_device_info intel_gm45_info = {
|
|
|
.supports_tv = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_pineview_info = {
|
|
@@ -168,6 +187,7 @@ static const struct intel_device_info intel_pineview_info = {
|
|
|
.need_gfx_hws = 1, .has_hotplug = 1,
|
|
|
.has_overlay = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_ironlake_d_info = {
|
|
@@ -175,6 +195,7 @@ static const struct intel_device_info intel_ironlake_d_info = {
|
|
|
.need_gfx_hws = 1, .has_hotplug = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_ironlake_m_info = {
|
|
@@ -183,6 +204,7 @@ static const struct intel_device_info intel_ironlake_m_info = {
|
|
|
.has_fbc = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_sandybridge_d_info = {
|
|
@@ -192,6 +214,7 @@ static const struct intel_device_info intel_sandybridge_d_info = {
|
|
|
.ring_mask = RENDER_RING | BSD_RING | BLT_RING,
|
|
|
.has_llc = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_sandybridge_m_info = {
|
|
@@ -201,6 +224,7 @@ static const struct intel_device_info intel_sandybridge_m_info = {
|
|
|
.ring_mask = RENDER_RING | BSD_RING | BLT_RING,
|
|
|
.has_llc = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
#define GEN7_FEATURES \
|
|
@@ -214,6 +238,7 @@ static const struct intel_device_info intel_ivybridge_d_info = {
|
|
|
GEN7_FEATURES,
|
|
|
.is_ivybridge = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_ivybridge_m_info = {
|
|
@@ -221,6 +246,7 @@ static const struct intel_device_info intel_ivybridge_m_info = {
|
|
|
.is_ivybridge = 1,
|
|
|
.is_mobile = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_ivybridge_q_info = {
|
|
@@ -228,6 +254,7 @@ static const struct intel_device_info intel_ivybridge_q_info = {
|
|
|
.is_ivybridge = 1,
|
|
|
.num_pipes = 0, /* legal, last one wins */
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_valleyview_m_info = {
|
|
@@ -239,6 +266,7 @@ static const struct intel_device_info intel_valleyview_m_info = {
|
|
|
.has_fbc = 0, /* legal, last one wins */
|
|
|
.has_llc = 0, /* legal, last one wins */
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_valleyview_d_info = {
|
|
@@ -249,6 +277,7 @@ static const struct intel_device_info intel_valleyview_d_info = {
|
|
|
.has_fbc = 0, /* legal, last one wins */
|
|
|
.has_llc = 0, /* legal, last one wins */
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_haswell_d_info = {
|
|
@@ -258,6 +287,7 @@ static const struct intel_device_info intel_haswell_d_info = {
|
|
|
.has_fpga_dbg = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_haswell_m_info = {
|
|
@@ -268,6 +298,7 @@ static const struct intel_device_info intel_haswell_m_info = {
|
|
|
.has_fpga_dbg = 1,
|
|
|
.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_broadwell_d_info = {
|
|
@@ -278,6 +309,7 @@ static const struct intel_device_info intel_broadwell_d_info = {
|
|
|
.has_ddi = 1,
|
|
|
.has_fbc = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_broadwell_m_info = {
|
|
@@ -308,6 +340,7 @@ static const struct intel_device_info intel_broadwell_gt3m_info = {
|
|
|
.has_ddi = 1,
|
|
|
.has_fbc = 1,
|
|
|
GEN_DEFAULT_PIPEOFFSETS,
|
|
|
+ IVB_CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
static const struct intel_device_info intel_cherryview_info = {
|
|
@@ -318,6 +351,7 @@ static const struct intel_device_info intel_cherryview_info = {
|
|
|
.is_valleyview = 1,
|
|
|
.display_mmio_offset = VLV_DISPLAY_BASE,
|
|
|
GEN_CHV_PIPEOFFSETS,
|
|
|
+ CURSOR_OFFSETS,
|
|
|
};
|
|
|
|
|
|
/*
|