Commit Graph

158 Commits (1cec18a5cd3bcd37aab71c255d63fd394143bc5e)

Author SHA1 Message Date
Dave Airlie 0b02bf9d45 initial port of i915 to BSD, not finished doesn't work.. no idea why... 2004-07-29 11:09:22 +00:00
Dave Airlie 862fcee057 check for __user if not there define it 2004-07-25 08:57:15 +00:00
Dave Airlie 02df04d71d sync up with current 2.6 kernel bk tree - mostly __user annotations 2004-07-25 08:47:38 +00:00
Keith Whitwell 1e5354e867 Correct a couple of packet length calculations. 2004-07-23 16:12:27 +00:00
Dave Airlie b35cba47d5 Add NULLs instead of 0 for i915 2004-07-20 11:48:25 +00:00
Dave Airlie 8efddd01e8 sparse cleanups from kernel: Al Viro 2004-07-15 13:03:55 +00:00
Dave Airlie 4cfd0d5cee whitespace align with kernel 2004-07-05 11:44:30 +00:00
Keith Whitwell 291ffeae9a i915.o drm driver 2004-06-10 12:45:38 +00:00
Ian Romanick 52e3a8a5d9 Added some comments copied from xf86drm.h. 2004-06-02 17:41:52 +00:00
Ian Romanick f994b1f31b Replace size_t with an ugly, ugly hack. This was done so that code in the
core X-server would compile. Hopefully, this will soon be replaced with
    explicitly sized types (i.e., uint32_t) and everyone will be happy.
2004-06-01 16:17:32 +00:00
Roland Scheidegger 43c244ebba fix whitespace issue in previous patch 2004-05-18 23:30:46 +00:00
Roland Scheidegger aa142ff1b5 add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,
GL_EXT_blend_func_separate and GL_EXT_blend_equation_separate on r200
2004-05-18 23:03:22 +00:00
Erdi Chen 13894755a7 Add PCI id entry for VIA CN400 (UnichromePro) chip. XFree86 bug: Reported
by: Submitted by: Reviewed by: Obtained from:
2004-05-14 23:54:31 +00:00
Eric Anholt 853adb8be3 Merge from FreeBSD-current. Mostly 64-bit cleanliness fixes, but a few
driver interface changes from -current.
2004-05-11 04:43:43 +00:00
Eric Anholt 485b259b44 Add missing DRM_ERR()s. 2004-05-11 04:23:02 +00:00
Dave Airlie 06332524b5 add another tdfx 2004-04-26 06:43:53 +00:00
Dave Airlie 0edc2abf84 add new files to generate pci ids 2004-04-21 23:45:18 +00:00
Dave Airlie 93bd67ef62 centralise pci ids into one place and use scripts to generate files for
kernel
2004-04-21 12:13:31 +00:00
Thomas Hellstrom 6f6d2a553a 1. Added a PCI ID.
2. Big change to the XvMC part of the SAREA. OpenGL clients will not suffer
    from this, and via XvMC is still alpha. Needed to make future additions
    to XvMC (More decoders and overlays) possible.
3. Bumped version number to 1.3.0.
2004-04-12 10:18:18 +00:00
Dave Airlie 873e1c4d38 Add mach64 to the trunk 2004-04-12 05:27:40 +00:00
Dave Airlie 3306abbde7 white space changes to align with kernel 2004-04-10 13:52:43 +00:00
Alan Hourihane 596cf634ae fix build problem 2004-04-08 23:22:05 +00:00
Dave Airlie bc1428035c fixes from Linux kernel 2004-04-08 12:05:25 +00:00
Thomas Hellstrom 6cd8831f7a Merged via-1-2-0 2004-03-23 21:08:48 +00:00
Jon Smirl 24115068e4 Fixes need to clean up the mess I made with the mesa merge. This code
allows the mesa drivers to use a single definition of the DRM
    sarea/IOCTLS located in the drm driver directory. Adjustments were made
    to the 2D drivers to not include these changes. Changes to the mesa
    copy of DRM were copied to the DRI copy. XFree86 bug: Reported by:
    Submitted by: Reviewed by: Obtained from:
2004-03-12 21:22:52 +00:00
Michel Daenzer 213247a441 Fix sisfb header location for 2.6 kernels
Submitted by: Andrew Morton
2004-02-18 20:56:58 +00:00
Michel Daenzer 0dea4de288 Make sure that all state packets are handled in
radeon_check_and_fixup_packets()
Fix state packet IDs of R200 cubic offsets
2004-01-10 20:59:16 +00:00
Michel Daenzer 7b62ed9aed R200_PP_CUBIC_OFFSET_F1_[0-6] state packets only contain 5 offsets, not 6
(thanks to Andreas Stenglein for spotting this)
2004-01-10 12:28:06 +00:00
Eric Anholt 9fb6986e83 Don't ioremap the framebuffer area. The ioremapped area wasn't used by
anything, and took up valuable KVA. While I'm in the area, clean up BSD
    MTRR stuff some more.
Suggested by: jonsmirl
2003-12-16 08:57:08 +00:00
Eric Anholt 66c9e3053f - Tie the DRM to a specific device: setunique no longer succeeds when given
a busid that doesn't correspond to the device the DRM is attached to.
    This is a breaking of backwards-compatibility only for the
    multiple-DRI-head case with X Servers that don't use interface 1.1.
- Move irq_busid to drm_irq.h and make it only return the IRQ for the
    current device. Retains compatibility with previous X Servers, cleans
    up unnecessary code. This means no irq_busid on !__HAVE_IRQ, but can be
    changed if necessary.
- Bump interface version to 1.2. This version when set signifies that the
    control ioctl should ignore the irq number passed in and enable the
    interrupt handler for the attached device. Otherwise it errors out when
    the passed-in irq is not equal to the device's.
