Commit Graph

110 Commits (a9e1a57d6d03f9fc52357db8af7ac2e7b8a488e4)

Author SHA1 Message Date
Eric Anholt 9fbfb7ca6a Some code cleanups done while working on locking. Reduces always-true
tests, excessive indenation, convoluted handling of errors, or code
    duplication.
2003-10-03 08:08:10 +00:00
Eric Anholt 929536172c Stylistic preparation for SMPng locking work: DRM_LOCK/DRM_UNLOCK have side
effects, so make them look like functions (add parenthesis).
2003-10-03 07:02:51 +00:00
Eric Anholt e187d665e4 Add an MIT-style copyright, assigned to myself, to these files. I think
I've touched enough of the code here, and there was no previous
    copyright. Do some drive-by style fixes while I'm here.
2003-10-02 20:52:44 +00:00
Eric Anholt 89dd7be3dd Axe more old gamma DMA infrastructure. 2003-10-02 07:02:34 +00:00
Eric Anholt a6b84f73e1 Mostly whitespace cleanups and style(9) fixes focused on "if(" -> "if ("
Change some nearby memset()s to bzero()s or to calloc allocations to
    take advantage of M_ZERO). Reverse some error tests to reduce high
    levels of indentation. Move the sg_cleanup() call out of the maplist
    loop in DRM(takedown)-- I can't see any need for it to be inside.
2003-10-02 04:48:54 +00:00
Eric Anholt 4dee75ff58 Wrap sys/endian.h usage with __FreeBSD_version >= 480000.
Obtained from: i865-agp-0-1-branch
2003-10-02 04:12:34 +00:00
Eric Anholt 4a55e75e97 Allow the DRM to attach to a "drmsub" device. This will be provided by the
i810 AGP module, working around the limitation of one driver per
    device.
Obtained from: i865-0-1-branch
2003-10-02 04:07:03 +00:00
Eric Anholt 8fe6a0d6c9 MTRR issue with SMP and -stable seems to be resolved. Re-enable MTRRs on
4.x
2003-10-02 03:51:49 +00:00
Alan Hourihane dc17c4cdc3 bsd drm fixes 2003-09-12 20:03:17 +00:00
Alan Hourihane 85c16d962d resolve merge conflicts 2003-09-12 14:24:17 +00:00
Keith Whitwell 6fc41e25e5 Use spldrm/splx around tsleep() in DRM_WAIT_ON 2003-09-09 07:45:12 +00:00
Eric Anholt 6f563cd513 Fix for older -stable.
Obtained from: FreeBSD CVS
2003-09-07 23:27:04 +00:00
Eric Anholt f634f68759 These files were missed in the SiS DRM commit. 2003-08-29 20:54:26 +00:00
Eric Anholt fabc64dd57 Port the SiS DRM to FreeBSD. This includes the ability for the DRM to
allocate framebuffer memory without sisfb, and a new ioctl to be used
    by the X Server which tells the DRM what region of framebuffer memory
    to allocate from. Also fixes a possibility to panic the kernel I
    believe. Tested on linux with sisfb and FreeBSD (without sisfb) with
    new DRI only.
2003-08-29 19:24:36 +00:00
Eric Anholt a7aebb6dac Add DRM(calloc), which is convenient, used by the new sis code, and takes
advantage of M_ZERO on BSDs.
2003-08-29 19:16:13 +00:00
Eric Anholt db78129116 Update radeon PCI IDs. 2003-08-29 19:08:06 +00:00
Eric Anholt bd3bc9f23d This PCI header has been living in dev/pci/ for a while now. 2003-08-29 19:07:27 +00:00
Eric Anholt 963ad33cb6 Fix the debug build. 2003-08-19 02:22:57 +00:00
Eric Anholt ad78a613a4 - Remove $FreeBSD$ tags as they weren't too useful and merges are now being
done through perforce.
- Add copyright headers to drm_os_*bsd.h, still need to research the other
    copyright-less files better.
2003-08-19 00:41:00 +00:00
Eric Anholt 02675a470e Merge from FreeBSD r1.11: We have memset in the kernel, no need to define
it to bzero (which it was always used for).
2003-08-12 21:18:05 +00:00
Michel Daenzer 4b60cae90e IRQ code cleanup suggested by Linus Torvalds
i830 build fix
2003-07-29 10:11:48 +00:00
Eric Anholt 983db58a26 Fix FreeBSD build after IRQ changes. 2003-07-26 03:18:34 +00:00
Michel Daenzer bef7017749 Compile fixes for recent 2.5/2.6 Linux kernels. I hope this doesn't break
the i830 driver or the BSDs. :)
2003-07-25 10:50:39 +00:00
David Dawes 2134577e31 Support for building DRM module on OpenBSD (Wilbern Cobb, Matthieu Herrb).
(resync with XFree86 trunk)
2003-05-20 22:42:24 +00:00
Michel Daenzer e5d3c7f260 Support AGP bridges where the AGP aperture can't be accessed directly by
the CPU (David Mosberger, Benjamin Herrenschmidt, myself, Paul
    Mackerras, Jeff Wiedemeier)
