drm/radeon: Move r100_*_*reg out of line
This shrinks the sizes of a lot of functions in the radeon driver dramatically. With a non force inline + -Os kernel this is default anyways. Cc: David Airlie <airlied@linux.ie> Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
ce580fab73
commit
6fcbef7a50
2 changed files with 44 additions and 39 deletions
|
@ -4072,3 +4072,43 @@ int r100_init(struct radeon_device *rdev)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
||||||
|
{
|
||||||
|
if (reg < rdev->rmmio_size)
|
||||||
|
return readl(((void __iomem *)rdev->rmmio) + reg);
|
||||||
|
else {
|
||||||
|
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
||||||
|
return readl(((void __iomem *)rdev->rmmio) + RADEON_MM_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
|
||||||
|
{
|
||||||
|
if (reg < rdev->rmmio_size)
|
||||||
|
writel(v, ((void __iomem *)rdev->rmmio) + reg);
|
||||||
|
else {
|
||||||
|
writel(reg, ((void __iomem *)rdev->rmmio) + RADEON_MM_INDEX);
|
||||||
|
writel(v, ((void __iomem *)rdev->rmmio) + RADEON_MM_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 r100_io_rreg(struct radeon_device *rdev, u32 reg)
|
||||||
|
{
|
||||||
|
if (reg < rdev->rio_mem_size)
|
||||||
|
return ioread32(rdev->rio_mem + reg);
|
||||||
|
else {
|
||||||
|
iowrite32(reg, rdev->rio_mem + RADEON_MM_INDEX);
|
||||||
|
return ioread32(rdev->rio_mem + RADEON_MM_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void r100_io_wreg(struct radeon_device *rdev, u32 reg, u32 v)
|
||||||
|
{
|
||||||
|
if (reg < rdev->rio_mem_size)
|
||||||
|
iowrite32(v, rdev->rio_mem + reg);
|
||||||
|
else {
|
||||||
|
iowrite32(reg, rdev->rio_mem + RADEON_MM_INDEX);
|
||||||
|
iowrite32(v, rdev->rio_mem + RADEON_MM_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1228,45 +1228,10 @@ int radeon_device_init(struct radeon_device *rdev,
|
||||||
void radeon_device_fini(struct radeon_device *rdev);
|
void radeon_device_fini(struct radeon_device *rdev);
|
||||||
int radeon_gpu_wait_for_idle(struct radeon_device *rdev);
|
int radeon_gpu_wait_for_idle(struct radeon_device *rdev);
|
||||||
|
|
||||||
static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg);
|
||||||
{
|
void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
|
||||||
if (reg < rdev->rmmio_size)
|
u32 r100_io_rreg(struct radeon_device *rdev, u32 reg);
|
||||||
return readl((rdev->rmmio) + reg);
|
void r100_io_wreg(struct radeon_device *rdev, u32 reg, u32 v);
|
||||||
else {
|
|
||||||
writel(reg, (rdev->rmmio) + RADEON_MM_INDEX);
|
|
||||||
return readl((rdev->rmmio) + RADEON_MM_DATA);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
|
|
||||||
{
|
|
||||||
if (reg < rdev->rmmio_size)
|
|
||||||
writel(v, (rdev->rmmio) + reg);
|
|
||||||
else {
|
|
||||||
writel(reg, (rdev->rmmio) + RADEON_MM_INDEX);
|
|
||||||
writel(v, (rdev->rmmio) + RADEON_MM_DATA);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline u32 r100_io_rreg(struct radeon_device *rdev, u32 reg)
|
|
||||||
{
|
|
||||||
if (reg < rdev->rio_mem_size)
|
|
||||||
return ioread32(rdev->rio_mem + reg);
|
|
||||||
else {
|
|
||||||
iowrite32(reg, rdev->rio_mem + RADEON_MM_INDEX);
|
|
||||||
return ioread32(rdev->rio_mem + RADEON_MM_DATA);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void r100_io_wreg(struct radeon_device *rdev, u32 reg, u32 v)
|
|
||||||
{
|
|
||||||
if (reg < rdev->rio_mem_size)
|
|
||||||
iowrite32(v, rdev->rio_mem + reg);
|
|
||||||
else {
|
|
||||||
iowrite32(reg, rdev->rio_mem + RADEON_MM_INDEX);
|
|
||||||
iowrite32(v, rdev->rio_mem + RADEON_MM_DATA);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cast helper
|
* Cast helper
|
||||||
|
|
Reference in a new issue