rpms/xorg-x11-drv-ati/devel radeon-modeset.patch, 1.28, 1.29 xorg-x11-drv-ati.spec, 1.137, 1.138
Dave Airlie
airlied at fedoraproject.org
Thu Oct 30 06:59:59 UTC 2008
- Previous message: rpms/perl-MooseX-StrictConstructor/F-8 import.log, NONE, 1.1 perl-MooseX-StrictConstructor.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message: rpms/kernel/F-9 drm-fedora9-rollup.patch, 1.2, 1.3 kernel.spec, 1.817, 1.818
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: airlied
Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3476
Modified Files:
radeon-modeset.patch xorg-x11-drv-ati.spec
Log Message:
- don't enable DFS under kms on anything but PCIE by default.
radeon-modeset.patch:
Index: radeon-modeset.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/radeon-modeset.patch,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- radeon-modeset.patch 30 Oct 2008 00:10:56 -0000 1.28
+++ radeon-modeset.patch 30 Oct 2008 06:59:28 -0000 1.29
@@ -1,3 +1,9 @@
+commit e3b394a58329df2efe1b57f369cefe6803b5f853
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Oct 30 13:53:02 2008 +1000
+
+ radeon: setup accel dfs for PCIE cards only if drm_mm
+
commit 2a85b00b38da8f5419837a9b4504aa1ba69b2a32
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Oct 30 10:00:10 2008 +1000
@@ -4331,7 +4337,7 @@
+
+#endif
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
-index c759bd6..46fa59a 100644
+index c759bd6..0efe9de 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -224,7 +224,10 @@ radeonShadowWindow(ScreenPtr screen, CARD32 row, CARD32 offset, int mode,
@@ -4901,14 +4907,14 @@
+ xf86CrtcSetSizeRange (pScrn, 320, 200, crtc_max_X, crtc_max_Y);
+
+ RADEONPreInitDDC(pScrn);
-
-- RADEONPreInitDDC(pScrn);
++
+ if (!RADEONPreInitControllers(pScrn))
+ goto fail;
+- RADEONPreInitDDC(pScrn);
+
- if (!RADEONPreInitControllers(pScrn))
- goto fail;
-
+ ErrorF("before xf86InitialConfiguration\n");
+
+ if (!xf86InitialConfiguration (pScrn, FALSE))
@@ -4919,18 +4925,13 @@
+
+ ErrorF("after xf86InitialConfiguration\n");
-- ErrorF("before xf86InitialConfiguration\n");
+ } else {
+#ifdef XF86DRM_MODE
+ char *bus_id;
+ if (!radeon_alloc_dri(pScrn))
+ return FALSE;
-- if (!xf86InitialConfiguration (pScrn, FALSE))
-- {
-- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes.\n");
-- goto fail;
-- }
+- ErrorF("before xf86InitialConfiguration\n");
+ bus_id = DRICreatePCIBusID(info->PciInfo);
+ if (drmmode_pre_init(pScrn, &info->drmmode, bus_id, "radeon", pScrn->bitsPerPixel / 8) == FALSE) {
+ xfree(bus_id);
@@ -4938,7 +4939,11 @@
+ goto fail;
+ }
-- ErrorF("after xf86InitialConfiguration\n");
+- if (!xf86InitialConfiguration (pScrn, FALSE))
+- {
+- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes.\n");
+- goto fail;
+- }
+ info->drmmode.create_new_fb = radeon_create_new_fb;
+ info->dri->drmFD = info->drmmode.fd;
+ xfree(bus_id);
@@ -4958,7 +4963,8 @@
+ {
+ struct drm_radeon_getparam gp;
+ int value;
-+
+
+- ErrorF("after xf86InitialConfiguration\n");
+ memset(&gp, 0, sizeof(gp));
+ gp.param = RADEON_PARAM_FB_LOCATION;
+ gp.value = &value;
@@ -5143,17 +5149,23 @@
}
}
-@@ -3362,6 +3493,9 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3357,11 +3488,15 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+ if (hasDRI) {
+ info->accelDFS = info->cardType != CARD_AGP;
+
++ if (info->cardType != CARD_PCIE && info->drm_mm)
++ info->accelDFS = FALSE;
++
+ if (xf86GetOptValInteger(info->Options, OPTION_ACCEL_DFS,
+ &info->accelDFS)) {
from = X_CONFIG;
}
-+ if (info->drm_mm)
-+ info->accelDFS = FALSE;
+
/* Reserve approx. half of offscreen memory for local textures by
* default, can be overridden with Option "FBTexPercent".
* Round down to a whole number of texture regions.
-@@ -3390,7 +3524,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3390,7 +3525,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
#endif
#if defined(XF86DRI) && defined(USE_XAA)
@@ -5162,7 +5174,7 @@
info->dri->textureSize = -1;
if (xf86GetOptValInteger(info->Options, OPTION_FBTEX_PERCENT,
&(info->dri->textureSize))) {
-@@ -3408,7 +3542,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3408,7 +3543,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
#endif
#ifdef USE_XAA
@@ -5171,7 +5183,7 @@
return FALSE;
#endif
-@@ -3429,7 +3563,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3429,7 +3564,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
info->CurrentLayout.pixel_bytes);
int maxy = info->FbMapSize / width_bytes;
@@ -5180,7 +5192,7 @@
xf86DrvMsg(scrnIndex, X_ERROR,
"Static buffer allocation failed. Disabling DRI.\n");
xf86DrvMsg(scrnIndex, X_ERROR,
-@@ -3443,15 +3577,39 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3443,15 +3578,39 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
}
}
@@ -5223,7 +5235,7 @@
#endif
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"Initializing fb layer\n");
-@@ -3475,7 +3633,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3475,7 +3634,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
if (info->r600_shadow_fb == FALSE) {
/* Init fb layer */
@@ -5232,7 +5244,7 @@
pScrn->virtualX, pScrn->virtualY,
pScrn->xDpi, pScrn->yDpi, pScrn->displayWidth,
pScrn->bitsPerPixel))
-@@ -3517,8 +3675,10 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3517,8 +3676,10 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
/* restore the memory map here otherwise we may get a hang when
* initializing the drm below
*/
@@ -5245,7 +5257,7 @@
/* Backing store setup */
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
-@@ -3528,7 +3688,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3528,7 +3689,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
/* DRI finalisation */
#ifdef XF86DRI
@@ -5254,7 +5266,7 @@
info->dri->pKernelDRMVersion->version_minor >= 19)
{
if (RADEONDRISetParam(pScrn, RADEON_SETPARAM_PCIGART_LOCATION, info->dri->pciGartOffset) < 0)
-@@ -3547,11 +3707,17 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3547,11 +3708,17 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
info->directRenderingEnabled = RADEONDRIFinishScreenInit(pScreen);
}
if (info->directRenderingEnabled) {
@@ -5273,7 +5285,7 @@
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Direct rendering enabled\n");
-@@ -3649,6 +3815,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
+@@ -3649,6 +3816,7 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
return FALSE;
}
}
@@ -5281,7 +5293,7 @@
/* set the modes with desired rotation, etc. */
if (!xf86SetDesiredModes (pScrn))
-@@ -5133,7 +5300,7 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+@@ -5133,7 +5301,7 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
#ifdef XF86DRI
Bool CPStarted = info->cp->CPStarted;
@@ -5290,7 +5302,7 @@
DRILock(pScrn->pScreen, 0);
RADEONCP_STOP(pScrn, info);
}
-@@ -5156,8 +5323,10 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+@@ -5156,8 +5324,10 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
#endif
}
@@ -5303,7 +5315,7 @@
ret = xf86SetSingleMode (pScrn, mode, RR_Rotate_0);
-@@ -5169,15 +5338,18 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+@@ -5169,15 +5339,18 @@ Bool RADEONSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
/* xf86SetRootClip would do, but can't access that here */
}
@@ -5329,7 +5341,7 @@
}
#endif
-@@ -5375,6 +5547,11 @@ void RADEONAdjustFrame(int scrnIndex, int x, int y, int flags)
+@@ -5375,6 +5548,11 @@ void RADEONAdjustFrame(int scrnIndex, int x, int y, int flags)
xf86OutputPtr output = config->output[config->compat_output];
xf86CrtcPtr crtc = output->crtc;
@@ -5341,7 +5353,7 @@
#ifdef XF86DRI
if (info->cp->CPStarted && pScrn->pScreen) DRILock(pScrn->pScreen, 0);
#endif
-@@ -5410,67 +5587,79 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+@@ -5410,67 +5588,79 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"RADEONEnterVT\n");
@@ -5466,7 +5478,7 @@
}
#endif
/* this will get XVideo going again, but only if XVideo was initialised
-@@ -5482,7 +5671,7 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+@@ -5482,7 +5672,7 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
RADEONEngineRestore(pScrn);
#ifdef XF86DRI
@@ -5475,7 +5487,7 @@
RADEONCP_START(pScrn, info);
DRIUnlock(pScrn->pScreen);
}
-@@ -5505,17 +5694,18 @@ void RADEONLeaveVT(int scrnIndex, int flags)
+@@ -5505,17 +5695,18 @@ void RADEONLeaveVT(int scrnIndex, int flags)
"RADEONLeaveVT\n");
#ifdef XF86DRI
if (RADEONPTR(pScrn)->directRenderingInited) {
@@ -5505,7 +5517,7 @@
/* Make sure 3D clients will re-upload textures to video RAM */
if (info->dri->textureSize) {
-@@ -5551,10 +5741,15 @@ void RADEONLeaveVT(int scrnIndex, int flags)
+@@ -5551,10 +5742,15 @@ void RADEONLeaveVT(int scrnIndex, int flags)
xf86_hide_cursors (pScrn);
@@ -5524,7 +5536,7 @@
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"Ok, leaving now...\n");
-@@ -5599,7 +5794,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -5599,7 +5795,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
#endif /* USE_XAA */
if (pScrn->vtSema) {
@@ -5534,7 +5546,7 @@
}
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
-@@ -5634,6 +5830,12 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
+@@ -5634,6 +5831,12 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
info->DGAModes = NULL;
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
"Unmapping memory\n");
@@ -6399,7 +6411,7 @@
}
#endif
diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
-index 62224d0..ccb5fe4 100644
+index 62224d0..fe104c4 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -74,21 +74,71 @@ FUNC_NAME(RADEONSync)(ScreenPtr pScreen, int marker)
@@ -6769,7 +6781,7 @@
OUT_ACCEL_REG(RADEON_SRC_Y_X, (srcY << 16) | srcX);
OUT_ACCEL_REG(RADEON_DST_Y_X, (dstY << 16) | dstX);
OUT_ACCEL_REG(RADEON_DST_HEIGHT_WIDTH, (h << 16) | w);
-@@ -365,6 +530,104 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
+@@ -365,6 +530,107 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
RADEON_WAIT_2D_IDLECLEAN | RADEON_WAIT_DMA_GUI_IDLE);
FINISH_ACCEL();
}
@@ -6790,6 +6802,9 @@
+ dri_bo *cur_scratch;
+ uint32_t src_pitch_offset;
+
++ if (!info->accelDFS)
++ return FALSE;
++
+ driver_priv = exaGetPixmapDriverPrivate(pSrc);
+
+ RADEONGetDatatypeBpp(bpp, &datatype);
@@ -6874,7 +6889,7 @@
#endif
static Bool
-@@ -389,12 +652,16 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -389,12 +655,16 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
TRACE;
#ifdef ACCEL_CP
@@ -6892,7 +6907,7 @@
RADEONGetPixmapOffsetPitch(pSrc, &src_pitch_offset) &&
(scratch = RADEONCPGetBuffer(pScrn)))
{
-@@ -409,7 +676,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -409,7 +679,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
RADEON_SWITCH_TO_2D();
/* Kick the first blit as early as possible */
@@ -6902,7 +6917,7 @@
x, y, 0, 0, w, hpass);
FLUSH_RING();
-@@ -436,7 +704,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -436,7 +707,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
/* Prepare next blit if anything's left */
if (hpass) {
scratch_off = scratch->total/2 - scratch_off;
@@ -6912,7 +6927,7 @@
x, y, 0, 0, w, hpass);
}
-@@ -543,14 +812,17 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -543,14 +815,17 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
info->accel_state->exa->UploadToScreen = FUNC_NAME(RADEONUploadToScreen);
info->accel_state->exa->DownloadFromScreen = FUNC_NAME(RADEONDownloadFromScreen);
@@ -6933,7 +6948,7 @@
#ifdef RENDER
if (info->RenderAccel) {
-@@ -560,7 +832,7 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -560,7 +835,7 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
else if (IS_R300_3D || IS_R500_3D) {
if ((info->ChipFamily < CHIP_FAMILY_RS400)
#ifdef XF86DRI
@@ -6942,7 +6957,7 @@
#endif
) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Render acceleration "
-@@ -595,6 +867,16 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -595,6 +870,16 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
}
#endif
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.137
retrieving revision 1.138
diff -u -r1.137 -r1.138
--- xorg-x11-drv-ati.spec 30 Oct 2008 00:10:56 -0000 1.137
+++ xorg-x11-drv-ati.spec 30 Oct 2008 06:59:28 -0000 1.138
@@ -5,7 +5,7 @@
Summary: Xorg X11 ati video driver
Name: xorg-x11-drv-ati
Version: 6.9.0
-Release: 37%{?dist}
+Release: 38%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X Hardware Support
@@ -80,6 +80,9 @@
%{_mandir}/man4/radeon.4*
%changelog
+* Thu Oct 30 2008 Dave Airlie <airlied at redhat.com> 6.9.0-38
+- don't enable DFS under kms on anything but PCIE by default.
+
* Thu Oct 30 2008 Dave Airlie <airlied at redhat.com> 6.9.0-37
- fix memory leak in -ati driver (#469024)
- Previous message: rpms/perl-MooseX-StrictConstructor/F-8 import.log, NONE, 1.1 perl-MooseX-StrictConstructor.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message: rpms/kernel/F-9 drm-fedora9-rollup.patch, 1.2, 1.3 kernel.spec, 1.817, 1.818
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list