- Store the highest version the interface has been set to in the device.
- Fix a recursion on DRM_LOCK in irq_uninstall on FreeBSD. This leaves
    irq_uninstall being done without the lock in some cases, but it was
    racey anyways.
2003-11-05 08:13:52 +00:00
Eric Anholt e8f5b01a40 __linux__ is spelled with a lowercase 'l' 2003-11-05 02:08:31 +00:00
Eric Anholt 5864101ab4 Repo-copy linux/drm/kernel/drm.h to shared/drm/kernel/drm.h and use it on
both Linux and *BSD.
2003-11-05 01:43:47 +00:00
Michel Daenzer 2655ccddf4 Memory layout transition:
the 2D driver initializes MC_FB_LOCATION and related registers sanely
the DRM deduces the layout from these registers
clients use the new SETPARAM ioctl to tell the DRM where they think the
    framebuffer is located in the card's address space
the DRM uses all this information to check client state and fix it up if
    necessary
This is a prerequisite for things like direct rendering with IGP chips and
    video capturing.
2003-11-04 00:46:05 +00:00
Eric Anholt 06cb132e86 - Introduce a new ioctl, DRM_IOCTL_SET_VERSION. This ioctl allows the
server or client to notify the DRM that it expects a certain version of
    the device dependent or device independent interface. If the major
    doesn't match or minor is too large, EINVAL is returned. A major of -1
    means that the requestor doesn't care about that portion of the
    interface. The ioctl returns the actual versions in the same struct.
- Introduce DRM DI interface version 1.1. If the server requests version
    1.1, then the DRM sets the unique itself according to the busid of the
    device it probed, which may then be accessed as normal using getunique.
- Request version 1.1 in libdrm's drmOpenByBusID, allowing the X Server to
    request based on a BusID. Introduce a wrapper for DRM_IOCTL_SET_VERSION
    and bump libdrm minor version.
- Pass the busid in DRIScreenInit if libdrm can handle both a busid and
    name. This allows drmOpenByBusID to be used to find the DRM instead of
    just the driver name, which allows us in the future to tie a DRM more
    strongly to the device it probed to. Introduce a function
    DRICreatePCIBusID which creates a busid in the form pci:oooo:bb:dd.f
    similar to linux's pci_name() function. This matches the format used by
    the DRM in version 1.1. libdrm knows how to match both this format and
    the old PCI🅱️d:f format.
- Use the new DRICreatePCIBusID function in the *_dri.c to request the new,
    more exact busid format.
2003-10-23 02:23:31 +00:00
Eric Anholt 2950f9e682 - Move IRQ functions from drm_dma.h to new drm_irq.h and disentangle them
from __HAVE_DMA. This will be useful for adding vblank sync support to
    sis and tdfx. Rename dma_service to irq_handler, which is more
    accurately what it is.
- Fix the #if _HAVE_DMA_IRQ in radeon, r128, mga, i810, i830, gamma to have
    the right number of underscores. This may have been a problem in the
    case that the server died without doing its DRM_IOCTL_CONTROL to
    uninit.
2003-10-17 05:13:48 +00:00
Eric Anholt ff58476011 - Converted Linux drivers to initialize DRM instances based on PCI IDs, not
just a single instance. Moved the PCI ID lists from <card>_drv.c in BSD
    to <card>.h. The PCI ID lists include a driver private field, which may
    be used by drivers for chip family or other information. Based on work
    by jonsmirl.
- Make tdfx_drv.c and tdfx.h match other drivers.
- Fixed up linking of sis shared files.
Tested with Radeon and SiS on Linux and FreeBSD, including a Linux setup
    with
2 SiS cards in a machine, but only one head being used (with DRI)
2003-10-17 03:14:39 +00:00
Michel Daenzer 355b204de0 Introduce COMMIT_RING() as in radeon DRM, stop using error prone writeback
for ring read pointer (Paul Mackerras)
Get rid of some superfluous stuff, minor fixes
2003-10-16 14:18:52 +00:00
Eric Anholt a64dab1323 Try that again. It's a long. 2003-10-16 03:20:03 +00:00
Eric Anholt a9e1a57d6d Debug printf format fix. 2003-10-16 03:19:06 +00:00
Alan Hourihane 85c16d962d resolve merge conflicts 2003-09-12 14:24:17 +00:00
Eric Anholt 4d6d357202 Correct format in debug printfs (free is a pointer, not an int). 2003-09-07 23:56:20 +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
Michel Daenzer 062751ac47 Remove artificial PCI GART limitations, rename AGP to GART where
appropriate
2003-08-26 15:44:01 +00:00
Michel Daenzer 07a9b30082 Clean up Radeon DRI resume code 2003-08-18 23:46:19 +00:00
Eric Anholt 0f094c33da Make r128_do_wait_for_idle static, as it's only used in this file.
Noticed by: CScout
2003-08-18 23:42:16 +00:00
Eric Anholt 6298d1a1e0 Remove an unnecessary #define __NO_VERSION__
Noticed by: CScout
2003-08-18 23:41:05 +00:00
Eric Anholt 03e6674c13 Whitespace cleanup from the pageflipping commit. 2003-08-12 21:48:16 +00:00
Ian Romanick c99acb597f Added some information as to when (which DRM version) various queries were
added.
2003-08-08 21:06:44 +00:00
Michel Daenzer 4b60cae90e IRQ code cleanup suggested by Linus Torvalds
i830 build fix
2003-07-29 10:11:48 +00:00
Michel Daenzer c26ffeafca Degrade uninformative error message to debug message, as in other drivers 2003-07-26 15:59:09 +00:00