attachment:DRM-H5DRM_Independent_2.6.27_28.patch of OpenChrome


Attachment 'DRM-H5DRM_Independent_2.6.27_28.patch'

Download

Toggle line numbers
   1 --- via_chrome9_dma.c.orig	2009-07-14 04:24:36.000000000 +0300
   2 +++ via_chrome9_dma.c	2010-07-24 02:26:38.588790279 +0300
   3 @@ -277,11 +277,9 @@
   4  
   5  	vfree(entry->virtual);
   6  
   7 -	drm_free(entry->busaddr,
   8 -		 entry->pages * sizeof(*entry->busaddr), DRM_MEM_PAGES);
   9 -	drm_free(entry->pagelist,
  10 -		 entry->pages * sizeof(*entry->pagelist), DRM_MEM_PAGES);
  11 -	drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS);
  12 +	kfree(entry->busaddr);
  13 +	kfree(entry->pagelist);
  14 +	kfree(entry);
  15  }
  16  
  17  static int
  18 @@ -299,7 +297,7 @@
  19  	if (dev->sg)
  20  		return -EINVAL;
  21  
  22 -	entry = drm_alloc(sizeof(*entry), DRM_MEM_SGLISTS);
  23 +	entry = kmalloc(sizeof(*entry), GFP_KERNEL);
  24  	if (!entry)
  25  		return -ENOMEM;
  26  
  27 @@ -308,22 +306,20 @@
  28  	DRM_DEBUG("size=%ld pages=%ld\n", request->size, pages);
  29  
  30  	entry->pages = pages;
  31 -	entry->pagelist = drm_alloc(pages * sizeof(*entry->pagelist),
  32 -				    DRM_MEM_PAGES);
  33 +	entry->pagelist = kmalloc(pages * sizeof(*entry->pagelist),
  34 +				    GFP_KERNEL);
  35  	if (!entry->pagelist) {
  36 -		drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS);
  37 +		kfree(entry);
  38  		return -ENOMEM;
  39  	}
  40  
  41  	memset(entry->pagelist, 0, pages * sizeof(*entry->pagelist));
  42  
  43 -	entry->busaddr = drm_alloc(pages * sizeof(*entry->busaddr),
  44 -				   DRM_MEM_PAGES);
  45 +	entry->busaddr = kmalloc(pages * sizeof(*entry->busaddr),
  46 +				   GFP_KERNEL);
  47  	if (!entry->busaddr) {
  48 -		drm_free(entry->pagelist,
  49 -			 entry->pages * sizeof(*entry->pagelist),
  50 -			 DRM_MEM_PAGES);
  51 -		drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS);
  52 +		kfree(entry->pagelist);
  53 +		kfree(entry);
  54  		return -ENOMEM;
  55  	}
  56  	memset((void *)entry->busaddr, 0, pages * sizeof(*entry->busaddr));
  57 @@ -331,12 +327,9 @@
  58  	entry->virtual = __vmalloc(pages << PAGE_SHIFT,
  59  		GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_NOCACHE);
  60  	if (!entry->virtual) {
  61 -		drm_free(entry->busaddr,
  62 -			 entry->pages * sizeof(*entry->busaddr), DRM_MEM_PAGES);
  63 -		drm_free(entry->pagelist,
  64 -			 entry->pages * sizeof(*entry->pagelist),
  65 -			 DRM_MEM_PAGES);
  66 -		drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS);
  67 +		kfree(entry->busaddr);
  68 +		kfree(entry->pagelist);
  69 +		kfree(entry);
  70  		return -ENOMEM;
  71  	}
  72  
  73 --- via_chrome9_drm.c.orig	2009-07-14 04:24:36.000000000 +0300
  74 +++ via_chrome9_drm.c	2010-07-24 01:49:45.692791415 +0300
  75 @@ -702,8 +702,7 @@
  76  	dev->types[8] = _DRM_STAT_SECONDARY;
  77  	dev->types[9] = _DRM_STAT_DMA;
  78  
  79 -	dev_priv = drm_calloc(1, sizeof(struct drm_via_chrome9_private),
  80 -		DRM_MEM_DRIVER);
  81 +	dev_priv = kzalloc(1, sizeof(struct drm_via_chrome9_private));
  82  	if (dev_priv == NULL)
  83  		return -ENOMEM;
  84  
  85 @@ -715,7 +714,7 @@
  86  
  87  	ret = drm_sman_init(&dev_priv->sman, 2, 12, 8);
  88  	if (ret)
  89 -		drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER);
  90 +		kfree(dev_priv);
  91  	return ret;
  92  }
  93  
  94 @@ -725,8 +724,7 @@
  95  
  96  	drm_sman_takedown(&dev_priv->sman);
  97  
  98 -	drm_free(dev_priv, sizeof(struct drm_via_chrome9_private),
  99 -		DRM_MEM_DRIVER);
 100 +	kfree(dev_priv);
 101  
 102  	dev->dev_private = 0;
 103  
 104 --- via_chrome9_drv.c.orig	2009-07-14 04:24:37.000000000 +0300
 105 +++ via_chrome9_drv.c	2010-07-24 01:22:05.456805493 +0300
 106 @@ -35,10 +35,12 @@
 107  #define RING_BUFFER_INIT_FLAG 1
 108  #define RING_BUFFER_CLEANUP_FLAG 2
 109  
 110 -static int dri_library_name(struct drm_device *dev, char *buf)
 111 -{
 112 -	return snprintf(buf, PAGE_SIZE, "via_chrome9");
 113 -}
 114 +/*
 115 + * static int dri_library_name(struct drm_device *dev, char *buf)
 116 + * {
 117 + * 	return snprintf(buf, PAGE_SIZE, "via_chrome9");
 118 + * }
 119 + */
 120  
 121  int via_chrome9_drm_authmagic(struct drm_device *dev, void *data,
 122  	struct drm_file *file_priv)
 123 @@ -217,7 +219,7 @@
 124  	.load = via_chrome9_driver_load,
 125  	.unload = via_chrome9_driver_unload,
 126  	.device_is_agp = via_chrome9_is_agp,
 127 -	.dri_library_name = dri_library_name,
 128 +	/* .dri_library_name = dri_library_name, */
 129  	.reclaim_buffers = drm_core_reclaim_buffers,
 130  	.reclaim_buffers_locked = NULL,
 131  	.reclaim_buffers_idlelocked = via_chrome9_reclaim_buffers_locked,
 132 --- via_chrome9_mm.c.orig	2009-07-14 04:24:37.000000000 +0300
 133 +++ via_chrome9_mm.c	2010-07-24 01:59:18.940789073 +0300
 134 @@ -209,7 +209,7 @@
 135  	struct drm_via_chrome9_private *dev_priv =
 136  		(struct drm_via_chrome9_private *)dev->dev_private;
 137  
 138 -	dev_priv->sarea = drm_getsarea(dev);
 139 +	dev_priv->sarea = (struct drm_map *) drm_getsarea(dev);
 140  	if (!dev_priv->sarea) {
 141  		DRM_ERROR("could not find sarea!\n");
 142  		goto error;

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2010-07-26 09:41:21, 4.1 KB) [[attachment:DRM-H5DRM_Independent_2.6.27_28.patch]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.