diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/rv515.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/rv515.c | 77 |
1 files changed, 25 insertions, 52 deletions
diff --git a/drivers/gpu/drm/radeon/rv515.c b/drivers/gpu/drm/radeon/rv515.c index ffbd2c006f60..1b4dfb645585 100644 --- a/drivers/gpu/drm/radeon/rv515.c +++ b/drivers/gpu/drm/radeon/rv515.c @@ -25,40 +25,29 @@ * Alex Deucher * Jerome Glisse */ + +#include <linux/debugfs.h> #include <linux/seq_file.h> #include <linux/slab.h> -#include <drm/drmP.h> -#include "rv515d.h" + +#include <drm/drm_device.h> +#include <drm/drm_file.h> + +#include "atom.h" #include "radeon.h" #include "radeon_asic.h" -#include "atom.h" #include "rv515_reg_safe.h" +#include "rv515d.h" /* This files gather functions specifics to: rv515 */ -static int rv515_debugfs_pipes_info_init(struct radeon_device *rdev); -static int rv515_debugfs_ga_info_init(struct radeon_device *rdev); static void rv515_gpu_init(struct radeon_device *rdev); int rv515_mc_wait_for_idle(struct radeon_device *rdev); -static const u32 crtc_offsets[2] = -{ +static const u32 crtc_offsets[2] = { 0, AVIVO_D2CRTC_H_TOTAL - AVIVO_D1CRTC_H_TOTAL }; -void rv515_debugfs(struct radeon_device *rdev) -{ - if (r100_debugfs_rbbm_init(rdev)) { - DRM_ERROR("Failed to register debugfs file for RBBM !\n"); - } - if (rv515_debugfs_pipes_info_init(rdev)) { - DRM_ERROR("Failed to register debugfs file for pipes !\n"); - } - if (rv515_debugfs_ga_info_init(rdev)) { - DRM_ERROR("Failed to register debugfs file for pipes !\n"); - } -} - void rv515_ring_start(struct radeon_device *rdev, struct radeon_ring *ring) { int r; @@ -138,7 +127,7 @@ int rv515_mc_wait_for_idle(struct radeon_device *rdev) if (tmp & MC_STATUS_IDLE) { return 0; } - DRM_UDELAY(1); + udelay(1); } return -1; } @@ -230,11 +219,9 @@ void rv515_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v) } #if defined(CONFIG_DEBUG_FS) -static int rv515_debugfs_pipes_info(struct seq_file *m, void *data) +static int rv515_debugfs_pipes_info_show(struct seq_file *m, void *unused) { - struct drm_info_node *node = (struct drm_info_node *) m->private; - struct drm_device *dev = node->minor->dev; - struct radeon_device *rdev = dev->dev_private; + struct radeon_device *rdev = m->private; uint32_t tmp; tmp = RREG32(GB_PIPE_SELECT); @@ -248,11 +235,9 @@ static int rv515_debugfs_pipes_info(struct seq_file *m, void *data) return 0; } -static int rv515_debugfs_ga_info(struct seq_file *m, void *data) +static int rv515_debugfs_ga_info_show(struct seq_file *m, void *unused) { - struct drm_info_node *node = (struct drm_info_node *) m->private; - struct drm_device *dev = node->minor->dev; - struct radeon_device *rdev = dev->dev_private; + struct radeon_device *rdev = m->private; uint32_t tmp; tmp = RREG32(0x2140); @@ -263,31 +248,21 @@ static int rv515_debugfs_ga_info(struct seq_file *m, void *data) return 0; } -static struct drm_info_list rv515_pipes_info_list[] = { - {"rv515_pipes_info", rv515_debugfs_pipes_info, 0, NULL}, -}; - -static struct drm_info_list rv515_ga_info_list[] = { - {"rv515_ga_info", rv515_debugfs_ga_info, 0, NULL}, -}; +DEFINE_SHOW_ATTRIBUTE(rv515_debugfs_pipes_info); +DEFINE_SHOW_ATTRIBUTE(rv515_debugfs_ga_info); #endif -static int rv515_debugfs_pipes_info_init(struct radeon_device *rdev) +void rv515_debugfs(struct radeon_device *rdev) { #if defined(CONFIG_DEBUG_FS) - return radeon_debugfs_add_files(rdev, rv515_pipes_info_list, 1); -#else - return 0; -#endif -} + struct dentry *root = rdev_to_drm(rdev)->primary->debugfs_root; -static int rv515_debugfs_ga_info_init(struct radeon_device *rdev) -{ -#if defined(CONFIG_DEBUG_FS) - return radeon_debugfs_add_files(rdev, rv515_ga_info_list, 1); -#else - return 0; + debugfs_create_file("rv515_pipes_info", 0444, root, rdev, + &rv515_debugfs_pipes_info_fops); + debugfs_create_file("rv515_ga_info", 0444, root, rdev, + &rv515_debugfs_ga_info_fops); #endif + r100_debugfs_rbbm_init(rdev); } void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save) @@ -661,7 +636,7 @@ int rv515_init(struct radeon_device *rdev) if (radeon_boot_test_post_card(rdev) == false) return -EINVAL; /* Initialize clocks */ - radeon_get_clock_info(rdev->ddev); + radeon_get_clock_info(rdev_to_drm(rdev)); /* initialize AGP */ if (rdev->flags & RADEON_IS_AGP) { r = radeon_agp_init(rdev); @@ -673,9 +648,7 @@ int rv515_init(struct radeon_device *rdev) rv515_mc_init(rdev); rv515_debugfs(rdev); /* Fence driver */ - r = radeon_fence_driver_init(rdev); - if (r) - return r; + radeon_fence_driver_init(rdev); /* Memory manager */ r = radeon_bo_init(rdev); if (r) |
