28,6 → 28,7 |
#include <drm/drmP.h> |
#include "radeon.h" |
#include "radeon_asic.h" |
#include "radeon_audio.h" |
#include "atom.h" |
#include "rs690d.h" |
|
206,6 → 207,9 |
{ |
u32 tmp; |
|
/* Guess line buffer size to be 8192 pixels */ |
u32 lb_size = 8192; |
|
/* |
* Line Buffer Setup |
* There is a single line buffer shared by both display controllers. |
242,6 → 246,13 |
tmp |= V_006520_DC_LB_MEMORY_SPLIT_D1_1Q_D2_3Q; |
} |
WREG32(R_006520_DC_LB_MEMORY_SPLIT, tmp); |
|
/* Save number of lines the linebuffer leads before the scanout */ |
if (mode1) |
rdev->mode_info.crtcs[0]->lb_vblank_lead_lines = DIV_ROUND_UP(lb_size, mode1->crtc_hdisplay); |
|
if (mode2) |
rdev->mode_info.crtcs[1]->lb_vblank_lead_lines = DIV_ROUND_UP(lb_size, mode2->crtc_hdisplay); |
} |
|
struct rs690_watermark { |
729,7 → 740,7 |
return r; |
} |
|
r = r600_audio_init(rdev); |
r = radeon_audio_init(rdev); |
if (r) { |
dev_err(rdev->dev, "failed initializing audio\n"); |
return r; |
740,6 → 751,22 |
|
|
|
void rs690_fini(struct radeon_device *rdev) |
{ |
radeon_pm_fini(rdev); |
radeon_audio_fini(rdev); |
r100_cp_fini(rdev); |
radeon_wb_fini(rdev); |
radeon_ib_pool_fini(rdev); |
radeon_gem_fini(rdev); |
rs400_gart_fini(rdev); |
radeon_irq_kms_fini(rdev); |
radeon_fence_driver_fini(rdev); |
radeon_bo_fini(rdev); |
radeon_atombios_fini(rdev); |
kfree(rdev->bios); |
rdev->bios = NULL; |
} |
|
int rs690_init(struct radeon_device *rdev) |
{ |
804,11 → 831,11 |
if (r) { |
/* Somethings want wront with the accel init stop accel */ |
dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
// r100_cp_fini(rdev); |
// r100_wb_fini(rdev); |
// r100_ib_fini(rdev); |
r100_cp_fini(rdev); |
radeon_wb_fini(rdev); |
radeon_ib_pool_fini(rdev); |
rs400_gart_fini(rdev); |
// radeon_irq_kms_fini(rdev); |
radeon_irq_kms_fini(rdev); |
rdev->accel_working = false; |
} |
return 0; |