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:
Родитель
ce580fab73
Коммит
6fcbef7a50
|
@ -4072,3 +4072,43 @@ int r100_init(struct radeon_device *rdev)
|
|||
}
|
||||
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);
|
||||
int radeon_gpu_wait_for_idle(struct radeon_device *rdev);
|
||||
|
||||
static inline uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg)
|
||||
{
|
||||
if (reg < rdev->rmmio_size)
|
||||
return readl((rdev->rmmio) + reg);
|
||||
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);
|
||||
}
|
||||
}
|
||||
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);
|
||||
u32 r100_io_rreg(struct radeon_device *rdev, u32 reg);
|
||||
void r100_io_wreg(struct radeon_device *rdev, u32 reg, u32 v);
|
||||
|
||||
/*
|
||||
* Cast helper
|
||||
|
|
Загрузка…
Ссылка в новой задаче