Subversion Repositories Kolibri OS

Rev

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");