Skip to content

Commit

Permalink
drm/radeon/kms: consolidate crtc count in rdev
Browse files Browse the repository at this point in the history
Set the number of crtcs in rdev at crtc init and use it
whenever we need the crtc count rather than recalculating
it everytime.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Alex Deucher authored and Dave Airlie committed Feb 8, 2010
1 parent 44224c3 commit 18917b6
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/radeon/radeon.h
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,7 @@ struct radeon_device {
struct r600_ih ih; /* r6/700 interrupt ring */
struct workqueue_struct *wq;
struct work_struct hotplug_work;
int num_crtc; /* number of crtcs */
struct mutex dc_hw_i2c_mutex; /* display controller hw i2c mutex */

/* audio stuff */
Expand Down
8 changes: 5 additions & 3 deletions drivers/gpu/drm/radeon/radeon_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,7 @@ static int radeon_modeset_create_props(struct radeon_device *rdev)

int radeon_modeset_init(struct radeon_device *rdev)
{
int num_crtc = 2, i;
int i;
int ret;

drm_mode_config_init(rdev->ddev);
Expand Down Expand Up @@ -861,10 +861,12 @@ int radeon_modeset_init(struct radeon_device *rdev)
}

if (rdev->flags & RADEON_SINGLE_CRTC)
num_crtc = 1;
rdev->num_crtc = 1;
else
rdev->num_crtc = 2;

/* allocate crtcs */
for (i = 0; i < num_crtc; i++) {
for (i = 0; i < rdev->num_crtc; i++) {
radeon_crtc_init(rdev->ddev, i);
}

Expand Down
7 changes: 1 addition & 6 deletions drivers/gpu/drm/radeon/radeon_fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ int radeonfb_create(struct drm_device *dev,
unsigned long tmp;
bool fb_tiled = false; /* useful for testing */
u32 tiling_flags = 0;
int crtc_count;

mode_cmd.width = surface_width;
mode_cmd.height = surface_height;
Expand Down Expand Up @@ -239,11 +238,7 @@ int radeonfb_create(struct drm_device *dev,
rfbdev = info->par;
rfbdev->helper.funcs = &radeon_fb_helper_funcs;
rfbdev->helper.dev = dev;
if (rdev->flags & RADEON_SINGLE_CRTC)
crtc_count = 1;
else
crtc_count = 2;
ret = drm_fb_helper_init_crtc_count(&rfbdev->helper, crtc_count,
ret = drm_fb_helper_init_crtc_count(&rfbdev->helper, rdev->num_crtc,
RADEONFB_CONN_LIMIT);
if (ret)
goto out_unref;
Expand Down

0 comments on commit 18917b6

Please sign in to comment.