2003-05-16 23:41:27 +00:00
Eric Anholt 87ed795ff3 Fix a typo: On takedown the mtrr operation is MEMRANGE_SET_REMOVE, not
_UPDATE.
2003-04-28 23:18:43 +00:00
Eric Anholt 22b9b720d5 Use real endian conversion functions. 2003-04-27 00:43:14 +00:00
Eric Anholt 9828bd24c8 Fix formatting of hw.dri sysctl. 2003-04-26 23:55:30 +00:00
Eric Anholt 766a1da2e5 Remove the map argument from DRM_*MEMORYBARRIER. Not all of the uses of
DRM_*MEMORYBARRIER we had were related to an MMIO space. This means
    arch-specific code on the BSDs, unfortunately. Also add
    DRM_MEMORYBARRIER() and change the DRM_READMEMORYBARRIER()s that used
    to be read/write barriers to it.
2003-04-26 23:32:00 +00:00
Eric Anholt a172ee2a18 MFL: Don't install irq handler unless the driver has been initialized. 2003-04-26 23:04:22 +00:00
Eric Anholt ce514e08aa Add PCI DMA memory functions and make addbufs_pci and associated code use
it. To do this we need to save the bus address along with the virtual
    address in the seglist. Also fix some error handling and a few bits of
    whitespace.
2003-04-26 22:52:39 +00:00
Eric Anholt a79adaab72 Missed files in the last commit: Remove memory debugging sysctl unless
MEMORY_DEBUG is set.
2003-04-26 22:21:37 +00:00
Eric Anholt 8621ae310b Move the memory functions with debugging info to drm_memory_debug.h, and
remove a couple of dead functions.
2003-04-26 22:18:39 +00:00
Eric Anholt 79a0c5757e Remove #if 0'ed code. 2003-04-26 21:57:43 +00:00
Eric Anholt e60eb69bc0 Replace the C atomic_cmpset_int compatibility function for -stable with the
real i386 atomic_cmpset_int from -current. FreeBSD-stable won't ever
    have DRM support for non-i386.
2003-04-26 06:53:22 +00:00
Eric Anholt acb5d6b273 Disable MTRRs on FreeBSD-stable. Without this, it hangs on boot in the MTRR
setting for AGP cards on SMP machines.
2003-04-26 06:39:55 +00:00
Eric Anholt 77ee73f8cd Merge from FreeBSD-current. 2003-04-25 02:27:21 +00:00
Eric Anholt 58650c3a9d Clean up the DRM_COPY_TO_USER()ing of DRM(infobufs), making it more
legible.
2003-04-25 00:02:14 +00:00
Eric Anholt 781828b26e Clean up the style of the linux-compat code and use ioctl() directly rather
than reimplementing it.
2003-04-24 23:57:29 +00:00
Eric Anholt a147df879b Remove more gamma DMA infrastructure. Most of this code was copied straight
from linux, so it could be added back if some driver needed it in the
    future.
2003-04-24 19:09:55 +00:00
Eric Anholt 01178567eb Remove more gamma DMA code. This isn't all of it, but it's a major portion. 2003-04-24 06:19:54 +00:00
Eric Anholt c6d2af70cb Move some common code from addbufs_<type> to addbufs. Make buf_alloc be
protected by the count_lock and make it non-atomic.
2003-04-24 05:56:44 +00:00
Eric Anholt af3bfdef26 Remove the ioctl_count variable from the device. A reference is held to the
fp throughout the ioctl syscall, so the device can't be closed out from
    under us.
2003-04-24 05:14:05 +00:00
Eric Anholt bcd527ee71 Remove a bunch of dead code and fix spelling of a couple of comments. 2003-04-24 04:50:07 +00:00
Eric Anholt 9b2b2337b3 Move one definition to drm_drv.h and remove the rest of drm_init.h which
was all unused.
2003-04-24 00:46:03 +00:00
Eric Anholt e21473c888 Remove DRM_DMA_HISTOGRAM and associated code. 2003-04-24 00:37:35 +00:00
Eric Anholt 1fc0a5e1e4 Make DRM(read) and DRM(poll) stubs and remove DRM(write) and
DRM(write_string). This is the first part of removing much of the
    support code for gamma from the BSD DRM, since it appears that no new
    drivers are using it and nobody has ever shown interest in gamma on
    BSD.
2003-04-24 00:25:36 +00:00
Eric Anholt 6f88a5351c Whitespace and remove a dead commented line. 2003-04-01 18:53:24 +00:00
Eric Anholt aea0418d0d Remove dead vma code and remove the unused devstate struct definition. 2003-03-29 18:22:28 +00:00
Eric Anholt 6ef79263b6 Add DRMFILE definitions and supply filp for BSD in the
post-drm-filp-0-1-branch world. The filp is a void * cast from the
    current pid. This is a temporary solution which maintains the status
    quo until a proper solution is implemented.
What is really needed is a unique pointer per open, hopefully with a device
    private area. This can be done in FreeBSD for all entry points except
    mmap, but is difficult (sys/dev/streams/streams.c is an example). I
    have partially completed code for this but have not had time to debug,
    so this is a temporary fix.
2003-03-29 03:38:47 +00:00