Add support for Sandybridge INSTDONE regs.

This commit is contained in:
Eric Anholt 2010-01-15 14:28:16 -08:00
parent 67736dbc94
commit 291a576d72
2 changed files with 148 additions and 1 deletions

View File

@ -58,10 +58,90 @@ gen4_instdone1_bit(uint32_t bit, const char *name)
add_instdone_bit(INST_DONE_1, bit, name);
}
static void
gen6_instdone1_bit(uint32_t bit, const char *name)
{
add_instdone_bit(GEN6_INSTDONE_1, bit, name);
}
static void
gen6_instdone2_bit(uint32_t bit, const char *name)
{
add_instdone_bit(GEN6_INSTDONE_2, bit, name);
}
void
init_instdone_definitions(void)
{
if (IS_965(devid)) {
if (IS_GEN6(devid)) {
/* Now called INSTDONE_1 in the docs. */
gen6_instdone1_bit(GEN6_MA_3_DONE, "Message Arbiter 3");
gen6_instdone1_bit(GEN6_EU_32_DONE, "EU 32");
gen6_instdone1_bit(GEN6_EU_31_DONE, "EU 31");
gen6_instdone1_bit(GEN6_EU_30_DONE, "EU 30");
gen6_instdone1_bit(GEN6_MA_3_DONE, "Message Arbiter 2");
gen6_instdone1_bit(GEN6_EU_22_DONE, "EU 22");
gen6_instdone1_bit(GEN6_EU_21_DONE, "EU 21");
gen6_instdone1_bit(GEN6_EU_20_DONE, "EU 20");
gen6_instdone1_bit(GEN6_MA_3_DONE, "Message Arbiter 1");
gen6_instdone1_bit(GEN6_EU_12_DONE, "EU 12");
gen6_instdone1_bit(GEN6_EU_11_DONE, "EU 11");
gen6_instdone1_bit(GEN6_EU_10_DONE, "EU 10");
gen6_instdone1_bit(GEN6_MA_3_DONE, "Message Arbiter 0");
gen6_instdone1_bit(GEN6_EU_02_DONE, "EU 02");
gen6_instdone1_bit(GEN6_EU_01_DONE, "EU 01");
gen6_instdone1_bit(GEN6_EU_00_DONE, "EU 00");
gen6_instdone1_bit(GEN6_IC_3_DONE, "IC 3");
gen6_instdone1_bit(GEN6_IC_2_DONE, "IC 2");
gen6_instdone1_bit(GEN6_IC_1_DONE, "IC 1");
gen6_instdone1_bit(GEN6_IC_0_DONE, "IC 0");
gen6_instdone1_bit(GEN6_ISC_10_DONE, "ISC 1/0");
gen6_instdone1_bit(GEN6_ISC_32_DONE, "ISC 3/2");
gen6_instdone1_bit(GEN6_VSC_DONE, "VSC");
gen6_instdone1_bit(GEN6_IEF_DONE, "IEF");
gen6_instdone1_bit(GEN6_VFE_DONE, "VFE");
gen6_instdone1_bit(GEN6_TD_DONE, "TD");
gen6_instdone1_bit(GEN6_TS_DONE, "TS");
gen6_instdone1_bit(GEN6_GW_DONE, "GW");
gen6_instdone1_bit(GEN6_HIZ_DONE, "HIZ");
gen6_instdone1_bit(GEN6_AVS_DONE, "AVS");
/* Now called INSTDONE_2 in the docs. */
gen6_instdone2_bit(GEN6_GAM_DONE, "GAM");
gen6_instdone2_bit(GEN6_CS_DONE, "CS");
gen6_instdone2_bit(GEN6_WMBE_DONE, "WMBE");
gen6_instdone2_bit(GEN6_SVRW_DONE, "SVRW");
gen6_instdone2_bit(GEN6_RCC_DONE, "RCC");
gen6_instdone2_bit(GEN6_SVG_DONE, "SVG");
gen6_instdone2_bit(GEN6_ISC_DONE, "ISC");
gen6_instdone2_bit(GEN6_MT_DONE, "MT");
gen6_instdone2_bit(GEN6_RCPFE_DONE, "RCPFE");
gen6_instdone2_bit(GEN6_RCPBE_DONE, "RCPBE");
gen6_instdone2_bit(GEN6_VDI_DONE, "VDI");
gen6_instdone2_bit(GEN6_RCZ_DONE, "RCZ");
gen6_instdone2_bit(GEN6_DAP_DONE, "DAP");
gen6_instdone2_bit(GEN6_PSD_DONE, "PSD");
gen6_instdone2_bit(GEN6_IZ_DONE, "IZ");
gen6_instdone2_bit(GEN6_WMFE_DONE, "WMFE");
gen6_instdone2_bit(GEN6_SVSM_DONE, "SVSM");
gen6_instdone2_bit(GEN6_QC_DONE, "QC");
gen6_instdone2_bit(GEN6_FL_DONE, "FL");
gen6_instdone2_bit(GEN6_SC_DONE, "SC");
gen6_instdone2_bit(GEN6_DM_DONE, "DM");
gen6_instdone2_bit(GEN6_FT_DONE, "FT");
gen6_instdone2_bit(GEN6_DG_DONE, "DG");
gen6_instdone2_bit(GEN6_SI_DONE, "SI");
gen6_instdone2_bit(GEN6_SO_DONE, "SO");
gen6_instdone2_bit(GEN6_PL_DONE, "PL");
gen6_instdone2_bit(GEN6_VME_DONE, "VME");
gen6_instdone2_bit(GEN6_SF_DONE, "SF");
gen6_instdone2_bit(GEN6_CL_DONE, "CL");
gen6_instdone2_bit(GEN6_GS_DONE, "GS");
gen6_instdone2_bit(GEN6_VS0_DONE, "VS0");
gen6_instdone2_bit(GEN6_VF_DONE, "VF");
} else if (IS_965(devid)) {
gen4_instdone_bit(I965_ROW_0_EU_0_DONE, "Row 0, EU 0");
gen4_instdone_bit(I965_ROW_0_EU_1_DONE, "Row 0, EU 1");
gen4_instdone_bit(I965_ROW_0_EU_2_DONE, "Row 0, EU 2");

View File

@ -462,6 +462,39 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define I965_IC_ROW_1_DONE (1 << 2)
# define I965_CP_DONE (1 << 1)
# define I965_RING_0_ENABLE (1 << 0)
#define GEN6_INSTDONE_1 0x206c
# define GEN6_MA_3_DONE (1 << 31)
# define GEN6_EU_32_DONE (1 << 30)
# define GEN6_EU_31_DONE (1 << 29)
# define GEN6_EU_30_DONE (1 << 28)
# define GEN6_MA_2_DONE (1 << 27)
# define GEN6_EU_22_DONE (1 << 26)
# define GEN6_EU_21_DONE (1 << 25)
# define GEN6_EU_20_DONE (1 << 24)
# define GEN6_MA_1_DONE (1 << 23)
# define GEN6_EU_12_DONE (1 << 22)
# define GEN6_EU_11_DONE (1 << 21)
# define GEN6_EU_10_DONE (1 << 20)
# define GEN6_MA_0_DONE (1 << 19)
# define GEN6_EU_02_DONE (1 << 18)
# define GEN6_EU_01_DONE (1 << 17)
# define GEN6_EU_00_DONE (1 << 16)
# define GEN6_IC_3_DONE (1 << 15)
# define GEN6_IC_2_DONE (1 << 14)
# define GEN6_IC_1_DONE (1 << 13)
# define GEN6_IC_0_DONE (1 << 12)
# define GEN6_ISC_10_DONE (1 << 11)
# define GEN6_ISC_32_DONE (1 << 10)
# define GEN6_VSC_DONE (1 << 9)
# define GEN6_IEF_DONE (1 << 8)
# define GEN6_VFE_DONE (1 << 7)
# define GEN6_TD_DONE (1 << 6)
# define GEN6_TS_DONE (1 << 4)
# define GEN6_GW_DONE (1 << 3)
# define GEN6_HIZ_DONE (1 << 2)
# define GEN6_AVS_DONE (1 << 1)
#define INST_PS_I965 0x2070
/* Current active ring head address:
@ -495,6 +528,40 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define I965_VS0_CS_DONE (1 << 1)
# define I965_VF_CS_DONE (1 << 0)
#define GEN6_INSTDONE_2 0x207c
# define GEN6_GAM_DONE (1 << 31)
# define GEN6_CS_DONE (1 << 30)
# define GEN6_WMBE_DONE (1 << 29)
# define GEN6_SVRW_DONE (1 << 28)
# define GEN6_RCC_DONE (1 << 27)
# define GEN6_SVG_DONE (1 << 26)
# define GEN6_ISC_DONE (1 << 25)
# define GEN6_MT_DONE (1 << 24)
# define GEN6_RCPFE_DONE (1 << 23)
# define GEN6_RCPBE_DONE (1 << 22)
# define GEN6_VDI_DONE (1 << 21)
# define GEN6_RCZ_DONE (1 << 20)
# define GEN6_DAP_DONE (1 << 19)
# define GEN6_PSD_DONE (1 << 18)
# define GEN6_IZ_DONE (1 << 17)
# define GEN6_WMFE_DONE (1 << 16)
# define GEN6_SVSM_DONE (1 << 15)
# define GEN6_QC_DONE (1 << 14)
# define GEN6_FL_DONE (1 << 13)
# define GEN6_SC_DONE (1 << 12)
# define GEN6_DM_DONE (1 << 11)
# define GEN6_FT_DONE (1 << 10)
# define GEN6_DG_DONE (1 << 9)
# define GEN6_SI_DONE (1 << 8)
# define GEN6_SO_DONE (1 << 7)
# define GEN6_PL_DONE (1 << 6)
# define GEN6_VME_DONE (1 << 5)
# define GEN6_SF_DONE (1 << 4)
# define GEN6_CL_DONE (1 << 3)
# define GEN6_GS_DONE (1 << 2)
# define GEN6_VS0_DONE (1 << 1)
# define GEN6_VF_DONE (1 << 0)
#define CACHE_MODE_0 0x2120
#define CACHE_MODE_1 0x2124
#define MI_MODE 0x209c