Rev 2005 | Rev 3192 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2005 | Rev 2997 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | * |
23 | * |
24 | * Authors: Dave Airlie |
24 | * Authors: Dave Airlie |
25 | * Alex Deucher |
25 | * Alex Deucher |
26 | * Jerome Glisse |
26 | * Jerome Glisse |
27 | */ |
27 | */ |
28 | #include "drmP.h" |
28 | #include |
29 | #include "radeon.h" |
29 | #include "radeon.h" |
30 | #include "radeon_asic.h" |
30 | #include "radeon_asic.h" |
31 | #include "atom.h" |
31 | #include "atom.h" |
32 | #include "rs690d.h" |
32 | #include "rs690d.h" |
Line 33... | Line 33... | ||
33 | 33 | ||
34 | static int rs690_mc_wait_for_idle(struct radeon_device *rdev) |
34 | int rs690_mc_wait_for_idle(struct radeon_device *rdev) |
35 | { |
35 | { |
36 | unsigned i; |
36 | unsigned i; |
Line 37... | Line 37... | ||
37 | uint32_t tmp; |
37 | uint32_t tmp; |
Line 143... | Line 143... | ||
143 | rdev->pm.sideport_bandwidth.full = dfixed_mul(rdev->pm.igp_sideport_mclk, tmp); |
143 | rdev->pm.sideport_bandwidth.full = dfixed_mul(rdev->pm.igp_sideport_mclk, tmp); |
144 | tmp.full = dfixed_const(10); |
144 | tmp.full = dfixed_const(10); |
145 | rdev->pm.sideport_bandwidth.full = dfixed_div(rdev->pm.sideport_bandwidth, tmp); |
145 | rdev->pm.sideport_bandwidth.full = dfixed_div(rdev->pm.sideport_bandwidth, tmp); |
146 | } |
146 | } |
Line 147... | Line 147... | ||
147 | 147 | ||
148 | void rs690_mc_init(struct radeon_device *rdev) |
148 | static void rs690_mc_init(struct radeon_device *rdev) |
149 | { |
149 | { |
Line 150... | Line 150... | ||
150 | u64 base; |
150 | u64 base; |
151 | 151 | ||
Line 222... | Line 222... | ||
222 | fixed20_12 priority_mark_max; |
222 | fixed20_12 priority_mark_max; |
223 | fixed20_12 priority_mark; |
223 | fixed20_12 priority_mark; |
224 | fixed20_12 sclk; |
224 | fixed20_12 sclk; |
225 | }; |
225 | }; |
Line 226... | Line 226... | ||
226 | 226 | ||
227 | void rs690_crtc_bandwidth_compute(struct radeon_device *rdev, |
227 | static void rs690_crtc_bandwidth_compute(struct radeon_device *rdev, |
228 | struct radeon_crtc *crtc, |
228 | struct radeon_crtc *crtc, |
229 | struct rs690_watermark *wm) |
229 | struct rs690_watermark *wm) |
230 | { |
230 | { |
231 | struct drm_display_mode *mode = &crtc->base.mode; |
231 | struct drm_display_mode *mode = &crtc->base.mode; |
Line 579... | Line 579... | ||
579 | S_000078_MC_IND_WR_EN(1)); |
579 | S_000078_MC_IND_WR_EN(1)); |
580 | WREG32(R_00007C_MC_DATA, v); |
580 | WREG32(R_00007C_MC_DATA, v); |
581 | WREG32(R_000078_MC_INDEX, 0x7F); |
581 | WREG32(R_000078_MC_INDEX, 0x7F); |
582 | } |
582 | } |
Line 583... | Line 583... | ||
583 | 583 | ||
584 | void rs690_mc_program(struct radeon_device *rdev) |
584 | static void rs690_mc_program(struct radeon_device *rdev) |
585 | { |
585 | { |
Line 586... | Line 586... | ||
586 | struct rv515_mc_save save; |
586 | struct rv515_mc_save save; |
587 | 587 | ||
Line 628... | Line 628... | ||
628 | r = r100_cp_init(rdev, 1024 * 1024); |
628 | r = r100_cp_init(rdev, 1024 * 1024); |
629 | if (r) { |
629 | if (r) { |
630 | dev_err(rdev->dev, "failed initializing CP (%d).\n", r); |
630 | dev_err(rdev->dev, "failed initializing CP (%d).\n", r); |
631 | return r; |
631 | return r; |
632 | } |
632 | } |
- | 633 | ||
633 | r = r100_ib_init(rdev); |
634 | r = radeon_ib_pool_init(rdev); |
634 | if (r) { |
635 | if (r) { |
635 | dev_err(rdev->dev, "failed initializing IB (%d).\n", r); |
636 | dev_err(rdev->dev, "IB initialization failed (%d).\n", r); |
636 | return r; |
637 | return r; |
637 | } |
638 | } |
- | 639 | ||
- | 640 | ||
638 | return 0; |
641 | return 0; |
639 | } |
642 | } |
Line 696... | Line 699... | ||
696 | return r; |
699 | return r; |
697 | r = rs400_gart_init(rdev); |
700 | r = rs400_gart_init(rdev); |
698 | if (r) |
701 | if (r) |
699 | return r; |
702 | return r; |
700 | rs600_set_safe_registers(rdev); |
703 | rs600_set_safe_registers(rdev); |
- | 704 | ||
701 | rdev->accel_working = true; |
705 | rdev->accel_working = true; |
702 | r = rs690_startup(rdev); |
706 | r = rs690_startup(rdev); |
703 | if (r) { |
707 | if (r) { |
704 | /* Somethings want wront with the accel init stop accel */ |
708 | /* Somethings want wront with the accel init stop accel */ |
705 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |
709 | dev_err(rdev->dev, "Disabling GPU acceleration\n"); |