diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-03-02 20:07:36 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-03-02 20:56:50 -0500 |
commit | e348762955ebb2d4a6906d920b8f538637f1093f (patch) | |
tree | 90367ac813c85ef5a6db40ec7bb9845aac9ee1a6 /drivers/gpu/drm/radeon/radeon_asic.c | |
parent | c9895ed5a84dc3cbc86a9d6d5656d8c187f53380 (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.c | 49 |
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 | ||
885 | static 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 | |||
885 | int radeon_asic_init(struct radeon_device *rdev) | 931 | int 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; |