aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-03-02 20:07:36 -0500
committerDave Airlie <airlied@redhat.com>2011-03-02 20:56:50 -0500
commite348762955ebb2d4a6906d920b8f538637f1093f (patch)
tree90367ac813c85ef5a6db40ec7bb9845aac9ee1a6 /drivers/gpu/drm/radeon/radeon_asic.c
parentc9895ed5a84dc3cbc86a9d6d5656d8c187f53380 (diff)
drm/radeon/kms: add radeon_asic entry for cayman
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c
index e75d63b8e21d..3c5d140d2efb 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -882,6 +882,52 @@ static struct radeon_asic btc_asic = {
882 .post_page_flip = &evergreen_post_page_flip, 882 .post_page_flip = &evergreen_post_page_flip,
883}; 883};
884 884
885static struct radeon_asic cayman_asic = {
886 .init = &cayman_init,
887 .fini = &cayman_fini,
888 .suspend = &cayman_suspend,
889 .resume = &cayman_resume,
890 .cp_commit = &r600_cp_commit,
891 .gpu_is_lockup = &cayman_gpu_is_lockup,
892 .asic_reset = &cayman_asic_reset,
893 .vga_set_state = &r600_vga_set_state,
894 .gart_tlb_flush = &cayman_pcie_gart_tlb_flush,
895 .gart_set_page = &rs600_gart_set_page,
896 .ring_test = &r600_ring_test,
897 .ring_ib_execute = &evergreen_ring_ib_execute,
898 .irq_set = &evergreen_irq_set,
899 .irq_process = &evergreen_irq_process,
900 .get_vblank_counter = &evergreen_get_vblank_counter,
901 .fence_ring_emit = &r600_fence_ring_emit,
902 .cs_parse = &evergreen_cs_parse,
903 .copy_blit = NULL,
904 .copy_dma = NULL,
905 .copy = NULL,
906 .get_engine_clock = &radeon_atom_get_engine_clock,
907 .set_engine_clock = &radeon_atom_set_engine_clock,
908 .get_memory_clock = &radeon_atom_get_memory_clock,
909 .set_memory_clock = &radeon_atom_set_memory_clock,
910 .get_pcie_lanes = NULL,
911 .set_pcie_lanes = NULL,
912 .set_clock_gating = NULL,
913 .set_surface_reg = r600_set_surface_reg,
914 .clear_surface_reg = r600_clear_surface_reg,
915 .bandwidth_update = &evergreen_bandwidth_update,
916 .hpd_init = &evergreen_hpd_init,
917 .hpd_fini = &evergreen_hpd_fini,
918 .hpd_sense = &evergreen_hpd_sense,
919 .hpd_set_polarity = &evergreen_hpd_set_polarity,
920 .gui_idle = &r600_gui_idle,
921 .pm_misc = &evergreen_pm_misc,
922 .pm_prepare = &evergreen_pm_prepare,
923 .pm_finish = &evergreen_pm_finish,
924 .pm_init_profile = &r600_pm_init_profile,
925 .pm_get_dynpm_state = &r600_pm_get_dynpm_state,
926 .pre_page_flip = &evergreen_pre_page_flip,
927 .page_flip = &evergreen_page_flip,
928 .post_page_flip = &evergreen_post_page_flip,
929};
930
885int radeon_asic_init(struct radeon_device *rdev) 931int radeon_asic_init(struct radeon_device *rdev)
886{ 932{
887 radeon_register_accessor_init(rdev); 933 radeon_register_accessor_init(rdev);
@@ -974,6 +1020,9 @@ int radeon_asic_init(struct radeon_device *rdev)
974 case CHIP_CAICOS: 1020 case CHIP_CAICOS:
975 rdev->asic = &btc_asic; 1021 rdev->asic = &btc_asic;
976 break; 1022 break;
1023 case CHIP_CAYMAN:
1024 rdev->asic = &cayman_asic;
1025 break;
977 default: 1026 default:
978 /* FIXME: not supported yet */ 1027 /* FIXME: not supported yet */
979 return -EINVAL; 1028 return -EINVAL;