Commit Graph

483 Commits (fa50e2b5132b84353ae964a39c3b10ea270d15e8)

Author SHA1 Message Date
Dave Airlie d4dbf45781 Merged drmfntbl-0-0-2 2004-08-24 11:15:53 +00:00
Dave Airlie eac498baea addmap-base-2 patch from Jon Smirl:
sets up the DRM to have the ability to have permanent maps while the driver
    is loaded...
2004-08-24 10:43:45 +00:00
Erdi Chen 25e319c1ef This patch adds three new ioctl's to the VIA Unichrome/Pro DRM driver:
DRM_IOCTL_VIA_DMA_INIT DRM_IOCTL_VIA_CMDBUFFER DRM_IOCTL_VIA_FLUSH
The first ioctl sets up an area in AGP memory that will be used as the ring
    buffer. The second ioctl copies a command buffer from user space memory
    to the ring buffer. The third ioctl waits for engine idle until it
    returns.
The motivation for this patch is to avoid the wait for engine idle call
    before each buffer flush in the current DRI driver. With this patch,
    the DRI driver can continue to flush its buffer as long as there is
    free space in the ring buffer.
This patch adds an additional copy operation on the command buffer. This
    buffer copying is necessary to support multiple DRI clients rendering
    simultaneously. Otherwise, more CPU time will be spent in the busy loop
    waiting for engine idle between DRI context switch. Even in the single
    client case, the tradeoff is reasonable in comparision to the kernel
    call to check for free buffer space for the client to render directly
    to the ring buffer.
2004-08-24 01:44:37 +00:00
Dave Airlie 5c9ed83094 Merged drmfntbl-0-0-1 2004-08-17 13:10:05 +00:00
Dave Airlie 02ef96053c 2.6.8.1 has changed the links in /lib/modules 2004-08-17 10:36:46 +00:00
Jon Smirl c360d6f4f2 Fix warning about unused ddev variable 2004-08-15 15:46:28 +00:00
Jon Smirl 23bbff24aa Add dev to DRIVER_CTX_DTOR( dev, pos->handle) so that sis driver will
compile #if 0 get_pci_driver use in hotplug function until fbdev work
    around is written
2004-08-15 15:35:14 +00:00
Eric Anholt dd83f39f03 Add a "dev" argument to DRIVER_CTX_[CD]TOR. This will be used in an
upcoming commit for the SiS driver.
2004-08-14 00:46:15 +00:00
Dave Airlie ecf1458b2c minor patch from Jon Smirl : sets up some things for later use 2004-08-11 09:07:36 +00:00
Dave Airlie 9277f9eef3 Patch from Jon Smirl to add attribute field to the pciids, and use this for
certain radeon combinations - intel drivers can probably use this for
    dual head capable devices etc..
2004-08-10 11:14:07 +00:00
Dave Airlie 42e9187460 2.4 compat 2004-08-04 10:56:48 +00:00
Dave Airlie be3e54bc15 2.4 hotplug compat 2004-08-04 10:53:21 +00:00
Dave Airlie 4f8f02a192 fix for drm in /proc - from Jon Smirl 2004-08-03 09:21:11 +00:00
Jon Smirl 5e7e41819e Add a hotplug event to DRM. Parameters match the ones from the general PCI
hotplug event plus the addition of one requesting RESET. Put your
    scripts in /etc/hotplug.d/drm to run. kernel class_simple generates the
    ADD/REMOVE events. No cards currently request RESET, the flag is there
    to stop you from resetting your boot display.
2004-07-31 15:45:00 +00:00
Dave Airlie eb3d0635d4 fixes for using userspace pointers found by sparse utility
From: Dave Airlie
2004-07-31 07:26:52 +00:00
Dave Airlie dc4508c338 athe patch below optimises the drm code to not do put_user() on memory the
kernel allocated and then mmap-installed to userspace, but instead
    makes it use the kernel virtual address directly instead.
