rpms/xorg-x11-drv-ati/devel radeon-6.12.0-git-fixes.patch, NONE, 1.1 xorg-x11-drv-ati.spec, 1.160, 1.161
Dave Airlie
airlied at fedoraproject.org
Mon Mar 16 02:17:47 UTC 2009
Author: airlied
Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26927
Modified Files:
xorg-x11-drv-ati.spec
Added Files:
radeon-6.12.0-git-fixes.patch
Log Message:
* Mon Mar 16 2009 Dave Airlie <airlied at redhat.com> 6.12.0-2
- radeon-6.12.0-git-fixes: fixes from git upstream
radeon-6.12.0-git-fixes.patch:
--- NEW FILE radeon-6.12.0-git-fixes.patch ---
diff --git a/src/atombios_output.c b/src/atombios_output.c
index 130ab93..70e716c 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -1019,30 +1019,11 @@ static void atom_rv515_force_tv_scaler(ScrnInfoPtr pScrn)
static int
atombios_output_yuv_setup(xf86OutputPtr output, Bool enable)
{
- RADEONOutputPrivatePtr radeon_output = output->driver_private;
RADEONInfoPtr info = RADEONPTR(output->scrn);
RADEONCrtcPrivatePtr radeon_crtc = output->crtc->driver_private;
ENABLE_YUV_PS_ALLOCATION disp_data;
AtomBiosArgRec data;
unsigned char *space;
- unsigned char *RADEONMMIO = info->MMIO;
- uint32_t temp, reg;
-
- if (info->ChipFamily >= CHIP_FAMILY_R600)
- reg = R600_BIOS_3_SCRATCH;
- else
- reg = RADEON_BIOS_3_SCRATCH;
-
- //fix up scratch reg handling
- temp = INREG(reg);
- if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT))
- OUTREG(reg, (ATOM_S3_TV1_ACTIVE |
- (radeon_crtc->crtc_id << 18)));
- else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT))
- OUTREG(reg, (ATOM_S3_CV_ACTIVE |
- (radeon_crtc->crtc_id << 24)));
- else
- OUTREG(reg, 0);
memset(&disp_data, 0, sizeof(disp_data));
@@ -1055,15 +1036,10 @@ atombios_output_yuv_setup(xf86OutputPtr output, Bool enable)
data.exec.pspace = &disp_data;
if (RHDAtomBiosFunc(info->atomBIOS->scrnIndex, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
-
- OUTREG(reg, temp);
-
ErrorF("crtc %d YUV %s setup success\n", radeon_crtc->crtc_id, enable ? "enable" : "disable");
return ATOM_SUCCESS;
}
- OUTREG(reg, temp);
-
ErrorF("crtc %d YUV %s setup failed\n", radeon_crtc->crtc_id, enable ? "enable" : "disable");
return ATOM_NOT_IMPLEMENTED;
diff --git a/src/radeon_accel.c b/src/radeon_accel.c
index dffbc57..a9a4848 100644
--- a/src/radeon_accel.c
+++ b/src/radeon_accel.c
@@ -688,8 +688,6 @@ void RADEONCPFlushIndirect(ScrnInfoPtr pScrn, int discard)
drmBufPtr buffer = info->cp->indirectBuffer;
int start = info->cp->indirectStart;
drm_radeon_indirect_t indirect;
- RING_LOCALS;
- RADEONCP_REFRESH(pScrn, info);
if (!buffer) return;
if (start == buffer->used && !discard) return;
@@ -700,10 +698,14 @@ void RADEONCPFlushIndirect(ScrnInfoPtr pScrn, int discard)
}
if (info->ChipFamily >= CHIP_FAMILY_R600) {
- while (buffer->used & 0x3c){
- BEGIN_RING(1);
- OUT_RING(CP_PACKET2()); /* fill up to multiple of 16 dwords */
- ADVANCE_RING();
+ if (buffer->used & 0x3c) {
+ RING_LOCALS;
+
+ while (buffer->used & 0x3c) {
+ BEGIN_RING(1);
+ OUT_RING(CP_PACKET2()); /* fill up to multiple of 16 dwords */
+ ADVANCE_RING();
+ }
}
}
@@ -735,12 +737,11 @@ void RADEONCPReleaseIndirect(ScrnInfoPtr pScrn)
drmBufPtr buffer = info->cp->indirectBuffer;
int start = info->cp->indirectStart;
drm_radeon_indirect_t indirect;
- RING_LOCALS;
- RADEONCP_REFRESH(pScrn, info);
-
if (info->ChipFamily >= CHIP_FAMILY_R600) {
- if (buffer) {
+ if (buffer && (buffer->used & 0x3c)) {
+ RING_LOCALS;
+
while (buffer->used & 0x3c) {
BEGIN_RING(1);
OUT_RING(CP_PACKET2()); /* fill up to multiple of 16 dwords */
diff --git a/src/radeon_output.c b/src/radeon_output.c
index aab88fb..3931db4 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -631,93 +631,60 @@ radeon_bios_output_dpms(xf86OutputPtr output, int mode)
if (info->IsAtomBios) {
if (radeon_output->active_device & ATOM_DEVICE_TV1_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_TV1_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_TV1_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_TV1_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_TV1_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_CV_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_CV_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_CV_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_CV_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_CV_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_CRT1_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_CRT1_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_CRT1_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_CRT1_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_CRT1_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_CRT2_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_CRT2_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_CRT2_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_CRT2_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_CRT2_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_LCD1_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_LCD1_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_LCD1_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_LCD1_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_LCD1_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP1_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_DFP1_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_DFP1_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_DFP1_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_DFP1_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP2_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_DFP2_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_DFP2_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_DFP2_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_DFP2_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP3_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_DFP3_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_DFP3_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_DFP3_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_DFP3_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP4_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_DFP4_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_DFP4_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_DFP4_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_DFP4_ACTIVE;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP5_SUPPORT) {
- if (mode == DPMSModeOn) {
+ if (mode == DPMSModeOn)
save->bios_2_scratch &= ~ATOM_S2_DFP5_DPMS_STATE;
- save->bios_3_scratch |= ATOM_S3_DFP5_ACTIVE;
- } else {
+ else
save->bios_2_scratch |= ATOM_S2_DFP5_DPMS_STATE;
- save->bios_3_scratch &= ~ATOM_S3_DFP5_ACTIVE;
- }
}
- if (info->ChipFamily >= CHIP_FAMILY_R600) {
+ if (info->ChipFamily >= CHIP_FAMILY_R600)
OUTREG(R600_BIOS_2_SCRATCH, save->bios_2_scratch);
- OUTREG(R600_BIOS_3_SCRATCH, save->bios_3_scratch);
- } else {
+ else
OUTREG(RADEON_BIOS_2_SCRATCH, save->bios_2_scratch);
- OUTREG(RADEON_BIOS_3_SCRATCH, save->bios_3_scratch);
- }
} else {
if (mode == DPMSModeOn) {
save->bios_6_scratch &= ~(RADEON_DPMS_MASK | RADEON_SCREEN_BLANKING);
@@ -727,55 +694,36 @@ radeon_bios_output_dpms(xf86OutputPtr output, int mode)
save->bios_6_scratch |= (RADEON_DPMS_OFF | RADEON_SCREEN_BLANKING);
}
if (radeon_output->active_device & ATOM_DEVICE_TV1_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_TV1_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_TV_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_TV1_ON;
+ else
save->bios_6_scratch &= ~RADEON_TV_DPMS_ON;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_CRT1_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_CRT1_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_CRT_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_CRT1_ON;
+ else
save->bios_6_scratch &= ~RADEON_CRT_DPMS_ON;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_CRT2_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_CRT2_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_CRT_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_CRT2_ON;
+ else
save->bios_6_scratch &= ~RADEON_CRT_DPMS_ON;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_LCD1_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_LCD1_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_LCD_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_LCD1_ON;
+ else
save->bios_6_scratch &= ~RADEON_LCD_DPMS_ON;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP1_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_DFP1_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_DFP_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_DFP1_ON;
+ else
save->bios_6_scratch &= ~RADEON_DFP_DPMS_ON;
- }
} else if (radeon_output->active_device & ATOM_DEVICE_DFP2_SUPPORT) {
- if (mode == DPMSModeOn) {
- save->bios_5_scratch |= RADEON_DFP2_ON;
+ if (mode == DPMSModeOn)
save->bios_6_scratch |= RADEON_DFP_DPMS_ON;
- } else {
- save->bios_5_scratch &= ~RADEON_DFP2_ON;
+ else
save->bios_6_scratch &= ~RADEON_DFP_DPMS_ON;
- }
}
- OUTREG(RADEON_BIOS_5_SCRATCH, save->bios_5_scratch);
OUTREG(RADEON_BIOS_6_SCRATCH, save->bios_6_scratch);
}
}
@@ -796,25 +744,25 @@ radeon_bios_output_crtc(xf86OutputPtr output)
save->bios_3_scratch &= ~ATOM_S3_TV1_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 18);
} else if (radeon_output->active_device & ATOM_DEVICE_CV_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_CV_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_CV_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 24);
} else if (radeon_output->active_device & ATOM_DEVICE_CRT1_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_CRT1_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_CRT1_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 16);
} else if (radeon_output->active_device & ATOM_DEVICE_CRT2_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_CRT2_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_CRT2_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 20);
} else if (radeon_output->active_device & ATOM_DEVICE_LCD1_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_LCD1_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_LCD1_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 17);
} else if (radeon_output->active_device & ATOM_DEVICE_DFP1_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_DFP1_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_DFP1_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 19);
} else if (radeon_output->active_device & ATOM_DEVICE_DFP2_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_DFP2_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_DFP2_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 23);
} else if (radeon_output->active_device & ATOM_DEVICE_DFP3_SUPPORT) {
- save->bios_2_scratch &= ~ATOM_S3_DFP3_CRTC_ACTIVE;
+ save->bios_3_scratch &= ~ATOM_S3_DFP3_CRTC_ACTIVE;
save->bios_3_scratch |= (radeon_crtc->crtc_id << 25);
}
if (info->ChipFamily >= CHIP_FAMILY_R600)
@@ -857,66 +805,101 @@ radeon_bios_output_connected(xf86OutputPtr output, Bool connected)
if (info->IsAtomBios) {
switch (radeon_output->active_device) {
case ATOM_DEVICE_TV1_SUPPORT:
- if (!connected)
+ if (connected)
+ save->bios_3_scratch |= ATOM_S3_TV1_ACTIVE;
+ else {
save->bios_0_scratch &= ~ATOM_S0_TV1_MASK;
+ save->bios_3_scratch &= ~ATOM_S3_TV1_ACTIVE;
+ }
break;
case ATOM_DEVICE_CV_SUPPORT:
- if (!connected)
+ if (connected)
+ save->bios_3_scratch |= ATOM_S3_CV_ACTIVE;
+ else {
save->bios_0_scratch &= ~ATOM_S0_CV_MASK;
+ save->bios_3_scratch &= ~ATOM_S3_CV_ACTIVE;
+ }
break;
case ATOM_DEVICE_LCD1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_LCD1;
- else
+ save->bios_3_scratch |= ATOM_S3_LCD1_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_LCD1;
+ save->bios_3_scratch &= ~ATOM_S3_LCD1_ACTIVE;
+ }
break;
case ATOM_DEVICE_CRT1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_CRT1_COLOR;
- else
+ save->bios_3_scratch |= ATOM_S3_CRT1_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_CRT1_MASK;
+ save->bios_3_scratch &= ~ATOM_S3_CRT1_ACTIVE;
+ }
break;
case ATOM_DEVICE_CRT2_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_CRT2_COLOR;
- else
+ save->bios_3_scratch |= ATOM_S3_CRT2_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_CRT2_MASK;
+ save->bios_3_scratch &= ~ATOM_S3_CRT2_ACTIVE;
+ }
break;
case ATOM_DEVICE_DFP1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_DFP1;
- else
+ save->bios_3_scratch |= ATOM_S3_DFP1_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_DFP1;
+ save->bios_3_scratch &= ~ATOM_S3_DFP1_ACTIVE;
+ }
break;
case ATOM_DEVICE_DFP2_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_DFP2;
- else
+ save->bios_3_scratch |= ATOM_S3_DFP2_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_DFP2;
+ save->bios_3_scratch &= ~ATOM_S3_DFP2_ACTIVE;
+ }
break;
case ATOM_DEVICE_DFP3_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_DFP3;
- else
+ save->bios_3_scratch |= ATOM_S3_DFP3_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_DFP3;
+ save->bios_3_scratch &= ~ATOM_S3_DFP3_ACTIVE;
+ }
break;
case ATOM_DEVICE_DFP4_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_DFP4;
- else
+ save->bios_3_scratch |= ATOM_S3_DFP4_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_DFP4;
+ save->bios_3_scratch &= ~ATOM_S3_DFP4_ACTIVE;
+ }
break;
case ATOM_DEVICE_DFP5_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_0_scratch |= ATOM_S0_DFP5;
- else
+ save->bios_3_scratch |= ATOM_S3_DFP5_ACTIVE;
+ } else {
save->bios_0_scratch &= ~ATOM_S0_DFP5;
+ save->bios_3_scratch &= ~ATOM_S3_DFP5_ACTIVE;
+ }
break;
}
- if (info->ChipFamily >= CHIP_FAMILY_R600)
+ if (info->ChipFamily >= CHIP_FAMILY_R600) {
OUTREG(R600_BIOS_0_SCRATCH, save->bios_0_scratch);
- else
+ OUTREG(R600_BIOS_3_SCRATCH, save->bios_3_scratch);
+ } else {
OUTREG(RADEON_BIOS_0_SCRATCH, save->bios_0_scratch);
+ OUTREG(RADEON_BIOS_3_SCRATCH, save->bios_3_scratch);
+ }
} else {
switch (radeon_output->active_device) {
case ATOM_DEVICE_TV1_SUPPORT:
@@ -925,41 +908,60 @@ radeon_bios_output_connected(xf86OutputPtr output, Bool connected)
save->bios_4_scratch |= RADEON_TV1_ATTACHED_SVIDEO;
else if (radeon_output->MonType == MT_CTV)
save->bios_4_scratch |= RADEON_TV1_ATTACHED_COMP;
- } else
+ save->bios_5_scratch |= RADEON_TV1_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_TV1_ATTACHED_MASK;
+ save->bios_5_scratch &= ~RADEON_TV1_ON;
+ }
break;
case ATOM_DEVICE_LCD1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_4_scratch |= RADEON_LCD1_ATTACHED;
- else
+ save->bios_5_scratch |= RADEON_LCD1_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_LCD1_ATTACHED;
+ save->bios_5_scratch &= ~RADEON_LCD1_ON;
+ }
break;
case ATOM_DEVICE_CRT1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_4_scratch |= RADEON_CRT1_ATTACHED_COLOR;
- else
+ save->bios_5_scratch |= RADEON_CRT1_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_CRT1_ATTACHED_MASK;
+ save->bios_5_scratch &= ~RADEON_CRT1_ON;
+ }
break;
case ATOM_DEVICE_CRT2_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_4_scratch |= RADEON_CRT2_ATTACHED_COLOR;
- else
+ save->bios_5_scratch |= RADEON_CRT2_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_CRT2_ATTACHED_MASK;
+ save->bios_5_scratch &= ~RADEON_CRT2_ON;
+ }
break;
case ATOM_DEVICE_DFP1_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_4_scratch |= RADEON_DFP1_ATTACHED;
- else
+ save->bios_5_scratch |= RADEON_DFP1_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_DFP1_ATTACHED;
+ save->bios_5_scratch &= ~RADEON_DFP1_ON;
+ }
break;
case ATOM_DEVICE_DFP2_SUPPORT:
- if (connected)
+ if (connected) {
save->bios_4_scratch |= RADEON_DFP2_ATTACHED;
- else
+ save->bios_5_scratch |= RADEON_DFP2_ON;
+ } else {
save->bios_4_scratch &= ~RADEON_DFP2_ATTACHED;
+ save->bios_5_scratch &= ~RADEON_DFP2_ON;
+ }
break;
}
OUTREG(RADEON_BIOS_4_SCRATCH, save->bios_4_scratch);
+ OUTREG(RADEON_BIOS_5_SCRATCH, save->bios_5_scratch);
}
}
Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/xorg-x11-drv-ati.spec,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -r1.160 -r1.161
--- xorg-x11-drv-ati.spec 14 Mar 2009 08:42:44 -0000 1.160
+++ xorg-x11-drv-ati.spec 16 Mar 2009 02:17:17 -0000 1.161
@@ -5,7 +5,7 @@
Summary: Xorg X11 ati video driver
Name: xorg-x11-drv-ati
Version: 6.12.0
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X Hardware Support
@@ -14,6 +14,7 @@
Source0: http://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
Source1: radeon.xinf
+Patch0: radeon-6.12.0-git-fixes.patch
Patch1: radeon-modeset.patch
#Patch4: radeon-6.9.0-remove-limit-heuristics.patch
Patch5: radeon-6.9.0-panel-size-sanity.patch
@@ -39,6 +40,7 @@
%prep
%setup -q -n %{tarball}-%{version}
+%patch0 -p1 -b .fixes
%patch1 -p1 -b .modeset
#patch4 -p1 -b .remove-limit-heuristics
#%patch5 -p1 -b .panel-size
@@ -74,6 +76,9 @@
%{_mandir}/man4/radeon.4*
%changelog
+* Mon Mar 16 2009 Dave Airlie <airlied at redhat.com> 6.12.0-2
+- radeon-6.12.0-git-fixes: fixes from git upstream
+
* Sat Mar 14 2009 Dave Airlie <airlied at redhat.com> 6.12.0-1
- rebase to latest -ati upstream release
More information about the scm-commits
mailing list