summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2001-04-16- Fix typo and remove magic numbersKevin E Martin
2001-04-10Use the linux version of xf86drm.c.David Dawes
2001-04-09First pass of XFree86 4.0.99.2 merge.David Dawes
2001-04-09Import -f XFree86 4.0.99.2David Dawes
2001-04-06- Fix typoKevin E Martin
2001-04-06search /lib/modules/<version>/build/include first, then the others....Alan Hourihane
2001-04-06Handle drivers that don't have __HAVE_SG defined.Alan Hourihane
2001-04-05Merged ati-pcigart-1-0-0Kevin E Martin
2001-04-03include 2.4.2Alan Hourihane
2001-04-03make 2.4.2 -> 2.4.3 change conditional. works with older than 2.4.3 kernelsAlan Hourihane
2001-04-02Update radeon DRM to v1.1.0 (texture upload changes).Gareth Hughes
2001-03-30- Move xf86ConfigDRI declaration from xf86Priv.h to xf86.h.David Dawes
2001-03-30merge in 2.4.3 kernel change.Alan Hourihane
2001-03-21Move #include <linux/config.h> inside the __linux__ #ifdef, so that itDavid Dawes
2001-03-21- Fix MGA header info.Gareth Hughes
2001-03-21Remove compiler warnings, minor cleanups.Gareth Hughes
2001-03-19merge/build fixDavid Dawes
2001-03-19Initial XFree86 4.0.99.1 merge.David Dawes
2001-03-19Import of XFree86 4.0.99.1David Dawes
2001-03-19Update version, date stamp.Gareth Hughes
2001-03-19Remove PRIMPTR completely.Gareth Hughes
2001-03-19Try this...Gareth Hughes
2001-03-18__REALLY_HAVE_MTRR, vmalloc_32 fixes from Jeff Wiedemeier.Gareth Hughes
2001-03-15file agpgart.diff was initially added on branch gamma-2-0-0-branch.Alan Hourihane
2001-03-14Merged sarea-1-0-0Kevin E Martin
2001-03-13Rest of MGA dualhead patch.Gareth Hughes
2001-03-12Try that again...Gareth Hughes
2001-03-08Fix ring space calculations, tests. Based on patch by Bruce Stockwell.Gareth Hughes
2001-03-07Change error message to debug message when client dies while holding theGareth Hughes
2001-03-07surround agp calls in drm_memory with __REALLY_HAVE_AGP instead ofAlan Hourihane
2001-03-06Merge tdfx-3-1-0 branch.Gareth Hughes
2001-03-05allow dristat to find out whether AGP is write-combined or not.Alan Hourihane
2001-03-05fix that last patch to initialize the MTRR when AGP available.Alan Hourihane
2001-03-04Don't try and setup the MTRR for AGP when AGP not available. CheckAlan Hourihane
2001-02-28file drm_scatter.h was initially added on branch ati-pcigart-0-0-1-branch.Jeff Hartmann
2001-02-28Make the hardware bug workaround configurable. That way, people with newerGareth Hughes
2001-02-28Please try this if you experience lockups...Gareth Hughes
2001-02-28Implement drmOpen* without /proc dependence (Fallback to /proc is includedRik Faith
2001-02-21Add Linux 2.2.x support for stubsRik Faith
2001-02-21file gamma_drm.h was initially added on branch sarea-1-0-0-branch.Jeff Hartmann
2001-02-20Fix some warnings and flush pixel cache in idle routine so readpixels worksJeff Hartmann
2001-02-20Disable DRIVER_DMA_QUIESCENT() in r128, radeon drivers. Prevents deadlockGareth Hughes
2001-02-16- Clean up the way customization of the templates is done.Gareth Hughes
2001-02-15Added missing include "drm_lists.h".Keith Whitwell
2001-02-15- Fix up merge.Gareth Hughes
2001-02-15Merge mga-1-0-0-branch into trunk.Gareth Hughes
2001-02-14file i810.h was initially added on branch mga-1-0-0-branch.Gareth Hughes
2001-02-14file radeon.h was initially added on branch mga-1-0-0-branch.Gareth Hughes
2001-02-14file r128.h was initially added on branch mga-1-0-0-branch.Gareth Hughes
2001-02-14file r128_drm.c was initially added on branch mga-1-0-0-branch.Gareth Hughes
t handle, int count, uint32_t *b_offset) { struct drm_device *dev = chan->dev; struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_gpuobj *nobj = NULL; struct mem_block *mem; uint32_t offset; int target, ret; if (!chan->notifier_heap) { DRM_ERROR("Channel %d doesn't have a notifier heap!\n", chan->id); return -EINVAL; } mem = nouveau_mem_alloc_block(chan->notifier_heap, count*32, 0, (struct drm_file *)-2); if (!mem) { DRM_ERROR("Channel %d notifier block full\n", chan->id); return -ENOMEM; } mem->flags = NOUVEAU_MEM_NOTIFIER; offset = chan->notifier_block->start; if (chan->notifier_block->flags & NOUVEAU_MEM_FB) { target = NV_DMA_TARGET_VIDMEM; } else if (chan->notifier_block->flags & NOUVEAU_MEM_AGP) { if (dev_priv->gart_info.type == NOUVEAU_GART_SGDMA && dev_priv->card_type < NV_50) { ret = nouveau_sgdma_get_page(dev, offset, &offset); if (ret) return ret; target = NV_DMA_TARGET_PCI; } else { target = NV_DMA_TARGET_AGP; } } else if (chan->notifier_block->flags & NOUVEAU_MEM_PCI) { target = NV_DMA_TARGET_PCI_NONLINEAR; } else { DRM_ERROR("Bad DMA target, flags 0x%08x!\n", chan->notifier_block->flags); return -EINVAL; } offset += mem->start; if ((ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, offset, mem->size, NV_DMA_ACCESS_RW, target, &nobj))) { nouveau_mem_free_block(mem); DRM_ERROR("Error creating notifier ctxdma: %d\n", ret); return ret; } nobj->dtor = nouveau_notifier_gpuobj_dtor; nobj->priv = mem; if ((ret = nouveau_gpuobj_ref_add(dev, chan, handle, nobj, NULL))) { nouveau_gpuobj_del(dev, &nobj); nouveau_mem_free_block(mem); DRM_ERROR("Error referencing notifier ctxdma: %d\n", ret); return ret; } *b_offset = mem->start; return 0; } int nouveau_ioctl_notifier_alloc(struct drm_device *dev, void *data, struct drm_file *file_priv) { struct drm_nouveau_notifierobj_alloc *na = data; struct nouveau_channel *chan; int ret; NOUVEAU_CHECK_INITIALISED_WITH_RETURN; NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(na->channel, file_priv, chan); ret = nouveau_notifier_alloc(chan, na->handle, na->count, &na->offset); if (ret) return ret; return 0; }