aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r420.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2009-09-09 16:24:20 -0400
committerDave Airlie <airlied@redhat.com>2009-09-09 20:13:33 -0400
commit905b68223be18937159a29b354e6a332952ff952 (patch)
tree3a2e955e7beba517a33d5e0e7eeed350ce6a9a70 /drivers/gpu/drm/radeon/r420.c
parenta18d7ea15356679f58c2fafe2957786c5f7f9201 (diff)
drm/radeon/kms: add R4XX mc register access helper.
Atombios will use the mc register access helper and R4XX hw have a bigger mc range than R3XX so add R4XX specific mc register access helper. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r420.c')
-rw-r--r--drivers/gpu/drm/radeon/r420.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c
index 97426a6f370f..96303f064db7 100644
--- a/drivers/gpu/drm/radeon/r420.c
+++ b/drivers/gpu/drm/radeon/r420.c
@@ -29,6 +29,7 @@
29#include "drmP.h" 29#include "drmP.h"
30#include "radeon_reg.h" 30#include "radeon_reg.h"
31#include "radeon.h" 31#include "radeon.h"
32#include "r420d.h"
32 33
33/* r420,r423,rv410 depends on : */ 34/* r420,r423,rv410 depends on : */
34void r100_pci_gart_disable(struct radeon_device *rdev); 35void r100_pci_gart_disable(struct radeon_device *rdev);
@@ -232,3 +233,19 @@ int r420_debugfs_pipes_info_init(struct radeon_device *rdev)
232 return 0; 233 return 0;
233#endif 234#endif
234} 235}
236
237u32 r420_mc_rreg(struct radeon_device *rdev, u32 reg)
238{
239 u32 r;
240
241 WREG32(R_0001F8_MC_IND_INDEX, S_0001F8_MC_IND_ADDR(reg));
242 r = RREG32(R_0001FC_MC_IND_DATA);
243 return r;
244}
245
246void r420_mc_wreg(struct radeon_device *rdev, u32 reg, u32 v)
247{
248 WREG32(R_0001F8_MC_IND_INDEX, S_0001F8_MC_IND_ADDR(reg) |
249 S_0001F8_MC_IND_WR_EN(1));
250 WREG32(R_0001FC_MC_IND_DATA, v);
251}