From: Arjan van de Ven <arjanv@redhat.com>
2004-07-31 07:25:58 +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
Dave Airlie 1f132b7849 whitespace merge with kernel 2004-07-25 05:52:22 +00:00
Dave Airlie c54ba5691a if the driver has already register don't do another intermodule register 2004-07-25 05:41:44 +00:00
Dave Airlie 6ba31fb481 Patch from Tom Arbuckle for missing bus_address 2004-07-25 05:36:45 +00:00
Dave Airlie 6ed7e36f4c another logic error returns 0 or greater for success 2004-07-22 12:07:13 +00:00
Dave Airlie ea2155a2e1 ATI Rage 128 and Radeon DRM unconditionally depend on PCI
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2004-07-21 09:36:16 +00:00
Dave Airlie c9911beb09 add some more debugging fix ++ and -- 2004-07-21 09:30:43 +00:00
Dave Airlie a776c5ec04 first set of __user annotations from kernel (Al Viro) 2004-07-20 12:43:12 +00:00
Dave Airlie 9266bf5301 Kconfig update add i915 bring over some stuff from kernel 2004-07-20 11:35:29 +00:00
Dave Airlie b20b00d4bc add x86_64 architecture defines from kernel (leave AMD64 defines in for
backwards compat)
2004-07-20 11:26:13 +00:00
Dave Airlie fdb6ae31cb fix some more NULLs from kernel 2004-07-20 11:22:26 +00:00
Dave Airlie 7ee263b94f attempt to clean up stub_register, register_chrdev isn't good enough to
make the decision for multiple cards with one drm ..
2004-07-20 10:59:02 +00:00
Dave Airlie 8efddd01e8 sparse cleanups from kernel: Al Viro 2004-07-15 13:03:55 +00:00
Dave Airlie bb5112b616 Fix reference counting for stub for new Linux PCI probe 2004-07-14 12:34:55 +00:00
Dave Airlie e86fc9f47f allow O= usage for Linux 2.6 kernel building in another directory 2004-07-14 12:14:37 +00:00
Dave Airlie 6c16cbd404 split out backwards compat into a separate file makes it easier for merging
to 2.6
2004-07-11 10:17:34 +00:00
Dave Airlie f9e2fe8470 fix issue in 2.4 kernels with returning NULL from this function 2004-07-11 09:58:49 +00:00
Jon Smirl 6e4bf5ead5 Add two items to Makefile clean XFree86 bug: Reported by: Submitted by:
Reviewed by: Obtained from:
2004-07-08 20:18:10 +00:00
Dave Airlie 3c9fb37e65 fixes from kernel for 0 vs NULL - mika 2004-07-05 11:56:51 +00:00
Dave Airlie 87832bc81a fix bug with pci_disable_device in the wrong place (Paul Mackerras) remove
hack code from me..
2004-06-21 11:46:52 +00:00
Dave Airlie 1ee210e3b5 dirty hack to make mach64 work, (don't worry I'll get around to fixing it
asap..)
2004-06-12 02:30:52 +00:00
Keith Whitwell 373d67702c A few changes for recent redhat. 2004-06-10 12:48:35 +00:00
Keith Whitwell 0faa00ae64 i915 drm module 2004-06-10 12:47:50 +00:00
Dave Airlie 78d0fd6526 gamma_dma_priority and gamma_dma_send_buffers both deref d->send_indices
and/or d->send_sizes. When these functions are called from gamma_dma,
    these pointers are user pointers and are thus not safe to deref. This
    patch copies over the pointers inside gamma_dma_priority and
    gamma_dma_send_buffers.
Submitted-by: Robert T. Johnson <rtjohnso@eecs.berkeley.edu> Signed-off-by:
    Dave Airlie <airlied@linux.ie>
2004-06-10 09:43:53 +00:00
Dave Airlie cfa5bf3129 The dev->devname being passed to request_irq in drm_irq.h is null. With the
old DRM interface, the devname was set in DRM(setunique), but with the
    current DRM interface >=1.1 the devname is not being set in
    DRM(set_busid).
