[Please followup to debian-x. I am not subscribed to debian-hppa.] On Sun, Sep 01, 2002 at 06:29:44PM -0500, Branden Robinson wrote: > On Sun, Aug 25, 2002 at 02:20:17AM +0900, ISHIKAWA Mutsumi wrote: > > On m68k, mac64 dynamic loading driver cannot have worked from > > before. Because xf86WriteMmio32Be is not defined anywhere. > > > > Perhaps, we should define xf86WriteMmio32Be function in > > xc/programs/Xserver/hw/xfree86/common/compiler.h. > > I think this is a bug in ati/atimach64.c: > > apocalypse:~/packages/xfree86/4.2.0/xfree86-4.2.0/build-tree/xc/programs/Xserver/hw/xfree86> grep -r xf86WriteMmio32Be * > common/compiler.h:xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, > common/compiler.h:xf86WriteMmio32BeNB(__volatile__ void *base, const unsigned long offset, > common/compiler.h:xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, > common/compiler.h:xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, > common/compiler.h: xf86WriteMmio32Be(base, offset, (CARD32)(val)) > common/compiler.h: xf86WriteMmio32Be(base, offset, (CARD32)(val)) > common/compiler.h: xf86WriteMmio32Be(base, offset, (CARD32)(val)) > common/compiler.h: xf86WriteMmio32BeNB(base, offset, (CARD32)(val)) > common/compiler.h: xf86WriteMmio32Be(base, offset, (CARD32)(val)) > drivers/ati/atimach64.c: case 0: xf86WriteMmio32Be(pDst + 0, 0, *(pSrc + 0)); > drivers/ati/atimach64.c: case 1: xf86WriteMmio32Be(pDst + 1, 0, *(pSrc + 1)); > drivers/ati/atimach64.c: case 2: xf86WriteMmio32Be(pDst + 2, 0, *(pSrc + 2)); > drivers/ati/atimach64.c: case 3: xf86WriteMmio32Be(pDst + 3, 0, *(pSrc + 3)); > drivers/ati/atimach64.c: case 4: xf86WriteMmio32Be(pDst + 4, 0, *(pSrc + 4)); > drivers/ati/atimach64.c: case 5: xf86WriteMmio32Be(pDst + 5, 0, *(pSrc + 5)); > drivers/ati/atimach64.c: case 6: xf86WriteMmio32Be(pDst + 6, 0, *(pSrc + 6)); > drivers/ati/atimach64.c: case 7: xf86WriteMmio32Be(pDst + 7, 0, *(pSrc + 7)); > drivers/ati/atimach64.c: case 8: xf86WriteMmio32Be(pDst + 8, 0, *(pSrc + 8)); > drivers/ati/atimach64.c: case 9: xf86WriteMmio32Be(pDst + 9, 0, *(pSrc + 9)); > drivers/ati/atimach64.c: case 10: xf86WriteMmio32Be(pDst + 10, 0, *(pSrc + 10)); > drivers/ati/atimach64.c: case 11: xf86WriteMmio32Be(pDst + 11, 0, *(pSrc + 11)); > drivers/ati/atimach64.c: case 12: xf86WriteMmio32Be(pDst + 12, 0, *(pSrc + 12)); > drivers/ati/atimach64.c: case 13: xf86WriteMmio32Be(pDst + 13, 0, *(pSrc + 13)); > drivers/ati/atimach64.c: case 14: xf86WriteMmio32Be(pDst + 14, 0, *(pSrc + 14)); > drivers/ati/atimach64.c: case 15: xf86WriteMmio32Be(pDst + 15, 0, *(pSrc + 15)); > > This file is the only part of any XFree86 video driver code that ever > references any of the xf86WriteMmio functions. > > The other files that reference them are: > > loader/xf86sym.c > os-support/bsd/bsd_video.c > os-support/linux/lnx_video.c > > Therefore I get the feeling that atimach64.c is doing something wrong. > compiler.h does go to a lot of trouble to set up macros that expand to > these various functions. > > I'll see if I can puzzle it out. I found the problem. It's a Debianism. The inappropriate xf86WriteMmio32Be() stuff comes from patch #100, PCI domain support, applied for the benefit of our SPARC users. Patch #400 turns that stuff off for hppa. I think the original code from patch #100 is wrong, so I am dropping that hunk of the patch, and patch #400 entirely since it just #ifdefs off the patch I'm dropping. I will want to hear from Mach64 users on SPARC, m68k, and HP-PA as to what the effects of my changes are. (I'm pretty sure it will compile, since I'm essentially restoring this part atimach64.c to its current state on xf-4_2-branch.) This code path is excercised in accelerated color expansion fills, so a good test case is probably some fast text scrolling in an xterm with XAA enabled. (I.e., make sure you're not disabling acceleration in your XF86Config-4 file.) -- G. Branden Robinson | The first thing the communists do Debian GNU/Linux | when they take over a country is to branden@debian.org | outlaw cockfighting. http://people.debian.org/~branden/ | -- Oklahoma State Senator John Monks
Attachment:
pgpm4BtVpTUNp.pgp
Description: PGP signature