Lines Matching refs:table

840 			SMU7_Discrete_DpmTable *table)  in ci_populate_smc_vddc_table()  argument
846 table->VddcLevelCount = data->vddc_voltage_table.count; in ci_populate_smc_vddc_table()
847 for (count = 0; count < table->VddcLevelCount; count++) { in ci_populate_smc_vddc_table()
850 &(table->VddcLevel[count])); in ci_populate_smc_vddc_table()
855 table->VddcLevel[count].Smio = (uint8_t) count; in ci_populate_smc_vddc_table()
856 table->Smio[count] |= data->vddc_voltage_table.entries[count].smio_low; in ci_populate_smc_vddc_table()
857 table->SmioMaskVddcVid |= data->vddc_voltage_table.entries[count].smio_low; in ci_populate_smc_vddc_table()
859 table->VddcLevel[count].Smio = 0; in ci_populate_smc_vddc_table()
863 CONVERT_FROM_HOST_TO_SMC_UL(table->VddcLevelCount); in ci_populate_smc_vddc_table()
869 SMU7_Discrete_DpmTable *table) in ci_populate_smc_vdd_ci_table() argument
875 table->VddciLevelCount = data->vddci_voltage_table.count; in ci_populate_smc_vdd_ci_table()
877 for (count = 0; count < table->VddciLevelCount; count++) { in ci_populate_smc_vdd_ci_table()
880 &(table->VddciLevel[count])); in ci_populate_smc_vdd_ci_table()
883 table->VddciLevel[count].Smio = (uint8_t) count; in ci_populate_smc_vdd_ci_table()
884 table->Smio[count] |= data->vddci_voltage_table.entries[count].smio_low; in ci_populate_smc_vdd_ci_table()
885 table->SmioMaskVddciVid |= data->vddci_voltage_table.entries[count].smio_low; in ci_populate_smc_vdd_ci_table()
887 table->VddciLevel[count].Smio = 0; in ci_populate_smc_vdd_ci_table()
891 CONVERT_FROM_HOST_TO_SMC_UL(table->VddciLevelCount); in ci_populate_smc_vdd_ci_table()
897 SMU7_Discrete_DpmTable *table) in ci_populate_smc_mvdd_table() argument
903 table->MvddLevelCount = data->mvdd_voltage_table.count; in ci_populate_smc_mvdd_table()
905 for (count = 0; count < table->MvddLevelCount; count++) { in ci_populate_smc_mvdd_table()
908 &table->MvddLevel[count]); in ci_populate_smc_mvdd_table()
911 table->MvddLevel[count].Smio = (uint8_t) count; in ci_populate_smc_mvdd_table()
912 table->Smio[count] |= data->mvdd_voltage_table.entries[count].smio_low; in ci_populate_smc_mvdd_table()
913 table->SmioMaskMvddVid |= data->mvdd_voltage_table.entries[count].smio_low; in ci_populate_smc_mvdd_table()
915 table->MvddLevel[count].Smio = 0; in ci_populate_smc_mvdd_table()
919 CONVERT_FROM_HOST_TO_SMC_UL(table->MvddLevelCount); in ci_populate_smc_mvdd_table()
926 SMU7_Discrete_DpmTable *table) in ci_populate_smc_voltage_tables() argument
930 result = ci_populate_smc_vddc_table(hwmgr, table); in ci_populate_smc_voltage_tables()
934 result = ci_populate_smc_vdd_ci_table(hwmgr, table); in ci_populate_smc_voltage_tables()
938 result = ci_populate_smc_mvdd_table(hwmgr, table); in ci_populate_smc_voltage_tables()
995 static int ci_populate_smc_link_level(struct pp_hwmgr *hwmgr, SMU7_Discrete_DpmTable *table) in ci_populate_smc_link_level() argument
1004 table->LinkLevel[i].PcieGenSpeed = in ci_populate_smc_link_level()
1006 table->LinkLevel[i].PcieLaneCount = in ci_populate_smc_link_level()
1008 table->LinkLevel[i].EnabledForActivity = 1; in ci_populate_smc_link_level()
1009 table->LinkLevel[i].DownT = PP_HOST_TO_SMC_UL(5); in ci_populate_smc_link_level()
1010 table->LinkLevel[i].UpT = PP_HOST_TO_SMC_UL(30); in ci_populate_smc_link_level()
1375 SMU7_Discrete_DpmTable *table) in ci_populate_smc_acpi_level() argument
1389 table->ACPILevel.Flags &= ~PPSMC_SWSTATE_FLAG_DC; in ci_populate_smc_acpi_level()
1392 table->ACPILevel.MinVddc = PP_HOST_TO_SMC_UL(data->acpi_vddc * VOLTAGE_SCALE); in ci_populate_smc_acpi_level()
1394 table->ACPILevel.MinVddc = PP_HOST_TO_SMC_UL(data->min_vddc_in_pptable * VOLTAGE_SCALE); in ci_populate_smc_acpi_level()
1396 table->ACPILevel.MinVddcPhases = data->vddc_phase_shed_control ? 0 : 1; in ci_populate_smc_acpi_level()
1398 table->ACPILevel.SclkFrequency = atomctrl_get_reference_clock(hwmgr); in ci_populate_smc_acpi_level()
1402 table->ACPILevel.SclkFrequency, &dividers); in ci_populate_smc_acpi_level()
1408 table->ACPILevel.SclkDid = (uint8_t)dividers.pll_post_divider; in ci_populate_smc_acpi_level()
1409 table->ACPILevel.DisplayWatermark = PPSMC_DISPLAY_WATERMARK_LOW; in ci_populate_smc_acpi_level()
1410 table->ACPILevel.DeepSleepDivId = 0; in ci_populate_smc_acpi_level()
1419 table->ACPILevel.CgSpllFuncCntl = spll_func_cntl; in ci_populate_smc_acpi_level()
1420 table->ACPILevel.CgSpllFuncCntl2 = spll_func_cntl_2; in ci_populate_smc_acpi_level()
1421 table->ACPILevel.CgSpllFuncCntl3 = data->clock_registers.vCG_SPLL_FUNC_CNTL_3; in ci_populate_smc_acpi_level()
1422 table->ACPILevel.CgSpllFuncCntl4 = data->clock_registers.vCG_SPLL_FUNC_CNTL_4; in ci_populate_smc_acpi_level()
1423 table->ACPILevel.SpllSpreadSpectrum = data->clock_registers.vCG_SPLL_SPREAD_SPECTRUM; in ci_populate_smc_acpi_level()
1424 table->ACPILevel.SpllSpreadSpectrum2 = data->clock_registers.vCG_SPLL_SPREAD_SPECTRUM_2; in ci_populate_smc_acpi_level()
1425 table->ACPILevel.CcPwrDynRm = 0; in ci_populate_smc_acpi_level()
1426 table->ACPILevel.CcPwrDynRm1 = 0; in ci_populate_smc_acpi_level()
1429 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.Flags); in ci_populate_smc_acpi_level()
1431 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.SclkFrequency); in ci_populate_smc_acpi_level()
1432 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CgSpllFuncCntl); in ci_populate_smc_acpi_level()
1433 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CgSpllFuncCntl2); in ci_populate_smc_acpi_level()
1434 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CgSpllFuncCntl3); in ci_populate_smc_acpi_level()
1435 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CgSpllFuncCntl4); in ci_populate_smc_acpi_level()
1436 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.SpllSpreadSpectrum); in ci_populate_smc_acpi_level()
1437 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.SpllSpreadSpectrum2); in ci_populate_smc_acpi_level()
1438 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CcPwrDynRm); in ci_populate_smc_acpi_level()
1439 CONVERT_FROM_HOST_TO_SMC_UL(table->ACPILevel.CcPwrDynRm1); in ci_populate_smc_acpi_level()
1443 table->MemoryACPILevel.MinVddc = table->ACPILevel.MinVddc; in ci_populate_smc_acpi_level()
1444 table->MemoryACPILevel.MinVddcPhases = table->ACPILevel.MinVddcPhases; in ci_populate_smc_acpi_level()
1447 table->MemoryACPILevel.MinVddci = table->MemoryACPILevel.MinVddc; in ci_populate_smc_acpi_level()
1450 table->MemoryACPILevel.MinVddci = PP_HOST_TO_SMC_UL(data->acpi_vddci * VOLTAGE_SCALE); in ci_populate_smc_acpi_level()
1452 table->MemoryACPILevel.MinVddci = PP_HOST_TO_SMC_UL(data->min_vddci_in_pptable * VOLTAGE_SCALE); in ci_populate_smc_acpi_level()
1456 table->MemoryACPILevel.MinMvdd = in ci_populate_smc_acpi_level()
1459 table->MemoryACPILevel.MinMvdd = 0; in ci_populate_smc_acpi_level()
1479 table->MemoryACPILevel.DllCntl = in ci_populate_smc_acpi_level()
1481 table->MemoryACPILevel.MclkPwrmgtCntl = in ci_populate_smc_acpi_level()
1483 table->MemoryACPILevel.MpllAdFuncCntl = in ci_populate_smc_acpi_level()
1485 table->MemoryACPILevel.MpllDqFuncCntl = in ci_populate_smc_acpi_level()
1487 table->MemoryACPILevel.MpllFuncCntl = in ci_populate_smc_acpi_level()
1489 table->MemoryACPILevel.MpllFuncCntl_1 = in ci_populate_smc_acpi_level()
1491 table->MemoryACPILevel.MpllFuncCntl_2 = in ci_populate_smc_acpi_level()
1493 table->MemoryACPILevel.MpllSs1 = in ci_populate_smc_acpi_level()
1495 table->MemoryACPILevel.MpllSs2 = in ci_populate_smc_acpi_level()
1498 table->MemoryACPILevel.EnabledForThrottle = 0; in ci_populate_smc_acpi_level()
1499 table->MemoryACPILevel.EnabledForActivity = 0; in ci_populate_smc_acpi_level()
1500 table->MemoryACPILevel.UpH = 0; in ci_populate_smc_acpi_level()
1501 table->MemoryACPILevel.DownH = 100; in ci_populate_smc_acpi_level()
1502 table->MemoryACPILevel.VoltageDownH = 0; in ci_populate_smc_acpi_level()
1504table->MemoryACPILevel.ActivityLevel = PP_HOST_TO_SMC_US(data->current_profile_setting.mclk_activi… in ci_populate_smc_acpi_level()
1506 table->MemoryACPILevel.StutterEnable = 0; in ci_populate_smc_acpi_level()
1507 table->MemoryACPILevel.StrobeEnable = 0; in ci_populate_smc_acpi_level()
1508 table->MemoryACPILevel.EdcReadEnable = 0; in ci_populate_smc_acpi_level()
1509 table->MemoryACPILevel.EdcWriteEnable = 0; in ci_populate_smc_acpi_level()
1510 table->MemoryACPILevel.RttEnable = 0; in ci_populate_smc_acpi_level()
1516 SMU7_Discrete_DpmTable *table) in ci_populate_smc_uvd_level() argument
1524 table->UvdLevelCount = (uint8_t)(uvd_table->count); in ci_populate_smc_uvd_level()
1526 for (count = 0; count < table->UvdLevelCount; count++) { in ci_populate_smc_uvd_level()
1527 table->UvdLevel[count].VclkFrequency = in ci_populate_smc_uvd_level()
1529 table->UvdLevel[count].DclkFrequency = in ci_populate_smc_uvd_level()
1531 table->UvdLevel[count].MinVddc = in ci_populate_smc_uvd_level()
1533 table->UvdLevel[count].MinVddcPhases = 1; in ci_populate_smc_uvd_level()
1536 table->UvdLevel[count].VclkFrequency, &dividers); in ci_populate_smc_uvd_level()
1540 table->UvdLevel[count].VclkDivider = (uint8_t)dividers.pll_post_divider; in ci_populate_smc_uvd_level()
1543 table->UvdLevel[count].DclkFrequency, &dividers); in ci_populate_smc_uvd_level()
1547 table->UvdLevel[count].DclkDivider = (uint8_t)dividers.pll_post_divider; in ci_populate_smc_uvd_level()
1548 CONVERT_FROM_HOST_TO_SMC_UL(table->UvdLevel[count].VclkFrequency); in ci_populate_smc_uvd_level()
1549 CONVERT_FROM_HOST_TO_SMC_UL(table->UvdLevel[count].DclkFrequency); in ci_populate_smc_uvd_level()
1550 CONVERT_FROM_HOST_TO_SMC_US(table->UvdLevel[count].MinVddc); in ci_populate_smc_uvd_level()
1557 SMU7_Discrete_DpmTable *table) in ci_populate_smc_vce_level() argument
1565 table->VceLevelCount = (uint8_t)(vce_table->count); in ci_populate_smc_vce_level()
1566 table->VceBootLevel = 0; in ci_populate_smc_vce_level()
1568 for (count = 0; count < table->VceLevelCount; count++) { in ci_populate_smc_vce_level()
1569 table->VceLevel[count].Frequency = vce_table->entries[count].evclk; in ci_populate_smc_vce_level()
1570 table->VceLevel[count].MinVoltage = in ci_populate_smc_vce_level()
1572 table->VceLevel[count].MinPhases = 1; in ci_populate_smc_vce_level()
1575 table->VceLevel[count].Frequency, &dividers); in ci_populate_smc_vce_level()
1580 table->VceLevel[count].Divider = (uint8_t)dividers.pll_post_divider; in ci_populate_smc_vce_level()
1582 CONVERT_FROM_HOST_TO_SMC_UL(table->VceLevel[count].Frequency); in ci_populate_smc_vce_level()
1583 CONVERT_FROM_HOST_TO_SMC_US(table->VceLevel[count].MinVoltage); in ci_populate_smc_vce_level()
1589 SMU7_Discrete_DpmTable *table) in ci_populate_smc_acp_level() argument
1597 table->AcpLevelCount = (uint8_t)(acp_table->count); in ci_populate_smc_acp_level()
1598 table->AcpBootLevel = 0; in ci_populate_smc_acp_level()
1600 for (count = 0; count < table->AcpLevelCount; count++) { in ci_populate_smc_acp_level()
1601 table->AcpLevel[count].Frequency = acp_table->entries[count].acpclk; in ci_populate_smc_acp_level()
1602 table->AcpLevel[count].MinVoltage = acp_table->entries[count].v; in ci_populate_smc_acp_level()
1603 table->AcpLevel[count].MinPhases = 1; in ci_populate_smc_acp_level()
1606 table->AcpLevel[count].Frequency, &dividers); in ci_populate_smc_acp_level()
1610 table->AcpLevel[count].Divider = (uint8_t)dividers.pll_post_divider; in ci_populate_smc_acp_level()
1612 CONVERT_FROM_HOST_TO_SMC_UL(table->AcpLevel[count].Frequency); in ci_populate_smc_acp_level()
1613 CONVERT_FROM_HOST_TO_SMC_US(table->AcpLevel[count].MinVoltage); in ci_populate_smc_acp_level()
1683 SMU7_Discrete_DpmTable *table) in ci_populate_smc_boot_level() argument
1689 table->GraphicsBootLevel = 0; in ci_populate_smc_boot_level()
1690 table->MemoryBootLevel = 0; in ci_populate_smc_boot_level()
1713 table->BootVddc = data->vbios_boot_state.vddc_bootup_value; in ci_populate_smc_boot_level()
1714 table->BootVddci = data->vbios_boot_state.vddci_bootup_value; in ci_populate_smc_boot_level()
1715 table->BootMVdd = data->vbios_boot_state.mvdd_bootup_value; in ci_populate_smc_boot_level()
1881 SMU7_Discrete_DpmTable *table) in ci_populate_smc_svi2_config() argument
1886 table->SVI2Enable = 1; in ci_populate_smc_svi2_config()
1888 table->SVI2Enable = 0; in ci_populate_smc_svi2_config()
1908 static int ci_populate_vr_config(struct pp_hwmgr *hwmgr, SMU7_Discrete_DpmTable *table) in ci_populate_vr_config() argument
1914 table->VRConfig |= (config<<VRCONF_VDDGFX_SHIFT); in ci_populate_vr_config()
1918 table->VRConfig |= config; in ci_populate_vr_config()
1925 table->VRConfig |= (config<<VRCONF_VDDCI_SHIFT); in ci_populate_vr_config()
1928 table->VRConfig |= (config<<VRCONF_VDDCI_SHIFT); in ci_populate_vr_config()
1933 table->VRConfig |= (config<<VRCONF_MVDD_SHIFT); in ci_populate_vr_config()
1944 SMU7_Discrete_DpmTable *table = &(smu_data->smc_state_table); in ci_init_smc_table() local
1952 ci_populate_smc_voltage_tables(hwmgr, table); in ci_init_smc_table()
1956 table->SystemFlags |= PPSMC_SYSTEMFLAG_GPIO_DC; in ci_init_smc_table()
1961 table->SystemFlags |= PPSMC_SYSTEMFLAG_STEPVDDC; in ci_init_smc_table()
1964 table->SystemFlags |= PPSMC_SYSTEMFLAG_GDDR5; in ci_init_smc_table()
1967 result = ci_populate_ulv_state(hwmgr, &(table->Ulv)); in ci_init_smc_table()
1983 result = ci_populate_smc_link_level(hwmgr, table); in ci_init_smc_table()
1987 result = ci_populate_smc_acpi_level(hwmgr, table); in ci_init_smc_table()
1991 result = ci_populate_smc_vce_level(hwmgr, table); in ci_init_smc_table()
1995 result = ci_populate_smc_acp_level(hwmgr, table); in ci_init_smc_table()
2005 result = ci_populate_smc_uvd_level(hwmgr, table); in ci_init_smc_table()
2009 table->UvdBootLevel = 0; in ci_init_smc_table()
2010 table->VceBootLevel = 0; in ci_init_smc_table()
2011 table->AcpBootLevel = 0; in ci_init_smc_table()
2012 table->SamuBootLevel = 0; in ci_init_smc_table()
2014 table->GraphicsBootLevel = 0; in ci_init_smc_table()
2015 table->MemoryBootLevel = 0; in ci_init_smc_table()
2017 result = ci_populate_smc_boot_level(hwmgr, table); in ci_init_smc_table()
2027 table->UVDInterval = 1; in ci_init_smc_table()
2028 table->VCEInterval = 1; in ci_init_smc_table()
2029 table->ACPInterval = 1; in ci_init_smc_table()
2030 table->SAMUInterval = 1; in ci_init_smc_table()
2031 table->GraphicsVoltageChangeEnable = 1; in ci_init_smc_table()
2032 table->GraphicsThermThrottleEnable = 1; in ci_init_smc_table()
2033 table->GraphicsInterval = 1; in ci_init_smc_table()
2034 table->VoltageInterval = 1; in ci_init_smc_table()
2035 table->ThermalInterval = 1; in ci_init_smc_table()
2037 table->TemperatureLimitHigh = in ci_init_smc_table()
2040 table->TemperatureLimitLow = in ci_init_smc_table()
2044 table->MemoryVoltageChangeEnable = 1; in ci_init_smc_table()
2045 table->MemoryInterval = 1; in ci_init_smc_table()
2046 table->VoltageResponseTime = 0; in ci_init_smc_table()
2047 table->VddcVddciDelta = 4000; in ci_init_smc_table()
2048 table->PhaseResponseTime = 0; in ci_init_smc_table()
2049 table->MemoryThermThrottleEnable = 1; in ci_init_smc_table()
2055 table->PCIeBootLinkLevel = (uint8_t)data->dpm_table.pcie_speed_table.count; in ci_init_smc_table()
2056 table->PCIeGenInterval = 1; in ci_init_smc_table()
2058 result = ci_populate_vr_config(hwmgr, table); in ci_init_smc_table()
2061 data->vr_config = table->VRConfig; in ci_init_smc_table()
2063 ci_populate_smc_svi2_config(hwmgr, table); in ci_init_smc_table()
2066 CONVERT_FROM_HOST_TO_SMC_UL(table->Smio[i]); in ci_init_smc_table()
2068 table->ThermGpio = 17; in ci_init_smc_table()
2069 table->SclkStepSize = 0x4000; in ci_init_smc_table()
2071 table->VRHotGpio = gpio_pin.uc_gpio_pin_bit_shift; in ci_init_smc_table()
2075 table->VRHotGpio = SMU7_UNUSED_GPIO_PIN; in ci_init_smc_table()
2080 table->AcDcGpio = SMU7_UNUSED_GPIO_PIN; in ci_init_smc_table()
2082 CONVERT_FROM_HOST_TO_SMC_UL(table->SystemFlags); in ci_init_smc_table()
2083 CONVERT_FROM_HOST_TO_SMC_UL(table->VRConfig); in ci_init_smc_table()
2084 CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMaskVddcVid); in ci_init_smc_table()
2085 CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMaskVddcPhase); in ci_init_smc_table()
2086 CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMaskVddciVid); in ci_init_smc_table()
2087 CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMaskMvddVid); in ci_init_smc_table()
2088 CONVERT_FROM_HOST_TO_SMC_UL(table->SclkStepSize); in ci_init_smc_table()
2089 CONVERT_FROM_HOST_TO_SMC_US(table->TemperatureLimitHigh); in ci_init_smc_table()
2090 CONVERT_FROM_HOST_TO_SMC_US(table->TemperatureLimitLow); in ci_init_smc_table()
2091 table->VddcVddciDelta = PP_HOST_TO_SMC_US(table->VddcVddciDelta); in ci_init_smc_table()
2092 CONVERT_FROM_HOST_TO_SMC_US(table->VoltageResponseTime); in ci_init_smc_table()
2093 CONVERT_FROM_HOST_TO_SMC_US(table->PhaseResponseTime); in ci_init_smc_table()
2095 table->BootVddc = PP_HOST_TO_SMC_US(table->BootVddc * VOLTAGE_SCALE); in ci_init_smc_table()
2096 table->BootVddci = PP_HOST_TO_SMC_US(table->BootVddci * VOLTAGE_SCALE); in ci_init_smc_table()
2097 table->BootMVdd = PP_HOST_TO_SMC_US(table->BootMVdd * VOLTAGE_SCALE); in ci_init_smc_table()
2102 (uint8_t *)&(table->SystemFlags), in ci_init_smc_table()
2535 static int ci_set_s0_mc_reg_index(struct ci_mc_reg_table *table) in ci_set_s0_mc_reg_index() argument
2540 for (i = 0; i < table->last; i++) { in ci_set_s0_mc_reg_index()
2541 table->mc_reg_address[i].s0 = in ci_set_s0_mc_reg_index()
2542 ci_check_s0_mc_reg_index(table->mc_reg_address[i].s1, &address) in ci_set_s0_mc_reg_index()
2543 ? address : table->mc_reg_address[i].s1; in ci_set_s0_mc_reg_index()
2548 static int ci_copy_vbios_smc_reg_table(const pp_atomctrl_mc_reg_table *table, in ci_copy_vbios_smc_reg_table() argument
2553 PP_ASSERT_WITH_CODE((table->last <= SMU7_DISCRETE_MC_REGISTER_ARRAY_SIZE), in ci_copy_vbios_smc_reg_table()
2555 PP_ASSERT_WITH_CODE((table->num_entries <= MAX_AC_TIMING_ENTRIES), in ci_copy_vbios_smc_reg_table()
2558 for (i = 0; i < table->last; i++) in ci_copy_vbios_smc_reg_table()
2559 ni_table->mc_reg_address[i].s1 = table->mc_reg_address[i].s1; in ci_copy_vbios_smc_reg_table()
2561 ni_table->last = table->last; in ci_copy_vbios_smc_reg_table()
2563 for (i = 0; i < table->num_entries; i++) { in ci_copy_vbios_smc_reg_table()
2565 table->mc_reg_table_entry[i].mclk_max; in ci_copy_vbios_smc_reg_table()
2566 for (j = 0; j < table->last; j++) { in ci_copy_vbios_smc_reg_table()
2568 table->mc_reg_table_entry[i].mc_data[j]; in ci_copy_vbios_smc_reg_table()
2572 ni_table->num_entries = table->num_entries; in ci_copy_vbios_smc_reg_table()
2578 struct ci_mc_reg_table *table) in ci_set_mc_special_registers() argument
2584 for (i = 0, j = table->last; i < table->last; i++) { in ci_set_mc_special_registers()
2588 switch (table->mc_reg_address[i].s1) { in ci_set_mc_special_registers()
2592 table->mc_reg_address[j].s1 = mmMC_PMG_CMD_EMRS; in ci_set_mc_special_registers()
2593 table->mc_reg_address[j].s0 = mmMC_SEQ_PMG_CMD_EMRS_LP; in ci_set_mc_special_registers()
2594 for (k = 0; k < table->num_entries; k++) { in ci_set_mc_special_registers()
2595 table->mc_reg_table_entry[k].mc_data[j] = in ci_set_mc_special_registers()
2597 ((table->mc_reg_table_entry[k].mc_data[i] & 0xffff0000) >> 16); in ci_set_mc_special_registers()
2604 table->mc_reg_address[j].s1 = mmMC_PMG_CMD_MRS; in ci_set_mc_special_registers()
2605 table->mc_reg_address[j].s0 = mmMC_SEQ_PMG_CMD_MRS_LP; in ci_set_mc_special_registers()
2606 for (k = 0; k < table->num_entries; k++) { in ci_set_mc_special_registers()
2607 table->mc_reg_table_entry[k].mc_data[j] = in ci_set_mc_special_registers()
2609 (table->mc_reg_table_entry[k].mc_data[i] & 0x0000ffff); in ci_set_mc_special_registers()
2612 table->mc_reg_table_entry[k].mc_data[j] |= 0x100; in ci_set_mc_special_registers()
2619 table->mc_reg_address[j].s1 = mmMC_PMG_AUTO_CMD; in ci_set_mc_special_registers()
2620 table->mc_reg_address[j].s0 = mmMC_PMG_AUTO_CMD; in ci_set_mc_special_registers()
2621 for (k = 0; k < table->num_entries; k++) { in ci_set_mc_special_registers()
2622 table->mc_reg_table_entry[k].mc_data[j] = in ci_set_mc_special_registers()
2623 (table->mc_reg_table_entry[k].mc_data[i] & 0xffff0000) >> 16; in ci_set_mc_special_registers()
2632 table->mc_reg_address[j].s1 = mmMC_PMG_CMD_MRS1; in ci_set_mc_special_registers()
2633 table->mc_reg_address[j].s0 = mmMC_SEQ_PMG_CMD_MRS1_LP; in ci_set_mc_special_registers()
2634 for (k = 0; k < table->num_entries; k++) { in ci_set_mc_special_registers()
2635 table->mc_reg_table_entry[k].mc_data[j] = in ci_set_mc_special_registers()
2637 (table->mc_reg_table_entry[k].mc_data[i] & 0x0000ffff); in ci_set_mc_special_registers()
2648 table->last = j; in ci_set_mc_special_registers()
2653 static int ci_set_valid_flag(struct ci_mc_reg_table *table) in ci_set_valid_flag() argument
2657 for (i = 0; i < table->last; i++) { in ci_set_valid_flag()
2658 for (j = 1; j < table->num_entries; j++) { in ci_set_valid_flag()
2659 if (table->mc_reg_table_entry[j-1].mc_data[i] != in ci_set_valid_flag()
2660 table->mc_reg_table_entry[j].mc_data[i]) { in ci_set_valid_flag()
2661 table->validflag |= (1 << i); in ci_set_valid_flag()
2674 pp_atomctrl_mc_reg_table *table; in ci_initialize_mc_reg_table() local
2678 table = kzalloc(sizeof(pp_atomctrl_mc_reg_table), GFP_KERNEL); in ci_initialize_mc_reg_table()
2680 if (NULL == table) in ci_initialize_mc_reg_table()
2705 memset(table, 0x00, sizeof(pp_atomctrl_mc_reg_table)); in ci_initialize_mc_reg_table()
2707 result = atomctrl_initialize_mc_reg_table(hwmgr, module_index, table); in ci_initialize_mc_reg_table()
2710 result = ci_copy_vbios_smc_reg_table(table, ni_table); in ci_initialize_mc_reg_table()
2720 kfree(table); in ci_initialize_mc_reg_table()