From: Alan Swanson Approved-by: Dave Airlie <airlied@linux.ie>
2004-06-07 01:42:35 +00:00
Dave Airlie 024fd4b150 2.4 compat 2004-05-30 23:38:08 +00:00
Dave Airlie 412f9909c6 fixes from kernel: Make users of page->count use the provided macros 2004-05-30 23:34:23 +00:00
Dave Airlie 8350382cb1 another 2.4 fix 2004-05-18 09:46:31 +00:00
Dave Airlie df6c37fc88 2.4 compat fix 2004-05-18 09:42:22 +00:00
Dave Airlie a1160ba279 do some real testing and fix the DRM initialising and unloading 2004-05-10 11:16:26 +00:00
Dave Airlie a2f7a9fa5f Commit sysfs and drm PCI changes for 2.6 kernel 2004-05-09 06:45:17 +00:00
Dave Airlie 0b481856dd use drm.. not dri for class... 2004-05-03 00:06:04 +00:00
Dave Airlie a9d2438999 fix 2.4 build 2004-05-02 13:03:51 +00:00
Dave Airlie a3612f450b better device class support from Jon Smirls patches.. 2004-05-02 12:27:17 +00:00
Dave Airlie d40443534c Add __user annotations from kernel 2004-04-22 12:41:43 +00:00
Dave Airlie 87812e82f4 add sparc ffb files from kernel just to keep things in sync 2004-04-22 11:31:55 +00:00
Dave Airlie 2d9bbba0e1 bug from Linux kernel list caught by checker 2004-04-21 12:18:42 +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
Michel Daenzer 0f32a88527 Move Makefile.linux to Makefile.
Get rid of Makefile juggling hacks which are no longer necessary.
2004-04-18 22:59:01 +00:00
Dave Airlie 6fa5c5d958 more files for mach64 2004-04-12 05:44:16 +00:00
Dave Airlie 873e1c4d38 Add mach64 to the trunk 2004-04-12 05:27:40 +00:00
Michel Daenzer 7e39628577 Have CVS ignore some files produced by the build. 2004-04-10 16:20:00 +00:00
Dave Airlie 7e0f883501 include highmem.h 2004-04-10 13:25:30 +00:00
Dave Airlie 2b0292c739 update gamma_dma with patch from davej in 2.6 2004-04-10 12:58:18 +00:00
Dave Airlie e375a3dc10 patch from Andrew Morton tree from Arjan van de Ven fixes some oopses seen
with 4G/4G split
2004-04-10 08:15:48 +00:00
Dave Airlie 23ec8875fc align code with Linux kernel. 2004-04-10 07:41:19 +00:00
Dave Airlie 6aad146173 remove unused code 2004-04-10 07:39:00 +00:00
Dave Airlie fd47335798 update from linux kernel for ia64 2004-04-10 07:36:30 +00:00
Alan Hourihane ce601f3647 disable PCI DMA ioctls as they are not used currently until SAVAGE_CMD_DMA
is made to work.
2004-04-08 23:19:15 +00:00
Dave Airlie c47597b484 big whitespace .. this aligns all the whitespace in this file with the bk
checkout linux tree
2004-04-08 14:15:36 +00:00
Dave Airlie 13724f032e 2.6 sysfs patches + stubs in drmP.h for 2.4 compatibility 2004-04-08 13:11:04 +00:00
Dave Airlie c3e2685e82 long dev_t patches from 2.6 tree 2004-04-08 12:25:31 +00:00
Dave Airlie 9cff4b45e7 2.6 patches for larger dev_t 2004-04-08 12:22:22 +00:00
Dave Airlie 3e0f3c1fbb more 2.4 compat fns 2004-04-08 12:20:39 +00:00
Dave Airlie 1bc7576474 patch from Linux kernel 2.6.5 2004-04-08 12:09:10 +00:00
Dave Airlie ee2889ec0d patch from lk 2004-04-08 11:26:52 +00:00
Thomas Hellstrom 994fa063cd VIA module fixes:
1. Fixed up PCI-id's.
2. Fixed 2.6 warning in kernel Makefile.
2004-03-31 22:05:57 +00:00
Thomas Hellstrom 9b7bf9127e Added via driver to drm/linux/Config.in Reported by: Terry Barnaby 2004-03-26 13:42:48 +00:00
Thomas Hellstrom 1da595d797 Exported symbols cause compilation failure of via_mm.c on 2.4 kernels.
Added via_mm.o to export-objs:
Reported by: HMX, Via Arena Forum
2004-03-24 23:22:22 +00:00
Thomas Hellstrom b15deb2392 Modified linux/Kconfig to include the via drm driver. 2004-03-24 10:07:37 +00:00
Thomas Hellstrom 89d67d9087 Merged via-1-2-0: Altered Makefiles in drm/linux 2004-03-23 21:14:17 +00:00
Jon Smirl ab66cbc1c5 Adjust shared path in makefile XFree86 bug: Reported by: Submitted by:
Reviewed by: Obtained from:
2004-03-17 01:03:26 +00:00
Jon Smirl 537ac1a39e Makefile the makefile really clean everything XFree86 bug: Reported by:
Submitted by: Reviewed by: Obtained from:
2004-03-16 00:59:24 +00:00
Jon Smirl 0b6f155dbd Add a missing ifdef CTX to get rid of the waring in the gamma driver build.
XFree86 bug: Reported by: Submitted by: Reviewed by: Obtained from:
2004-03-16 00:52:24 +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 f47ed99143 Remove extraneous code accidentally added with revision 1.86 2004-02-28 14:29:44 +00:00
Michel Daenzer b61f07def3 More differentiated error codes for DRM(agp_acquire)
Obtained from: Linux kernel
2004-02-28 11:52:19 +00:00
Felix Kuehling ce21dca4aa Use DO_MUNMAP_4_ARGS macro defined in Makefile.linux (Steve Holland).
Silence a warning about a format-argument mismatch in printk.
2004-02-24 14:24:07 +00:00
Felix Kuehling 3dea36d843 Merged the Savage DRM driver from the savage-2-0-0-branch into the trunk. 2004-02-22 16:20:16 +00:00
Felix Kuehling d0031f22cf Conditionally add definition of list_for_each_entry_safe for kernel
versions that don't have it.
2004-02-21 19:54:51 +00:00
Keith Whitwell 82157579b5 drm_ctx_dtor.patch Submitted by: Erdi Chen 2004-02-20 22:55:12 +00:00
Michel Daenzer 2b9c12ef83 Adapt to nopage() prototype change in Linux 2.6.1.
Reviewed by: Arjan van de Ven <arjanv@redhat.com>, additional feedback from
    William Lee Irwin III and Linus Torvalds.
