• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/char/drm/

Lines Matching defs:dev_priv

55 int mga_do_wait_for_idle(drm_mga_private_t * dev_priv)
61 for (i = 0; i < dev_priv->usec_timeout; i++) {
77 static int mga_do_dma_reset(drm_mga_private_t * dev_priv)
79 drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv;
80 drm_mga_primary_buffer_t *primary = &dev_priv->prim;
101 void mga_do_dma_flush(drm_mga_private_t * dev_priv)
103 drm_mga_primary_buffer_t *primary = &dev_priv->prim;
111 for (i = 0; i < dev_priv->usec_timeout; i++) {
123 tail = primary->tail + dev_priv->primary->offset;
147 DRM_DEBUG(" head = 0x%06lx\n", head - dev_priv->primary->offset);
148 DRM_DEBUG(" tail = 0x%06lx\n", tail - dev_priv->primary->offset);
152 MGA_WRITE(MGA_PRIMEND, tail | dev_priv->dma_access);
157 void mga_do_dma_wrap_start(drm_mga_private_t * dev_priv)
159 drm_mga_primary_buffer_t *primary = &dev_priv->prim;
172 tail = primary->tail + dev_priv->primary->offset;
180 if (head == dev_priv->primary->offset) {
183 primary->space = head - dev_priv->primary->offset;
186 DRM_DEBUG(" head = 0x%06lx\n", head - dev_priv->primary->offset);
192 MGA_WRITE(MGA_PRIMEND, tail | dev_priv->dma_access);
198 void mga_do_dma_wrap_end(drm_mga_private_t * dev_priv)
200 drm_mga_primary_buffer_t *primary = &dev_priv->prim;
201 drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv;
202 u32 head = dev_priv->primary->offset;
225 drm_mga_private_t *dev_priv = dev->dev_private;
230 dev_priv->sarea_priv->last_dispatch,
232 dev_priv->primary->offset));
235 for (entry = dev_priv->head->next; entry; entry = entry->next) {
238 entry->age.head - dev_priv->primary->offset);
244 static int mga_freelist_init(drm_device_t * dev, drm_mga_private_t * dev_priv)
253 dev_priv->head = drm_alloc(sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER);
254 if (dev_priv->head == NULL)
257 memset(dev_priv->head, 0, sizeof(drm_mga_freelist_t));
258 SET_AGE(&dev_priv->head->age, MGA_BUFFER_USED, 0);
270 entry->next = dev_priv->head->next;
271 entry->prev = dev_priv->head;
275 if (dev_priv->head->next != NULL)
276 dev_priv->head->next->prev = entry;
278 dev_priv->tail = entry;
284 dev_priv->head->next = entry;
292 drm_mga_private_t *dev_priv = dev->dev_private;
297 entry = dev_priv->head;
304 dev_priv->head = dev_priv->tail = NULL;
310 drm_mga_private_t *dev_priv = dev->dev_private;
313 drm_mga_freelist_t *tail = dev_priv->tail;
318 wrap = dev_priv->sarea_priv->last_wrap;
322 tail->age.head - dev_priv->primary->offset : 0,
325 head - dev_priv->primary->offset, wrap);
328 prev = dev_priv->tail->prev;
329 next = dev_priv->tail;
332 dev_priv->tail = prev;
343 drm_mga_private_t *dev_priv = dev->dev_private;
349 dev_priv->primary->offset, buf_priv->list_entry->age.wrap);
352 head = dev_priv->head;
356 prev = dev_priv->tail;
377 drm_mga_private_t *dev_priv;
379 dev_priv = drm_alloc(sizeof(drm_mga_private_t), DRM_MEM_DRIVER);
380 if (!dev_priv)
383 dev->dev_private = (void *)dev_priv;
384 memset(dev_priv, 0, sizeof(drm_mga_private_t));
386 dev_priv->usec_timeout = MGA_DEFAULT_USEC_TIMEOUT;
387 dev_priv->chipset = flags;
389 dev_priv->mmio_base = drm_get_resource_start(dev, 1);
390 dev_priv->mmio_size = drm_get_resource_len(dev, 1);
419 drm_mga_private_t *const dev_priv =
421 unsigned int warp_size = mga_warp_microcode_size(dev_priv);
457 if (dev_priv->chipset == MGA_CARD_TYPE_G200) {
470 dev_priv->agp_size = 0;
476 dev_priv->agp_size = agp_size;
477 dev_priv->agp_handle = agp_req.handle;
495 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->warp);
503 _DRM_AGP, _DRM_READ_ONLY, &dev_priv->primary);
545 _DRM_AGP, 0, &dev_priv->agp_textures);
551 drm_core_ioremap(dev_priv->warp, dev);
552 drm_core_ioremap(dev_priv->primary, dev);
555 if (!dev_priv->warp->handle ||
556 !dev_priv->primary->handle || !dev->agp_buffer_map->handle) {
558 dev_priv->warp->handle, dev_priv->primary->handle,
563 dev_priv->dma_access = MGA_PAGPXFER;
564 dev_priv->wagp_enable = MGA_WAGP_ENABLE;
594 drm_mga_private_t *const dev_priv =
596 unsigned int warp_size = mga_warp_microcode_size(dev_priv);
615 _DRM_READ_ONLY, &dev_priv->warp);
631 _DRM_READ_ONLY, &dev_priv->primary);
641 if (dev_priv->primary->size != dma_bs->primary_size) {
644 (unsigned)dev_priv->primary->size);
645 dma_bs->primary_size = dev_priv->primary->size;
672 dev_priv->dma_access = 0;
673 dev_priv->wagp_enable = 0;
686 drm_mga_private_t *const dev_priv =
689 dev_priv->used_new_dma_init = 1;
694 err = drm_addmap(dev, dev_priv->mmio_base, dev_priv->mmio_size,
695 _DRM_REGISTERS, _DRM_READ_ONLY, &dev_priv->mmio);
703 &dev_priv->status);
747 const drm_mga_private_t *const dev_priv =
760 if (dev_priv->agp_textures != NULL) {
761 bootstrap.texture_handle = dev_priv->agp_textures->offset;
762 bootstrap.texture_size = dev_priv->agp_textures->size;
777 drm_mga_private_t *dev_priv;
781 dev_priv = dev->dev_private;
784 dev_priv->clear_cmd = MGA_DWGCTL_CLEAR | MGA_ATYPE_BLK;
786 dev_priv->clear_cmd = MGA_DWGCTL_CLEAR | MGA_ATYPE_RSTR;
788 dev_priv->maccess = init->maccess;
790 dev_priv->fb_cpp = init->fb_cpp;
791 dev_priv->front_offset = init->front_offset;
792 dev_priv->front_pitch = init->front_pitch;
793 dev_priv->back_offset = init->back_offset;
794 dev_priv->back_pitch = init->back_pitch;
796 dev_priv->depth_cpp = init->depth_cpp;
797 dev_priv->depth_offset = init->depth_offset;
798 dev_priv->depth_pitch = init->depth_pitch;
800 dev_priv->texture_offset = init->texture_offset[0];
801 dev_priv->texture_size = init->texture_size[0];
805 if (!dev_priv->sarea) {
810 if (!dev_priv->used_new_dma_init) {
812 dev_priv->dma_access = MGA_PAGPXFER;
813 dev_priv->wagp_enable = MGA_WAGP_ENABLE;
815 dev_priv->status = drm_core_findmap(dev, init->status_offset);
816 if (!dev_priv->status) {
820 dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset);
821 if (!dev_priv->mmio) {
825 dev_priv->warp = drm_core_findmap(dev, init->warp_offset);
826 if (!dev_priv->warp) {
830 dev_priv->primary = drm_core_findmap(dev, init->primary_offset);
831 if (!dev_priv->primary) {
843 drm_core_ioremap(dev_priv->warp, dev);
844 drm_core_ioremap(dev_priv->primary, dev);
848 dev_priv->sarea_priv =
849 (drm_mga_sarea_t *) ((u8 *) dev_priv->sarea->handle +
852 if (!dev_priv->warp->handle ||
853 !dev_priv->primary->handle ||
854 ((dev_priv->dma_access != 0) &&
861 ret = mga_warp_install_microcode(dev_priv);
867 ret = mga_warp_init(dev_priv);
873 dev_priv->prim.status = (u32 *) dev_priv->status->handle;
875 mga_do_wait_for_idle(dev_priv);
879 MGA_WRITE(MGA_PRIMADDRESS, dev_priv->primary->offset | MGA_DMA_GENERAL);
881 dev_priv->prim.start = (u8 *) dev_priv->primary->handle;
882 dev_priv->prim.end = ((u8 *) dev_priv->primary->handle
883 + dev_priv->primary->size);
884 dev_priv->prim.size = dev_priv->primary->size;
886 dev_priv->prim.tail = 0;
887 dev_priv->prim.space = dev_priv->prim.size;
888 dev_priv->prim.wrapped = 0;
890 dev_priv->prim.last_flush = 0;
891 dev_priv->prim.last_wrap = 0;
893 dev_priv->prim.high_mark = 256 * DMA_BLOCK_SIZE;
895 dev_priv->prim.status[0] = dev_priv->primary->offset;
896 dev_priv->prim.status[1] = 0;
898 dev_priv->sarea_priv->last_wrap = 0;
899 dev_priv->sarea_priv->last_frame.head = 0;
900 dev_priv->sarea_priv->last_frame.wrap = 0;
902 if (mga_freelist_init(dev, dev_priv) < 0) {
923 drm_mga_private_t *dev_priv = dev->dev_private;
925 if ((dev_priv->warp != NULL)
926 && (dev_priv->warp->type != _DRM_CONSISTENT))
927 drm_core_ioremapfree(dev_priv->warp, dev);
929 if ((dev_priv->primary != NULL)
930 && (dev_priv->primary->type != _DRM_CONSISTENT))
931 drm_core_ioremapfree(dev_priv->primary, dev);
936 if (dev_priv->used_new_dma_init) {
938 if (dev_priv->agp_handle != 0) {
942 unbind_req.handle = dev_priv->agp_handle;
945 free_req.handle = dev_priv->agp_handle;
948 dev_priv->agp_textures = NULL;
949 dev_priv->agp_size = 0;
950 dev_priv->agp_handle = 0;
959 dev_priv->warp = NULL;
960 dev_priv->primary = NULL;
961 dev_priv->sarea = NULL;
962 dev_priv->sarea_priv = NULL;
966 dev_priv->mmio = NULL;
967 dev_priv->status = NULL;
968 dev_priv->used_new_dma_init = 0;
971 memset(&dev_priv->prim, 0, sizeof(dev_priv->prim));
972 dev_priv->warp_pipe = 0;
973 memset(dev_priv->warp_pipe_phys, 0,
974 sizeof(dev_priv->warp_pipe_phys));
976 if (dev_priv->head != NULL) {
1016 drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
1029 WRAP_WAIT_WITH_RETURN(dev_priv);
1032 mga_do_dma_flush(dev_priv);
1037 int ret = mga_do_wait_for_idle(dev_priv);
1042 return mga_do_wait_for_idle(dev_priv);
1052 drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
1056 return mga_do_dma_reset(dev_priv);
1091 drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private;
1116 WRAP_TEST_WITH_RETURN(dev_priv);
1150 drm_mga_private_t *dev_priv = dev->dev_private;
1151 return mga_do_wait_for_idle(dev_priv);