Skip to content

Commit 3ff323f

Browse files
committed
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register.
2 parents 755ae76 + a54775c commit 3ff323f

File tree

5 files changed

+70
-69
lines changed

5 files changed

+70
-69
lines changed

drivers/gpu/drm/radeon/r300.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ static const unsigned r300_reg_safe_bm[159] = {
995995
0x00000000, 0x00000000, 0x00000000, 0x00000000,
996996
0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFF80FFFF,
997997
0x00000000, 0x00000000, 0x00000000, 0x00000000,
998-
0x0003FC01, 0xFFFFFFF8, 0xFE800B19,
998+
0x0003FC01, 0xFFFFFCF8, 0xFF800B19,
999999
};
10001000

10011001
static int r300_packet0_check(struct radeon_cs_parser *p,

drivers/gpu/drm/radeon/radeon_asic.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ static struct radeon_asic rs400_asic = {
266266
/*
267267
* rs600.
268268
*/
269+
int rs600_init(struct radeon_device *dev);
269270
void rs600_errata(struct radeon_device *rdev);
270271
void rs600_vram_info(struct radeon_device *rdev);
271272
int rs600_mc_init(struct radeon_device *rdev);
@@ -281,7 +282,7 @@ uint32_t rs600_mc_rreg(struct radeon_device *rdev, uint32_t reg);
281282
void rs600_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
282283
void rs600_bandwidth_update(struct radeon_device *rdev);
283284
static struct radeon_asic rs600_asic = {
284-
.init = &r300_init,
285+
.init = &rs600_init,
285286
.errata = &rs600_errata,
286287
.vram_info = &rs600_vram_info,
287288
.gpu_reset = &r300_gpu_reset,
@@ -316,7 +317,6 @@ static struct radeon_asic rs600_asic = {
316317
/*
317318
* rs690,rs740
318319
*/
319-
int rs690_init(struct radeon_device *rdev);
320320
void rs690_errata(struct radeon_device *rdev);
321321
void rs690_vram_info(struct radeon_device *rdev);
322322
int rs690_mc_init(struct radeon_device *rdev);
@@ -325,7 +325,7 @@ uint32_t rs690_mc_rreg(struct radeon_device *rdev, uint32_t reg);
325325
void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
326326
void rs690_bandwidth_update(struct radeon_device *rdev);
327327
static struct radeon_asic rs690_asic = {
328-
.init = &rs690_init,
328+
.init = &rs600_init,
329329
.errata = &rs690_errata,
330330
.vram_info = &rs690_vram_info,
331331
.gpu_reset = &r300_gpu_reset,

drivers/gpu/drm/radeon/rs600.c

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,3 +409,68 @@ void rs600_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
409409
((reg) & RS600_MC_ADDR_MASK));
410410
WREG32(RS600_MC_DATA, v);
411411
}
412+
413+
static const unsigned rs600_reg_safe_bm[219] = {
414+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
415+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
416+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
417+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
418+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
419+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
420+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
421+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
422+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
423+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
424+
0x17FF1FFF, 0xFFFFFFFC, 0xFFFFFFFF, 0xFF30FFBF,
425+
0xFFFFFFF8, 0xC3E6FFFF, 0xFFFFF6DF, 0xFFFFFFFF,
426+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
427+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
428+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF03F,
429+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
430+
0xFFFFFFFF, 0xFFFFEFCE, 0xF00EBFFF, 0x007C0000,
431+
0xF0000078, 0xFF000009, 0xFFFFFFFF, 0xFFFFFFFF,
432+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
433+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
434+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
435+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
436+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
437+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
438+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
439+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
440+
0xFFFFF7FF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
441+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
442+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
443+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
444+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
445+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
446+
0xFFFFFC78, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF,
447+
0x38FF8F50, 0xFFF88082, 0xF000000C, 0xFAE009FF,
448+
0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
449+
0x00000000, 0x0000C100, 0x00000000, 0x00000000,
450+
0x00000000, 0x00000000, 0x00000000, 0x00000000,
451+
0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFF80FFFF,
452+
0x00000000, 0x00000000, 0x00000000, 0x00000000,
453+
0x0003FC01, 0xFFFFFCF8, 0xFF800B19, 0xFFFFFFFF,
454+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
455+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
456+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
457+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
458+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
459+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
460+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
461+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
462+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
463+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
464+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
465+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
466+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
467+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
468+
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
469+
};
470+
471+
int rs600_init(struct radeon_device *rdev)
472+
{
473+
rdev->config.r300.reg_safe_bm = rs600_reg_safe_bm;
474+
rdev->config.r300.reg_safe_bm_size = ARRAY_SIZE(rs600_reg_safe_bm);
475+
return 0;
476+
}

drivers/gpu/drm/radeon/rs690.c

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -653,67 +653,3 @@ void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v)
653653
WREG32(RS690_MC_INDEX, RS690_MC_INDEX_WR_ACK);
654654
}
655655

656-
static const unsigned rs690_reg_safe_bm[219] = {
657-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
658-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
659-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
660-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
661-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
662-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
663-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
664-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
665-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
666-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
667-
0x17FF1FFF,0xFFFFFFFC,0xFFFFFFFF,0xFF30FFBF,
668-
0xFFFFFFF8,0xC3E6FFFF,0xFFFFF6DF,0xFFFFFFFF,
669-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
670-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
671-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFF03F,
672-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
673-
0xFFFFFFFF,0xFFFFEFCE,0xF00EBFFF,0x007C0000,
674-
0xF0000078,0xFF000009,0xFFFFFFFF,0xFFFFFFFF,
675-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
676-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
677-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
678-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
679-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
680-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
681-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
682-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
683-
0xFFFFF7FF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
684-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
685-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
686-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
687-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
688-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
689-
0xFFFFFC78,0xFFFFFFFF,0xFFFFFFFE,0xFFFFFFFF,
690-
0x38FF8F50,0xFFF88082,0xF000000C,0xFAE009FF,
691-
0x0000FFFF,0xFFFFFFFF,0xFFFFFFFF,0x00000000,
692-
0x00000000,0x0000C100,0x00000000,0x00000000,
693-
0x00000000,0x00000000,0x00000000,0x00000000,
694-
0x00000000,0xFFFF0000,0xFFFFFFFF,0xFF80FFFF,
695-
0x00000000,0x00000000,0x00000000,0x00000000,
696-
0x0003FC01,0xFFFFFFF8,0xFE800B19,0xFFFFFFFF,
697-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
698-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
699-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
700-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
701-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
702-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
703-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
704-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
705-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
706-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
707-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
708-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
709-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
710-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
711-
0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
712-
};
713-
714-
int rs690_init(struct radeon_device *rdev)
715-
{
716-
rdev->config.r300.reg_safe_bm = rs690_reg_safe_bm;
717-
rdev->config.r300.reg_safe_bm_size = ARRAY_SIZE(rs690_reg_safe_bm);
718-
return 0;
719-
}

drivers/gpu/drm/radeon/rv515.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ static const unsigned r500_reg_safe_bm[219] = {
508508
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
509509
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF80FFFF,
510510
0x00000000, 0x00000000, 0x00000000, 0x00000000,
511-
0x0003FC01, 0x3FFFFCF8, 0xFE800B19, 0xFFFFFFFF,
511+
0x0003FC01, 0x3FFFFCF8, 0xFF800B19, 0xFFDFFFFF,
512512
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
513513
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
514514
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,

0 commit comments

Comments
 (0)