From: Michel <mi...@da...> - 2003-11-29 01:16:21
|
On Fri, 2003-11-28 at 00:35, Dmitri Katchalov wrote:=20 > Quoting Michel D=C3=A4nzer <mi...@da...>: >=20 > > On Thu, 2003-11-27 at 15:47, Dmitri Katchalov wrote: > > >=20 > > > I've made this quick and dirty patch for Radeon driver only.=20 > > > I understand that it is not perfect as it has to be copied > > > into every other driver. A better solution is needed IMHO. > >=20 > > I've posted about http://penguinppc.org/~daenzer/DRI/radeon-agp8x.diff > > before, which is a similar patch by Hui Yu.=20 >=20 > mode &=3D ~RADEON_AGP_MODE_MASK; > - switch (info->agpMode) { > - case 4: mode |=3D RADEON_AGP_4X_MODE; > - case 2: mode |=3D RADEON_AGP_2X_MODE; > - case 1: default: mode |=3D RADEON_AGP_1X_MODE; > + if ((mode & RADEON_AGPv3_MODE) && > + (INREG(RADEON_AGP_STATUS) & RADEON_AGPv3_MODE)) { > + switch (info->agpMode) { > + case 8: mode |=3D RADEON_AGPv3_8X_MODE; > + case 4: default: mode |=3D RADEON_AGPv3_4X_MODE; > + } > + /*TODO: need to take care of other bits valid for v3 mode > + * currently these bits are not used in all tested cards. > + */ > + } else { > + switch (info->agpMode) { > + case 4: mode |=3D RADEON_AGP_4X_MODE; > + case 2: mode |=3D RADEON_AGP_2X_MODE; > + case 1: default: mode |=3D RADEON_AGP_1X_MODE; > + } > } > =20 > Sorry, don't we need a break (no pun intended) in those switch statements= ? I think the idea is that the kernel will fall back to a lower mode like this if the requested mode isn't possible. > > I understand Keith Whitwell > > has integrated yet another version on a CVS branch. >=20 > I'll have a look. Which CVS branch are you referring to? Looking at the CVS log of radeon_dri.c, i865-agp-0-1-branch it seems. --=20 Earthling Michel D=C3=A4nzer | Debian (powerpc), X and DRI develop= er Software libre enthusiast | http://svcs.affero.net/rm.php?r=3Ddaenzer |