2004-01-11 00:14:28 +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
Keith Whitwell 64006ef86b Add i865 pci id 2003-12-08 16:33:08 +00:00
Eric Anholt 1f7598245a Return EBUSY when attempting to addmap a DRM_SHM area with a lock in it if
dev->lock.hw_lock is already set. This fixes the case of two X Servers
    running on the same head on different VTs with interface 1.1, by making
    the 2nd head fail to inizialize like before.
2003-11-06 04:48:06 +00:00
Alan Hourihane a41a479f74 Changes to DRM(irq_install)...... wrap dev->dma usage with __HAVE_DMA in
irq handler, fixes kernel ooops. comment out some setting of flags that
    are done in DRM(setup) (not sure why both of the above is done in the
    irq handler)
2003-11-05 20:47:28 +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 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 84dfe702e2 Add i852/i855 PCI ID. Also fix whitespace in the other ID definitions. 2003-11-03 05:11:04 +00:00
Jon Smirl e4a2a9c040 Switch pci enumeration call to work on both 2.4 and 2.6 pci_for_each_dev is
not supported on 2.6
2003-10-24 17:40:54 +00:00
Eric Anholt b79d1b341f Move to "old-style" probing as documented in linux/Documentation/pci.txt.
This should resolve the probe problems with radeon framebuffer due to
    pci_driver attachment being exclusive.
2003-10-23 05:56:13 +00:00
Eric Anholt 69d038eb49 Missed the sis.h header in Makefile.linux in the move to shared/. 2003-10-23 05:52:19 +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