]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - drivers/gpu/drm/radeon/radeon_asic.c
drm/radeon/dpm: implement vblank_too_short callback for si
[linux-imx.git] / drivers / gpu / drm / radeon / radeon_asic.c
index 8559ff3aa8eed5e3c0f532d1b6aba86a526d9fba..097077499cc643751211a989449468a93dc1fa36 100644 (file)
@@ -1147,6 +1147,21 @@ static struct radeon_asic rv6xx_asic = {
                .set_clock_gating = NULL,
                .get_temperature = &rv6xx_get_temp,
        },
+       .dpm = {
+               .init = &rv6xx_dpm_init,
+               .setup_asic = &rv6xx_setup_asic,
+               .enable = &rv6xx_dpm_enable,
+               .disable = &rv6xx_dpm_disable,
+               .pre_set_power_state = &r600_dpm_pre_set_power_state,
+               .set_power_state = &rv6xx_dpm_set_power_state,
+               .post_set_power_state = &r600_dpm_post_set_power_state,
+               .display_configuration_changed = &rv6xx_dpm_display_configuration_changed,
+               .fini = &rv6xx_dpm_fini,
+               .get_sclk = &rv6xx_dpm_get_sclk,
+               .get_mclk = &rv6xx_dpm_get_mclk,
+               .print_power_state = &rv6xx_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &rv6xx_dpm_debugfs_print_current_performance_level,
+       },
        .pflip = {
                .pre_page_flip = &rs600_pre_page_flip,
                .page_flip = &rs600_page_flip,
@@ -1242,6 +1257,20 @@ static struct radeon_asic rs780_asic = {
                .set_clock_gating = NULL,
                .get_temperature = &rv6xx_get_temp,
        },
+       .dpm = {
+               .init = &rs780_dpm_init,
+               .setup_asic = &rs780_dpm_setup_asic,
+               .enable = &rs780_dpm_enable,
+               .disable = &rs780_dpm_disable,
+               .pre_set_power_state = &r600_dpm_pre_set_power_state,
+               .set_power_state = &rs780_dpm_set_power_state,
+               .post_set_power_state = &r600_dpm_post_set_power_state,
+               .display_configuration_changed = &rs780_dpm_display_configuration_changed,
+               .fini = &rs780_dpm_fini,
+               .get_sclk = &rs780_dpm_get_sclk,
+               .get_mclk = &rs780_dpm_get_mclk,
+               .print_power_state = &rs780_dpm_print_power_state,
+       },
        .pflip = {
                .pre_page_flip = &rs600_pre_page_flip,
                .page_flip = &rs600_page_flip,
@@ -1350,6 +1379,23 @@ static struct radeon_asic rv770_asic = {
                .set_uvd_clocks = &rv770_set_uvd_clocks,
                .get_temperature = &rv770_get_temp,
        },
+       .dpm = {
+               .init = &rv770_dpm_init,
+               .setup_asic = &rv770_dpm_setup_asic,
+               .enable = &rv770_dpm_enable,
+               .disable = &rv770_dpm_disable,
+               .pre_set_power_state = &r600_dpm_pre_set_power_state,
+               .set_power_state = &rv770_dpm_set_power_state,
+               .post_set_power_state = &r600_dpm_post_set_power_state,
+               .display_configuration_changed = &rv770_dpm_display_configuration_changed,
+               .fini = &rv770_dpm_fini,
+               .get_sclk = &rv770_dpm_get_sclk,
+               .get_mclk = &rv770_dpm_get_mclk,
+               .print_power_state = &rv770_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &rv770_dpm_force_performance_level,
+               .vblank_too_short = &rv770_dpm_vblank_too_short,
+       },
        .pflip = {
                .pre_page_flip = &rs600_pre_page_flip,
                .page_flip = &rv770_page_flip,
@@ -1458,6 +1504,23 @@ static struct radeon_asic evergreen_asic = {
                .set_uvd_clocks = &evergreen_set_uvd_clocks,
                .get_temperature = &evergreen_get_temp,
        },
+       .dpm = {
+               .init = &cypress_dpm_init,
+               .setup_asic = &cypress_dpm_setup_asic,
+               .enable = &cypress_dpm_enable,
+               .disable = &cypress_dpm_disable,
+               .pre_set_power_state = &r600_dpm_pre_set_power_state,
+               .set_power_state = &cypress_dpm_set_power_state,
+               .post_set_power_state = &r600_dpm_post_set_power_state,
+               .display_configuration_changed = &cypress_dpm_display_configuration_changed,
+               .fini = &cypress_dpm_fini,
+               .get_sclk = &rv770_dpm_get_sclk,
+               .get_mclk = &rv770_dpm_get_mclk,
+               .print_power_state = &rv770_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &rv770_dpm_force_performance_level,
+               .vblank_too_short = &cypress_dpm_vblank_too_short,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,
@@ -1566,6 +1629,22 @@ static struct radeon_asic sumo_asic = {
                .set_uvd_clocks = &sumo_set_uvd_clocks,
                .get_temperature = &sumo_get_temp,
        },
+       .dpm = {
+               .init = &sumo_dpm_init,
+               .setup_asic = &sumo_dpm_setup_asic,
+               .enable = &sumo_dpm_enable,
+               .disable = &sumo_dpm_disable,
+               .pre_set_power_state = &sumo_dpm_pre_set_power_state,
+               .set_power_state = &sumo_dpm_set_power_state,
+               .post_set_power_state = &sumo_dpm_post_set_power_state,
+               .display_configuration_changed = &sumo_dpm_display_configuration_changed,
+               .fini = &sumo_dpm_fini,
+               .get_sclk = &sumo_dpm_get_sclk,
+               .get_mclk = &sumo_dpm_get_mclk,
+               .print_power_state = &sumo_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &sumo_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &sumo_dpm_force_performance_level,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,
@@ -1674,6 +1753,23 @@ static struct radeon_asic btc_asic = {
                .set_uvd_clocks = &evergreen_set_uvd_clocks,
                .get_temperature = &evergreen_get_temp,
        },
+       .dpm = {
+               .init = &btc_dpm_init,
+               .setup_asic = &btc_dpm_setup_asic,
+               .enable = &btc_dpm_enable,
+               .disable = &btc_dpm_disable,
+               .pre_set_power_state = &btc_dpm_pre_set_power_state,
+               .set_power_state = &btc_dpm_set_power_state,
+               .post_set_power_state = &btc_dpm_post_set_power_state,
+               .display_configuration_changed = &cypress_dpm_display_configuration_changed,
+               .fini = &btc_dpm_fini,
+               .get_sclk = &btc_dpm_get_sclk,
+               .get_mclk = &btc_dpm_get_mclk,
+               .print_power_state = &rv770_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &rv770_dpm_force_performance_level,
+               .vblank_too_short = &btc_dpm_vblank_too_short,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,
@@ -1834,6 +1930,23 @@ static struct radeon_asic cayman_asic = {
                .set_uvd_clocks = &evergreen_set_uvd_clocks,
                .get_temperature = &evergreen_get_temp,
        },
+       .dpm = {
+               .init = &ni_dpm_init,
+               .setup_asic = &ni_dpm_setup_asic,
+               .enable = &ni_dpm_enable,
+               .disable = &ni_dpm_disable,
+               .pre_set_power_state = &ni_dpm_pre_set_power_state,
+               .set_power_state = &ni_dpm_set_power_state,
+               .post_set_power_state = &ni_dpm_post_set_power_state,
+               .display_configuration_changed = &cypress_dpm_display_configuration_changed,
+               .fini = &ni_dpm_fini,
+               .get_sclk = &ni_dpm_get_sclk,
+               .get_mclk = &ni_dpm_get_mclk,
+               .print_power_state = &ni_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &ni_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &ni_dpm_force_performance_level,
+               .vblank_too_short = &ni_dpm_vblank_too_short,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,
@@ -1992,6 +2105,22 @@ static struct radeon_asic trinity_asic = {
                .set_uvd_clocks = &sumo_set_uvd_clocks,
                .get_temperature = &tn_get_temp,
        },
+       .dpm = {
+               .init = &trinity_dpm_init,
+               .setup_asic = &trinity_dpm_setup_asic,
+               .enable = &trinity_dpm_enable,
+               .disable = &trinity_dpm_disable,
+               .pre_set_power_state = &trinity_dpm_pre_set_power_state,
+               .set_power_state = &trinity_dpm_set_power_state,
+               .post_set_power_state = &trinity_dpm_post_set_power_state,
+               .display_configuration_changed = &trinity_dpm_display_configuration_changed,
+               .fini = &trinity_dpm_fini,
+               .get_sclk = &trinity_dpm_get_sclk,
+               .get_mclk = &trinity_dpm_get_mclk,
+               .print_power_state = &trinity_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &trinity_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &trinity_dpm_force_performance_level,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,
@@ -2150,6 +2279,23 @@ static struct radeon_asic si_asic = {
                .set_uvd_clocks = &si_set_uvd_clocks,
                .get_temperature = &si_get_temp,
        },
+       .dpm = {
+               .init = &si_dpm_init,
+               .setup_asic = &si_dpm_setup_asic,
+               .enable = &si_dpm_enable,
+               .disable = &si_dpm_disable,
+               .pre_set_power_state = &si_dpm_pre_set_power_state,
+               .set_power_state = &si_dpm_set_power_state,
+               .post_set_power_state = &si_dpm_post_set_power_state,
+               .display_configuration_changed = &si_dpm_display_configuration_changed,
+               .fini = &si_dpm_fini,
+               .get_sclk = &ni_dpm_get_sclk,
+               .get_mclk = &ni_dpm_get_mclk,
+               .print_power_state = &ni_dpm_print_power_state,
+               .debugfs_print_current_performance_level = &si_dpm_debugfs_print_current_performance_level,
+               .force_performance_level = &si_dpm_force_performance_level,
+               .vblank_too_short = &ni_dpm_vblank_too_short,
+       },
        .pflip = {
                .pre_page_flip = &evergreen_pre_page_flip,
                .page_flip = &evergreen_page_flip,