diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-12-02 08:02:51 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2012-12-14 10:45:22 -0500 |
commit | 2ef9bdfe64079c9d0b98dc89af3af52918b818a0 (patch) | |
tree | d755083f2702b1ac6f2f8ed449d2e65d9e7e4582 /drivers/gpu/drm/radeon/r100.c | |
parent | 9add1ac3dd256ad12e266f8403daf928be19953f (diff) |
drm/radeon: add W|RREG32_IDX for MM_INDEX|DATA based mmio accesss
Just refactoring to make the next patche simpler. Now all indirect register
access in the new modesetting driver should go through the r100_mm_(w|r)reg
fucntions.
RADEON_READ_MM from the old driver seems to be totally unused, so just kill
it.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r100.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 376884f1bcd2..ae4c857fb173 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
@@ -4135,9 +4135,10 @@ int r100_init(struct radeon_device *rdev) | |||
4135 | return 0; | 4135 | return 0; |
4136 | } | 4136 | } |
4137 | 4137 | ||
4138 | uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg) | 4138 | uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg, |
4139 | bool always_indirect) | ||
4139 | { | 4140 | { |
4140 | if (reg < rdev->rmmio_size) | 4141 | if (reg < rdev->rmmio_size && !always_indirect) |
4141 | return readl(((void __iomem *)rdev->rmmio) + reg); | 4142 | return readl(((void __iomem *)rdev->rmmio) + reg); |
4142 | else { | 4143 | else { |
4143 | writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); | 4144 | writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); |
@@ -4145,9 +4146,10 @@ uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg) | |||
4145 | } | 4146 | } |
4146 | } | 4147 | } |
4147 | 4148 | ||
4148 | void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v) | 4149 | void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v, |
4150 | bool always_indirect) | ||
4149 | { | 4151 | { |
4150 | if (reg < rdev->rmmio_size) | 4152 | if (reg < rdev->rmmio_size && !always_indirect) |
4151 | writel(v, ((void __iomem *)rdev->rmmio) + reg); | 4153 | writel(v, ((void __iomem *)rdev->rmmio) + reg); |
4152 | else { | 4154 | else { |
4153 | writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); | 4155 | writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX); |