mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Adam J. Richter" <adam@yggdrasil.com>
To: linux-kernel@vger.kernel.org
Subject: linux-2.5.18: DRM + cmpxchg issues
Date: Sun, 26 May 2002 01:32:50 -0700	[thread overview]
Message-ID: <200205260832.BAA01132@adam.yggdrasil.com> (raw)

	Under linux-2.5.18, several drivers for Direct Render Manager
(drivers/char/drm) call cmpxchg(), which is not defined for many
architectures including base i386 (i.e., if you want a kernel that runs
across the whole x86 processor line).

	2.5.18 also removed the cmpxchg() implementation for alpha that
was buried in drivers/char/drm, which I suspect was an incomplete patch
which was supposed to move the definition to somewhere in include/asm-alpha/.

	Here is the list of the effected DRM drivers;

	gamma.o
	i810.o		-- Pentium III chipset, requires AGP bus support
	i830.o		-- Pentium III chipset, requires AGP bus support
	mga.o		-- requires AGP bus
	r128.o
	radeon.o	-- requires AGP bus
	tdfx.o

	For, i830 and i830, I can define CONFIG_X86_CMPXCHG and use
the optimized cmpxchg(), because I know the code is running on a
Pentium III, regardless of the kernel compilation options.  The question
is what to do with the other drivers.  I guess my choices are:

	   1. Define CONFIG_X86_CMPXCHG in these drivers and have them abort
	      under x86 if a runtime check shows that the processor lacks
	      cmpxchg.  (It looks like 2.5.17 generated code that uesd
	      the cmpxchg without checking the processor type).

	   2. Write a generic cmpxchg routine (or find one in old
	      kernel sources) and use that in everything except i810.o
	      and i830.o.

	   3. Try to rewrite these drivers without cmpxchg.

	Any advice would be appreciated.

Adam J. Richter     __     ______________   575 Oroville Road
adam@yggdrasil.com     \ /                  Milpitas, California 95035
+1 408 309-6081         | g g d r a s i l   United States of America
                         "Free Software For The Rest Of Us."

             reply	other threads:[~2002-05-26  8:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-26  8:32 Adam J. Richter [this message]
2002-05-28  8:13 Keith Whitwell
2002-05-29  0:59 ` george anzinger
2002-05-29  7:23   ` Keith Whitwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200205260832.BAA01132@adam.yggdrasil.com \
    --to=adam@yggdrasil.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®