projects
/
GitHub
/
LineageOS
/
G12
/
android_kernel_amlogic_linux-4.9.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f735261
)
drm/radeon/kms: fix R3XX/R4XX memory controller initialization
author
Jerome Glisse
<jglisse@redhat.com>
Thu, 18 Feb 2010 14:23:49 +0000
(14:23 +0000)
committer
Dave Airlie
<airlied@redhat.com>
Mon, 22 Feb 2010 23:46:22 +0000
(09:46 +1000)
Version 2 of memory controller did break the initialization for
R3XX/R4XX hardware. This patch fix it.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/r300.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/gpu/drm/radeon/r300.c
b/drivers/gpu/drm/radeon/r300.c
index 7e9f95653cbef1ebaf434d7e5a62a8dadb28f908..b188aae764cc39a7cd812cb52419e74450be4343 100644
(file)
--- a/
drivers/gpu/drm/radeon/r300.c
+++ b/
drivers/gpu/drm/radeon/r300.c
@@
-461,7
+461,8
@@
int r300_gpu_reset(struct radeon_device *rdev)
*/
void r300_mc_init(struct radeon_device *rdev)
{
- uint32_t tmp;
+ u64 base;
+ u32 tmp;
/* DDR for all card after R300 & IGP */
rdev->mc.vram_is_ddr = true;
@@
-474,6
+475,10
@@
void r300_mc_init(struct radeon_device *rdev)
default: rdev->mc.vram_width = 128; break;
}
r100_vram_init_sizes(rdev);
+ base = rdev->mc.aper_base;
+ if (rdev->flags & RADEON_IS_IGP)
+ base = (RREG32(RADEON_NB_TOM) & 0xffff) << 16;
+ radeon_vram_location(rdev, &rdev->mc, base);
if (!(rdev->flags & RADEON_IS_AGP))
radeon_gtt_location(rdev, &rdev->mc);
}