mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
drm/radeon/kms: fix hardcoded mmio size in register functions
newer asics have large mmio apertures Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
This commit is contained in:
parent
cf57fc7aa2
commit
07bec2df01
@ -847,7 +847,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
|
|||||||
|
|
||||||
static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
||||||
{
|
{
|
||||||
if (reg < 0x10000)
|
if (reg < rdev->rmmio_size)
|
||||||
return readl(((void __iomem *)rdev->rmmio) + reg);
|
return readl(((void __iomem *)rdev->rmmio) + reg);
|
||||||
else {
|
else {
|
||||||
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
||||||
@ -857,7 +857,7 @@ static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
|||||||
|
|
||||||
static inline void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
|
static inline void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
|
||||||
{
|
{
|
||||||
if (reg < 0x10000)
|
if (reg < rdev->rmmio_size)
|
||||||
writel(v, ((void __iomem *)rdev->rmmio) + reg);
|
writel(v, ((void __iomem *)rdev->rmmio) + reg);
|
||||||
else {
|
else {
|
||||||
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
||||||
|
Loading…
Reference in New Issue
Block a user