Advertisement
Guest User

sarvatt

a guest
Feb 3rd, 2010
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 399.14 KB | None | 0 0
  1. diff -Nru linux-backports-modules-2.6.32-2.6.32/debian/changelog linux-backports-modules-2.6.32-2.6.32/debian/changelog
  2. --- linux-backports-modules-2.6.32-2.6.32/debian/changelog 2010-02-02 20:33:10.000000000 -0500
  3. +++ linux-backports-modules-2.6.32-2.6.32/debian/changelog 2010-02-03 17:13:31.000000000 -0500
  4. @@ -1,3 +1,10 @@
  5. +linux-backports-modules-2.6.32 (2.6.32-12.1~pre2) lucid; urgency=low
  6. +
  7. + * Update nouveau to the latest upstream version as of 2.6.33 pre-rc7
  8. + up to commit c80d292f137275a1ed88e6ed515ecb457051f1a4
  9. +
  10. + -- Robert Hooker <sarvatt@ubuntu.com> Wed, 03 Feb 2010 17:11:24 -0500
  11. +
  12. linux-backports-modules-2.6.32 (2.6.32-12.1~pre1) lucid; urgency=low
  13.  
  14. * Bump ABI to 12 for new Lucid kernel
  15. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ati_pcigart.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ati_pcigart.c
  16. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ati_pcigart.c 2010-01-25 15:21:29.000000000 -0500
  17. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ati_pcigart.c 2010-02-03 17:11:08.000000000 -0500
  18. @@ -38,7 +38,7 @@
  19. static int drm_ati_alloc_pcigart_table(struct drm_device *dev,
  20. struct drm_ati_pcigart_info *gart_info)
  21. {
  22. - gart_info->table_handle = drm_pci_alloc(dev, gart_info->table_size,
  23. + gart_info->table_handle = lbm_drm_pci_alloc(dev, gart_info->table_size,
  24. PAGE_SIZE);
  25. if (gart_info->table_handle == NULL)
  26. return -ENOMEM;
  27. @@ -49,11 +49,11 @@
  28. static void drm_ati_free_pcigart_table(struct drm_device *dev,
  29. struct drm_ati_pcigart_info *gart_info)
  30. {
  31. - drm_pci_free(dev, gart_info->table_handle);
  32. + lbm_drm_pci_free(dev, gart_info->table_handle);
  33. gart_info->table_handle = NULL;
  34. }
  35.  
  36. -int drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
  37. +int lbm_drm_ati_pcigart_cleanup(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
  38. {
  39. struct drm_sg_mem *entry = dev->sg;
  40. unsigned long pages;
  41. @@ -90,9 +90,9 @@
  42.  
  43. return 1;
  44. }
  45. -EXPORT_SYMBOL(drm_ati_pcigart_cleanup);
  46. +EXPORT_SYMBOL(lbm_drm_ati_pcigart_cleanup);
  47.  
  48. -int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
  49. +int lbm_drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *gart_info)
  50. {
  51. struct drm_local_map *map = &gart_info->mapping;
  52. struct drm_sg_mem *entry = dev->sg;
  53. @@ -154,7 +154,7 @@
  54. 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
  55. if (entry->busaddr[i] == 0) {
  56. DRM_ERROR("unable to map PCIGART pages!\n");
  57. - drm_ati_pcigart_cleanup(dev, gart_info);
  58. + lbm_drm_ati_pcigart_cleanup(dev, gart_info);
  59. address = NULL;
  60. bus_address = 0;
  61. goto done;
  62. @@ -198,4 +198,4 @@
  63. gart_info->bus_addr = bus_address;
  64. return ret;
  65. }
  66. -EXPORT_SYMBOL(drm_ati_pcigart_init);
  67. +EXPORT_SYMBOL(lbm_drm_ati_pcigart_init);
  68. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_agpsupport.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_agpsupport.c
  69. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_agpsupport.c 2010-01-25 15:21:29.000000000 -0500
  70. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_agpsupport.c 2010-02-03 17:11:08.000000000 -0500
  71. @@ -44,13 +44,13 @@
  72. * \param inode device inode.
  73. * \param file_priv DRM file private.
  74. * \param cmd command.
  75. - * \param arg pointer to a (output) drm_agp_info structure.
  76. + * \param arg pointer to a (output) lbm_drm_agp_info structure.
  77. * \return zero on success or a negative number on failure.
  78. *
  79. * Verifies the AGP device has been initialized and acquired and fills in the
  80. - * drm_agp_info structure with the information in drm_agp_head::agp_info.
  81. + * lbm_drm_agp_info structure with the information in drm_agp_head::agp_info.
  82. */
  83. -int drm_agp_info(struct drm_device *dev, struct drm_agp_info *info)
  84. +int lbm_drm_agp_info(struct drm_device *dev, struct lbm_drm_agp_info *info)
  85. {
  86. DRM_AGP_KERN *kern;
  87.  
  88. @@ -71,15 +71,15 @@
  89. return 0;
  90. }
  91.  
  92. -EXPORT_SYMBOL(drm_agp_info);
  93. +EXPORT_SYMBOL(lbm_drm_agp_info);
  94.  
  95. int drm_agp_info_ioctl(struct drm_device *dev, void *data,
  96. struct drm_file *file_priv)
  97. {
  98. - struct drm_agp_info *info = data;
  99. + struct lbm_drm_agp_info *info = data;
  100. int err;
  101.  
  102. - err = drm_agp_info(dev, info);
  103. + err = lbm_drm_agp_info(dev, info);
  104. if (err)
  105. return err;
  106.  
  107. @@ -95,7 +95,7 @@
  108. * Verifies the AGP device hasn't been acquired before and calls
  109. * \c agp_backend_acquire.
  110. */
  111. -int drm_agp_acquire(struct drm_device * dev)
  112. +int lbm_drm_agp_acquire(struct drm_device * dev)
  113. {
  114. if (!dev->agp)
  115. return -ENODEV;
  116. @@ -107,7 +107,7 @@
  117. return 0;
  118. }
  119.  
  120. -EXPORT_SYMBOL(drm_agp_acquire);
  121. +EXPORT_SYMBOL(lbm_drm_agp_acquire);
  122.  
  123. /**
  124. * Acquire the AGP device (ioctl).
  125. @@ -124,7 +124,7 @@
  126. int drm_agp_acquire_ioctl(struct drm_device *dev, void *data,
  127. struct drm_file *file_priv)
  128. {
  129. - return drm_agp_acquire((struct drm_device *) file_priv->minor->dev);
  130. + return lbm_drm_agp_acquire((struct drm_device *) file_priv->minor->dev);
  131. }
  132.  
  133. /**
  134. @@ -135,7 +135,7 @@
  135. *
  136. * Verifies the AGP device has been acquired and calls \c agp_backend_release.
  137. */
  138. -int drm_agp_release(struct drm_device * dev)
  139. +int lbm_drm_agp_release(struct drm_device * dev)
  140. {
  141. if (!dev->agp || !dev->agp->acquired)
  142. return -EINVAL;
  143. @@ -143,12 +143,12 @@
  144. dev->agp->acquired = 0;
  145. return 0;
  146. }
  147. -EXPORT_SYMBOL(drm_agp_release);
  148. +EXPORT_SYMBOL(lbm_drm_agp_release);
  149.  
  150. int drm_agp_release_ioctl(struct drm_device *dev, void *data,
  151. struct drm_file *file_priv)
  152. {
  153. - return drm_agp_release(dev);
  154. + return lbm_drm_agp_release(dev);
  155. }
  156.  
  157. /**
  158. @@ -161,7 +161,7 @@
  159. * Verifies the AGP device has been acquired but not enabled, and calls
  160. * \c agp_enable.
  161. */
  162. -int drm_agp_enable(struct drm_device * dev, struct drm_agp_mode mode)
  163. +int lbm_drm_agp_enable(struct drm_device * dev, struct drm_agp_mode mode)
  164. {
  165. if (!dev->agp || !dev->agp->acquired)
  166. return -EINVAL;
  167. @@ -172,14 +172,14 @@
  168. return 0;
  169. }
  170.  
  171. -EXPORT_SYMBOL(drm_agp_enable);
  172. +EXPORT_SYMBOL(lbm_drm_agp_enable);
  173.  
  174. int drm_agp_enable_ioctl(struct drm_device *dev, void *data,
  175. struct drm_file *file_priv)
  176. {
  177. struct drm_agp_mode *mode = data;
  178.  
  179. - return drm_agp_enable(dev, *mode);
  180. + return lbm_drm_agp_enable(dev, *mode);
  181. }
  182.  
  183. /**
  184. @@ -194,7 +194,7 @@
  185. * Verifies the AGP device is present and has been acquired, allocates the
  186. * memory via alloc_agp() and creates a drm_agp_mem entry for it.
  187. */
  188. -int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request)
  189. +int lbm_drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request)
  190. {
  191. struct drm_agp_mem *entry;
  192. DRM_AGP_MEM *memory;
  193. @@ -226,7 +226,7 @@
  194.  
  195. return 0;
  196. }
  197. -EXPORT_SYMBOL(drm_agp_alloc);
  198. +EXPORT_SYMBOL(lbm_drm_agp_alloc);
  199.  
  200.  
  201. int drm_agp_alloc_ioctl(struct drm_device *dev, void *data,
  202. @@ -234,7 +234,7 @@
  203. {
  204. struct drm_agp_buffer *request = data;
  205.  
  206. - return drm_agp_alloc(dev, request);
  207. + return lbm_drm_agp_alloc(dev, request);
  208. }
  209.  
  210. /**
  211. @@ -270,7 +270,7 @@
  212. * Verifies the AGP device is present and acquired, looks-up the AGP memory
  213. * entry and passes it to the unbind_agp() function.
  214. */
  215. -int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request)
  216. +int lbm_drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request)
  217. {
  218. struct drm_agp_mem *entry;
  219. int ret;
  220. @@ -281,12 +281,12 @@
  221. return -EINVAL;
  222. if (!entry->bound)
  223. return -EINVAL;
  224. - ret = drm_unbind_agp(entry->memory);
  225. + ret = lbm_drm_unbind_agp(entry->memory);
  226. if (ret == 0)
  227. entry->bound = 0;
  228. return ret;
  229. }
  230. -EXPORT_SYMBOL(drm_agp_unbind);
  231. +EXPORT_SYMBOL(lbm_drm_agp_unbind);
  232.  
  233.  
  234. int drm_agp_unbind_ioctl(struct drm_device *dev, void *data,
  235. @@ -294,7 +294,7 @@
  236. {
  237. struct drm_agp_binding *request = data;
  238.  
  239. - return drm_agp_unbind(dev, request);
  240. + return lbm_drm_agp_unbind(dev, request);
  241. }
  242.  
  243. /**
  244. @@ -310,7 +310,7 @@
  245. * is currently bound into the GATT. Looks-up the AGP memory entry and passes
  246. * it to bind_agp() function.
  247. */
  248. -int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request)
  249. +int lbm_drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request)
  250. {
  251. struct drm_agp_mem *entry;
  252. int retcode;
  253. @@ -330,7 +330,7 @@
  254. dev->agp->base, entry->bound);
  255. return 0;
  256. }
  257. -EXPORT_SYMBOL(drm_agp_bind);
  258. +EXPORT_SYMBOL(lbm_drm_agp_bind);
  259.  
  260.  
  261. int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
  262. @@ -338,7 +338,7 @@
  263. {
  264. struct drm_agp_binding *request = data;
  265.  
  266. - return drm_agp_bind(dev, request);
  267. + return lbm_drm_agp_bind(dev, request);
  268. }
  269.  
  270. /**
  271. @@ -355,7 +355,7 @@
  272. * unbind_agp(). Frees it via free_agp() as well as the entry itself
  273. * and unlinks from the doubly linked list it's inserted in.
  274. */
  275. -int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request)
  276. +int lbm_drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request)
  277. {
  278. struct drm_agp_mem *entry;
  279.  
  280. @@ -364,15 +364,15 @@
  281. if (!(entry = drm_agp_lookup_entry(dev, request->handle)))
  282. return -EINVAL;
  283. if (entry->bound)
  284. - drm_unbind_agp(entry->memory);
  285. + lbm_drm_unbind_agp(entry->memory);
  286.  
  287. list_del(&entry->head);
  288.  
  289. - drm_free_agp(entry->memory, entry->pages);
  290. + lbm_drm_free_agp(entry->memory, entry->pages);
  291. kfree(entry);
  292. return 0;
  293. }
  294. -EXPORT_SYMBOL(drm_agp_free);
  295. +EXPORT_SYMBOL(lbm_drm_agp_free);
  296.  
  297.  
  298.  
  299. @@ -381,7 +381,7 @@
  300. {
  301. struct drm_agp_buffer *request = data;
  302.  
  303. - return drm_agp_free(dev, request);
  304. + return lbm_drm_agp_free(dev, request);
  305. }
  306.  
  307. /**
  308. @@ -462,7 +462,7 @@
  309. * caller to handle that.
  310. */
  311. DRM_AGP_MEM *
  312. -drm_agp_bind_pages(struct drm_device *dev,
  313. +lbm_drm_agp_bind_pages(struct drm_device *dev,
  314. struct page **pages,
  315. unsigned long num_pages,
  316. uint32_t gtt_offset,
  317. @@ -495,12 +495,12 @@
  318.  
  319. return mem;
  320. }
  321. -EXPORT_SYMBOL(drm_agp_bind_pages);
  322. +EXPORT_SYMBOL(lbm_drm_agp_bind_pages);
  323.  
  324. -void drm_agp_chipset_flush(struct drm_device *dev)
  325. +void lbm_drm_agp_chipset_flush(struct drm_device *dev)
  326. {
  327. agp_flush_chipset(dev->agp->bridge);
  328. }
  329. -EXPORT_SYMBOL(drm_agp_chipset_flush);
  330. +EXPORT_SYMBOL(lbm_drm_agp_chipset_flush);
  331.  
  332. #endif /* __OS_HAS_AGP */
  333. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_auth.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_auth.c
  334. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_auth.c 2010-01-25 15:21:29.000000000 -0500
  335. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_auth.c 2010-02-03 17:11:08.000000000 -0500
  336. @@ -53,7 +53,7 @@
  337. struct drm_device *dev = master->minor->dev;
  338.  
  339. mutex_lock(&dev->struct_mutex);
  340. - if (!drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
  341. + if (!lbm_drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
  342. pt = drm_hash_entry(hash, struct drm_magic_entry, hash_item);
  343. retval = pt->priv;
  344. }
  345. @@ -86,7 +86,7 @@
  346. entry->priv = priv;
  347. entry->hash_item.key = (unsigned long)magic;
  348. mutex_lock(&dev->struct_mutex);
  349. - drm_ht_insert_item(&master->magiclist, &entry->hash_item);
  350. + lbm_drm_ht_insert_item(&master->magiclist, &entry->hash_item);
  351. list_add_tail(&entry->head, &master->magicfree);
  352. mutex_unlock(&dev->struct_mutex);
  353.  
  354. @@ -111,12 +111,12 @@
  355. DRM_DEBUG("%d\n", magic);
  356.  
  357. mutex_lock(&dev->struct_mutex);
  358. - if (drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
  359. + if (lbm_drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
  360. mutex_unlock(&dev->struct_mutex);
  361. return -EINVAL;
  362. }
  363. pt = drm_hash_entry(hash, struct drm_magic_entry, hash_item);
  364. - drm_ht_remove_item(&master->magiclist, hash);
  365. + lbm_drm_ht_remove_item(&master->magiclist, hash);
  366. list_del(&pt->head);
  367. mutex_unlock(&dev->struct_mutex);
  368.  
  369. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_bufs.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_bufs.c
  370. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_bufs.c 2010-01-25 15:21:29.000000000 -0500
  371. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_bufs.c 2010-02-03 17:11:08.000000000 -0500
  372. @@ -38,18 +38,18 @@
  373. #include <asm/shmparam.h>
  374. #include "drmP.h"
  375.  
  376. -resource_size_t drm_get_resource_start(struct drm_device *dev, unsigned int resource)
  377. +resource_size_t lbm_drm_get_resource_start(struct drm_device *dev, unsigned int resource)
  378. {
  379. return pci_resource_start(dev->pdev, resource);
  380. }
  381. -EXPORT_SYMBOL(drm_get_resource_start);
  382. +EXPORT_SYMBOL(lbm_drm_get_resource_start);
  383.  
  384. -resource_size_t drm_get_resource_len(struct drm_device *dev, unsigned int resource)
  385. +resource_size_t lbm_drm_get_resource_len(struct drm_device *dev, unsigned int resource)
  386. {
  387. return pci_resource_len(dev->pdev, resource);
  388. }
  389.  
  390. -EXPORT_SYMBOL(drm_get_resource_len);
  391. +EXPORT_SYMBOL(lbm_drm_get_resource_len);
  392.  
  393. static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
  394. struct drm_local_map *map)
  395. @@ -101,7 +101,7 @@
  396. if (!use_hashed_handle) {
  397. int ret;
  398. hash->key = user_token >> PAGE_SHIFT;
  399. - ret = drm_ht_insert_item(&dev->map_hash, hash);
  400. + ret = lbm_drm_ht_insert_item(&dev->map_hash, hash);
  401. if (ret != -EINVAL)
  402. return ret;
  403. }
  404. @@ -127,7 +127,7 @@
  405. add |= ((user_token >> PAGE_SHIFT) & ((1UL << bits) - 1UL));
  406. }
  407.  
  408. - return drm_ht_just_insert_please(&dev->map_hash, hash,
  409. + return lbm_drm_ht_just_insert_please(&dev->map_hash, hash,
  410. user_token, 32 - PAGE_SHIFT - 3,
  411. shift, add);
  412. }
  413. @@ -249,7 +249,7 @@
  414. }
  415. map->handle = vmalloc_user(map->size);
  416. DRM_DEBUG("%lu %d %p\n",
  417. - map->size, drm_order(map->size), map->handle);
  418. + map->size, lbm_drm_order(map->size), map->handle);
  419. if (!map->handle) {
  420. kfree(map);
  421. return -ENOMEM;
  422. @@ -326,7 +326,7 @@
  423. * As we're limiting the address to 2^32-1 (or less),
  424. * casting it down to 32 bits is no problem, but we
  425. * need to point to a 64bit variable first. */
  426. - dmah = drm_pci_alloc(dev, map->size, map->size);
  427. + dmah = lbm_drm_pci_alloc(dev, map->size, map->size);
  428. if (!dmah) {
  429. kfree(map);
  430. return -ENOMEM;
  431. @@ -377,7 +377,7 @@
  432. return 0;
  433. }
  434.  
  435. -int drm_addmap(struct drm_device * dev, resource_size_t offset,
  436. +int lbm_drm_addmap(struct drm_device * dev, resource_size_t offset,
  437. unsigned int size, enum drm_map_type type,
  438. enum drm_map_flags flags, struct drm_local_map ** map_ptr)
  439. {
  440. @@ -390,7 +390,7 @@
  441. return rc;
  442. }
  443.  
  444. -EXPORT_SYMBOL(drm_addmap);
  445. +EXPORT_SYMBOL(lbm_drm_addmap);
  446.  
  447. /**
  448. * Ioctl to specify a range of memory that is available for mapping by a
  449. @@ -432,9 +432,9 @@
  450. * its being used, and free any associate resource (such as MTRR's) if it's not
  451. * being on use.
  452. *
  453. - * \sa drm_addmap
  454. + * \sa lbm_drm_addmap
  455. */
  456. -int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map)
  457. +int lbm_drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map)
  458. {
  459. struct drm_map_list *r_list = NULL, *list_t;
  460. drm_dma_handle_t dmah;
  461. @@ -495,19 +495,19 @@
  462.  
  463. return 0;
  464. }
  465. -EXPORT_SYMBOL(drm_rmmap_locked);
  466. +EXPORT_SYMBOL(lbm_drm_rmmap_locked);
  467.  
  468. -int drm_rmmap(struct drm_device *dev, struct drm_local_map *map)
  469. +int lbm_drm_rmmap(struct drm_device *dev, struct drm_local_map *map)
  470. {
  471. int ret;
  472.  
  473. mutex_lock(&dev->struct_mutex);
  474. - ret = drm_rmmap_locked(dev, map);
  475. + ret = lbm_drm_rmmap_locked(dev, map);
  476. mutex_unlock(&dev->struct_mutex);
  477.  
  478. return ret;
  479. }
  480. -EXPORT_SYMBOL(drm_rmmap);
  481. +EXPORT_SYMBOL(lbm_drm_rmmap);
  482.  
  483. /* The rmmap ioctl appears to be unnecessary. All mappings are torn down on
  484. * the last close of the device, and this is necessary for cleanup when things
  485. @@ -556,7 +556,7 @@
  486. return 0;
  487. }
  488.  
  489. - ret = drm_rmmap_locked(dev, map);
  490. + ret = lbm_drm_rmmap_locked(dev, map);
  491.  
  492. mutex_unlock(&dev->struct_mutex);
  493.  
  494. @@ -579,7 +579,7 @@
  495. if (entry->seg_count) {
  496. for (i = 0; i < entry->seg_count; i++) {
  497. if (entry->seglist[i]) {
  498. - drm_pci_free(dev, entry->seglist[i]);
  499. + lbm_drm_pci_free(dev, entry->seglist[i]);
  500. }
  501. }
  502. kfree(entry->seglist);
  503. @@ -609,7 +609,7 @@
  504. * reallocates the buffer list of the same size order to accommodate the new
  505. * buffers.
  506. */
  507. -int drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request)
  508. +int lbm_drm_addbufs_agp(struct drm_device * dev, struct drm_buf_desc * request)
  509. {
  510. struct drm_device_dma *dma = dev->dma;
  511. struct drm_buf_entry *entry;
  512. @@ -631,7 +631,7 @@
  513. return -EINVAL;
  514.  
  515. count = request->count;
  516. - order = drm_order(request->size);
  517. + order = lbm_drm_order(request->size);
  518. size = 1 << order;
  519.  
  520. alignment = (request->flags & _DRM_PAGE_ALIGN)
  521. @@ -774,10 +774,10 @@
  522. atomic_dec(&dev->buf_alloc);
  523. return 0;
  524. }
  525. -EXPORT_SYMBOL(drm_addbufs_agp);
  526. +EXPORT_SYMBOL(lbm_drm_addbufs_agp);
  527. #endif /* __OS_HAS_AGP */
  528.  
  529. -int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request)
  530. +int lbm_drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request)
  531. {
  532. struct drm_device_dma *dma = dev->dma;
  533. int count;
  534. @@ -806,7 +806,7 @@
  535. return -EPERM;
  536.  
  537. count = request->count;
  538. - order = drm_order(request->size);
  539. + order = lbm_drm_order(request->size);
  540. size = 1 << order;
  541.  
  542. DRM_DEBUG("count=%d, size=%d (%d), order=%d, queue_count=%d\n",
  543. @@ -885,7 +885,7 @@
  544.  
  545. while (entry->buf_count < count) {
  546.  
  547. - dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000);
  548. + dmah = lbm_drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000);
  549.  
  550. if (!dmah) {
  551. /* Set count correctly so we free the proper amount. */
  552. @@ -985,7 +985,7 @@
  553. return 0;
  554.  
  555. }
  556. -EXPORT_SYMBOL(drm_addbufs_pci);
  557. +EXPORT_SYMBOL(lbm_drm_addbufs_pci);
  558.  
  559. static int drm_addbufs_sg(struct drm_device * dev, struct drm_buf_desc * request)
  560. {
  561. @@ -1014,7 +1014,7 @@
  562. return -EPERM;
  563.  
  564. count = request->count;
  565. - order = drm_order(request->size);
  566. + order = lbm_drm_order(request->size);
  567. size = 1 << order;
  568.  
  569. alignment = (request->flags & _DRM_PAGE_ALIGN)
  570. @@ -1175,7 +1175,7 @@
  571. return -EPERM;
  572.  
  573. count = request->count;
  574. - order = drm_order(request->size);
  575. + order = lbm_drm_order(request->size);
  576. size = 1 << order;
  577.  
  578. alignment = (request->flags & _DRM_PAGE_ALIGN)
  579. @@ -1333,7 +1333,7 @@
  580.  
  581. #if __OS_HAS_AGP
  582. if (request->flags & _DRM_AGP_BUFFER)
  583. - ret = drm_addbufs_agp(dev, request);
  584. + ret = lbm_drm_addbufs_agp(dev, request);
  585. else
  586. #endif
  587. if (request->flags & _DRM_SG_BUFFER)
  588. @@ -1341,7 +1341,7 @@
  589. else if (request->flags & _DRM_FB_BUFFER)
  590. ret = drm_addbufs_fb(dev, request);
  591. else
  592. - ret = drm_addbufs_pci(dev, request);
  593. + ret = lbm_drm_addbufs_pci(dev, request);
  594.  
  595. return ret;
  596. }
  597. @@ -1458,7 +1458,7 @@
  598.  
  599. DRM_DEBUG("%d, %d, %d\n",
  600. request->size, request->low_mark, request->high_mark);
  601. - order = drm_order(request->size);
  602. + order = lbm_drm_order(request->size);
  603. if (order < DRM_MIN_ORDER || order > DRM_MAX_ORDER)
  604. return -EINVAL;
  605. entry = &dma->bufs[order];
  606. @@ -1533,7 +1533,7 @@
  607. *
  608. * Maps the AGP, SG or PCI buffer region with do_mmap(), and copies information
  609. * about each buffer into user space. For PCI buffers, it calls do_mmap() with
  610. - * offset equal to 0, which drm_mmap() interpretes as PCI buffers and calls
  611. + * offset equal to 0, which lbm_drm_mmap() interpretes as PCI buffers and calls
  612. * drm_mmap_dma().
  613. */
  614. int drm_mapbufs(struct drm_device *dev, void *data,
  615. @@ -1636,7 +1636,7 @@
  616. *
  617. * \todo Can be made faster.
  618. */
  619. -int drm_order(unsigned long size)
  620. +int lbm_drm_order(unsigned long size)
  621. {
  622. int order;
  623. unsigned long tmp;
  624. @@ -1648,4 +1648,4 @@
  625.  
  626. return order;
  627. }
  628. -EXPORT_SYMBOL(drm_order);
  629. +EXPORT_SYMBOL(lbm_drm_order);
  630. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_cache.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_cache.c
  631. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_cache.c 2010-01-25 15:21:29.000000000 -0500
  632. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_cache.c 2010-02-03 17:11:08.000000000 -0500
  633. @@ -65,7 +65,7 @@
  634. #endif
  635.  
  636. void
  637. -drm_clflush_pages(struct page *pages[], unsigned long num_pages)
  638. +lbm_drm_clflush_pages(struct page *pages[], unsigned long num_pages)
  639. {
  640.  
  641. #if defined(CONFIG_X86)
  642. @@ -96,4 +96,4 @@
  643. WARN_ON_ONCE(1);
  644. #endif
  645. }
  646. -EXPORT_SYMBOL(drm_clflush_pages);
  647. +EXPORT_SYMBOL(lbm_drm_clflush_pages);
  648. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc.c
  649. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc.c 2010-01-25 15:21:29.000000000 -0500
  650. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc.c 2010-02-03 17:11:08.000000000 -0500
  651. @@ -169,7 +169,7 @@
  652. { DRM_MODE_ENCODER_TVDAC, "TV" },
  653. };
  654.  
  655. -char *drm_get_encoder_name(struct drm_encoder *encoder)
  656. +char *lbm_drm_get_encoder_name(struct drm_encoder *encoder)
  657. {
  658. static char buf[32];
  659.  
  660. @@ -178,9 +178,9 @@
  661. encoder->base.id);
  662. return buf;
  663. }
  664. -EXPORT_SYMBOL(drm_get_encoder_name);
  665. +EXPORT_SYMBOL(lbm_drm_get_encoder_name);
  666.  
  667. -char *drm_get_connector_name(struct drm_connector *connector)
  668. +char *lbm_drm_get_connector_name(struct drm_connector *connector)
  669. {
  670. static char buf[32];
  671.  
  672. @@ -189,7 +189,7 @@
  673. connector->connector_type_id);
  674. return buf;
  675. }
  676. -EXPORT_SYMBOL(drm_get_connector_name);
  677. +EXPORT_SYMBOL(lbm_drm_get_connector_name);
  678.  
  679. char *drm_get_connector_status_name(enum drm_connector_status status)
  680. {
  681. @@ -257,7 +257,7 @@
  682. mutex_unlock(&dev->mode_config.idr_mutex);
  683. }
  684.  
  685. -struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
  686. +struct drm_mode_object *lbm_drm_mode_object_find(struct drm_device *dev,
  687. uint32_t id, uint32_t type)
  688. {
  689. struct drm_mode_object *obj = NULL;
  690. @@ -270,10 +270,10 @@
  691.  
  692. return obj;
  693. }
  694. -EXPORT_SYMBOL(drm_mode_object_find);
  695. +EXPORT_SYMBOL(lbm_drm_mode_object_find);
  696.  
  697. /**
  698. - * drm_framebuffer_init - initialize a framebuffer
  699. + * lbm_drm_framebuffer_init - initialize a framebuffer
  700. * @dev: DRM device
  701. *
  702. * LOCKING:
  703. @@ -285,7 +285,7 @@
  704. * RETURNS:
  705. * Zero on success, error code on failure.
  706. */
  707. -int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb,
  708. +int lbm_drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb,
  709. const struct drm_framebuffer_funcs *funcs)
  710. {
  711. int ret;
  712. @@ -302,10 +302,10 @@
  713.  
  714. return 0;
  715. }
  716. -EXPORT_SYMBOL(drm_framebuffer_init);
  717. +EXPORT_SYMBOL(lbm_drm_framebuffer_init);
  718.  
  719. /**
  720. - * drm_framebuffer_cleanup - remove a framebuffer object
  721. + * lbm_drm_framebuffer_cleanup - remove a framebuffer object
  722. * @fb: framebuffer to remove
  723. *
  724. * LOCKING:
  725. @@ -314,7 +314,7 @@
  726. * Scans all the CRTCs in @dev's mode_config. If they're using @fb, removes
  727. * it, setting it to NULL.
  728. */
  729. -void drm_framebuffer_cleanup(struct drm_framebuffer *fb)
  730. +void lbm_drm_framebuffer_cleanup(struct drm_framebuffer *fb)
  731. {
  732. struct drm_device *dev = fb->dev;
  733. struct drm_crtc *crtc;
  734. @@ -338,10 +338,10 @@
  735. list_del(&fb->head);
  736. dev->mode_config.num_fb--;
  737. }
  738. -EXPORT_SYMBOL(drm_framebuffer_cleanup);
  739. +EXPORT_SYMBOL(lbm_drm_framebuffer_cleanup);
  740.  
  741. /**
  742. - * drm_crtc_init - Initialise a new CRTC object
  743. + * lbm_drm_crtc_init - Initialise a new CRTC object
  744. * @dev: DRM device
  745. * @crtc: CRTC object to init
  746. * @funcs: callbacks for the new CRTC
  747. @@ -351,7 +351,7 @@
  748. *
  749. * Inits a new object created as base part of an driver crtc object.
  750. */
  751. -void drm_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
  752. +void lbm_drm_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
  753. const struct drm_crtc_funcs *funcs)
  754. {
  755. crtc->dev = dev;
  756. @@ -364,10 +364,10 @@
  757. dev->mode_config.num_crtc++;
  758. mutex_unlock(&dev->mode_config.mutex);
  759. }
  760. -EXPORT_SYMBOL(drm_crtc_init);
  761. +EXPORT_SYMBOL(lbm_drm_crtc_init);
  762.  
  763. /**
  764. - * drm_crtc_cleanup - Cleans up the core crtc usage.
  765. + * lbm_drm_crtc_cleanup - Cleans up the core crtc usage.
  766. * @crtc: CRTC to cleanup
  767. *
  768. * LOCKING:
  769. @@ -376,7 +376,7 @@
  770. * Cleanup @crtc. Removes from drm modesetting space
  771. * does NOT free object, caller does that.
  772. */
  773. -void drm_crtc_cleanup(struct drm_crtc *crtc)
  774. +void lbm_drm_crtc_cleanup(struct drm_crtc *crtc)
  775. {
  776. struct drm_device *dev = crtc->dev;
  777.  
  778. @@ -389,10 +389,10 @@
  779. list_del(&crtc->head);
  780. dev->mode_config.num_crtc--;
  781. }
  782. -EXPORT_SYMBOL(drm_crtc_cleanup);
  783. +EXPORT_SYMBOL(lbm_drm_crtc_cleanup);
  784.  
  785. /**
  786. - * drm_mode_probed_add - add a mode to a connector's probed mode list
  787. + * lbm_drm_mode_probed_add - add a mode to a connector's probed mode list
  788. * @connector: connector the new mode
  789. * @mode: mode data
  790. *
  791. @@ -401,15 +401,15 @@
  792. *
  793. * Add @mode to @connector's mode list for later use.
  794. */
  795. -void drm_mode_probed_add(struct drm_connector *connector,
  796. +void lbm_drm_mode_probed_add(struct drm_connector *connector,
  797. struct drm_display_mode *mode)
  798. {
  799. list_add(&mode->head, &connector->probed_modes);
  800. }
  801. -EXPORT_SYMBOL(drm_mode_probed_add);
  802. +EXPORT_SYMBOL(lbm_drm_mode_probed_add);
  803.  
  804. /**
  805. - * drm_mode_remove - remove and free a mode
  806. + * lbm_drm_mode_remove - remove and free a mode
  807. * @connector: connector list to modify
  808. * @mode: mode to remove
  809. *
  810. @@ -418,16 +418,16 @@
  811. *
  812. * Remove @mode from @connector's mode list, then free it.
  813. */
  814. -void drm_mode_remove(struct drm_connector *connector,
  815. +void lbm_drm_mode_remove(struct drm_connector *connector,
  816. struct drm_display_mode *mode)
  817. {
  818. list_del(&mode->head);
  819. kfree(mode);
  820. }
  821. -EXPORT_SYMBOL(drm_mode_remove);
  822. +EXPORT_SYMBOL(lbm_drm_mode_remove);
  823.  
  824. /**
  825. - * drm_connector_init - Init a preallocated connector
  826. + * lbm_drm_connector_init - Init a preallocated connector
  827. * @dev: DRM device
  828. * @connector: the connector to init
  829. * @funcs: callbacks for this connector
  830. @@ -439,7 +439,7 @@
  831. * Initialises a preallocated connector. Connectors should be
  832. * subclassed as part of driver connector objects.
  833. */
  834. -void drm_connector_init(struct drm_device *dev,
  835. +void lbm_drm_connector_init(struct drm_device *dev,
  836. struct drm_connector *connector,
  837. const struct drm_connector_funcs *funcs,
  838. int connector_type)
  839. @@ -460,18 +460,18 @@
  840. list_add_tail(&connector->head, &dev->mode_config.connector_list);
  841. dev->mode_config.num_connector++;
  842.  
  843. - drm_connector_attach_property(connector,
  844. + lbm_drm_connector_attach_property(connector,
  845. dev->mode_config.edid_property, 0);
  846.  
  847. - drm_connector_attach_property(connector,
  848. + lbm_drm_connector_attach_property(connector,
  849. dev->mode_config.dpms_property, 0);
  850.  
  851. mutex_unlock(&dev->mode_config.mutex);
  852. }
  853. -EXPORT_SYMBOL(drm_connector_init);
  854. +EXPORT_SYMBOL(lbm_drm_connector_init);
  855.  
  856. /**
  857. - * drm_connector_cleanup - cleans up an initialised connector
  858. + * lbm_drm_connector_cleanup - cleans up an initialised connector
  859. * @connector: connector to cleanup
  860. *
  861. * LOCKING:
  862. @@ -479,19 +479,19 @@
  863. *
  864. * Cleans up the connector but doesn't free the object.
  865. */
  866. -void drm_connector_cleanup(struct drm_connector *connector)
  867. +void lbm_drm_connector_cleanup(struct drm_connector *connector)
  868. {
  869. struct drm_device *dev = connector->dev;
  870. struct drm_display_mode *mode, *t;
  871.  
  872. list_for_each_entry_safe(mode, t, &connector->probed_modes, head)
  873. - drm_mode_remove(connector, mode);
  874. + lbm_drm_mode_remove(connector, mode);
  875.  
  876. list_for_each_entry_safe(mode, t, &connector->modes, head)
  877. - drm_mode_remove(connector, mode);
  878. + lbm_drm_mode_remove(connector, mode);
  879.  
  880. list_for_each_entry_safe(mode, t, &connector->user_modes, head)
  881. - drm_mode_remove(connector, mode);
  882. + lbm_drm_mode_remove(connector, mode);
  883.  
  884. kfree(connector->fb_helper_private);
  885. mutex_lock(&dev->mode_config.mutex);
  886. @@ -499,9 +499,9 @@
  887. list_del(&connector->head);
  888. mutex_unlock(&dev->mode_config.mutex);
  889. }
  890. -EXPORT_SYMBOL(drm_connector_cleanup);
  891. +EXPORT_SYMBOL(lbm_drm_connector_cleanup);
  892.  
  893. -void drm_encoder_init(struct drm_device *dev,
  894. +void lbm_drm_encoder_init(struct drm_device *dev,
  895. struct drm_encoder *encoder,
  896. const struct drm_encoder_funcs *funcs,
  897. int encoder_type)
  898. @@ -519,9 +519,9 @@
  899.  
  900. mutex_unlock(&dev->mode_config.mutex);
  901. }
  902. -EXPORT_SYMBOL(drm_encoder_init);
  903. +EXPORT_SYMBOL(lbm_drm_encoder_init);
  904.  
  905. -void drm_encoder_cleanup(struct drm_encoder *encoder)
  906. +void lbm_drm_encoder_cleanup(struct drm_encoder *encoder)
  907. {
  908. struct drm_device *dev = encoder->dev;
  909. mutex_lock(&dev->mode_config.mutex);
  910. @@ -529,10 +529,10 @@
  911. list_del(&encoder->head);
  912. mutex_unlock(&dev->mode_config.mutex);
  913. }
  914. -EXPORT_SYMBOL(drm_encoder_cleanup);
  915. +EXPORT_SYMBOL(lbm_drm_encoder_cleanup);
  916.  
  917. /**
  918. - * drm_mode_create - create a new display mode
  919. + * lbm_drm_mode_create - create a new display mode
  920. * @dev: DRM device
  921. *
  922. * LOCKING:
  923. @@ -543,7 +543,7 @@
  924. * RETURNS:
  925. * Pointer to new mode on success, NULL on error.
  926. */
  927. -struct drm_display_mode *drm_mode_create(struct drm_device *dev)
  928. +struct drm_display_mode *lbm_drm_mode_create(struct drm_device *dev)
  929. {
  930. struct drm_display_mode *nmode;
  931.  
  932. @@ -554,10 +554,10 @@
  933. drm_mode_object_get(dev, &nmode->base, DRM_MODE_OBJECT_MODE);
  934. return nmode;
  935. }
  936. -EXPORT_SYMBOL(drm_mode_create);
  937. +EXPORT_SYMBOL(lbm_drm_mode_create);
  938.  
  939. /**
  940. - * drm_mode_destroy - remove a mode
  941. + * lbm_drm_mode_destroy - remove a mode
  942. * @dev: DRM device
  943. * @mode: mode to remove
  944. *
  945. @@ -566,13 +566,13 @@
  946. *
  947. * Free @mode's unique identifier, then free it.
  948. */
  949. -void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode)
  950. +void lbm_drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode)
  951. {
  952. drm_mode_object_put(dev, &mode->base);
  953.  
  954. kfree(mode);
  955. }
  956. -EXPORT_SYMBOL(drm_mode_destroy);
  957. +EXPORT_SYMBOL(lbm_drm_mode_destroy);
  958.  
  959. static int drm_mode_create_standard_connector_properties(struct drm_device *dev)
  960. {
  961. @@ -583,15 +583,15 @@
  962. /*
  963. * Standard properties (apply to all connectors)
  964. */
  965. - edid = drm_property_create(dev, DRM_MODE_PROP_BLOB |
  966. + edid = lbm_drm_property_create(dev, DRM_MODE_PROP_BLOB |
  967. DRM_MODE_PROP_IMMUTABLE,
  968. "EDID", 0);
  969. dev->mode_config.edid_property = edid;
  970.  
  971. - dpms = drm_property_create(dev, DRM_MODE_PROP_ENUM,
  972. + dpms = lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM,
  973. "DPMS", ARRAY_SIZE(drm_dpms_enum_list));
  974. for (i = 0; i < ARRAY_SIZE(drm_dpms_enum_list); i++)
  975. - drm_property_add_enum(dpms, i, drm_dpms_enum_list[i].type,
  976. + lbm_drm_property_add_enum(dpms, i, drm_dpms_enum_list[i].type,
  977. drm_dpms_enum_list[i].name);
  978. dev->mode_config.dpms_property = dpms;
  979.  
  980. @@ -599,12 +599,12 @@
  981. }
  982.  
  983. /**
  984. - * drm_mode_create_dvi_i_properties - create DVI-I specific connector properties
  985. + * lbm_drm_mode_create_dvi_i_properties - create DVI-I specific connector properties
  986. * @dev: DRM device
  987. *
  988. * Called by a driver the first time a DVI-I connector is made.
  989. */
  990. -int drm_mode_create_dvi_i_properties(struct drm_device *dev)
  991. +int lbm_drm_mode_create_dvi_i_properties(struct drm_device *dev)
  992. {
  993. struct drm_property *dvi_i_selector;
  994. struct drm_property *dvi_i_subconnector;
  995. @@ -614,29 +614,29 @@
  996. return 0;
  997.  
  998. dvi_i_selector =
  999. - drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1000. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1001. "select subconnector",
  1002. ARRAY_SIZE(drm_dvi_i_select_enum_list));
  1003. for (i = 0; i < ARRAY_SIZE(drm_dvi_i_select_enum_list); i++)
  1004. - drm_property_add_enum(dvi_i_selector, i,
  1005. + lbm_drm_property_add_enum(dvi_i_selector, i,
  1006. drm_dvi_i_select_enum_list[i].type,
  1007. drm_dvi_i_select_enum_list[i].name);
  1008. dev->mode_config.dvi_i_select_subconnector_property = dvi_i_selector;
  1009.  
  1010. dvi_i_subconnector =
  1011. - drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1012. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1013. DRM_MODE_PROP_IMMUTABLE,
  1014. "subconnector",
  1015. ARRAY_SIZE(drm_dvi_i_subconnector_enum_list));
  1016. for (i = 0; i < ARRAY_SIZE(drm_dvi_i_subconnector_enum_list); i++)
  1017. - drm_property_add_enum(dvi_i_subconnector, i,
  1018. + lbm_drm_property_add_enum(dvi_i_subconnector, i,
  1019. drm_dvi_i_subconnector_enum_list[i].type,
  1020. drm_dvi_i_subconnector_enum_list[i].name);
  1021. dev->mode_config.dvi_i_subconnector_property = dvi_i_subconnector;
  1022.  
  1023. return 0;
  1024. }
  1025. -EXPORT_SYMBOL(drm_mode_create_dvi_i_properties);
  1026. +EXPORT_SYMBOL(lbm_drm_mode_create_dvi_i_properties);
  1027.  
  1028. /**
  1029. * drm_create_tv_properties - create TV specific connector properties
  1030. @@ -649,7 +649,7 @@
  1031. * responsible for allocating a list of format names and passing them to
  1032. * this routine.
  1033. */
  1034. -int drm_mode_create_tv_properties(struct drm_device *dev, int num_modes,
  1035. +int lbm_drm_mode_create_tv_properties(struct drm_device *dev, int num_modes,
  1036. char *modes[])
  1037. {
  1038. struct drm_property *tv_selector;
  1039. @@ -662,21 +662,21 @@
  1040. /*
  1041. * Basic connector properties
  1042. */
  1043. - tv_selector = drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1044. + tv_selector = lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1045. "select subconnector",
  1046. ARRAY_SIZE(drm_tv_select_enum_list));
  1047. for (i = 0; i < ARRAY_SIZE(drm_tv_select_enum_list); i++)
  1048. - drm_property_add_enum(tv_selector, i,
  1049. + lbm_drm_property_add_enum(tv_selector, i,
  1050. drm_tv_select_enum_list[i].type,
  1051. drm_tv_select_enum_list[i].name);
  1052. dev->mode_config.tv_select_subconnector_property = tv_selector;
  1053.  
  1054. tv_subconnector =
  1055. - drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1056. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1057. DRM_MODE_PROP_IMMUTABLE, "subconnector",
  1058. ARRAY_SIZE(drm_tv_subconnector_enum_list));
  1059. for (i = 0; i < ARRAY_SIZE(drm_tv_subconnector_enum_list); i++)
  1060. - drm_property_add_enum(tv_subconnector, i,
  1061. + lbm_drm_property_add_enum(tv_subconnector, i,
  1062. drm_tv_subconnector_enum_list[i].type,
  1063. drm_tv_subconnector_enum_list[i].name);
  1064. dev->mode_config.tv_subconnector_property = tv_subconnector;
  1065. @@ -685,84 +685,84 @@
  1066. * Other, TV specific properties: margins & TV modes.
  1067. */
  1068. dev->mode_config.tv_left_margin_property =
  1069. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1070. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1071. "left margin", 2);
  1072. dev->mode_config.tv_left_margin_property->values[0] = 0;
  1073. dev->mode_config.tv_left_margin_property->values[1] = 100;
  1074.  
  1075. dev->mode_config.tv_right_margin_property =
  1076. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1077. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1078. "right margin", 2);
  1079. dev->mode_config.tv_right_margin_property->values[0] = 0;
  1080. dev->mode_config.tv_right_margin_property->values[1] = 100;
  1081.  
  1082. dev->mode_config.tv_top_margin_property =
  1083. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1084. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1085. "top margin", 2);
  1086. dev->mode_config.tv_top_margin_property->values[0] = 0;
  1087. dev->mode_config.tv_top_margin_property->values[1] = 100;
  1088.  
  1089. dev->mode_config.tv_bottom_margin_property =
  1090. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1091. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1092. "bottom margin", 2);
  1093. dev->mode_config.tv_bottom_margin_property->values[0] = 0;
  1094. dev->mode_config.tv_bottom_margin_property->values[1] = 100;
  1095.  
  1096. dev->mode_config.tv_mode_property =
  1097. - drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1098. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM,
  1099. "mode", num_modes);
  1100. for (i = 0; i < num_modes; i++)
  1101. - drm_property_add_enum(dev->mode_config.tv_mode_property, i,
  1102. + lbm_drm_property_add_enum(dev->mode_config.tv_mode_property, i,
  1103. i, modes[i]);
  1104.  
  1105. dev->mode_config.tv_brightness_property =
  1106. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1107. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1108. "brightness", 2);
  1109. dev->mode_config.tv_brightness_property->values[0] = 0;
  1110. dev->mode_config.tv_brightness_property->values[1] = 100;
  1111.  
  1112. dev->mode_config.tv_contrast_property =
  1113. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1114. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1115. "contrast", 2);
  1116. dev->mode_config.tv_contrast_property->values[0] = 0;
  1117. dev->mode_config.tv_contrast_property->values[1] = 100;
  1118.  
  1119. dev->mode_config.tv_flicker_reduction_property =
  1120. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1121. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1122. "flicker reduction", 2);
  1123. dev->mode_config.tv_flicker_reduction_property->values[0] = 0;
  1124. dev->mode_config.tv_flicker_reduction_property->values[1] = 100;
  1125.  
  1126. dev->mode_config.tv_overscan_property =
  1127. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1128. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1129. "overscan", 2);
  1130. dev->mode_config.tv_overscan_property->values[0] = 0;
  1131. dev->mode_config.tv_overscan_property->values[1] = 100;
  1132.  
  1133. dev->mode_config.tv_saturation_property =
  1134. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1135. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1136. "saturation", 2);
  1137. dev->mode_config.tv_saturation_property->values[0] = 0;
  1138. dev->mode_config.tv_saturation_property->values[1] = 100;
  1139.  
  1140. dev->mode_config.tv_hue_property =
  1141. - drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1142. + lbm_drm_property_create(dev, DRM_MODE_PROP_RANGE,
  1143. "hue", 2);
  1144. dev->mode_config.tv_hue_property->values[0] = 0;
  1145. dev->mode_config.tv_hue_property->values[1] = 100;
  1146.  
  1147. return 0;
  1148. }
  1149. -EXPORT_SYMBOL(drm_mode_create_tv_properties);
  1150. +EXPORT_SYMBOL(lbm_drm_mode_create_tv_properties);
  1151.  
  1152. /**
  1153. - * drm_mode_create_scaling_mode_property - create scaling mode property
  1154. + * lbm_drm_mode_create_scaling_mode_property - create scaling mode property
  1155. * @dev: DRM device
  1156. *
  1157. * Called by a driver the first time it's needed, must be attached to desired
  1158. * connectors.
  1159. */
  1160. -int drm_mode_create_scaling_mode_property(struct drm_device *dev)
  1161. +int lbm_drm_mode_create_scaling_mode_property(struct drm_device *dev)
  1162. {
  1163. struct drm_property *scaling_mode;
  1164. int i;
  1165. @@ -771,10 +771,10 @@
  1166. return 0;
  1167.  
  1168. scaling_mode =
  1169. - drm_property_create(dev, DRM_MODE_PROP_ENUM, "scaling mode",
  1170. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM, "scaling mode",
  1171. ARRAY_SIZE(drm_scaling_mode_enum_list));
  1172. for (i = 0; i < ARRAY_SIZE(drm_scaling_mode_enum_list); i++)
  1173. - drm_property_add_enum(scaling_mode, i,
  1174. + lbm_drm_property_add_enum(scaling_mode, i,
  1175. drm_scaling_mode_enum_list[i].type,
  1176. drm_scaling_mode_enum_list[i].name);
  1177.  
  1178. @@ -782,16 +782,16 @@
  1179.  
  1180. return 0;
  1181. }
  1182. -EXPORT_SYMBOL(drm_mode_create_scaling_mode_property);
  1183. +EXPORT_SYMBOL(lbm_drm_mode_create_scaling_mode_property);
  1184.  
  1185. /**
  1186. - * drm_mode_create_dithering_property - create dithering property
  1187. + * lbm_drm_mode_create_dithering_property - create dithering property
  1188. * @dev: DRM device
  1189. *
  1190. * Called by a driver the first time it's needed, must be attached to desired
  1191. * connectors.
  1192. */
  1193. -int drm_mode_create_dithering_property(struct drm_device *dev)
  1194. +int lbm_drm_mode_create_dithering_property(struct drm_device *dev)
  1195. {
  1196. struct drm_property *dithering_mode;
  1197. int i;
  1198. @@ -800,17 +800,17 @@
  1199. return 0;
  1200.  
  1201. dithering_mode =
  1202. - drm_property_create(dev, DRM_MODE_PROP_ENUM, "dithering",
  1203. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM, "dithering",
  1204. ARRAY_SIZE(drm_dithering_mode_enum_list));
  1205. for (i = 0; i < ARRAY_SIZE(drm_dithering_mode_enum_list); i++)
  1206. - drm_property_add_enum(dithering_mode, i,
  1207. + lbm_drm_property_add_enum(dithering_mode, i,
  1208. drm_dithering_mode_enum_list[i].type,
  1209. drm_dithering_mode_enum_list[i].name);
  1210. dev->mode_config.dithering_mode_property = dithering_mode;
  1211.  
  1212. return 0;
  1213. }
  1214. -EXPORT_SYMBOL(drm_mode_create_dithering_property);
  1215. +EXPORT_SYMBOL(lbm_drm_mode_create_dithering_property);
  1216.  
  1217. /**
  1218. * drm_mode_create_dirty_property - create dirty property
  1219. @@ -819,7 +819,7 @@
  1220. * Called by a driver the first time it's needed, must be attached to desired
  1221. * connectors.
  1222. */
  1223. -int drm_mode_create_dirty_info_property(struct drm_device *dev)
  1224. +int lbm_drm_mode_create_dirty_info_property(struct drm_device *dev)
  1225. {
  1226. struct drm_property *dirty_info;
  1227. int i;
  1228. @@ -828,22 +828,22 @@
  1229. return 0;
  1230.  
  1231. dirty_info =
  1232. - drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1233. + lbm_drm_property_create(dev, DRM_MODE_PROP_ENUM |
  1234. DRM_MODE_PROP_IMMUTABLE,
  1235. "dirty",
  1236. ARRAY_SIZE(drm_dirty_info_enum_list));
  1237. for (i = 0; i < ARRAY_SIZE(drm_dirty_info_enum_list); i++)
  1238. - drm_property_add_enum(dirty_info, i,
  1239. + lbm_drm_property_add_enum(dirty_info, i,
  1240. drm_dirty_info_enum_list[i].type,
  1241. drm_dirty_info_enum_list[i].name);
  1242. dev->mode_config.dirty_info_property = dirty_info;
  1243.  
  1244. return 0;
  1245. }
  1246. -EXPORT_SYMBOL(drm_mode_create_dirty_info_property);
  1247. +EXPORT_SYMBOL(lbm_drm_mode_create_dirty_info_property);
  1248.  
  1249. /**
  1250. - * drm_mode_config_init - initialize DRM mode_configuration structure
  1251. + * lbm_drm_mode_config_init - initialize DRM mode_configuration structure
  1252. * @dev: DRM device
  1253. *
  1254. * LOCKING:
  1255. @@ -852,7 +852,7 @@
  1256. * Initialize @dev's mode_config structure, used for tracking the graphics
  1257. * configuration of @dev.
  1258. */
  1259. -void drm_mode_config_init(struct drm_device *dev)
  1260. +void lbm_drm_mode_config_init(struct drm_device *dev)
  1261. {
  1262. mutex_init(&dev->mode_config.mutex);
  1263. mutex_init(&dev->mode_config.idr_mutex);
  1264. @@ -875,7 +875,7 @@
  1265. dev->mode_config.num_crtc = 0;
  1266. dev->mode_config.num_encoder = 0;
  1267. }
  1268. -EXPORT_SYMBOL(drm_mode_config_init);
  1269. +EXPORT_SYMBOL(lbm_drm_mode_config_init);
  1270.  
  1271. int drm_mode_group_init(struct drm_device *dev, struct drm_mode_group *group)
  1272. {
  1273. @@ -924,7 +924,7 @@
  1274. }
  1275.  
  1276. /**
  1277. - * drm_mode_config_cleanup - free up DRM mode_config info
  1278. + * lbm_drm_mode_config_cleanup - free up DRM mode_config info
  1279. * @dev: DRM device
  1280. *
  1281. * LOCKING:
  1282. @@ -935,7 +935,7 @@
  1283. *
  1284. * FIXME: cleanup any dangling user buffer objects too
  1285. */
  1286. -void drm_mode_config_cleanup(struct drm_device *dev)
  1287. +void lbm_drm_mode_config_cleanup(struct drm_device *dev)
  1288. {
  1289. struct drm_connector *connector, *ot;
  1290. struct drm_crtc *crtc, *ct;
  1291. @@ -955,7 +955,7 @@
  1292.  
  1293. list_for_each_entry_safe(property, pt, &dev->mode_config.property_list,
  1294. head) {
  1295. - drm_property_destroy(dev, property);
  1296. + lbm_drm_property_destroy(dev, property);
  1297. }
  1298.  
  1299. list_for_each_entry_safe(fb, fbt, &dev->mode_config.fb_list, head) {
  1300. @@ -967,7 +967,7 @@
  1301. }
  1302.  
  1303. }
  1304. -EXPORT_SYMBOL(drm_mode_config_cleanup);
  1305. +EXPORT_SYMBOL(lbm_drm_mode_config_cleanup);
  1306.  
  1307. /**
  1308. * drm_crtc_convert_to_umode - convert a drm_display_mode into a modeinfo
  1309. @@ -1244,7 +1244,7 @@
  1310.  
  1311. mutex_lock(&dev->mode_config.mutex);
  1312.  
  1313. - obj = drm_mode_object_find(dev, crtc_resp->crtc_id,
  1314. + obj = lbm_drm_mode_object_find(dev, crtc_resp->crtc_id,
  1315. DRM_MODE_OBJECT_CRTC);
  1316. if (!obj) {
  1317. ret = -EINVAL;
  1318. @@ -1316,7 +1316,7 @@
  1319.  
  1320. mutex_lock(&dev->mode_config.mutex);
  1321.  
  1322. - obj = drm_mode_object_find(dev, out_resp->connector_id,
  1323. + obj = lbm_drm_mode_object_find(dev, out_resp->connector_id,
  1324. DRM_MODE_OBJECT_CONNECTOR);
  1325. if (!obj) {
  1326. ret = -EINVAL;
  1327. @@ -1430,7 +1430,7 @@
  1328. int ret = 0;
  1329.  
  1330. mutex_lock(&dev->mode_config.mutex);
  1331. - obj = drm_mode_object_find(dev, enc_resp->encoder_id,
  1332. + obj = lbm_drm_mode_object_find(dev, enc_resp->encoder_id,
  1333. DRM_MODE_OBJECT_ENCODER);
  1334. if (!obj) {
  1335. ret = -EINVAL;
  1336. @@ -1485,7 +1485,7 @@
  1337. int i;
  1338.  
  1339. mutex_lock(&dev->mode_config.mutex);
  1340. - obj = drm_mode_object_find(dev, crtc_req->crtc_id,
  1341. + obj = lbm_drm_mode_object_find(dev, crtc_req->crtc_id,
  1342. DRM_MODE_OBJECT_CRTC);
  1343. if (!obj) {
  1344. DRM_DEBUG_KMS("Unknown CRTC ID %d\n", crtc_req->crtc_id);
  1345. @@ -1507,7 +1507,7 @@
  1346. }
  1347. }
  1348. } else {
  1349. - obj = drm_mode_object_find(dev, crtc_req->fb_id,
  1350. + obj = lbm_drm_mode_object_find(dev, crtc_req->fb_id,
  1351. DRM_MODE_OBJECT_FB);
  1352. if (!obj) {
  1353. DRM_DEBUG_KMS("Unknown FB ID%d\n",
  1354. @@ -1518,9 +1518,9 @@
  1355. fb = obj_to_fb(obj);
  1356. }
  1357.  
  1358. - mode = drm_mode_create(dev);
  1359. + mode = lbm_drm_mode_create(dev);
  1360. drm_crtc_convert_umode(mode, &crtc_req->mode);
  1361. - drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1362. + lbm_drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1363. }
  1364.  
  1365. if (crtc_req->count_connectors == 0 && mode) {
  1366. @@ -1560,7 +1560,7 @@
  1367. goto out;
  1368. }
  1369.  
  1370. - obj = drm_mode_object_find(dev, out_id,
  1371. + obj = lbm_drm_mode_object_find(dev, out_id,
  1372. DRM_MODE_OBJECT_CONNECTOR);
  1373. if (!obj) {
  1374. DRM_DEBUG_KMS("Connector id %d unknown\n",
  1375. @@ -1603,7 +1603,7 @@
  1376. }
  1377.  
  1378. mutex_lock(&dev->mode_config.mutex);
  1379. - obj = drm_mode_object_find(dev, req->crtc_id, DRM_MODE_OBJECT_CRTC);
  1380. + obj = lbm_drm_mode_object_find(dev, req->crtc_id, DRM_MODE_OBJECT_CRTC);
  1381. if (!obj) {
  1382. DRM_DEBUG_KMS("Unknown CRTC ID %d\n", req->crtc_id);
  1383. ret = -EINVAL;
  1384. @@ -1718,7 +1718,7 @@
  1385. int found = 0;
  1386.  
  1387. mutex_lock(&dev->mode_config.mutex);
  1388. - obj = drm_mode_object_find(dev, *id, DRM_MODE_OBJECT_FB);
  1389. + obj = lbm_drm_mode_object_find(dev, *id, DRM_MODE_OBJECT_FB);
  1390. /* TODO check that we realy get a framebuffer back. */
  1391. if (!obj) {
  1392. DRM_ERROR("mode invalid framebuffer id\n");
  1393. @@ -1774,7 +1774,7 @@
  1394. int ret = 0;
  1395.  
  1396. mutex_lock(&dev->mode_config.mutex);
  1397. - obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
  1398. + obj = lbm_drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
  1399. if (!obj) {
  1400. DRM_ERROR("invalid framebuffer id\n");
  1401. ret = -EINVAL;
  1402. @@ -1807,7 +1807,7 @@
  1403. int ret = 0;
  1404.  
  1405. mutex_lock(&dev->mode_config.mutex);
  1406. - obj = drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
  1407. + obj = lbm_drm_mode_object_find(dev, r->fb_id, DRM_MODE_OBJECT_FB);
  1408. if (!obj) {
  1409. DRM_ERROR("invalid framebuffer id\n");
  1410. ret = -EINVAL;
  1411. @@ -1904,7 +1904,7 @@
  1412. return ret;
  1413. }
  1414.  
  1415. -int drm_mode_attachmode_crtc(struct drm_device *dev, struct drm_crtc *crtc,
  1416. +int lbm_drm_mode_attachmode_crtc(struct drm_device *dev, struct drm_crtc *crtc,
  1417. struct drm_display_mode *mode)
  1418. {
  1419. struct drm_connector *connector;
  1420. @@ -1916,7 +1916,7 @@
  1421. break;
  1422. if (connector->encoder->crtc == crtc) {
  1423. if (need_dup)
  1424. - dup_mode = drm_mode_duplicate(dev, mode);
  1425. + dup_mode = lbm_drm_mode_duplicate(dev, mode);
  1426. else
  1427. dup_mode = mode;
  1428. ret = drm_mode_attachmode(dev, connector, dup_mode);
  1429. @@ -1927,7 +1927,7 @@
  1430. }
  1431. return 0;
  1432. }
  1433. -EXPORT_SYMBOL(drm_mode_attachmode_crtc);
  1434. +EXPORT_SYMBOL(lbm_drm_mode_attachmode_crtc);
  1435.  
  1436. static int drm_mode_detachmode(struct drm_device *dev,
  1437. struct drm_connector *connector,
  1438. @@ -1938,9 +1938,9 @@
  1439. struct drm_display_mode *match_mode, *t;
  1440.  
  1441. list_for_each_entry_safe(match_mode, t, &connector->user_modes, head) {
  1442. - if (drm_mode_equal(match_mode, mode)) {
  1443. + if (lbm_drm_mode_equal(match_mode, mode)) {
  1444. list_del(&match_mode->head);
  1445. - drm_mode_destroy(dev, match_mode);
  1446. + lbm_drm_mode_destroy(dev, match_mode);
  1447. found = 1;
  1448. break;
  1449. }
  1450. @@ -1952,7 +1952,7 @@
  1451. return ret;
  1452. }
  1453.  
  1454. -int drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode)
  1455. +int lbm_drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode)
  1456. {
  1457. struct drm_connector *connector;
  1458.  
  1459. @@ -1961,7 +1961,7 @@
  1460. }
  1461. return 0;
  1462. }
  1463. -EXPORT_SYMBOL(drm_mode_detachmode_crtc);
  1464. +EXPORT_SYMBOL(lbm_drm_mode_detachmode_crtc);
  1465.  
  1466. /**
  1467. * drm_fb_attachmode - Attach a user mode to an connector
  1468. @@ -1988,14 +1988,14 @@
  1469.  
  1470. mutex_lock(&dev->mode_config.mutex);
  1471.  
  1472. - obj = drm_mode_object_find(dev, mode_cmd->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1473. + obj = lbm_drm_mode_object_find(dev, mode_cmd->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1474. if (!obj) {
  1475. ret = -EINVAL;
  1476. goto out;
  1477. }
  1478. connector = obj_to_connector(obj);
  1479.  
  1480. - mode = drm_mode_create(dev);
  1481. + mode = lbm_drm_mode_create(dev);
  1482. if (!mode) {
  1483. ret = -ENOMEM;
  1484. goto out;
  1485. @@ -2034,7 +2034,7 @@
  1486.  
  1487. mutex_lock(&dev->mode_config.mutex);
  1488.  
  1489. - obj = drm_mode_object_find(dev, mode_cmd->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1490. + obj = lbm_drm_mode_object_find(dev, mode_cmd->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1491. if (!obj) {
  1492. ret = -EINVAL;
  1493. goto out;
  1494. @@ -2048,7 +2048,7 @@
  1495. return ret;
  1496. }
  1497.  
  1498. -struct drm_property *drm_property_create(struct drm_device *dev, int flags,
  1499. +struct drm_property *lbm_drm_property_create(struct drm_device *dev, int flags,
  1500. const char *name, int num_values)
  1501. {
  1502. struct drm_property *property = NULL;
  1503. @@ -2077,9 +2077,9 @@
  1504. kfree(property);
  1505. return NULL;
  1506. }
  1507. -EXPORT_SYMBOL(drm_property_create);
  1508. +EXPORT_SYMBOL(lbm_drm_property_create);
  1509.  
  1510. -int drm_property_add_enum(struct drm_property *property, int index,
  1511. +int lbm_drm_property_add_enum(struct drm_property *property, int index,
  1512. uint64_t value, const char *name)
  1513. {
  1514. struct drm_property_enum *prop_enum;
  1515. @@ -2109,9 +2109,9 @@
  1516. list_add_tail(&prop_enum->head, &property->enum_blob_list);
  1517. return 0;
  1518. }
  1519. -EXPORT_SYMBOL(drm_property_add_enum);
  1520. +EXPORT_SYMBOL(lbm_drm_property_add_enum);
  1521.  
  1522. -void drm_property_destroy(struct drm_device *dev, struct drm_property *property)
  1523. +void lbm_drm_property_destroy(struct drm_device *dev, struct drm_property *property)
  1524. {
  1525. struct drm_property_enum *prop_enum, *pt;
  1526.  
  1527. @@ -2126,9 +2126,9 @@
  1528. list_del(&property->head);
  1529. kfree(property);
  1530. }
  1531. -EXPORT_SYMBOL(drm_property_destroy);
  1532. +EXPORT_SYMBOL(lbm_drm_property_destroy);
  1533.  
  1534. -int drm_connector_attach_property(struct drm_connector *connector,
  1535. +int lbm_drm_connector_attach_property(struct drm_connector *connector,
  1536. struct drm_property *property, uint64_t init_val)
  1537. {
  1538. int i;
  1539. @@ -2145,9 +2145,9 @@
  1540. return -EINVAL;
  1541. return 0;
  1542. }
  1543. -EXPORT_SYMBOL(drm_connector_attach_property);
  1544. +EXPORT_SYMBOL(lbm_drm_connector_attach_property);
  1545.  
  1546. -int drm_connector_property_set_value(struct drm_connector *connector,
  1547. +int lbm_drm_connector_property_set_value(struct drm_connector *connector,
  1548. struct drm_property *property, uint64_t value)
  1549. {
  1550. int i;
  1551. @@ -2163,9 +2163,9 @@
  1552. return -EINVAL;
  1553. return 0;
  1554. }
  1555. -EXPORT_SYMBOL(drm_connector_property_set_value);
  1556. +EXPORT_SYMBOL(lbm_drm_connector_property_set_value);
  1557.  
  1558. -int drm_connector_property_get_value(struct drm_connector *connector,
  1559. +int lbm_drm_connector_property_get_value(struct drm_connector *connector,
  1560. struct drm_property *property, uint64_t *val)
  1561. {
  1562. int i;
  1563. @@ -2181,7 +2181,7 @@
  1564. return -EINVAL;
  1565. return 0;
  1566. }
  1567. -EXPORT_SYMBOL(drm_connector_property_get_value);
  1568. +EXPORT_SYMBOL(lbm_drm_connector_property_get_value);
  1569.  
  1570. int drm_mode_getproperty_ioctl(struct drm_device *dev,
  1571. void *data, struct drm_file *file_priv)
  1572. @@ -2202,7 +2202,7 @@
  1573. uint32_t __user *blob_length_ptr;
  1574.  
  1575. mutex_lock(&dev->mode_config.mutex);
  1576. - obj = drm_mode_object_find(dev, out_resp->prop_id, DRM_MODE_OBJECT_PROPERTY);
  1577. + obj = lbm_drm_mode_object_find(dev, out_resp->prop_id, DRM_MODE_OBJECT_PROPERTY);
  1578. if (!obj) {
  1579. ret = -EINVAL;
  1580. goto done;
  1581. @@ -2324,7 +2324,7 @@
  1582. void *blob_ptr;
  1583.  
  1584. mutex_lock(&dev->mode_config.mutex);
  1585. - obj = drm_mode_object_find(dev, out_resp->blob_id, DRM_MODE_OBJECT_BLOB);
  1586. + obj = lbm_drm_mode_object_find(dev, out_resp->blob_id, DRM_MODE_OBJECT_BLOB);
  1587. if (!obj) {
  1588. ret = -EINVAL;
  1589. goto done;
  1590. @@ -2345,7 +2345,7 @@
  1591. return ret;
  1592. }
  1593.  
  1594. -int drm_mode_connector_update_edid_property(struct drm_connector *connector,
  1595. +int lbm_drm_mode_connector_update_edid_property(struct drm_connector *connector,
  1596. struct edid *edid)
  1597. {
  1598. struct drm_device *dev = connector->dev;
  1599. @@ -2357,19 +2357,19 @@
  1600. /* Delete edid, when there is none. */
  1601. if (!edid) {
  1602. connector->edid_blob_ptr = NULL;
  1603. - ret = drm_connector_property_set_value(connector, dev->mode_config.edid_property, 0);
  1604. + ret = lbm_drm_connector_property_set_value(connector, dev->mode_config.edid_property, 0);
  1605. return ret;
  1606. }
  1607.  
  1608. connector->edid_blob_ptr = drm_property_create_blob(connector->dev, 128, edid);
  1609.  
  1610. - ret = drm_connector_property_set_value(connector,
  1611. + ret = lbm_drm_connector_property_set_value(connector,
  1612. dev->mode_config.edid_property,
  1613. connector->edid_blob_ptr->base.id);
  1614.  
  1615. return ret;
  1616. }
  1617. -EXPORT_SYMBOL(drm_mode_connector_update_edid_property);
  1618. +EXPORT_SYMBOL(lbm_drm_mode_connector_update_edid_property);
  1619.  
  1620. int drm_mode_connector_property_set_ioctl(struct drm_device *dev,
  1621. void *data, struct drm_file *file_priv)
  1622. @@ -2383,7 +2383,7 @@
  1623.  
  1624. mutex_lock(&dev->mode_config.mutex);
  1625.  
  1626. - obj = drm_mode_object_find(dev, out_resp->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1627. + obj = lbm_drm_mode_object_find(dev, out_resp->connector_id, DRM_MODE_OBJECT_CONNECTOR);
  1628. if (!obj) {
  1629. goto out;
  1630. }
  1631. @@ -2398,7 +2398,7 @@
  1632. goto out;
  1633. }
  1634.  
  1635. - obj = drm_mode_object_find(dev, out_resp->prop_id, DRM_MODE_OBJECT_PROPERTY);
  1636. + obj = lbm_drm_mode_object_find(dev, out_resp->prop_id, DRM_MODE_OBJECT_PROPERTY);
  1637. if (!obj) {
  1638. goto out;
  1639. }
  1640. @@ -2436,13 +2436,13 @@
  1641.  
  1642. /* store the property value if successful */
  1643. if (!ret)
  1644. - drm_connector_property_set_value(connector, property, out_resp->value);
  1645. + lbm_drm_connector_property_set_value(connector, property, out_resp->value);
  1646. out:
  1647. mutex_unlock(&dev->mode_config.mutex);
  1648. return ret;
  1649. }
  1650.  
  1651. -int drm_mode_connector_attach_encoder(struct drm_connector *connector,
  1652. +int lbm_drm_mode_connector_attach_encoder(struct drm_connector *connector,
  1653. struct drm_encoder *encoder)
  1654. {
  1655. int i;
  1656. @@ -2455,9 +2455,9 @@
  1657. }
  1658. return -ENOMEM;
  1659. }
  1660. -EXPORT_SYMBOL(drm_mode_connector_attach_encoder);
  1661. +EXPORT_SYMBOL(lbm_drm_mode_connector_attach_encoder);
  1662.  
  1663. -void drm_mode_connector_detach_encoder(struct drm_connector *connector,
  1664. +void lbm_drm_mode_connector_detach_encoder(struct drm_connector *connector,
  1665. struct drm_encoder *encoder)
  1666. {
  1667. int i;
  1668. @@ -2470,9 +2470,9 @@
  1669. }
  1670. }
  1671. }
  1672. -EXPORT_SYMBOL(drm_mode_connector_detach_encoder);
  1673. +EXPORT_SYMBOL(lbm_drm_mode_connector_detach_encoder);
  1674.  
  1675. -bool drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
  1676. +bool lbm_drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
  1677. int gamma_size)
  1678. {
  1679. crtc->gamma_size = gamma_size;
  1680. @@ -2485,7 +2485,7 @@
  1681.  
  1682. return true;
  1683. }
  1684. -EXPORT_SYMBOL(drm_mode_crtc_set_gamma_size);
  1685. +EXPORT_SYMBOL(lbm_drm_mode_crtc_set_gamma_size);
  1686.  
  1687. int drm_mode_gamma_set_ioctl(struct drm_device *dev,
  1688. void *data, struct drm_file *file_priv)
  1689. @@ -2498,7 +2498,7 @@
  1690. int ret = 0;
  1691.  
  1692. mutex_lock(&dev->mode_config.mutex);
  1693. - obj = drm_mode_object_find(dev, crtc_lut->crtc_id, DRM_MODE_OBJECT_CRTC);
  1694. + obj = lbm_drm_mode_object_find(dev, crtc_lut->crtc_id, DRM_MODE_OBJECT_CRTC);
  1695. if (!obj) {
  1696. ret = -EINVAL;
  1697. goto out;
  1698. @@ -2549,7 +2549,7 @@
  1699. int ret = 0;
  1700.  
  1701. mutex_lock(&dev->mode_config.mutex);
  1702. - obj = drm_mode_object_find(dev, crtc_lut->crtc_id, DRM_MODE_OBJECT_CRTC);
  1703. + obj = lbm_drm_mode_object_find(dev, crtc_lut->crtc_id, DRM_MODE_OBJECT_CRTC);
  1704. if (!obj) {
  1705. ret = -EINVAL;
  1706. goto out;
  1707. @@ -2601,7 +2601,7 @@
  1708. return -EINVAL;
  1709.  
  1710. mutex_lock(&dev->mode_config.mutex);
  1711. - obj = drm_mode_object_find(dev, page_flip->crtc_id, DRM_MODE_OBJECT_CRTC);
  1712. + obj = lbm_drm_mode_object_find(dev, page_flip->crtc_id, DRM_MODE_OBJECT_CRTC);
  1713. if (!obj)
  1714. goto out;
  1715. crtc = obj_to_crtc(obj);
  1716. @@ -2609,7 +2609,7 @@
  1717. if (crtc->funcs->page_flip == NULL)
  1718. goto out;
  1719.  
  1720. - obj = drm_mode_object_find(dev, page_flip->fb_id, DRM_MODE_OBJECT_FB);
  1721. + obj = lbm_drm_mode_object_find(dev, page_flip->fb_id, DRM_MODE_OBJECT_FB);
  1722. if (!obj)
  1723. goto out;
  1724. fb = obj_to_fb(obj);
  1725. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc_helper.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc_helper.c
  1726. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc_helper.c 2010-01-25 15:21:29.000000000 -0500
  1727. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_crtc_helper.c 2010-02-03 17:11:08.000000000 -0500
  1728. @@ -55,7 +55,7 @@
  1729. }
  1730.  
  1731. /**
  1732. - * drm_helper_probe_connector_modes - get complete set of display modes
  1733. + * lbm_drm_helper_probe_connector_modes - get complete set of display modes
  1734. * @dev: DRM device
  1735. * @maxX: max width for modes
  1736. * @maxY: max height for modes
  1737. @@ -76,7 +76,7 @@
  1738. * RETURNS:
  1739. * Number of modes found on @connector.
  1740. */
  1741. -int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
  1742. +int lbm_drm_helper_probe_single_connector_modes(struct drm_connector *connector,
  1743. uint32_t maxX, uint32_t maxY)
  1744. {
  1745. struct drm_device *dev = connector->dev;
  1746. @@ -86,7 +86,7 @@
  1747. int count = 0;
  1748. int mode_flags = 0;
  1749.  
  1750. - DRM_DEBUG_KMS("%s\n", drm_get_connector_name(connector));
  1751. + DRM_DEBUG_KMS("%s\n", lbm_drm_get_connector_name(connector));
  1752. /* set all modes to the unverified state */
  1753. list_for_each_entry_safe(mode, t, &connector->modes, head)
  1754. mode->status = MODE_UNVERIFIED;
  1755. @@ -103,21 +103,21 @@
  1756.  
  1757. if (connector->status == connector_status_disconnected) {
  1758. DRM_DEBUG_KMS("%s is disconnected\n",
  1759. - drm_get_connector_name(connector));
  1760. + lbm_drm_get_connector_name(connector));
  1761. goto prune;
  1762. }
  1763.  
  1764. count = (*connector_funcs->get_modes)(connector);
  1765. if (!count) {
  1766. - count = drm_add_modes_noedid(connector, 1024, 768);
  1767. + count = lbm_drm_add_modes_noedid(connector, 1024, 768);
  1768. if (!count)
  1769. return 0;
  1770. }
  1771.  
  1772. - drm_mode_connector_list_update(connector);
  1773. + lbm_drm_mode_connector_list_update(connector);
  1774.  
  1775. if (maxX && maxY)
  1776. - drm_mode_validate_size(dev, &connector->modes, maxX,
  1777. + lbm_drm_mode_validate_size(dev, &connector->modes, maxX,
  1778. maxY, 0);
  1779.  
  1780. if (connector->interlace_allowed)
  1781. @@ -133,43 +133,43 @@
  1782. }
  1783.  
  1784. prune:
  1785. - drm_mode_prune_invalid(dev, &connector->modes, true);
  1786. + lbm_drm_mode_prune_invalid(dev, &connector->modes, true);
  1787.  
  1788. if (list_empty(&connector->modes))
  1789. return 0;
  1790.  
  1791. - drm_mode_sort(&connector->modes);
  1792. + lbm_drm_mode_sort(&connector->modes);
  1793.  
  1794. DRM_DEBUG_KMS("Probed modes for %s\n",
  1795. - drm_get_connector_name(connector));
  1796. + lbm_drm_get_connector_name(connector));
  1797. list_for_each_entry_safe(mode, t, &connector->modes, head) {
  1798. - mode->vrefresh = drm_mode_vrefresh(mode);
  1799. + mode->vrefresh = lbm_drm_mode_vrefresh(mode);
  1800.  
  1801. - drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1802. - drm_mode_debug_printmodeline(mode);
  1803. + lbm_drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1804. + lbm_drm_mode_debug_printmodeline(mode);
  1805. }
  1806.  
  1807. return count;
  1808. }
  1809. -EXPORT_SYMBOL(drm_helper_probe_single_connector_modes);
  1810. +EXPORT_SYMBOL(lbm_drm_helper_probe_single_connector_modes);
  1811.  
  1812. -int drm_helper_probe_connector_modes(struct drm_device *dev, uint32_t maxX,
  1813. +int lbm_drm_helper_probe_connector_modes(struct drm_device *dev, uint32_t maxX,
  1814. uint32_t maxY)
  1815. {
  1816. struct drm_connector *connector;
  1817. int count = 0;
  1818.  
  1819. list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
  1820. - count += drm_helper_probe_single_connector_modes(connector,
  1821. + count += lbm_drm_helper_probe_single_connector_modes(connector,
  1822. maxX, maxY);
  1823. }
  1824.  
  1825. return count;
  1826. }
  1827. -EXPORT_SYMBOL(drm_helper_probe_connector_modes);
  1828. +EXPORT_SYMBOL(lbm_drm_helper_probe_connector_modes);
  1829.  
  1830. /**
  1831. - * drm_helper_encoder_in_use - check if a given encoder is in use
  1832. + * lbm_drm_helper_encoder_in_use - check if a given encoder is in use
  1833. * @encoder: encoder to check
  1834. *
  1835. * LOCKING:
  1836. @@ -180,7 +180,7 @@
  1837. * RETURNS:
  1838. * True if @encoder is part of the mode_config, false otherwise.
  1839. */
  1840. -bool drm_helper_encoder_in_use(struct drm_encoder *encoder)
  1841. +bool lbm_drm_helper_encoder_in_use(struct drm_encoder *encoder)
  1842. {
  1843. struct drm_connector *connector;
  1844. struct drm_device *dev = encoder->dev;
  1845. @@ -189,10 +189,10 @@
  1846. return true;
  1847. return false;
  1848. }
  1849. -EXPORT_SYMBOL(drm_helper_encoder_in_use);
  1850. +EXPORT_SYMBOL(lbm_drm_helper_encoder_in_use);
  1851.  
  1852. /**
  1853. - * drm_helper_crtc_in_use - check if a given CRTC is in a mode_config
  1854. + * lbm_drm_helper_crtc_in_use - check if a given CRTC is in a mode_config
  1855. * @crtc: CRTC to check
  1856. *
  1857. * LOCKING:
  1858. @@ -203,20 +203,20 @@
  1859. * RETURNS:
  1860. * True if @crtc is part of the mode_config, false otherwise.
  1861. */
  1862. -bool drm_helper_crtc_in_use(struct drm_crtc *crtc)
  1863. +bool lbm_drm_helper_crtc_in_use(struct drm_crtc *crtc)
  1864. {
  1865. struct drm_encoder *encoder;
  1866. struct drm_device *dev = crtc->dev;
  1867. /* FIXME: Locking around list access? */
  1868. list_for_each_entry(encoder, &dev->mode_config.encoder_list, head)
  1869. - if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder))
  1870. + if (encoder->crtc == crtc && lbm_drm_helper_encoder_in_use(encoder))
  1871. return true;
  1872. return false;
  1873. }
  1874. -EXPORT_SYMBOL(drm_helper_crtc_in_use);
  1875. +EXPORT_SYMBOL(lbm_drm_helper_crtc_in_use);
  1876.  
  1877. /**
  1878. - * drm_helper_disable_unused_functions - disable unused objects
  1879. + * lbm_drm_helper_disable_unused_functions - disable unused objects
  1880. * @dev: DRM device
  1881. *
  1882. * LOCKING:
  1883. @@ -225,7 +225,7 @@
  1884. * If an connector or CRTC isn't part of @dev's mode_config, it can be disabled
  1885. * by calling its dpms function, which should power it off.
  1886. */
  1887. -void drm_helper_disable_unused_functions(struct drm_device *dev)
  1888. +void lbm_drm_helper_disable_unused_functions(struct drm_device *dev)
  1889. {
  1890. struct drm_encoder *encoder;
  1891. struct drm_connector *connector;
  1892. @@ -241,7 +241,7 @@
  1893.  
  1894. list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
  1895. encoder_funcs = encoder->helper_private;
  1896. - if (!drm_helper_encoder_in_use(encoder)) {
  1897. + if (!lbm_drm_helper_encoder_in_use(encoder)) {
  1898. if (encoder_funcs->disable)
  1899. (*encoder_funcs->disable)(encoder);
  1900. else
  1901. @@ -253,22 +253,22 @@
  1902.  
  1903. list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
  1904. struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
  1905. - crtc->enabled = drm_helper_crtc_in_use(crtc);
  1906. + crtc->enabled = lbm_drm_helper_crtc_in_use(crtc);
  1907. if (!crtc->enabled) {
  1908. crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF);
  1909. crtc->fb = NULL;
  1910. }
  1911. }
  1912. }
  1913. -EXPORT_SYMBOL(drm_helper_disable_unused_functions);
  1914. +EXPORT_SYMBOL(lbm_drm_helper_disable_unused_functions);
  1915.  
  1916. static struct drm_display_mode *drm_has_preferred_mode(struct drm_connector *connector, int width, int height)
  1917. {
  1918. struct drm_display_mode *mode;
  1919.  
  1920. list_for_each_entry(mode, &connector->modes, head) {
  1921. - if (drm_mode_width(mode) > width ||
  1922. - drm_mode_height(mode) > height)
  1923. + if (lbm_drm_mode_width(mode) > width ||
  1924. + lbm_drm_mode_height(mode) > height)
  1925. continue;
  1926. if (mode->type & DRM_MODE_TYPE_PREFERRED)
  1927. return mode;
  1928. @@ -326,12 +326,12 @@
  1929. }
  1930.  
  1931. create_mode:
  1932. - mode = drm_cvt_mode(connector->dev, cmdline_mode->xres,
  1933. + mode = lbm_drm_cvt_mode(connector->dev, cmdline_mode->xres,
  1934. cmdline_mode->yres,
  1935. cmdline_mode->refresh_specified ? cmdline_mode->refresh : 60,
  1936. cmdline_mode->rb, cmdline_mode->interlace,
  1937. cmdline_mode->margins);
  1938. - drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1939. + lbm_drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
  1940. list_add(&mode->head, &connector->modes);
  1941. return mode;
  1942. }
  1943. @@ -626,7 +626,7 @@
  1944. * RETURNS:
  1945. * True if the mode was set successfully, or false otherwise.
  1946. */
  1947. -bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
  1948. +bool lbm_drm_crtc_helper_set_mode(struct drm_crtc *crtc,
  1949. struct drm_display_mode *mode,
  1950. int x, int y,
  1951. struct drm_framebuffer *old_fb)
  1952. @@ -639,9 +639,9 @@
  1953. struct drm_encoder *encoder;
  1954. bool ret = true;
  1955.  
  1956. - adjusted_mode = drm_mode_duplicate(dev, mode);
  1957. + adjusted_mode = lbm_drm_mode_duplicate(dev, mode);
  1958.  
  1959. - crtc->enabled = drm_helper_crtc_in_use(crtc);
  1960. + crtc->enabled = lbm_drm_helper_crtc_in_use(crtc);
  1961.  
  1962. if (!crtc->enabled)
  1963. return true;
  1964. @@ -702,7 +702,7 @@
  1965. if (encoder->crtc != crtc)
  1966. continue;
  1967.  
  1968. - DRM_INFO("%s: set mode %s %x\n", drm_get_encoder_name(encoder),
  1969. + DRM_DEBUG("%s: set mode %s %x\n", lbm_drm_get_encoder_name(encoder),
  1970. mode->name, mode->base.id);
  1971. encoder_funcs = encoder->helper_private;
  1972. encoder_funcs->mode_set(encoder, mode, adjusted_mode);
  1973. @@ -722,7 +722,7 @@
  1974. }
  1975.  
  1976. /* XXX free adjustedmode */
  1977. - drm_mode_destroy(dev, adjusted_mode);
  1978. + lbm_drm_mode_destroy(dev, adjusted_mode);
  1979. /* FIXME: add subpixel order */
  1980. done:
  1981. if (!ret) {
  1982. @@ -733,11 +733,11 @@
  1983.  
  1984. return ret;
  1985. }
  1986. -EXPORT_SYMBOL(drm_crtc_helper_set_mode);
  1987. +EXPORT_SYMBOL(lbm_drm_crtc_helper_set_mode);
  1988.  
  1989.  
  1990. /**
  1991. - * drm_crtc_helper_set_config - set a new config from userspace
  1992. + * lbm_drm_crtc_helper_set_config - set a new config from userspace
  1993. * @crtc: CRTC to setup
  1994. * @crtc_info: user provided configuration
  1995. * @new_mode: new mode to set
  1996. @@ -753,7 +753,7 @@
  1997. * RETURNS:
  1998. * Zero. (FIXME)
  1999. */
  2000. -int drm_crtc_helper_set_config(struct drm_mode_set *set)
  2001. +int lbm_drm_crtc_helper_set_config(struct drm_mode_set *set)
  2002. {
  2003. struct drm_device *dev;
  2004. struct drm_crtc *save_crtcs, *new_crtc, *crtc;
  2005. @@ -847,10 +847,10 @@
  2006. if (set->x != set->crtc->x || set->y != set->crtc->y)
  2007. fb_changed = true;
  2008.  
  2009. - if (set->mode && !drm_mode_equal(set->mode, &set->crtc->mode)) {
  2010. + if (set->mode && !lbm_drm_mode_equal(set->mode, &set->crtc->mode)) {
  2011. DRM_DEBUG_KMS("modes are different, full mode set\n");
  2012. - drm_mode_debug_printmodeline(&set->crtc->mode);
  2013. - drm_mode_debug_printmodeline(set->mode);
  2014. + lbm_drm_mode_debug_printmodeline(&set->crtc->mode);
  2015. + lbm_drm_mode_debug_printmodeline(set->mode);
  2016. mode_changed = true;
  2017. }
  2018.  
  2019. @@ -930,8 +930,8 @@
  2020. if (set->mode != NULL) {
  2021. DRM_DEBUG_KMS("attempting to set mode from"
  2022. " userspace\n");
  2023. - drm_mode_debug_printmodeline(set->mode);
  2024. - if (!drm_crtc_helper_set_mode(set->crtc, set->mode,
  2025. + lbm_drm_mode_debug_printmodeline(set->mode);
  2026. + if (!lbm_drm_crtc_helper_set_mode(set->crtc, set->mode,
  2027. set->x, set->y,
  2028. old_fb)) {
  2029. DRM_ERROR("failed to set mode on crtc %p\n",
  2030. @@ -944,7 +944,7 @@
  2031. set->crtc->desired_y = set->y;
  2032. set->crtc->desired_mode = set->mode;
  2033. }
  2034. - drm_helper_disable_unused_functions(dev);
  2035. + lbm_drm_helper_disable_unused_functions(dev);
  2036. } else if (fb_changed) {
  2037. set->crtc->x = set->x;
  2038. set->crtc->y = set->y;
  2039. @@ -985,13 +985,13 @@
  2040. kfree(save_crtcs);
  2041. return ret;
  2042. }
  2043. -EXPORT_SYMBOL(drm_crtc_helper_set_config);
  2044. +EXPORT_SYMBOL(lbm_drm_crtc_helper_set_config);
  2045.  
  2046. bool drm_helper_plugged_event(struct drm_device *dev)
  2047. {
  2048. DRM_DEBUG_KMS("\n");
  2049.  
  2050. - drm_helper_probe_connector_modes(dev, dev->mode_config.max_width,
  2051. + lbm_drm_helper_probe_connector_modes(dev, dev->mode_config.max_width,
  2052. dev->mode_config.max_height);
  2053.  
  2054. drm_setup_crtcs(dev);
  2055. @@ -1016,23 +1016,24 @@
  2056. * RETURNS:
  2057. * Zero if everything went ok, nonzero otherwise.
  2058. */
  2059. -bool drm_helper_initial_config(struct drm_device *dev)
  2060. +bool lbm_drm_helper_initial_config(struct drm_device *dev)
  2061. {
  2062. int count = 0;
  2063.  
  2064. /* disable all the possible outputs/crtcs before entering KMS mode */
  2065. - drm_helper_disable_unused_functions(dev);
  2066. + lbm_drm_helper_disable_unused_functions(dev);
  2067.  
  2068. drm_fb_helper_parse_command_line(dev);
  2069.  
  2070. - count = drm_helper_probe_connector_modes(dev,
  2071. + count = lbm_drm_helper_probe_connector_modes(dev,
  2072. dev->mode_config.max_width,
  2073. dev->mode_config.max_height);
  2074.  
  2075. /*
  2076. * we shouldn't end up with no modes here.
  2077. */
  2078. - printk(KERN_INFO "No connectors reported conncted with modes\n");
  2079. + if (count == 0)
  2080. + printk(KERN_INFO "No connectors reported connected with modes\n");
  2081.  
  2082. drm_setup_crtcs(dev);
  2083.  
  2084. @@ -1041,7 +1042,7 @@
  2085.  
  2086. return 0;
  2087. }
  2088. -EXPORT_SYMBOL(drm_helper_initial_config);
  2089. +EXPORT_SYMBOL(lbm_drm_helper_initial_config);
  2090.  
  2091. static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder)
  2092. {
  2093. @@ -1070,14 +1071,14 @@
  2094. }
  2095.  
  2096. /**
  2097. - * drm_helper_connector_dpms
  2098. + * lbm_drm_helper_connector_dpms
  2099. * @connector affected connector
  2100. * @mode DPMS mode
  2101. *
  2102. * Calls the low-level connector DPMS function, then
  2103. * calls appropriate encoder and crtc DPMS functions as well
  2104. */
  2105. -void drm_helper_connector_dpms(struct drm_connector *connector, int mode)
  2106. +void lbm_drm_helper_connector_dpms(struct drm_connector *connector, int mode)
  2107. {
  2108. struct drm_encoder *encoder = connector->encoder;
  2109. struct drm_crtc *crtc = encoder ? encoder->crtc : NULL;
  2110. @@ -1123,7 +1124,7 @@
  2111.  
  2112. return;
  2113. }
  2114. -EXPORT_SYMBOL(drm_helper_connector_dpms);
  2115. +EXPORT_SYMBOL(lbm_drm_helper_connector_dpms);
  2116.  
  2117. /**
  2118. * drm_hotplug_stage_two
  2119. @@ -1138,15 +1139,15 @@
  2120. * RETURNS:
  2121. * Zero on success, errno on failure.
  2122. */
  2123. -int drm_helper_hotplug_stage_two(struct drm_device *dev)
  2124. +int lbm_drm_helper_hotplug_stage_two(struct drm_device *dev)
  2125. {
  2126. drm_helper_plugged_event(dev);
  2127.  
  2128. return 0;
  2129. }
  2130. -EXPORT_SYMBOL(drm_helper_hotplug_stage_two);
  2131. +EXPORT_SYMBOL(lbm_drm_helper_hotplug_stage_two);
  2132.  
  2133. -int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
  2134. +int lbm_drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
  2135. struct drm_mode_fb_cmd *mode_cmd)
  2136. {
  2137. fb->width = mode_cmd->width;
  2138. @@ -1157,9 +1158,9 @@
  2139.  
  2140. return 0;
  2141. }
  2142. -EXPORT_SYMBOL(drm_helper_mode_fill_fb_struct);
  2143. +EXPORT_SYMBOL(lbm_drm_helper_mode_fill_fb_struct);
  2144.  
  2145. -int drm_helper_resume_force_mode(struct drm_device *dev)
  2146. +int lbm_drm_helper_resume_force_mode(struct drm_device *dev)
  2147. {
  2148. struct drm_crtc *crtc;
  2149. struct drm_encoder *encoder;
  2150. @@ -1172,7 +1173,7 @@
  2151. if (!crtc->enabled)
  2152. continue;
  2153.  
  2154. - ret = drm_crtc_helper_set_mode(crtc, &crtc->mode,
  2155. + ret = lbm_drm_crtc_helper_set_mode(crtc, &crtc->mode,
  2156. crtc->x, crtc->y, crtc->fb);
  2157.  
  2158. if (ret == false)
  2159. @@ -1198,7 +1199,7 @@
  2160. }
  2161. }
  2162. /* disable the unused connectors while restoring the modesetting */
  2163. - drm_helper_disable_unused_functions(dev);
  2164. + lbm_drm_helper_disable_unused_functions(dev);
  2165. return 0;
  2166. }
  2167. -EXPORT_SYMBOL(drm_helper_resume_force_mode);
  2168. +EXPORT_SYMBOL(lbm_drm_helper_resume_force_mode);
  2169. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_debugfs.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_debugfs.c
  2170. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_debugfs.c 2010-01-25 15:21:29.000000000 -0500
  2171. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_debugfs.c 2010-02-03 17:11:08.000000000 -0500
  2172. @@ -84,7 +84,7 @@
  2173. * Create a given set of debugfs files represented by an array of
  2174. * gdm_debugfs_lists in the given root directory.
  2175. */
  2176. -int drm_debugfs_create_files(struct drm_info_list *files, int count,
  2177. +int lbm_drm_debugfs_create_files(struct drm_info_list *files, int count,
  2178. struct dentry *root, struct drm_minor *minor)
  2179. {
  2180. struct drm_device *dev = minor->dev;
  2181. @@ -123,10 +123,10 @@
  2182. return 0;
  2183.  
  2184. fail:
  2185. - drm_debugfs_remove_files(files, count, minor);
  2186. + lbm_drm_debugfs_remove_files(files, count, minor);
  2187. return ret;
  2188. }
  2189. -EXPORT_SYMBOL(drm_debugfs_create_files);
  2190. +EXPORT_SYMBOL(lbm_drm_debugfs_create_files);
  2191.  
  2192. /**
  2193. * Initialize the DRI debugfs filesystem for a device
  2194. @@ -154,7 +154,7 @@
  2195. return -1;
  2196. }
  2197.  
  2198. - ret = drm_debugfs_create_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES,
  2199. + ret = lbm_drm_debugfs_create_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES,
  2200. minor->debugfs_root, minor);
  2201. if (ret) {
  2202. debugfs_remove(minor->debugfs_root);
  2203. @@ -185,7 +185,7 @@
  2204. *
  2205. * Remove all debugfs entries created by debugfs_init().
  2206. */
  2207. -int drm_debugfs_remove_files(struct drm_info_list *files, int count,
  2208. +int lbm_drm_debugfs_remove_files(struct drm_info_list *files, int count,
  2209. struct drm_minor *minor)
  2210. {
  2211. struct list_head *pos, *q;
  2212. @@ -204,7 +204,7 @@
  2213. }
  2214. return 0;
  2215. }
  2216. -EXPORT_SYMBOL(drm_debugfs_remove_files);
  2217. +EXPORT_SYMBOL(lbm_drm_debugfs_remove_files);
  2218.  
  2219. /**
  2220. * Cleanup the debugfs filesystem resources.
  2221. @@ -224,7 +224,7 @@
  2222. if (dev->driver->debugfs_cleanup)
  2223. dev->driver->debugfs_cleanup(minor);
  2224.  
  2225. - drm_debugfs_remove_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES, minor);
  2226. + lbm_drm_debugfs_remove_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES, minor);
  2227.  
  2228. debugfs_remove(minor->debugfs_root);
  2229. minor->debugfs_root = NULL;
  2230. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dma.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dma.c
  2231. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dma.c 2010-01-25 15:21:29.000000000 -0500
  2232. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dma.c 2010-02-03 17:11:08.000000000 -0500
  2233. @@ -85,7 +85,7 @@
  2234. dma->bufs[i].seg_count);
  2235. for (j = 0; j < dma->bufs[i].seg_count; j++) {
  2236. if (dma->bufs[i].seglist[j]) {
  2237. - drm_pci_free(dev, dma->bufs[i].seglist[j]);
  2238. + lbm_drm_pci_free(dev, dma->bufs[i].seglist[j]);
  2239. }
  2240. }
  2241. kfree(dma->bufs[i].seglist);
  2242. @@ -135,7 +135,7 @@
  2243. *
  2244. * Frees each buffer associated with \p file_priv not already on the hardware.
  2245. */
  2246. -void drm_core_reclaim_buffers(struct drm_device *dev,
  2247. +void lbm_drm_core_reclaim_buffers(struct drm_device *dev,
  2248. struct drm_file *file_priv)
  2249. {
  2250. struct drm_device_dma *dma = dev->dma;
  2251. @@ -160,4 +160,4 @@
  2252. }
  2253. }
  2254.  
  2255. -EXPORT_SYMBOL(drm_core_reclaim_buffers);
  2256. +EXPORT_SYMBOL(lbm_drm_core_reclaim_buffers);
  2257. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dp_i2c_helper.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dp_i2c_helper.c
  2258. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dp_i2c_helper.c 2010-01-25 15:21:29.000000000 -0500
  2259. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_dp_i2c_helper.c 2010-02-03 17:11:09.000000000 -0500
  2260. @@ -196,7 +196,7 @@
  2261. }
  2262.  
  2263. int
  2264. -i2c_dp_aux_add_bus(struct i2c_adapter *adapter)
  2265. +lbm_i2c_dp_aux_add_bus(struct i2c_adapter *adapter)
  2266. {
  2267. int error;
  2268.  
  2269. @@ -206,4 +206,4 @@
  2270. error = i2c_add_adapter(adapter);
  2271. return error;
  2272. }
  2273. -EXPORT_SYMBOL(i2c_dp_aux_add_bus);
  2274. +EXPORT_SYMBOL(lbm_i2c_dp_aux_add_bus);
  2275. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drawable.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drawable.c
  2276. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drawable.c 2010-01-25 15:21:29.000000000 -0500
  2277. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drawable.c 2010-02-03 17:11:09.000000000 -0500
  2278. @@ -80,7 +80,7 @@
  2279.  
  2280. spin_lock_irqsave(&dev->drw_lock, irqflags);
  2281.  
  2282. - info = drm_get_drawable_info(dev, draw->handle);
  2283. + info = lbm_drm_get_drawable_info(dev, draw->handle);
  2284. if (info == NULL) {
  2285. spin_unlock_irqrestore(&dev->drw_lock, irqflags);
  2286. return -EINVAL;
  2287. @@ -173,11 +173,11 @@
  2288. /**
  2289. * Caller must hold the drawable spinlock!
  2290. */
  2291. -struct drm_drawable_info *drm_get_drawable_info(struct drm_device *dev, drm_drawable_t id)
  2292. +struct drm_drawable_info *lbm_drm_get_drawable_info(struct drm_device *dev, drm_drawable_t id)
  2293. {
  2294. return idr_find(&dev->drw_idr, id);
  2295. }
  2296. -EXPORT_SYMBOL(drm_get_drawable_info);
  2297. +EXPORT_SYMBOL(lbm_drm_get_drawable_info);
  2298.  
  2299. static int drm_drawable_free(int idr, void *p, void *data)
  2300. {
  2301. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drv.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drv.c
  2302. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drv.c 2010-01-25 15:21:29.000000000 -0500
  2303. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_drv.c 2010-02-03 17:11:08.000000000 -0500
  2304. @@ -172,7 +172,7 @@
  2305. DRM_DEBUG("driver lastclose completed\n");
  2306.  
  2307. if (dev->irq_enabled && !drm_core_check_feature(dev, DRIVER_MODESET))
  2308. - drm_irq_uninstall(dev);
  2309. + lbm_drm_irq_uninstall(dev);
  2310.  
  2311. mutex_lock(&dev->struct_mutex);
  2312.  
  2313. @@ -189,14 +189,14 @@
  2314. intact until drv_cleanup is called. */
  2315. list_for_each_entry_safe(entry, tempe, &dev->agp->memory, head) {
  2316. if (entry->bound)
  2317. - drm_unbind_agp(entry->memory);
  2318. - drm_free_agp(entry->memory, entry->pages);
  2319. + lbm_drm_unbind_agp(entry->memory);
  2320. + lbm_drm_free_agp(entry->memory, entry->pages);
  2321. kfree(entry);
  2322. }
  2323. INIT_LIST_HEAD(&dev->agp->memory);
  2324.  
  2325. if (dev->agp->acquired)
  2326. - drm_agp_release(dev);
  2327. + lbm_drm_agp_release(dev);
  2328.  
  2329. dev->agp->acquired = 0;
  2330. dev->agp->enabled = 0;
  2331. @@ -247,7 +247,7 @@
  2332. * Expands the \c DRIVER_PREINIT and \c DRIVER_POST_INIT macros before and
  2333. * after the initialization for driver customization.
  2334. */
  2335. -int drm_init(struct drm_driver *driver)
  2336. +int lbm_drm_init(struct drm_driver *driver)
  2337. {
  2338. struct pci_dev *pdev = NULL;
  2339. const struct pci_device_id *pid;
  2340. @@ -279,15 +279,15 @@
  2341.  
  2342. /* stealth mode requires a manual probe */
  2343. pci_dev_get(pdev);
  2344. - drm_get_dev(pdev, pid, driver);
  2345. + lbm_drm_get_dev(pdev, pid, driver);
  2346. }
  2347. }
  2348. return 0;
  2349. }
  2350.  
  2351. -EXPORT_SYMBOL(drm_init);
  2352. +EXPORT_SYMBOL(lbm_drm_init);
  2353.  
  2354. -void drm_exit(struct drm_driver *driver)
  2355. +void lbm_drm_exit(struct drm_driver *driver)
  2356. {
  2357. struct drm_device *dev, *tmp;
  2358. DRM_DEBUG("\n");
  2359. @@ -296,13 +296,13 @@
  2360. pci_unregister_driver(&driver->pci_driver);
  2361. } else {
  2362. list_for_each_entry_safe(dev, tmp, &driver->device_list, driver_item)
  2363. - drm_put_dev(dev);
  2364. + lbm_drm_put_dev(dev);
  2365. }
  2366.  
  2367. DRM_INFO("Module unloaded\n");
  2368. }
  2369.  
  2370. -EXPORT_SYMBOL(drm_exit);
  2371. +EXPORT_SYMBOL(lbm_drm_exit);
  2372.  
  2373. /** File operations structure */
  2374. static const struct file_operations drm_stub_fops = {
  2375. @@ -316,24 +316,24 @@
  2376.  
  2377. idr_init(&drm_minors_idr);
  2378.  
  2379. - if (register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops))
  2380. + if (register_chrdev(DRM_MAJOR, "lbm-drm", &drm_stub_fops))
  2381. goto err_p1;
  2382.  
  2383. - drm_class = drm_sysfs_create(THIS_MODULE, "drm");
  2384. + drm_class = drm_sysfs_create(THIS_MODULE, "lbm-drm");
  2385. if (IS_ERR(drm_class)) {
  2386. printk(KERN_ERR "DRM: Error creating drm class.\n");
  2387. ret = PTR_ERR(drm_class);
  2388. goto err_p2;
  2389. }
  2390.  
  2391. - drm_proc_root = proc_mkdir("dri", NULL);
  2392. + drm_proc_root = proc_mkdir("lbm-dri", NULL);
  2393. if (!drm_proc_root) {
  2394. DRM_ERROR("Cannot create /proc/dri\n");
  2395. ret = -1;
  2396. goto err_p3;
  2397. }
  2398.  
  2399. - drm_debugfs_root = debugfs_create_dir("dri", NULL);
  2400. + drm_debugfs_root = debugfs_create_dir("lbm-dri", NULL);
  2401. if (!drm_debugfs_root) {
  2402. DRM_ERROR("Cannot create /sys/kernel/debug/dri\n");
  2403. ret = -1;
  2404. @@ -346,7 +346,7 @@
  2405. err_p3:
  2406. drm_sysfs_destroy();
  2407. err_p2:
  2408. - unregister_chrdev(DRM_MAJOR, "drm");
  2409. + unregister_chrdev(DRM_MAJOR, "lbm-drm");
  2410.  
  2411. idr_destroy(&drm_minors_idr);
  2412. err_p1:
  2413. @@ -355,11 +355,11 @@
  2414.  
  2415. static void __exit drm_core_exit(void)
  2416. {
  2417. - remove_proc_entry("dri", NULL);
  2418. + remove_proc_entry("lbm-dri", NULL);
  2419. debugfs_remove(drm_debugfs_root);
  2420. drm_sysfs_destroy();
  2421.  
  2422. - unregister_chrdev(DRM_MAJOR, "drm");
  2423. + unregister_chrdev(DRM_MAJOR, "lbm-drm");
  2424.  
  2425. idr_destroy(&drm_minors_idr);
  2426. }
  2427. @@ -434,7 +434,7 @@
  2428. * Looks up the ioctl function in the ::ioctls table, checking for root
  2429. * previleges if so required, and dispatches to the respective function.
  2430. */
  2431. -long drm_ioctl(struct file *filp,
  2432. +long lbm_drm_ioctl(struct file *filp,
  2433. unsigned int cmd, unsigned long arg)
  2434. {
  2435. struct drm_file *file_priv = filp->private_data;
  2436. @@ -526,9 +526,9 @@
  2437. return retcode;
  2438. }
  2439.  
  2440. -EXPORT_SYMBOL(drm_ioctl);
  2441. +EXPORT_SYMBOL(lbm_drm_ioctl);
  2442.  
  2443. -struct drm_local_map *drm_getsarea(struct drm_device *dev)
  2444. +struct drm_local_map *lbm_drm_getsarea(struct drm_device *dev)
  2445. {
  2446. struct drm_map_list *entry;
  2447.  
  2448. @@ -540,4 +540,4 @@
  2449. }
  2450. return NULL;
  2451. }
  2452. -EXPORT_SYMBOL(drm_getsarea);
  2453. +EXPORT_SYMBOL(lbm_drm_getsarea);
  2454. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_edid.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_edid.c
  2455. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_edid.c 2010-01-25 15:21:29.000000000 -0500
  2456. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_edid.c 2010-02-03 17:11:08.000000000 -0500
  2457. @@ -3,7 +3,7 @@
  2458. * Copyright (c) 2007-2008 Intel Corporation
  2459. * Jesse Barnes <jesse.barnes@intel.com>
  2460. *
  2461. - * DDC probing routines (drm_ddc_read & drm_do_probe_ddc_edid) originally from
  2462. + * DDC probing routines (drm_ddc_read & lbm_drm_do_probe_ddc_edid) originally from
  2463. * FB layer.
  2464. * Copyright (C) 2006 Dennis Munsie <dmunsie@cecropia.com>
  2465. *
  2466. @@ -505,9 +505,9 @@
  2467. ptr = &drm_dmt_modes[i];
  2468. if (hsize == ptr->hdisplay &&
  2469. vsize == ptr->vdisplay &&
  2470. - fresh == drm_mode_vrefresh(ptr)) {
  2471. + fresh == lbm_drm_mode_vrefresh(ptr)) {
  2472. /* get the expected default mode */
  2473. - mode = drm_mode_duplicate(dev, ptr);
  2474. + mode = lbm_drm_mode_duplicate(dev, ptr);
  2475. break;
  2476. }
  2477. }
  2478. @@ -571,7 +571,7 @@
  2479. vsize = (hsize * 9) / 16;
  2480. /* HDTV hack */
  2481. if (hsize == 1360 && vsize == 765 && vrefresh_rate == 60) {
  2482. - mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,
  2483. + mode = lbm_drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,
  2484. false);
  2485. mode->hdisplay = 1366;
  2486. mode->vsync_start = mode->vsync_start - 1;
  2487. @@ -588,10 +588,10 @@
  2488. case LEVEL_DMT:
  2489. break;
  2490. case LEVEL_GTF:
  2491. - mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
  2492. + mode = lbm_drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
  2493. break;
  2494. case LEVEL_CVT:
  2495. - mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,
  2496. + mode = lbm_drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,
  2497. false);
  2498. break;
  2499. }
  2500. @@ -633,8 +633,7 @@
  2501. return NULL;
  2502. }
  2503. if (!(pt->misc & DRM_EDID_PT_SEPARATE_SYNC)) {
  2504. - printk(KERN_WARNING "integrated sync not supported\n");
  2505. - return NULL;
  2506. + printk(KERN_WARNING "composite sync not supported\n");
  2507. }
  2508.  
  2509. /* it is incorrect if hsync/vsync width is zero */
  2510. @@ -643,7 +642,7 @@
  2511. "Wrong Hsync/Vsync pulse width\n");
  2512. return NULL;
  2513. }
  2514. - mode = drm_mode_create(dev);
  2515. + mode = lbm_drm_mode_create(dev);
  2516. if (!mode)
  2517. return NULL;
  2518.  
  2519. @@ -667,7 +666,7 @@
  2520. /* perform the basic check for the detailed timing */
  2521. if (mode->hsync_end > mode->htotal ||
  2522. mode->vsync_end > mode->vtotal) {
  2523. - drm_mode_destroy(dev, mode);
  2524. + lbm_drm_mode_destroy(dev, mode);
  2525. DRM_DEBUG_KMS("Incorrect detailed timing. "
  2526. "Sync is beyond the blank.\n");
  2527. return NULL;
  2528. @@ -679,7 +678,7 @@
  2529. if (mode->vsync_end > mode->vtotal)
  2530. mode->vtotal = mode->vsync_end + 1;
  2531.  
  2532. - drm_mode_set_name(mode);
  2533. + lbm_drm_mode_set_name(mode);
  2534.  
  2535. if (pt->misc & DRM_EDID_PT_INTERLACED)
  2536. mode->flags |= DRM_MODE_FLAG_INTERLACE;
  2537. @@ -788,9 +787,9 @@
  2538. for (i = 0; i <= EDID_EST_TIMINGS; i++)
  2539. if (est_bits & (1<<i)) {
  2540. struct drm_display_mode *newmode;
  2541. - newmode = drm_mode_duplicate(dev, &edid_est_modes[i]);
  2542. + newmode = lbm_drm_mode_duplicate(dev, &edid_est_modes[i]);
  2543. if (newmode) {
  2544. - drm_mode_probed_add(connector, newmode);
  2545. + lbm_drm_mode_probed_add(connector, newmode);
  2546. modes++;
  2547. }
  2548. }
  2549. @@ -837,7 +836,7 @@
  2550. newmode = drm_mode_std(dev, &edid->standard_timings[i],
  2551. edid->revision, timing_level);
  2552. if (newmode) {
  2553. - drm_mode_probed_add(connector, newmode);
  2554. + lbm_drm_mode_probed_add(connector, newmode);
  2555. modes++;
  2556. }
  2557. }
  2558. @@ -859,8 +858,8 @@
  2559.  
  2560. range = &timing->data.other_data.data.range;
  2561.  
  2562. - hsync = drm_mode_hsync(mode);
  2563. - vrefresh = drm_mode_vrefresh(mode);
  2564. + hsync = lbm_drm_mode_hsync(mode);
  2565. + vrefresh = lbm_drm_mode_vrefresh(mode);
  2566.  
  2567. if (hsync < range->min_hfreq_khz || hsync > range->max_hfreq_khz)
  2568. return false;
  2569. @@ -892,9 +891,9 @@
  2570.  
  2571. for (i = 0; i < drm_num_dmt_modes; i++) {
  2572. if (mode_in_range(drm_dmt_modes + i, timing)) {
  2573. - newmode = drm_mode_duplicate(dev, &drm_dmt_modes[i]);
  2574. + newmode = lbm_drm_mode_duplicate(dev, &drm_dmt_modes[i]);
  2575. if (newmode) {
  2576. - drm_mode_probed_add(connector, newmode);
  2577. + lbm_drm_mode_probed_add(connector, newmode);
  2578. modes++;
  2579. }
  2580. }
  2581. @@ -938,11 +937,11 @@
  2582.  
  2583. for (j = 1; j < 5; j++) {
  2584. if (cvt->code[2] & (1 << j)) {
  2585. - newmode = drm_cvt_mode(dev, width, height,
  2586. + newmode = lbm_drm_cvt_mode(dev, width, height,
  2587. rates[j], j == 0,
  2588. false, false);
  2589. if (newmode) {
  2590. - drm_mode_probed_add(connector, newmode);
  2591. + lbm_drm_mode_probed_add(connector, newmode);
  2592. modes++;
  2593. }
  2594. }
  2595. @@ -971,7 +970,7 @@
  2596. if (preferred)
  2597. newmode->type |= DRM_MODE_TYPE_PREFERRED;
  2598.  
  2599. - drm_mode_probed_add(connector, newmode);
  2600. + lbm_drm_mode_probed_add(connector, newmode);
  2601. return 1;
  2602. }
  2603.  
  2604. @@ -991,7 +990,7 @@
  2605. newmode = drm_mode_std(dev, std, edid->revision,
  2606. timing_level);
  2607. if (newmode) {
  2608. - drm_mode_probed_add(connector, newmode);
  2609. + lbm_drm_mode_probed_add(connector, newmode);
  2610. modes++;
  2611. }
  2612. }
  2613. @@ -1119,7 +1118,7 @@
  2614. *
  2615. * Try to fetch EDID information by calling i2c driver function.
  2616. */
  2617. -int drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
  2618. +int lbm_drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
  2619. unsigned char *buf, int len)
  2620. {
  2621. unsigned char start = 0x0;
  2622. @@ -1142,7 +1141,7 @@
  2623.  
  2624. return -1;
  2625. }
  2626. -EXPORT_SYMBOL(drm_do_probe_ddc_edid);
  2627. +EXPORT_SYMBOL(lbm_drm_do_probe_ddc_edid);
  2628.  
  2629. static int drm_ddc_read_edid(struct drm_connector *connector,
  2630. struct i2c_adapter *adapter,
  2631. @@ -1151,7 +1150,7 @@
  2632. int i;
  2633.  
  2634. for (i = 0; i < 4; i++) {
  2635. - if (drm_do_probe_ddc_edid(adapter, buf, len))
  2636. + if (lbm_drm_do_probe_ddc_edid(adapter, buf, len))
  2637. return -1;
  2638. if (edid_is_valid((struct edid *)buf))
  2639. return 0;
  2640. @@ -1159,12 +1158,12 @@
  2641.  
  2642. /* repeated checksum failures; warn, but carry on */
  2643. dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n",
  2644. - drm_get_connector_name(connector));
  2645. + lbm_drm_get_connector_name(connector));
  2646. return -1;
  2647. }
  2648.  
  2649. /**
  2650. - * drm_get_edid - get EDID data, if available
  2651. + * lbm_drm_get_edid - get EDID data, if available
  2652. * @connector: connector we're probing
  2653. * @adapter: i2c adapter to use for DDC
  2654. *
  2655. @@ -1172,7 +1171,7 @@
  2656. *
  2657. * Return edid data or NULL if we couldn't find any.
  2658. */
  2659. -struct edid *drm_get_edid(struct drm_connector *connector,
  2660. +struct edid *lbm_drm_get_edid(struct drm_connector *connector,
  2661. struct i2c_adapter *adapter)
  2662. {
  2663. int ret;
  2664. @@ -1223,18 +1222,18 @@
  2665. return edid;
  2666.  
  2667. }
  2668. -EXPORT_SYMBOL(drm_get_edid);
  2669. +EXPORT_SYMBOL(lbm_drm_get_edid);
  2670.  
  2671. #define HDMI_IDENTIFIER 0x000C03
  2672. #define VENDOR_BLOCK 0x03
  2673. /**
  2674. - * drm_detect_hdmi_monitor - detect whether monitor is hdmi.
  2675. + * lbm_drm_detect_hdmi_monitor - detect whether monitor is hdmi.
  2676. * @edid: monitor EDID information
  2677. *
  2678. * Parse the CEA extension according to CEA-861-B.
  2679. * Return true if HDMI, false if not or unknown.
  2680. */
  2681. -bool drm_detect_hdmi_monitor(struct edid *edid)
  2682. +bool lbm_drm_detect_hdmi_monitor(struct edid *edid)
  2683. {
  2684. char *edid_ext = NULL;
  2685. int i, hdmi_id, edid_ext_num;
  2686. @@ -1285,10 +1284,10 @@
  2687. end:
  2688. return is_hdmi;
  2689. }
  2690. -EXPORT_SYMBOL(drm_detect_hdmi_monitor);
  2691. +EXPORT_SYMBOL(lbm_drm_detect_hdmi_monitor);
  2692.  
  2693. /**
  2694. - * drm_add_edid_modes - add modes from EDID data, if available
  2695. + * lbm_drm_add_edid_modes - add modes from EDID data, if available
  2696. * @connector: connector we're probing
  2697. * @edid: edid data
  2698. *
  2699. @@ -1296,7 +1295,7 @@
  2700. *
  2701. * Return number of modes added or 0 if we couldn't find any.
  2702. */
  2703. -int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
  2704. +int lbm_drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
  2705. {
  2706. int num_modes = 0;
  2707. u32 quirks;
  2708. @@ -1306,7 +1305,7 @@
  2709. }
  2710. if (!edid_is_valid(edid)) {
  2711. dev_warn(&connector->dev->pdev->dev, "%s: EDID invalid.\n",
  2712. - drm_get_connector_name(connector));
  2713. + lbm_drm_get_connector_name(connector));
  2714. return 0;
  2715. }
  2716.  
  2717. @@ -1340,10 +1339,10 @@
  2718.  
  2719. return num_modes;
  2720. }
  2721. -EXPORT_SYMBOL(drm_add_edid_modes);
  2722. +EXPORT_SYMBOL(lbm_drm_add_edid_modes);
  2723.  
  2724. /**
  2725. - * drm_add_modes_noedid - add modes for the connectors without EDID
  2726. + * lbm_drm_add_modes_noedid - add modes for the connectors without EDID
  2727. * @connector: connector we're probing
  2728. * @hdisplay: the horizontal display limit
  2729. * @vdisplay: the vertical display limit
  2730. @@ -1353,7 +1352,7 @@
  2731. *
  2732. * Return number of modes added or 0 if we couldn't find any.
  2733. */
  2734. -int drm_add_modes_noedid(struct drm_connector *connector,
  2735. +int lbm_drm_add_modes_noedid(struct drm_connector *connector,
  2736. int hdisplay, int vdisplay)
  2737. {
  2738. int i, count, num_modes = 0;
  2739. @@ -1378,14 +1377,14 @@
  2740. ptr->vdisplay > vdisplay)
  2741. continue;
  2742. }
  2743. - if (drm_mode_vrefresh(ptr) > 61)
  2744. + if (lbm_drm_mode_vrefresh(ptr) > 61)
  2745. continue;
  2746. - mode = drm_mode_duplicate(dev, ptr);
  2747. + mode = lbm_drm_mode_duplicate(dev, ptr);
  2748. if (mode) {
  2749. - drm_mode_probed_add(connector, mode);
  2750. + lbm_drm_mode_probed_add(connector, mode);
  2751. num_modes++;
  2752. }
  2753. }
  2754. return num_modes;
  2755. }
  2756. -EXPORT_SYMBOL(drm_add_modes_noedid);
  2757. +EXPORT_SYMBOL(lbm_drm_add_modes_noedid);
  2758. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_encoder_slave.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_encoder_slave.c
  2759. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_encoder_slave.c 2010-01-25 15:21:29.000000000 -0500
  2760. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_encoder_slave.c 2010-02-03 17:11:08.000000000 -0500
  2761. @@ -27,10 +27,10 @@
  2762. #include "drm_encoder_slave.h"
  2763.  
  2764. /**
  2765. - * drm_i2c_encoder_init - Initialize an I2C slave encoder
  2766. + * lbm_drm_i2c_encoder_init - Initialize an I2C slave encoder
  2767. * @dev: DRM device.
  2768. * @encoder: Encoder to be attached to the I2C device. You aren't
  2769. - * required to have called drm_encoder_init() before.
  2770. + * required to have called lbm_drm_encoder_init() before.
  2771. * @adap: I2C adapter that will be used to communicate with
  2772. * the device.
  2773. * @info: Information that will be used to create the I2C device.
  2774. @@ -44,7 +44,7 @@
  2775. * Returns 0 on success or a negative errno on failure, in particular,
  2776. * -ENODEV is returned when no matching driver is found.
  2777. */
  2778. -int drm_i2c_encoder_init(struct drm_device *dev,
  2779. +int lbm_drm_i2c_encoder_init(struct drm_device *dev,
  2780. struct drm_encoder_slave *encoder,
  2781. struct i2c_adapter *adap,
  2782. const struct i2c_board_info *info)
  2783. @@ -93,16 +93,16 @@
  2784. fail:
  2785. return err;
  2786. }
  2787. -EXPORT_SYMBOL(drm_i2c_encoder_init);
  2788. +EXPORT_SYMBOL(lbm_drm_i2c_encoder_init);
  2789.  
  2790. /**
  2791. - * drm_i2c_encoder_destroy - Unregister the I2C device backing an encoder
  2792. + * lbm_drm_i2c_encoder_destroy - Unregister the I2C device backing an encoder
  2793. * @drm_encoder: Encoder to be unregistered.
  2794. *
  2795. * This should be called from the @destroy method of an I2C slave
  2796. * encoder driver once I2C access is no longer needed.
  2797. */
  2798. -void drm_i2c_encoder_destroy(struct drm_encoder *drm_encoder)
  2799. +void lbm_drm_i2c_encoder_destroy(struct drm_encoder *drm_encoder)
  2800. {
  2801. struct drm_encoder_slave *encoder = to_encoder_slave(drm_encoder);
  2802. struct i2c_client *client = drm_i2c_encoder_get_client(drm_encoder);
  2803. @@ -113,4 +113,4 @@
  2804.  
  2805. module_put(module);
  2806. }
  2807. -EXPORT_SYMBOL(drm_i2c_encoder_destroy);
  2808. +EXPORT_SYMBOL(lbm_drm_i2c_encoder_destroy);
  2809. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fb_helper.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fb_helper.c
  2810. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fb_helper.c 2010-01-25 15:21:29.000000000 -0500
  2811. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fb_helper.c 2010-02-03 17:11:08.000000000 -0500
  2812. @@ -40,7 +40,7 @@
  2813.  
  2814. static LIST_HEAD(kernel_fb_helper_list);
  2815.  
  2816. -int drm_fb_helper_add_connector(struct drm_connector *connector)
  2817. +int lbm_drm_fb_helper_add_connector(struct drm_connector *connector)
  2818. {
  2819. connector->fb_helper_private = kzalloc(sizeof(struct drm_fb_helper_connector), GFP_KERNEL);
  2820. if (!connector->fb_helper_private)
  2821. @@ -48,7 +48,7 @@
  2822.  
  2823. return 0;
  2824. }
  2825. -EXPORT_SYMBOL(drm_fb_helper_add_connector);
  2826. +EXPORT_SYMBOL(lbm_drm_fb_helper_add_connector);
  2827.  
  2828. static int my_atoi(const char *name)
  2829. {
  2830. @@ -176,7 +176,7 @@
  2831. done:
  2832.  
  2833. DRM_DEBUG_KMS("cmdline mode for connector %s %dx%d@%dHz%s%s%s\n",
  2834. - drm_get_connector_name(connector), xres, yres,
  2835. + lbm_drm_get_connector_name(connector), xres, yres,
  2836. (refresh) ? refresh : 60, (rb) ? " reduced blanking" :
  2837. "", (margins) ? " with margins" : "", (interlace) ?
  2838. " interlaced" : "");
  2839. @@ -191,7 +191,7 @@
  2840. }
  2841.  
  2842. DRM_INFO("forcing %s connector %s\n",
  2843. - drm_get_connector_name(connector), s);
  2844. + lbm_drm_get_connector_name(connector), s);
  2845. connector->force = force;
  2846. }
  2847.  
  2848. @@ -225,7 +225,7 @@
  2849. char *option = NULL;
  2850.  
  2851. /* do something on return - turn off connector maybe */
  2852. - if (fb_get_options(drm_get_connector_name(connector), &option))
  2853. + if (fb_get_options(lbm_drm_get_connector_name(connector), &option))
  2854. continue;
  2855.  
  2856. drm_fb_helper_connector_parse_command_line(connector, option);
  2857. @@ -245,7 +245,7 @@
  2858. list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) {
  2859. for (i = 0; i < helper->crtc_count; i++) {
  2860. struct drm_mode_set *mode_set = &helper->crtc_info[i].mode_set;
  2861. - ret = drm_crtc_helper_set_config(mode_set);
  2862. + ret = lbm_drm_crtc_helper_set_config(mode_set);
  2863. if (ret)
  2864. error = true;
  2865. }
  2866. @@ -253,37 +253,37 @@
  2867. return error;
  2868. }
  2869.  
  2870. -int drm_fb_helper_panic(struct notifier_block *n, unsigned long ununsed,
  2871. +int lbm_drm_fb_helper_panic(struct notifier_block *n, unsigned long ununsed,
  2872. void *panic_str)
  2873. {
  2874. DRM_ERROR("panic occurred, switching back to text console\n");
  2875. return drm_fb_helper_force_kernel_mode();
  2876. return 0;
  2877. }
  2878. -EXPORT_SYMBOL(drm_fb_helper_panic);
  2879. +EXPORT_SYMBOL(lbm_drm_fb_helper_panic);
  2880.  
  2881. static struct notifier_block paniced = {
  2882. - .notifier_call = drm_fb_helper_panic,
  2883. + .notifier_call = lbm_drm_fb_helper_panic,
  2884. };
  2885.  
  2886. /**
  2887. - * drm_fb_helper_restore - restore the framebuffer console (kernel) config
  2888. + * lbm_drm_fb_helper_restore - restore the framebuffer console (kernel) config
  2889. *
  2890. * Restore's the kernel's fbcon mode, used for lastclose & panic paths.
  2891. */
  2892. -void drm_fb_helper_restore(void)
  2893. +void lbm_drm_fb_helper_restore(void)
  2894. {
  2895. bool ret;
  2896. ret = drm_fb_helper_force_kernel_mode();
  2897. if (ret == true)
  2898. DRM_ERROR("Failed to restore crtc configuration\n");
  2899. }
  2900. -EXPORT_SYMBOL(drm_fb_helper_restore);
  2901. +EXPORT_SYMBOL(lbm_drm_fb_helper_restore);
  2902.  
  2903. #ifdef CONFIG_MAGIC_SYSRQ
  2904. static void drm_fb_helper_restore_work_fn(struct work_struct *ignored)
  2905. {
  2906. - drm_fb_helper_restore();
  2907. + lbm_drm_fb_helper_restore();
  2908. }
  2909. static DECLARE_WORK(drm_fb_helper_restore_work, drm_fb_helper_restore_work_fn);
  2910.  
  2911. @@ -380,7 +380,7 @@
  2912. }
  2913. }
  2914.  
  2915. -int drm_fb_helper_blank(int blank, struct fb_info *info)
  2916. +int lbm_drm_fb_helper_blank(int blank, struct fb_info *info)
  2917. {
  2918. switch (blank) {
  2919. /* Display: On; HSync: On, VSync: On */
  2920. @@ -389,7 +389,7 @@
  2921. break;
  2922. /* Display: Off; HSync: On, VSync: On */
  2923. case FB_BLANK_NORMAL:
  2924. - drm_fb_helper_off(info, DRM_MODE_DPMS_ON);
  2925. + drm_fb_helper_off(info, DRM_MODE_DPMS_STANDBY);
  2926. break;
  2927. /* Display: Off; HSync: Off, VSync: On */
  2928. case FB_BLANK_HSYNC_SUSPEND:
  2929. @@ -406,7 +406,7 @@
  2930. }
  2931. return 0;
  2932. }
  2933. -EXPORT_SYMBOL(drm_fb_helper_blank);
  2934. +EXPORT_SYMBOL(lbm_drm_fb_helper_blank);
  2935.  
  2936. static void drm_fb_helper_crtc_free(struct drm_fb_helper *helper)
  2937. {
  2938. @@ -417,7 +417,7 @@
  2939. kfree(helper->crtc_info);
  2940. }
  2941.  
  2942. -int drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count, int max_conn_count)
  2943. +int lbm_drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count, int max_conn_count)
  2944. {
  2945. struct drm_device *dev = helper->dev;
  2946. struct drm_crtc *crtc;
  2947. @@ -455,7 +455,7 @@
  2948. drm_fb_helper_crtc_free(helper);
  2949. return -ENOMEM;
  2950. }
  2951. -EXPORT_SYMBOL(drm_fb_helper_init_crtc_count);
  2952. +EXPORT_SYMBOL(lbm_drm_fb_helper_init_crtc_count);
  2953.  
  2954. static int setcolreg(struct drm_crtc *crtc, u16 red, u16 green,
  2955. u16 blue, u16 regno, struct fb_info *info)
  2956. @@ -516,7 +516,7 @@
  2957. return 0;
  2958. }
  2959.  
  2960. -int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info)
  2961. +int lbm_drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info)
  2962. {
  2963. struct drm_fb_helper *fb_helper = info->par;
  2964. struct drm_device *dev = fb_helper->dev;
  2965. @@ -558,9 +558,9 @@
  2966. }
  2967. return rc;
  2968. }
  2969. -EXPORT_SYMBOL(drm_fb_helper_setcmap);
  2970. +EXPORT_SYMBOL(lbm_drm_fb_helper_setcmap);
  2971.  
  2972. -int drm_fb_helper_setcolreg(unsigned regno,
  2973. +int lbm_drm_fb_helper_setcolreg(unsigned regno,
  2974. unsigned red,
  2975. unsigned green,
  2976. unsigned blue,
  2977. @@ -593,9 +593,9 @@
  2978. }
  2979. return 0;
  2980. }
  2981. -EXPORT_SYMBOL(drm_fb_helper_setcolreg);
  2982. +EXPORT_SYMBOL(lbm_drm_fb_helper_setcolreg);
  2983.  
  2984. -int drm_fb_helper_check_var(struct fb_var_screeninfo *var,
  2985. +int lbm_drm_fb_helper_check_var(struct fb_var_screeninfo *var,
  2986. struct fb_info *info)
  2987. {
  2988. struct drm_fb_helper *fb_helper = info->par;
  2989. @@ -681,10 +681,10 @@
  2990. }
  2991. return 0;
  2992. }
  2993. -EXPORT_SYMBOL(drm_fb_helper_check_var);
  2994. +EXPORT_SYMBOL(lbm_drm_fb_helper_check_var);
  2995.  
  2996. /* this will let fbcon do the mode init */
  2997. -int drm_fb_helper_set_par(struct fb_info *info)
  2998. +int lbm_drm_fb_helper_set_par(struct fb_info *info)
  2999. {
  3000. struct drm_fb_helper *fb_helper = info->par;
  3001. struct drm_device *dev = fb_helper->dev;
  3002. @@ -717,9 +717,9 @@
  3003. }
  3004. return 0;
  3005. }
  3006. -EXPORT_SYMBOL(drm_fb_helper_set_par);
  3007. +EXPORT_SYMBOL(lbm_drm_fb_helper_set_par);
  3008.  
  3009. -int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
  3010. +int lbm_drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
  3011. struct fb_info *info)
  3012. {
  3013. struct drm_fb_helper *fb_helper = info->par;
  3014. @@ -755,9 +755,9 @@
  3015. }
  3016. return ret;
  3017. }
  3018. -EXPORT_SYMBOL(drm_fb_helper_pan_display);
  3019. +EXPORT_SYMBOL(lbm_drm_fb_helper_pan_display);
  3020.  
  3021. -int drm_fb_helper_single_fb_probe(struct drm_device *dev,
  3022. +int lbm_drm_fb_helper_single_fb_probe(struct drm_device *dev,
  3023. int preferred_bpp,
  3024. int (*fb_create)(struct drm_device *dev,
  3025. uint32_t fb_width,
  3026. @@ -822,7 +822,7 @@
  3027. }
  3028.  
  3029. list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
  3030. - if (drm_helper_crtc_in_use(crtc)) {
  3031. + if (lbm_drm_helper_crtc_in_use(crtc)) {
  3032. if (crtc->desired_mode) {
  3033. if (crtc->desired_mode->hdisplay < fb_width)
  3034. fb_width = crtc->desired_mode->hdisplay;
  3035. @@ -897,8 +897,8 @@
  3036. modeset->num_connectors = conn_count;
  3037. if (modeset->crtc->desired_mode) {
  3038. if (modeset->mode)
  3039. - drm_mode_destroy(dev, modeset->mode);
  3040. - modeset->mode = drm_mode_duplicate(dev,
  3041. + lbm_drm_mode_destroy(dev, modeset->mode);
  3042. + modeset->mode = lbm_drm_mode_duplicate(dev,
  3043. modeset->crtc->desired_mode);
  3044. }
  3045. }
  3046. @@ -915,7 +915,7 @@
  3047. return -EINVAL;
  3048. }
  3049. } else {
  3050. - drm_fb_helper_set_par(info);
  3051. + lbm_drm_fb_helper_set_par(info);
  3052. }
  3053. printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node,
  3054. info->fix.id);
  3055. @@ -931,9 +931,9 @@
  3056. list_add(&fb_helper->kernel_fb_list, &kernel_fb_helper_list);
  3057. return 0;
  3058. }
  3059. -EXPORT_SYMBOL(drm_fb_helper_single_fb_probe);
  3060. +EXPORT_SYMBOL(lbm_drm_fb_helper_single_fb_probe);
  3061.  
  3062. -void drm_fb_helper_free(struct drm_fb_helper *helper)
  3063. +void lbm_drm_fb_helper_free(struct drm_fb_helper *helper)
  3064. {
  3065. list_del(&helper->kernel_fb_list);
  3066. if (list_empty(&kernel_fb_helper_list)) {
  3067. @@ -945,9 +945,9 @@
  3068. drm_fb_helper_crtc_free(helper);
  3069. fb_dealloc_cmap(&helper->fb->fbdev->cmap);
  3070. }
  3071. -EXPORT_SYMBOL(drm_fb_helper_free);
  3072. +EXPORT_SYMBOL(lbm_drm_fb_helper_free);
  3073.  
  3074. -void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch,
  3075. +void lbm_drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch,
  3076. uint32_t depth)
  3077. {
  3078. info->fix.type = FB_TYPE_PACKED_PIXELS;
  3079. @@ -963,9 +963,9 @@
  3080. info->fix.line_length = pitch;
  3081. return;
  3082. }
  3083. -EXPORT_SYMBOL(drm_fb_helper_fill_fix);
  3084. +EXPORT_SYMBOL(lbm_drm_fb_helper_fill_fix);
  3085.  
  3086. -void drm_fb_helper_fill_var(struct fb_info *info, struct drm_framebuffer *fb,
  3087. +void lbm_drm_fb_helper_fill_var(struct fb_info *info, struct drm_framebuffer *fb,
  3088. uint32_t fb_width, uint32_t fb_height)
  3089. {
  3090. info->pseudo_palette = fb->pseudo_palette;
  3091. @@ -1035,4 +1035,4 @@
  3092. info->var.xres = fb_width;
  3093. info->var.yres = fb_height;
  3094. }
  3095. -EXPORT_SYMBOL(drm_fb_helper_fill_var);
  3096. +EXPORT_SYMBOL(lbm_drm_fb_helper_fill_var);
  3097. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fops.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fops.c
  3098. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fops.c 2010-01-25 15:21:29.000000000 -0500
  3099. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_fops.c 2010-02-03 17:11:08.000000000 -0500
  3100. @@ -114,7 +114,7 @@
  3101. * increments the device open count. If the open count was previous at zero,
  3102. * i.e., it's the first that the device is open, then calls setup().
  3103. */
  3104. -int drm_open(struct inode *inode, struct file *filp)
  3105. +int lbm_drm_open(struct inode *inode, struct file *filp)
  3106. {
  3107. struct drm_device *dev = NULL;
  3108. int minor_id = iminor(inode);
  3109. @@ -151,7 +151,7 @@
  3110.  
  3111. return retcode;
  3112. }
  3113. -EXPORT_SYMBOL(drm_open);
  3114. +EXPORT_SYMBOL(lbm_drm_open);
  3115.  
  3116. /**
  3117. * File \c open operation.
  3118. @@ -284,7 +284,7 @@
  3119.  
  3120. priv->is_master = 1;
  3121. /* take another reference for the copy in the local file priv */
  3122. - priv->master = drm_master_get(priv->minor->master);
  3123. + priv->master = lbm_drm_master_get(priv->minor->master);
  3124.  
  3125. priv->authenticated = 1;
  3126.  
  3127. @@ -294,8 +294,8 @@
  3128. if (ret) {
  3129. mutex_lock(&dev->struct_mutex);
  3130. /* drop both references if this fails */
  3131. - drm_master_put(&priv->minor->master);
  3132. - drm_master_put(&priv->master);
  3133. + lbm_drm_master_put(&priv->minor->master);
  3134. + lbm_drm_master_put(&priv->master);
  3135. mutex_unlock(&dev->struct_mutex);
  3136. goto out_free;
  3137. }
  3138. @@ -305,8 +305,8 @@
  3139. ret = dev->driver->master_set(dev, priv, true);
  3140. if (ret) {
  3141. /* drop both references if this fails */
  3142. - drm_master_put(&priv->minor->master);
  3143. - drm_master_put(&priv->master);
  3144. + lbm_drm_master_put(&priv->minor->master);
  3145. + lbm_drm_master_put(&priv->master);
  3146. mutex_unlock(&dev->struct_mutex);
  3147. goto out_free;
  3148. }
  3149. @@ -314,7 +314,7 @@
  3150. mutex_unlock(&dev->struct_mutex);
  3151. } else {
  3152. /* get a reference to the master */
  3153. - priv->master = drm_master_get(priv->minor->master);
  3154. + priv->master = lbm_drm_master_get(priv->minor->master);
  3155. mutex_unlock(&dev->struct_mutex);
  3156. }
  3157.  
  3158. @@ -349,7 +349,7 @@
  3159. }
  3160.  
  3161. /** No-op. */
  3162. -int drm_fasync(int fd, struct file *filp, int on)
  3163. +int lbm_drm_fasync(int fd, struct file *filp, int on)
  3164. {
  3165. struct drm_file *priv = filp->private_data;
  3166. struct drm_device *dev = priv->minor->dev;
  3167. @@ -358,7 +358,7 @@
  3168. (long)old_encode_dev(priv->minor->device));
  3169. return fasync_helper(fd, filp, on, &dev->buf_async);
  3170. }
  3171. -EXPORT_SYMBOL(drm_fasync);
  3172. +EXPORT_SYMBOL(lbm_drm_fasync);
  3173.  
  3174. /*
  3175. * Reclaim locked buffers; note that this may be a bad idea if the current
  3176. @@ -368,13 +368,13 @@
  3177. {
  3178. struct drm_file *file_priv = f->private_data;
  3179.  
  3180. - if (drm_i_have_hw_lock(dev, file_priv)) {
  3181. + if (lbm_drm_i_have_hw_lock(dev, file_priv)) {
  3182. dev->driver->reclaim_buffers_locked(dev, file_priv);
  3183. } else {
  3184. unsigned long _end = jiffies + 3 * DRM_HZ;
  3185. int locked = 0;
  3186.  
  3187. - drm_idlelock_take(&file_priv->master->lock);
  3188. + lbm_drm_idlelock_take(&file_priv->master->lock);
  3189.  
  3190. /*
  3191. * Wait for a while.
  3192. @@ -395,7 +395,7 @@
  3193. }
  3194.  
  3195. dev->driver->reclaim_buffers_locked(dev, file_priv);
  3196. - drm_idlelock_release(&file_priv->master->lock);
  3197. + lbm_drm_idlelock_release(&file_priv->master->lock);
  3198. }
  3199. }
  3200.  
  3201. @@ -409,16 +409,16 @@
  3202.  
  3203. if (dev->driver->reclaim_buffers_idlelocked &&
  3204. file_priv->master->lock.hw_lock) {
  3205. - drm_idlelock_take(&file_priv->master->lock);
  3206. + lbm_drm_idlelock_take(&file_priv->master->lock);
  3207. dev->driver->reclaim_buffers_idlelocked(dev, file_priv);
  3208. - drm_idlelock_release(&file_priv->master->lock);
  3209. + lbm_drm_idlelock_release(&file_priv->master->lock);
  3210. }
  3211.  
  3212.  
  3213. - if (drm_i_have_hw_lock(dev, file_priv)) {
  3214. + if (lbm_drm_i_have_hw_lock(dev, file_priv)) {
  3215. DRM_DEBUG("File %p released, freeing lock for context %d\n",
  3216. filp, _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock));
  3217. - drm_lock_free(&file_priv->master->lock,
  3218. + lbm_drm_lock_free(&file_priv->master->lock,
  3219. _DRM_LOCKING_CONTEXT(file_priv->master->lock.hw_lock->lock));
  3220. }
  3221.  
  3222. @@ -441,7 +441,7 @@
  3223. list_for_each_entry_safe(v, vt, &dev->vblank_event_list, base.link)
  3224. if (v->base.file_priv == file_priv) {
  3225. list_del(&v->base.link);
  3226. - drm_vblank_put(dev, v->pipe);
  3227. + lbm_drm_vblank_put(dev, v->pipe);
  3228. v->base.destroy(&v->base);
  3229. }
  3230.  
  3231. @@ -464,7 +464,7 @@
  3232. * data from its list and free it. Decreases the open count and if it reaches
  3233. * zero calls drm_lastclose().
  3234. */
  3235. -int drm_release(struct inode *inode, struct file *filp)
  3236. +int lbm_drm_release(struct inode *inode, struct file *filp)
  3237. {
  3238. struct drm_file *file_priv = filp->private_data;
  3239. struct drm_device *dev = file_priv->minor->dev;
  3240. @@ -478,7 +478,7 @@
  3241. dev->driver->preclose(dev, file_priv);
  3242.  
  3243. /* ========================================================
  3244. - * Begin inline drm_release
  3245. + * Begin inline lbm_drm_release
  3246. */
  3247.  
  3248. DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n",
  3249. @@ -547,12 +547,12 @@
  3250. /* drop the reference held my the minor */
  3251. if (dev->driver->master_drop)
  3252. dev->driver->master_drop(dev, file_priv, true);
  3253. - drm_master_put(&file_priv->minor->master);
  3254. + lbm_drm_master_put(&file_priv->minor->master);
  3255. }
  3256. }
  3257.  
  3258. /* drop the reference held my the file priv */
  3259. - drm_master_put(&file_priv->master);
  3260. + lbm_drm_master_put(&file_priv->master);
  3261. file_priv->is_master = 0;
  3262. list_del(&file_priv->lhead);
  3263. mutex_unlock(&dev->struct_mutex);
  3264. @@ -562,7 +562,7 @@
  3265. kfree(file_priv);
  3266.  
  3267. /* ========================================================
  3268. - * End inline drm_release
  3269. + * End inline lbm_drm_release
  3270. */
  3271.  
  3272. atomic_inc(&dev->counts[_DRM_STAT_CLOSES]);
  3273. @@ -585,7 +585,7 @@
  3274.  
  3275. return retcode;
  3276. }
  3277. -EXPORT_SYMBOL(drm_release);
  3278. +EXPORT_SYMBOL(lbm_drm_release);
  3279.  
  3280. static bool
  3281. drm_dequeue_event(struct drm_file *file_priv,
  3282. @@ -616,7 +616,7 @@
  3283. return ret;
  3284. }
  3285.  
  3286. -ssize_t drm_read(struct file *filp, char __user *buffer,
  3287. +ssize_t lbm_drm_read(struct file *filp, char __user *buffer,
  3288. size_t count, loff_t *offset)
  3289. {
  3290. struct drm_file *file_priv = filp->private_data;
  3291. @@ -643,9 +643,9 @@
  3292.  
  3293. return total;
  3294. }
  3295. -EXPORT_SYMBOL(drm_read);
  3296. +EXPORT_SYMBOL(lbm_drm_read);
  3297.  
  3298. -unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait)
  3299. +unsigned int lbm_drm_poll(struct file *filp, struct poll_table_struct *wait)
  3300. {
  3301. struct drm_file *file_priv = filp->private_data;
  3302. unsigned int mask = 0;
  3303. @@ -657,4 +657,4 @@
  3304.  
  3305. return mask;
  3306. }
  3307. -EXPORT_SYMBOL(drm_poll);
  3308. +EXPORT_SYMBOL(lbm_drm_poll);
  3309. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_gem.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_gem.c
  3310. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_gem.c 2010-01-25 15:21:29.000000000 -0500
  3311. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_gem.c 2010-02-03 17:11:08.000000000 -0500
  3312. @@ -97,14 +97,14 @@
  3313.  
  3314. dev->mm_private = mm;
  3315.  
  3316. - if (drm_ht_create(&mm->offset_hash, 19)) {
  3317. + if (lbm_drm_ht_create(&mm->offset_hash, 19)) {
  3318. kfree(mm);
  3319. return -ENOMEM;
  3320. }
  3321.  
  3322. - if (drm_mm_init(&mm->offset_manager, DRM_FILE_PAGE_OFFSET_START,
  3323. + if (lbm_drm_mm_init(&mm->offset_manager, DRM_FILE_PAGE_OFFSET_START,
  3324. DRM_FILE_PAGE_OFFSET_SIZE)) {
  3325. - drm_ht_remove(&mm->offset_hash);
  3326. + lbm_drm_ht_remove(&mm->offset_hash);
  3327. kfree(mm);
  3328. return -ENOMEM;
  3329. }
  3330. @@ -117,8 +117,8 @@
  3331. {
  3332. struct drm_gem_mm *mm = dev->mm_private;
  3333.  
  3334. - drm_mm_takedown(&mm->offset_manager);
  3335. - drm_ht_remove(&mm->offset_hash);
  3336. + lbm_drm_mm_takedown(&mm->offset_manager);
  3337. + lbm_drm_ht_remove(&mm->offset_hash);
  3338. kfree(mm);
  3339. dev->mm_private = NULL;
  3340. }
  3341. @@ -127,7 +127,7 @@
  3342. * Allocate a GEM object of the specified size with shmfs backing store
  3343. */
  3344. struct drm_gem_object *
  3345. -drm_gem_object_alloc(struct drm_device *dev, size_t size)
  3346. +lbm_drm_gem_object_alloc(struct drm_device *dev, size_t size)
  3347. {
  3348. struct drm_gem_object *obj;
  3349.  
  3350. @@ -142,19 +142,6 @@
  3351. if (IS_ERR(obj->filp))
  3352. goto free;
  3353.  
  3354. - /* Basically we want to disable the OOM killer and handle ENOMEM
  3355. - * ourselves by sacrificing pages from cached buffers.
  3356. - * XXX shmem_file_[gs]et_gfp_mask()
  3357. - */
  3358. - mapping_set_gfp_mask(obj->filp->f_path.dentry->d_inode->i_mapping,
  3359. - GFP_HIGHUSER |
  3360. - __GFP_COLD |
  3361. - __GFP_FS |
  3362. - __GFP_RECLAIMABLE |
  3363. - __GFP_NORETRY |
  3364. - __GFP_NOWARN |
  3365. - __GFP_NOMEMALLOC);
  3366. -
  3367. kref_init(&obj->refcount);
  3368. kref_init(&obj->handlecount);
  3369. obj->size = size;
  3370. @@ -171,7 +158,7 @@
  3371. kfree(obj);
  3372. return NULL;
  3373. }
  3374. -EXPORT_SYMBOL(drm_gem_object_alloc);
  3375. +EXPORT_SYMBOL(lbm_drm_gem_object_alloc);
  3376.  
  3377. /**
  3378. * Removes the mapping from handle to filp for this object.
  3379. @@ -218,7 +205,7 @@
  3380. * will likely want to dereference the object afterwards.
  3381. */
  3382. int
  3383. -drm_gem_handle_create(struct drm_file *file_priv,
  3384. +lbm_drm_gem_handle_create(struct drm_file *file_priv,
  3385. struct drm_gem_object *obj,
  3386. u32 *handlep)
  3387. {
  3388. @@ -245,11 +232,11 @@
  3389. drm_gem_object_handle_reference(obj);
  3390. return 0;
  3391. }
  3392. -EXPORT_SYMBOL(drm_gem_handle_create);
  3393. +EXPORT_SYMBOL(lbm_drm_gem_handle_create);
  3394.  
  3395. /** Returns a reference to the object named by the handle. */
  3396. struct drm_gem_object *
  3397. -drm_gem_object_lookup(struct drm_device *dev, struct drm_file *filp,
  3398. +lbm_drm_gem_object_lookup(struct drm_device *dev, struct drm_file *filp,
  3399. u32 handle)
  3400. {
  3401. struct drm_gem_object *obj;
  3402. @@ -269,7 +256,7 @@
  3403.  
  3404. return obj;
  3405. }
  3406. -EXPORT_SYMBOL(drm_gem_object_lookup);
  3407. +EXPORT_SYMBOL(lbm_drm_gem_object_lookup);
  3408.  
  3409. /**
  3410. * Releases the handle to an mm object.
  3411. @@ -306,7 +293,7 @@
  3412. if (!(dev->driver->driver_features & DRIVER_GEM))
  3413. return -ENODEV;
  3414.  
  3415. - obj = drm_gem_object_lookup(dev, file_priv, args->handle);
  3416. + obj = lbm_drm_gem_object_lookup(dev, file_priv, args->handle);
  3417. if (obj == NULL)
  3418. return -EBADF;
  3419.  
  3420. @@ -370,7 +357,7 @@
  3421. if (!obj)
  3422. return -ENOENT;
  3423.  
  3424. - ret = drm_gem_handle_create(file_priv, obj, &handle);
  3425. + ret = lbm_drm_gem_handle_create(file_priv, obj, &handle);
  3426. mutex_lock(&dev->struct_mutex);
  3427. drm_gem_object_unreference(obj);
  3428. mutex_unlock(&dev->struct_mutex);
  3429. @@ -430,7 +417,7 @@
  3430. * Frees the object
  3431. */
  3432. void
  3433. -drm_gem_object_free(struct kref *kref)
  3434. +lbm_drm_gem_object_free(struct kref *kref)
  3435. {
  3436. struct drm_gem_object *obj = (struct drm_gem_object *) kref;
  3437. struct drm_device *dev = obj->dev;
  3438. @@ -445,17 +432,17 @@
  3439. atomic_sub(obj->size, &dev->object_memory);
  3440. kfree(obj);
  3441. }
  3442. -EXPORT_SYMBOL(drm_gem_object_free);
  3443. +EXPORT_SYMBOL(lbm_drm_gem_object_free);
  3444.  
  3445. /**
  3446. * Called after the last handle to the object has been closed
  3447. *
  3448. * Removes any name for the object. Note that this must be
  3449. - * called before drm_gem_object_free or we'll be touching
  3450. + * called before lbm_drm_gem_object_free or we'll be touching
  3451. * freed memory
  3452. */
  3453. void
  3454. -drm_gem_object_handle_free(struct kref *kref)
  3455. +lbm_drm_gem_object_handle_free(struct kref *kref)
  3456. {
  3457. struct drm_gem_object *obj = container_of(kref,
  3458. struct drm_gem_object,
  3459. @@ -477,17 +464,17 @@
  3460. spin_unlock(&dev->object_name_lock);
  3461.  
  3462. }
  3463. -EXPORT_SYMBOL(drm_gem_object_handle_free);
  3464. +EXPORT_SYMBOL(lbm_drm_gem_object_handle_free);
  3465.  
  3466. -void drm_gem_vm_open(struct vm_area_struct *vma)
  3467. +void lbm_drm_gem_vm_open(struct vm_area_struct *vma)
  3468. {
  3469. struct drm_gem_object *obj = vma->vm_private_data;
  3470.  
  3471. drm_gem_object_reference(obj);
  3472. }
  3473. -EXPORT_SYMBOL(drm_gem_vm_open);
  3474. +EXPORT_SYMBOL(lbm_drm_gem_vm_open);
  3475.  
  3476. -void drm_gem_vm_close(struct vm_area_struct *vma)
  3477. +void lbm_drm_gem_vm_close(struct vm_area_struct *vma)
  3478. {
  3479. struct drm_gem_object *obj = vma->vm_private_data;
  3480. struct drm_device *dev = obj->dev;
  3481. @@ -496,11 +483,11 @@
  3482. drm_gem_object_unreference(obj);
  3483. mutex_unlock(&dev->struct_mutex);
  3484. }
  3485. -EXPORT_SYMBOL(drm_gem_vm_close);
  3486. +EXPORT_SYMBOL(lbm_drm_gem_vm_close);
  3487.  
  3488.  
  3489. /**
  3490. - * drm_gem_mmap - memory map routine for GEM objects
  3491. + * lbm_drm_gem_mmap - memory map routine for GEM objects
  3492. * @filp: DRM file pointer
  3493. * @vma: VMA for the area to be mapped
  3494. *
  3495. @@ -513,7 +500,7 @@
  3496. * to the object can be trapped, to perform migration, GTT binding, surface
  3497. * register allocation, or performance monitoring.
  3498. */
  3499. -int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
  3500. +int lbm_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
  3501. {
  3502. struct drm_file *priv = filp->private_data;
  3503. struct drm_device *dev = priv->minor->dev;
  3504. @@ -525,9 +512,9 @@
  3505.  
  3506. mutex_lock(&dev->struct_mutex);
  3507.  
  3508. - if (drm_ht_find_item(&mm->offset_hash, vma->vm_pgoff, &hash)) {
  3509. + if (lbm_drm_ht_find_item(&mm->offset_hash, vma->vm_pgoff, &hash)) {
  3510. mutex_unlock(&dev->struct_mutex);
  3511. - return drm_mmap(filp, vma);
  3512. + return lbm_drm_mmap(filp, vma);
  3513. }
  3514.  
  3515. map = drm_hash_entry(hash, struct drm_map_list, hash)->map;
  3516. @@ -570,4 +557,4 @@
  3517.  
  3518. return ret;
  3519. }
  3520. -EXPORT_SYMBOL(drm_gem_mmap);
  3521. +EXPORT_SYMBOL(lbm_drm_gem_mmap);
  3522. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_hashtab.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_hashtab.c
  3523. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_hashtab.c 2010-01-25 15:21:29.000000000 -0500
  3524. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_hashtab.c 2010-02-03 17:11:09.000000000 -0500
  3525. @@ -36,7 +36,7 @@
  3526. #include "drm_hashtab.h"
  3527. #include <linux/hash.h>
  3528.  
  3529. -int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
  3530. +int lbm_drm_ht_create(struct drm_open_hash *ht, unsigned int order)
  3531. {
  3532. unsigned int i;
  3533.  
  3534. @@ -61,7 +61,7 @@
  3535. }
  3536. return 0;
  3537. }
  3538. -EXPORT_SYMBOL(drm_ht_create);
  3539. +EXPORT_SYMBOL(lbm_drm_ht_create);
  3540.  
  3541. void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key)
  3542. {
  3543. @@ -101,7 +101,7 @@
  3544. }
  3545.  
  3546.  
  3547. -int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
  3548. +int lbm_drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
  3549. {
  3550. struct drm_hash_item *entry;
  3551. struct hlist_head *h_list;
  3552. @@ -127,13 +127,13 @@
  3553. }
  3554. return 0;
  3555. }
  3556. -EXPORT_SYMBOL(drm_ht_insert_item);
  3557. +EXPORT_SYMBOL(lbm_drm_ht_insert_item);
  3558.  
  3559. /*
  3560. * Just insert an item and return any "bits" bit key that hasn't been
  3561. * used before.
  3562. */
  3563. -int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
  3564. +int lbm_drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
  3565. unsigned long seed, int bits, int shift,
  3566. unsigned long add)
  3567. {
  3568. @@ -145,7 +145,7 @@
  3569. first = unshifted_key;
  3570. do {
  3571. item->key = (unshifted_key << shift) + add;
  3572. - ret = drm_ht_insert_item(ht, item);
  3573. + ret = lbm_drm_ht_insert_item(ht, item);
  3574. if (ret)
  3575. unshifted_key = (unshifted_key + 1) & mask;
  3576. } while(ret && (unshifted_key != first));
  3577. @@ -156,9 +156,9 @@
  3578. }
  3579. return 0;
  3580. }
  3581. -EXPORT_SYMBOL(drm_ht_just_insert_please);
  3582. +EXPORT_SYMBOL(lbm_drm_ht_just_insert_please);
  3583.  
  3584. -int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
  3585. +int lbm_drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
  3586. struct drm_hash_item **item)
  3587. {
  3588. struct hlist_node *list;
  3589. @@ -170,7 +170,7 @@
  3590. *item = hlist_entry(list, struct drm_hash_item, head);
  3591. return 0;
  3592. }
  3593. -EXPORT_SYMBOL(drm_ht_find_item);
  3594. +EXPORT_SYMBOL(lbm_drm_ht_find_item);
  3595.  
  3596. int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key)
  3597. {
  3598. @@ -185,15 +185,15 @@
  3599. return -EINVAL;
  3600. }
  3601.  
  3602. -int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item)
  3603. +int lbm_drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item)
  3604. {
  3605. hlist_del_init(&item->head);
  3606. ht->fill--;
  3607. return 0;
  3608. }
  3609. -EXPORT_SYMBOL(drm_ht_remove_item);
  3610. +EXPORT_SYMBOL(lbm_drm_ht_remove_item);
  3611.  
  3612. -void drm_ht_remove(struct drm_open_hash *ht)
  3613. +void lbm_drm_ht_remove(struct drm_open_hash *ht)
  3614. {
  3615. if (ht->table) {
  3616. if (ht->use_vmalloc)
  3617. @@ -203,4 +203,4 @@
  3618. ht->table = NULL;
  3619. }
  3620. }
  3621. -EXPORT_SYMBOL(drm_ht_remove);
  3622. +EXPORT_SYMBOL(lbm_drm_ht_remove);
  3623. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_info.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_info.c
  3624. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_info.c 2010-01-25 15:21:29.000000000 -0500
  3625. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_info.c 2010-02-03 17:11:09.000000000 -0500
  3626. @@ -201,7 +201,7 @@
  3627. seq_printf(m, "CRTC %d enable: %d\n",
  3628. crtc, atomic_read(&dev->vblank_refcount[crtc]));
  3629. seq_printf(m, "CRTC %d counter: %d\n",
  3630. - crtc, drm_vblank_count(dev, crtc));
  3631. + crtc, lbm_drm_vblank_count(dev, crtc));
  3632. seq_printf(m, "CRTC %d last wait: %d\n",
  3633. crtc, dev->last_vblank_wait[crtc]);
  3634. seq_printf(m, "CRTC %d in modeset: %d\n",
  3635. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioc32.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioc32.c
  3636. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioc32.c 2010-01-25 15:21:29.000000000 -0500
  3637. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioc32.c 2010-02-03 17:11:08.000000000 -0500
  3638. @@ -104,7 +104,7 @@
  3639. &version->desc))
  3640. return -EFAULT;
  3641.  
  3642. - err = drm_ioctl(file,
  3643. + err = lbm_drm_ioctl(file,
  3644. DRM_IOCTL_VERSION, (unsigned long)version);
  3645. if (err)
  3646. return err;
  3647. @@ -145,7 +145,7 @@
  3648. &u->unique))
  3649. return -EFAULT;
  3650.  
  3651. - err = drm_ioctl(file, DRM_IOCTL_GET_UNIQUE, (unsigned long)u);
  3652. + err = lbm_drm_ioctl(file, DRM_IOCTL_GET_UNIQUE, (unsigned long)u);
  3653. if (err)
  3654. return err;
  3655.  
  3656. @@ -173,7 +173,7 @@
  3657. &u->unique))
  3658. return -EFAULT;
  3659.  
  3660. - return drm_ioctl(file, DRM_IOCTL_SET_UNIQUE, (unsigned long)u);
  3661. + return lbm_drm_ioctl(file, DRM_IOCTL_SET_UNIQUE, (unsigned long)u);
  3662. }
  3663.  
  3664. typedef struct drm_map32 {
  3665. @@ -203,7 +203,7 @@
  3666. if (__put_user(idx, &map->offset))
  3667. return -EFAULT;
  3668.  
  3669. - err = drm_ioctl(file, DRM_IOCTL_GET_MAP, (unsigned long)map);
  3670. + err = lbm_drm_ioctl(file, DRM_IOCTL_GET_MAP, (unsigned long)map);
  3671. if (err)
  3672. return err;
  3673.  
  3674. @@ -243,7 +243,7 @@
  3675. || __put_user(m32.flags, &map->flags))
  3676. return -EFAULT;
  3677.  
  3678. - err = drm_ioctl(file, DRM_IOCTL_ADD_MAP, (unsigned long)map);
  3679. + err = lbm_drm_ioctl(file, DRM_IOCTL_ADD_MAP, (unsigned long)map);
  3680. if (err)
  3681. return err;
  3682.  
  3683. @@ -280,7 +280,7 @@
  3684. if (__put_user((void *)(unsigned long)handle, &map->handle))
  3685. return -EFAULT;
  3686.  
  3687. - return drm_ioctl(file, DRM_IOCTL_RM_MAP, (unsigned long)map);
  3688. + return lbm_drm_ioctl(file, DRM_IOCTL_RM_MAP, (unsigned long)map);
  3689. }
  3690.  
  3691. typedef struct drm_client32 {
  3692. @@ -309,7 +309,7 @@
  3693. if (__put_user(idx, &client->idx))
  3694. return -EFAULT;
  3695.  
  3696. - err = drm_ioctl(file, DRM_IOCTL_GET_CLIENT, (unsigned long)client);
  3697. + err = lbm_drm_ioctl(file, DRM_IOCTL_GET_CLIENT, (unsigned long)client);
  3698. if (err)
  3699. return err;
  3700.  
  3701. @@ -345,7 +345,7 @@
  3702. if (!access_ok(VERIFY_WRITE, stats, sizeof(*stats)))
  3703. return -EFAULT;
  3704.  
  3705. - err = drm_ioctl(file, DRM_IOCTL_GET_STATS, (unsigned long)stats);
  3706. + err = lbm_drm_ioctl(file, DRM_IOCTL_GET_STATS, (unsigned long)stats);
  3707. if (err)
  3708. return err;
  3709.  
  3710. @@ -388,7 +388,7 @@
  3711. || __put_user(agp_start, &buf->agp_start))
  3712. return -EFAULT;
  3713.  
  3714. - err = drm_ioctl(file, DRM_IOCTL_ADD_BUFS, (unsigned long)buf);
  3715. + err = lbm_drm_ioctl(file, DRM_IOCTL_ADD_BUFS, (unsigned long)buf);
  3716. if (err)
  3717. return err;
  3718.  
  3719. @@ -419,7 +419,7 @@
  3720. || __put_user(b32.high_mark, &buf->high_mark))
  3721. return -EFAULT;
  3722.  
  3723. - return drm_ioctl(file, DRM_IOCTL_MARK_BUFS, (unsigned long)buf);
  3724. + return lbm_drm_ioctl(file, DRM_IOCTL_MARK_BUFS, (unsigned long)buf);
  3725. }
  3726.  
  3727. typedef struct drm_buf_info32 {
  3728. @@ -460,7 +460,7 @@
  3729. || __put_user(list, &request->list))
  3730. return -EFAULT;
  3731.  
  3732. - err = drm_ioctl(file, DRM_IOCTL_INFO_BUFS, (unsigned long)request);
  3733. + err = lbm_drm_ioctl(file, DRM_IOCTL_INFO_BUFS, (unsigned long)request);
  3734. if (err)
  3735. return err;
  3736.  
  3737. @@ -521,7 +521,7 @@
  3738. || __put_user(list, &request->list))
  3739. return -EFAULT;
  3740.  
  3741. - err = drm_ioctl(file, DRM_IOCTL_MAP_BUFS, (unsigned long)request);
  3742. + err = lbm_drm_ioctl(file, DRM_IOCTL_MAP_BUFS, (unsigned long)request);
  3743. if (err)
  3744. return err;
  3745.  
  3746. @@ -567,7 +567,7 @@
  3747. &request->list))
  3748. return -EFAULT;
  3749.  
  3750. - return drm_ioctl(file, DRM_IOCTL_FREE_BUFS, (unsigned long)request);
  3751. + return lbm_drm_ioctl(file, DRM_IOCTL_FREE_BUFS, (unsigned long)request);
  3752. }
  3753.  
  3754. typedef struct drm_ctx_priv_map32 {
  3755. @@ -593,7 +593,7 @@
  3756. &request->handle))
  3757. return -EFAULT;
  3758.  
  3759. - return drm_ioctl(file, DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request);
  3760. + return lbm_drm_ioctl(file, DRM_IOCTL_SET_SAREA_CTX, (unsigned long)request);
  3761. }
  3762.  
  3763. static int compat_drm_getsareactx(struct file *file, unsigned int cmd,
  3764. @@ -615,7 +615,7 @@
  3765. if (__put_user(ctx_id, &request->ctx_id))
  3766. return -EFAULT;
  3767.  
  3768. - err = drm_ioctl(file, DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request);
  3769. + err = lbm_drm_ioctl(file, DRM_IOCTL_GET_SAREA_CTX, (unsigned long)request);
  3770. if (err)
  3771. return err;
  3772.  
  3773. @@ -650,7 +650,7 @@
  3774. &res->contexts))
  3775. return -EFAULT;
  3776.  
  3777. - err = drm_ioctl(file, DRM_IOCTL_RES_CTX, (unsigned long)res);
  3778. + err = lbm_drm_ioctl(file, DRM_IOCTL_RES_CTX, (unsigned long)res);
  3779. if (err)
  3780. return err;
  3781.  
  3782. @@ -703,7 +703,7 @@
  3783. &d->request_sizes))
  3784. return -EFAULT;
  3785.  
  3786. - err = drm_ioctl(file, DRM_IOCTL_DMA, (unsigned long)d);
  3787. + err = lbm_drm_ioctl(file, DRM_IOCTL_DMA, (unsigned long)d);
  3788. if (err)
  3789. return err;
  3790.  
  3791. @@ -735,7 +735,7 @@
  3792. if (put_user(m32.mode, &mode->mode))
  3793. return -EFAULT;
  3794.  
  3795. - return drm_ioctl(file, DRM_IOCTL_AGP_ENABLE, (unsigned long)mode);
  3796. + return lbm_drm_ioctl(file, DRM_IOCTL_AGP_ENABLE, (unsigned long)mode);
  3797. }
  3798.  
  3799. typedef struct drm_agp_info32 {
  3800. @@ -757,14 +757,14 @@
  3801. {
  3802. drm_agp_info32_t __user *argp = (void __user *)arg;
  3803. drm_agp_info32_t i32;
  3804. - struct drm_agp_info __user *info;
  3805. + struct lbm_drm_agp_info __user *info;
  3806. int err;
  3807.  
  3808. info = compat_alloc_user_space(sizeof(*info));
  3809. if (!access_ok(VERIFY_WRITE, info, sizeof(*info)))
  3810. return -EFAULT;
  3811.  
  3812. - err = drm_ioctl(file, DRM_IOCTL_AGP_INFO, (unsigned long)info);
  3813. + err = lbm_drm_ioctl(file, DRM_IOCTL_AGP_INFO, (unsigned long)info);
  3814. if (err)
  3815. return err;
  3816.  
  3817. @@ -809,14 +809,14 @@
  3818. || __put_user(req32.type, &request->type))
  3819. return -EFAULT;
  3820.  
  3821. - err = drm_ioctl(file, DRM_IOCTL_AGP_ALLOC, (unsigned long)request);
  3822. + err = lbm_drm_ioctl(file, DRM_IOCTL_AGP_ALLOC, (unsigned long)request);
  3823. if (err)
  3824. return err;
  3825.  
  3826. if (__get_user(req32.handle, &request->handle)
  3827. || __get_user(req32.physical, &request->physical)
  3828. || copy_to_user(argp, &req32, sizeof(req32))) {
  3829. - drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);
  3830. + lbm_drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);
  3831. return -EFAULT;
  3832. }
  3833.  
  3834. @@ -836,7 +836,7 @@
  3835. || __put_user(handle, &request->handle))
  3836. return -EFAULT;
  3837.  
  3838. - return drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);
  3839. + return lbm_drm_ioctl(file, DRM_IOCTL_AGP_FREE, (unsigned long)request);
  3840. }
  3841.  
  3842. typedef struct drm_agp_binding32 {
  3843. @@ -860,7 +860,7 @@
  3844. || __put_user(req32.offset, &request->offset))
  3845. return -EFAULT;
  3846.  
  3847. - return drm_ioctl(file, DRM_IOCTL_AGP_BIND, (unsigned long)request);
  3848. + return lbm_drm_ioctl(file, DRM_IOCTL_AGP_BIND, (unsigned long)request);
  3849. }
  3850.  
  3851. static int compat_drm_agp_unbind(struct file *file, unsigned int cmd,
  3852. @@ -876,7 +876,7 @@
  3853. || __put_user(handle, &request->handle))
  3854. return -EFAULT;
  3855.  
  3856. - return drm_ioctl(file, DRM_IOCTL_AGP_UNBIND, (unsigned long)request);
  3857. + return lbm_drm_ioctl(file, DRM_IOCTL_AGP_UNBIND, (unsigned long)request);
  3858. }
  3859. #endif /* __OS_HAS_AGP */
  3860.  
  3861. @@ -900,7 +900,7 @@
  3862. || __put_user(x, &request->size))
  3863. return -EFAULT;
  3864.  
  3865. - err = drm_ioctl(file, DRM_IOCTL_SG_ALLOC, (unsigned long)request);
  3866. + err = lbm_drm_ioctl(file, DRM_IOCTL_SG_ALLOC, (unsigned long)request);
  3867. if (err)
  3868. return err;
  3869.  
  3870. @@ -926,7 +926,7 @@
  3871. || __put_user(x << PAGE_SHIFT, &request->handle))
  3872. return -EFAULT;
  3873.  
  3874. - return drm_ioctl(file, DRM_IOCTL_SG_FREE, (unsigned long)request);
  3875. + return lbm_drm_ioctl(file, DRM_IOCTL_SG_FREE, (unsigned long)request);
  3876. }
  3877.  
  3878. #if defined(CONFIG_X86) || defined(CONFIG_IA64)
  3879. @@ -956,7 +956,7 @@
  3880. __put_user(update32.data, &request->data))
  3881. return -EFAULT;
  3882.  
  3883. - err = drm_ioctl(file, DRM_IOCTL_UPDATE_DRAW, (unsigned long)request);
  3884. + err = lbm_drm_ioctl(file, DRM_IOCTL_UPDATE_DRAW, (unsigned long)request);
  3885. return err;
  3886. }
  3887. #endif
  3888. @@ -997,7 +997,7 @@
  3889. || __put_user(req32.request.signal, &request->request.signal))
  3890. return -EFAULT;
  3891.  
  3892. - err = drm_ioctl(file, DRM_IOCTL_WAIT_VBLANK, (unsigned long)request);
  3893. + err = lbm_drm_ioctl(file, DRM_IOCTL_WAIT_VBLANK, (unsigned long)request);
  3894. if (err)
  3895. return err;
  3896.  
  3897. @@ -1056,7 +1056,7 @@
  3898. * \param arg user argument.
  3899. * \return zero on success or negative number on failure.
  3900. */
  3901. -long drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  3902. +long lbm_drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  3903. {
  3904. unsigned int nr = DRM_IOCTL_NR(cmd);
  3905. drm_ioctl_compat_t *fn;
  3906. @@ -1067,16 +1067,16 @@
  3907. * than always failing.
  3908. */
  3909. if (nr >= ARRAY_SIZE(drm_compat_ioctls))
  3910. - return drm_ioctl(filp, cmd, arg);
  3911. + return lbm_drm_ioctl(filp, cmd, arg);
  3912.  
  3913. fn = drm_compat_ioctls[nr];
  3914.  
  3915. if (fn != NULL)
  3916. ret = (*fn) (filp, cmd, arg);
  3917. else
  3918. - ret = drm_ioctl(filp, cmd, arg);
  3919. + ret = lbm_drm_ioctl(filp, cmd, arg);
  3920.  
  3921. return ret;
  3922. }
  3923.  
  3924. -EXPORT_SYMBOL(drm_compat_ioctl);
  3925. +EXPORT_SYMBOL(lbm_drm_compat_ioctl);
  3926. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioctl.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioctl.c
  3927. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioctl.c 2010-01-25 15:21:29.000000000 -0500
  3928. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_ioctl.c 2010-02-03 17:11:08.000000000 -0500
  3929. @@ -1,5 +1,5 @@
  3930. /**
  3931. - * \file drm_ioctl.c
  3932. + * \file lbm_drm_ioctl.c
  3933. * IOCTL processing for DRM
  3934. *
  3935. * \author Rickard E. (Rik) Faith <faith@valinux.com>
  3936. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_irq.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_irq.c
  3937. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_irq.c 2010-01-25 15:21:29.000000000 -0500
  3938. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_irq.c 2010-02-03 17:11:09.000000000 -0500
  3939. @@ -95,9 +95,9 @@
  3940. }
  3941. }
  3942.  
  3943. -void drm_vblank_cleanup(struct drm_device *dev)
  3944. +void lbm_drm_vblank_cleanup(struct drm_device *dev)
  3945. {
  3946. - /* Bail if the driver didn't call drm_vblank_init() */
  3947. + /* Bail if the driver didn't call lbm_drm_vblank_init() */
  3948. if (dev->num_crtcs == 0)
  3949. return;
  3950.  
  3951. @@ -115,9 +115,9 @@
  3952.  
  3953. dev->num_crtcs = 0;
  3954. }
  3955. -EXPORT_SYMBOL(drm_vblank_cleanup);
  3956. +EXPORT_SYMBOL(lbm_drm_vblank_cleanup);
  3957.  
  3958. -int drm_vblank_init(struct drm_device *dev, int num_crtcs)
  3959. +int lbm_drm_vblank_init(struct drm_device *dev, int num_crtcs)
  3960. {
  3961. int i, ret = -ENOMEM;
  3962.  
  3963. @@ -167,10 +167,10 @@
  3964. return 0;
  3965.  
  3966. err:
  3967. - drm_vblank_cleanup(dev);
  3968. + lbm_drm_vblank_cleanup(dev);
  3969. return ret;
  3970. }
  3971. -EXPORT_SYMBOL(drm_vblank_init);
  3972. +EXPORT_SYMBOL(lbm_drm_vblank_init);
  3973.  
  3974. static void drm_irq_vgaarb_nokms(void *cookie, bool state)
  3975. {
  3976. @@ -201,7 +201,7 @@
  3977. * \c drm_driver_irq_preinstall() and \c drm_driver_irq_postinstall() functions
  3978. * before and after the installation.
  3979. */
  3980. -int drm_irq_install(struct drm_device *dev)
  3981. +int lbm_drm_irq_install(struct drm_device *dev)
  3982. {
  3983. int ret = 0;
  3984. unsigned long sh_flags = 0;
  3985. @@ -265,7 +265,7 @@
  3986.  
  3987. return ret;
  3988. }
  3989. -EXPORT_SYMBOL(drm_irq_install);
  3990. +EXPORT_SYMBOL(lbm_drm_irq_install);
  3991.  
  3992. /**
  3993. * Uninstall the IRQ handler.
  3994. @@ -274,7 +274,7 @@
  3995. *
  3996. * Calls the driver's \c drm_driver_irq_uninstall() function, and stops the irq.
  3997. */
  3998. -int drm_irq_uninstall(struct drm_device * dev)
  3999. +int lbm_drm_irq_uninstall(struct drm_device * dev)
  4000. {
  4001. unsigned long irqflags;
  4002. int irq_enabled, i;
  4003. @@ -312,7 +312,7 @@
  4004.  
  4005. return 0;
  4006. }
  4007. -EXPORT_SYMBOL(drm_irq_uninstall);
  4008. +EXPORT_SYMBOL(lbm_drm_irq_uninstall);
  4009.  
  4010. /**
  4011. * IRQ control ioctl.
  4012. @@ -342,20 +342,20 @@
  4013. if (dev->if_version < DRM_IF_VERSION(1, 2) &&
  4014. ctl->irq != dev->pdev->irq)
  4015. return -EINVAL;
  4016. - return drm_irq_install(dev);
  4017. + return lbm_drm_irq_install(dev);
  4018. case DRM_UNINST_HANDLER:
  4019. if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
  4020. return 0;
  4021. if (drm_core_check_feature(dev, DRIVER_MODESET))
  4022. return 0;
  4023. - return drm_irq_uninstall(dev);
  4024. + return lbm_drm_irq_uninstall(dev);
  4025. default:
  4026. return -EINVAL;
  4027. }
  4028. }
  4029.  
  4030. /**
  4031. - * drm_vblank_count - retrieve "cooked" vblank counter value
  4032. + * lbm_drm_vblank_count - retrieve "cooked" vblank counter value
  4033. * @dev: DRM device
  4034. * @crtc: which counter to retrieve
  4035. *
  4036. @@ -363,11 +363,11 @@
  4037. * vblank events since the system was booted, including lost events due to
  4038. * modesetting activity.
  4039. */
  4040. -u32 drm_vblank_count(struct drm_device *dev, int crtc)
  4041. +u32 lbm_drm_vblank_count(struct drm_device *dev, int crtc)
  4042. {
  4043. return atomic_read(&dev->_vblank_count[crtc]);
  4044. }
  4045. -EXPORT_SYMBOL(drm_vblank_count);
  4046. +EXPORT_SYMBOL(lbm_drm_vblank_count);
  4047.  
  4048. /**
  4049. * drm_update_vblank_count - update the master vblank counter
  4050. @@ -412,7 +412,7 @@
  4051. }
  4052.  
  4053. /**
  4054. - * drm_vblank_get - get a reference count on vblank events
  4055. + * lbm_drm_vblank_get - get a reference count on vblank events
  4056. * @dev: DRM device
  4057. * @crtc: which CRTC to own
  4058. *
  4059. @@ -422,7 +422,7 @@
  4060. * RETURNS
  4061. * Zero on success, nonzero on failure.
  4062. */
  4063. -int drm_vblank_get(struct drm_device *dev, int crtc)
  4064. +int lbm_drm_vblank_get(struct drm_device *dev, int crtc)
  4065. {
  4066. unsigned long irqflags;
  4067. int ret = 0;
  4068. @@ -450,17 +450,17 @@
  4069.  
  4070. return ret;
  4071. }
  4072. -EXPORT_SYMBOL(drm_vblank_get);
  4073. +EXPORT_SYMBOL(lbm_drm_vblank_get);
  4074.  
  4075. /**
  4076. - * drm_vblank_put - give up ownership of vblank events
  4077. + * lbm_drm_vblank_put - give up ownership of vblank events
  4078. * @dev: DRM device
  4079. * @crtc: which counter to give up
  4080. *
  4081. * Release ownership of a given vblank counter, turning off interrupts
  4082. * if possible.
  4083. */
  4084. -void drm_vblank_put(struct drm_device *dev, int crtc)
  4085. +void lbm_drm_vblank_put(struct drm_device *dev, int crtc)
  4086. {
  4087. BUG_ON (atomic_read (&dev->vblank_refcount[crtc]) == 0);
  4088.  
  4089. @@ -468,9 +468,9 @@
  4090. if (atomic_dec_and_test(&dev->vblank_refcount[crtc]))
  4091. mod_timer(&dev->vblank_disable_timer, jiffies + 5*DRM_HZ);
  4092. }
  4093. -EXPORT_SYMBOL(drm_vblank_put);
  4094. +EXPORT_SYMBOL(lbm_drm_vblank_put);
  4095.  
  4096. -void drm_vblank_off(struct drm_device *dev, int crtc)
  4097. +void lbm_drm_vblank_off(struct drm_device *dev, int crtc)
  4098. {
  4099. unsigned long irqflags;
  4100.  
  4101. @@ -480,10 +480,10 @@
  4102. dev->last_vblank[crtc] = dev->driver->get_vblank_counter(dev, crtc);
  4103. spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
  4104. }
  4105. -EXPORT_SYMBOL(drm_vblank_off);
  4106. +EXPORT_SYMBOL(lbm_drm_vblank_off);
  4107.  
  4108. /**
  4109. - * drm_vblank_pre_modeset - account for vblanks across mode sets
  4110. + * lbm_drm_vblank_pre_modeset - account for vblanks across mode sets
  4111. * @dev: DRM device
  4112. * @crtc: CRTC in question
  4113. * @post: post or pre mode set?
  4114. @@ -491,7 +491,7 @@
  4115. * Account for vblank events across mode setting events, which will likely
  4116. * reset the hardware frame counter.
  4117. */
  4118. -void drm_vblank_pre_modeset(struct drm_device *dev, int crtc)
  4119. +void lbm_drm_vblank_pre_modeset(struct drm_device *dev, int crtc)
  4120. {
  4121. /* vblank is not initialized (IRQ not installed ?) */
  4122. if (!dev->num_crtcs)
  4123. @@ -505,13 +505,13 @@
  4124. */
  4125. if (!dev->vblank_inmodeset[crtc]) {
  4126. dev->vblank_inmodeset[crtc] = 0x1;
  4127. - if (drm_vblank_get(dev, crtc) == 0)
  4128. + if (lbm_drm_vblank_get(dev, crtc) == 0)
  4129. dev->vblank_inmodeset[crtc] |= 0x2;
  4130. }
  4131. }
  4132. -EXPORT_SYMBOL(drm_vblank_pre_modeset);
  4133. +EXPORT_SYMBOL(lbm_drm_vblank_pre_modeset);
  4134.  
  4135. -void drm_vblank_post_modeset(struct drm_device *dev, int crtc)
  4136. +void lbm_drm_vblank_post_modeset(struct drm_device *dev, int crtc)
  4137. {
  4138. unsigned long irqflags;
  4139.  
  4140. @@ -521,12 +521,12 @@
  4141. spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
  4142.  
  4143. if (dev->vblank_inmodeset[crtc] & 0x2)
  4144. - drm_vblank_put(dev, crtc);
  4145. + lbm_drm_vblank_put(dev, crtc);
  4146.  
  4147. dev->vblank_inmodeset[crtc] = 0;
  4148. }
  4149. }
  4150. -EXPORT_SYMBOL(drm_vblank_post_modeset);
  4151. +EXPORT_SYMBOL(lbm_drm_vblank_post_modeset);
  4152.  
  4153. /**
  4154. * drm_modeset_ctl - handle vblank event counter changes across mode switch
  4155. @@ -545,7 +545,7 @@
  4156. struct drm_modeset_ctl *modeset = data;
  4157. int crtc, ret = 0;
  4158.  
  4159. - /* If drm_vblank_init() hasn't been called yet, just no-op */
  4160. + /* If lbm_drm_vblank_init() hasn't been called yet, just no-op */
  4161. if (!dev->num_crtcs)
  4162. goto out;
  4163.  
  4164. @@ -557,10 +557,10 @@
  4165.  
  4166. switch (modeset->cmd) {
  4167. case _DRM_PRE_MODESET:
  4168. - drm_vblank_pre_modeset(dev, crtc);
  4169. + lbm_drm_vblank_pre_modeset(dev, crtc);
  4170. break;
  4171. case _DRM_POST_MODESET:
  4172. - drm_vblank_post_modeset(dev, crtc);
  4173. + lbm_drm_vblank_post_modeset(dev, crtc);
  4174. break;
  4175. default:
  4176. ret = -EINVAL;
  4177. @@ -602,7 +602,7 @@
  4178. }
  4179.  
  4180. file_priv->event_space -= sizeof e->event;
  4181. - seq = drm_vblank_count(dev, pipe);
  4182. + seq = lbm_drm_vblank_count(dev, pipe);
  4183. if ((vblwait->request.type & _DRM_VBLANK_NEXTONMISS) &&
  4184. (seq - vblwait->request.sequence) <= (1 << 23)) {
  4185. vblwait->request.sequence = seq + 1;
  4186. @@ -616,7 +616,7 @@
  4187. if ((seq - vblwait->request.sequence) <= (1 << 23)) {
  4188. e->event.tv_sec = now.tv_sec;
  4189. e->event.tv_usec = now.tv_usec;
  4190. - drm_vblank_put(dev, e->pipe);
  4191. + lbm_drm_vblank_put(dev, e->pipe);
  4192. list_add_tail(&e->base.link, &e->base.file_priv->event_list);
  4193. wake_up_interruptible(&e->base.file_priv->event_wait);
  4194. } else {
  4195. @@ -669,12 +669,12 @@
  4196. if (crtc >= dev->num_crtcs)
  4197. return -EINVAL;
  4198.  
  4199. - ret = drm_vblank_get(dev, crtc);
  4200. + ret = lbm_drm_vblank_get(dev, crtc);
  4201. if (ret) {
  4202. DRM_DEBUG("failed to acquire vblank counter, %d\n", ret);
  4203. return ret;
  4204. }
  4205. - seq = drm_vblank_count(dev, crtc);
  4206. + seq = lbm_drm_vblank_count(dev, crtc);
  4207.  
  4208. switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) {
  4209. case _DRM_VBLANK_RELATIVE:
  4210. @@ -699,7 +699,7 @@
  4211. vblwait->request.sequence, crtc);
  4212. dev->last_vblank_wait[crtc] = vblwait->request.sequence;
  4213. DRM_WAIT_ON(ret, dev->vbl_queue[crtc], 3 * DRM_HZ,
  4214. - (((drm_vblank_count(dev, crtc) -
  4215. + (((lbm_drm_vblank_count(dev, crtc) -
  4216. vblwait->request.sequence) <= (1 << 23)) ||
  4217. !dev->irq_enabled));
  4218.  
  4219. @@ -710,7 +710,7 @@
  4220.  
  4221. vblwait->reply.tval_sec = now.tv_sec;
  4222. vblwait->reply.tval_usec = now.tv_usec;
  4223. - vblwait->reply.sequence = drm_vblank_count(dev, crtc);
  4224. + vblwait->reply.sequence = lbm_drm_vblank_count(dev, crtc);
  4225. DRM_DEBUG("returning %d to client\n",
  4226. vblwait->reply.sequence);
  4227. } else {
  4228. @@ -718,7 +718,7 @@
  4229. }
  4230.  
  4231. done:
  4232. - drm_vblank_put(dev, crtc);
  4233. + lbm_drm_vblank_put(dev, crtc);
  4234. return ret;
  4235. }
  4236.  
  4237. @@ -730,7 +730,7 @@
  4238. unsigned int seq;
  4239.  
  4240. do_gettimeofday(&now);
  4241. - seq = drm_vblank_count(dev, crtc);
  4242. + seq = lbm_drm_vblank_count(dev, crtc);
  4243.  
  4244. spin_lock_irqsave(&dev->event_lock, flags);
  4245.  
  4246. @@ -746,7 +746,7 @@
  4247. e->event.sequence = seq;
  4248. e->event.tv_sec = now.tv_sec;
  4249. e->event.tv_usec = now.tv_usec;
  4250. - drm_vblank_put(dev, e->pipe);
  4251. + lbm_drm_vblank_put(dev, e->pipe);
  4252. list_move_tail(&e->base.link, &e->base.file_priv->event_list);
  4253. wake_up_interruptible(&e->base.file_priv->event_wait);
  4254. }
  4255. @@ -755,14 +755,14 @@
  4256. }
  4257.  
  4258. /**
  4259. - * drm_handle_vblank - handle a vblank event
  4260. + * lbm_drm_handle_vblank - handle a vblank event
  4261. * @dev: DRM device
  4262. * @crtc: where this event occurred
  4263. *
  4264. * Drivers should call this routine in their vblank interrupt handlers to
  4265. * update the vblank counter and send any signals that may be pending.
  4266. */
  4267. -void drm_handle_vblank(struct drm_device *dev, int crtc)
  4268. +void lbm_drm_handle_vblank(struct drm_device *dev, int crtc)
  4269. {
  4270. if (!dev->num_crtcs)
  4271. return;
  4272. @@ -771,4 +771,4 @@
  4273. DRM_WAKEUP(&dev->vbl_queue[crtc]);
  4274. drm_handle_vblank_events(dev, crtc);
  4275. }
  4276. -EXPORT_SYMBOL(drm_handle_vblank);
  4277. +EXPORT_SYMBOL(lbm_drm_handle_vblank);
  4278. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_lock.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_lock.c
  4279. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_lock.c 2010-01-25 15:21:29.000000000 -0500
  4280. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_lock.c 2010-02-03 17:11:08.000000000 -0500
  4281. @@ -84,7 +84,7 @@
  4282. ret = -EINTR;
  4283. break;
  4284. }
  4285. - if (drm_lock_take(&master->lock, lock->context)) {
  4286. + if (lbm_drm_lock_take(&master->lock, lock->context)) {
  4287. master->lock.file_priv = file_priv;
  4288. master->lock.lock_time = jiffies;
  4289. atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
  4290. @@ -173,7 +173,7 @@
  4291. if (dev->driver->kernel_context_switch_unlock)
  4292. dev->driver->kernel_context_switch_unlock(dev);
  4293. else {
  4294. - if (drm_lock_free(&master->lock, lock->context)) {
  4295. + if (lbm_drm_lock_free(&master->lock, lock->context)) {
  4296. /* FIXME: Should really bail out here. */
  4297. }
  4298. }
  4299. @@ -191,7 +191,7 @@
  4300. *
  4301. * Attempt to mark the lock as held by the given context, via the \p cmpxchg instruction.
  4302. */
  4303. -int drm_lock_take(struct drm_lock_data *lock_data,
  4304. +int lbm_drm_lock_take(struct drm_lock_data *lock_data,
  4305. unsigned int context)
  4306. {
  4307. unsigned int old, new, prev;
  4308. @@ -227,7 +227,7 @@
  4309. }
  4310. return 0;
  4311. }
  4312. -EXPORT_SYMBOL(drm_lock_take);
  4313. +EXPORT_SYMBOL(lbm_drm_lock_take);
  4314.  
  4315. /**
  4316. * This takes a lock forcibly and hands it to context. Should ONLY be used
  4317. @@ -267,7 +267,7 @@
  4318. * Marks the lock as not held, via the \p cmpxchg instruction. Wakes any task
  4319. * waiting on the lock queue.
  4320. */
  4321. -int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
  4322. +int lbm_drm_lock_free(struct drm_lock_data *lock_data, unsigned int context)
  4323. {
  4324. unsigned int old, new, prev;
  4325. volatile unsigned int *lock = &lock_data->hw_lock->lock;
  4326. @@ -295,7 +295,7 @@
  4327. wake_up_interruptible(&lock_data->lock_queue);
  4328. return 0;
  4329. }
  4330. -EXPORT_SYMBOL(drm_lock_free);
  4331. +EXPORT_SYMBOL(lbm_drm_lock_free);
  4332.  
  4333. /**
  4334. * If we get here, it means that the process has called DRM_IOCTL_LOCK
  4335. @@ -341,7 +341,7 @@
  4336. * having to worry about starvation.
  4337. */
  4338.  
  4339. -void drm_idlelock_take(struct drm_lock_data *lock_data)
  4340. +void lbm_drm_idlelock_take(struct drm_lock_data *lock_data)
  4341. {
  4342. int ret = 0;
  4343.  
  4344. @@ -350,7 +350,7 @@
  4345. if (!lock_data->idle_has_lock) {
  4346.  
  4347. spin_unlock_bh(&lock_data->spinlock);
  4348. - ret = drm_lock_take(lock_data, DRM_KERNEL_CONTEXT);
  4349. + ret = lbm_drm_lock_take(lock_data, DRM_KERNEL_CONTEXT);
  4350. spin_lock_bh(&lock_data->spinlock);
  4351.  
  4352. if (ret == 1)
  4353. @@ -358,9 +358,9 @@
  4354. }
  4355. spin_unlock_bh(&lock_data->spinlock);
  4356. }
  4357. -EXPORT_SYMBOL(drm_idlelock_take);
  4358. +EXPORT_SYMBOL(lbm_drm_idlelock_take);
  4359.  
  4360. -void drm_idlelock_release(struct drm_lock_data *lock_data)
  4361. +void lbm_drm_idlelock_release(struct drm_lock_data *lock_data)
  4362. {
  4363. unsigned int old, prev;
  4364. volatile unsigned int *lock = &lock_data->hw_lock->lock;
  4365. @@ -378,10 +378,10 @@
  4366. }
  4367. spin_unlock_bh(&lock_data->spinlock);
  4368. }
  4369. -EXPORT_SYMBOL(drm_idlelock_release);
  4370. +EXPORT_SYMBOL(lbm_drm_idlelock_release);
  4371.  
  4372.  
  4373. -int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv)
  4374. +int lbm_drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv)
  4375. {
  4376. struct drm_master *master = file_priv->master;
  4377. return (file_priv->lock_count && master->lock.hw_lock &&
  4378. @@ -389,4 +389,4 @@
  4379. master->lock.file_priv == file_priv);
  4380. }
  4381.  
  4382. -EXPORT_SYMBOL(drm_i_have_hw_lock);
  4383. +EXPORT_SYMBOL(lbm_drm_i_have_hw_lock);
  4384. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_memory.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_memory.c
  4385. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_memory.c 2010-01-25 15:21:29.000000000 -0500
  4386. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_memory.c 2010-02-03 17:11:08.000000000 -0500
  4387. @@ -106,11 +106,11 @@
  4388. }
  4389.  
  4390. /** Wrapper around agp_free_memory() */
  4391. -int drm_free_agp(DRM_AGP_MEM * handle, int pages)
  4392. +int lbm_drm_free_agp(DRM_AGP_MEM * handle, int pages)
  4393. {
  4394. return drm_agp_free_memory(handle) ? 0 : -EINVAL;
  4395. }
  4396. -EXPORT_SYMBOL(drm_free_agp);
  4397. +EXPORT_SYMBOL(lbm_drm_free_agp);
  4398.  
  4399. /** Wrapper around agp_bind_memory() */
  4400. int drm_bind_agp(DRM_AGP_MEM * handle, unsigned int start)
  4401. @@ -119,11 +119,11 @@
  4402. }
  4403.  
  4404. /** Wrapper around agp_unbind_memory() */
  4405. -int drm_unbind_agp(DRM_AGP_MEM * handle)
  4406. +int lbm_drm_unbind_agp(DRM_AGP_MEM * handle)
  4407. {
  4408. return drm_agp_unbind_memory(handle);
  4409. }
  4410. -EXPORT_SYMBOL(drm_unbind_agp);
  4411. +EXPORT_SYMBOL(lbm_drm_unbind_agp);
  4412.  
  4413. #else /* __OS_HAS_AGP */
  4414. static inline void *agp_remap(unsigned long offset, unsigned long size,
  4415. @@ -134,7 +134,7 @@
  4416.  
  4417. #endif /* agp */
  4418.  
  4419. -void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev)
  4420. +void lbm_drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev)
  4421. {
  4422. if (drm_core_has_AGP(dev) &&
  4423. dev->agp && dev->agp->cant_use_aperture && map->type == _DRM_AGP)
  4424. @@ -142,9 +142,9 @@
  4425. else
  4426. map->handle = ioremap(map->offset, map->size);
  4427. }
  4428. -EXPORT_SYMBOL(drm_core_ioremap);
  4429. +EXPORT_SYMBOL(lbm_drm_core_ioremap);
  4430.  
  4431. -void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev)
  4432. +void lbm_drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev)
  4433. {
  4434. if (drm_core_has_AGP(dev) &&
  4435. dev->agp && dev->agp->cant_use_aperture && map->type == _DRM_AGP)
  4436. @@ -152,9 +152,9 @@
  4437. else
  4438. map->handle = ioremap_wc(map->offset, map->size);
  4439. }
  4440. -EXPORT_SYMBOL(drm_core_ioremap_wc);
  4441. +EXPORT_SYMBOL(lbm_drm_core_ioremap_wc);
  4442.  
  4443. -void drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev)
  4444. +void lbm_drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev)
  4445. {
  4446. if (!map->handle || !map->size)
  4447. return;
  4448. @@ -165,4 +165,4 @@
  4449. else
  4450. iounmap(map->handle);
  4451. }
  4452. -EXPORT_SYMBOL(drm_core_ioremapfree);
  4453. +EXPORT_SYMBOL(lbm_drm_core_ioremapfree);
  4454. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_mm.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_mm.c
  4455. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_mm.c 2010-01-25 15:21:29.000000000 -0500
  4456. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_mm.c 2010-02-03 17:11:08.000000000 -0500
  4457. @@ -103,12 +103,12 @@
  4458. return child;
  4459. }
  4460.  
  4461. -/* drm_mm_pre_get() - pre allocate drm_mm_node structure
  4462. +/* lbm_drm_mm_pre_get() - pre allocate drm_mm_node structure
  4463. * drm_mm: memory manager struct we are pre-allocating for
  4464. *
  4465. * Returns 0 on success or -ENOMEM if allocation fails.
  4466. */
  4467. -int drm_mm_pre_get(struct drm_mm *mm)
  4468. +int lbm_drm_mm_pre_get(struct drm_mm *mm)
  4469. {
  4470. struct drm_mm_node *node;
  4471.  
  4472. @@ -129,7 +129,7 @@
  4473. spin_unlock(&mm->unused_lock);
  4474. return 0;
  4475. }
  4476. -EXPORT_SYMBOL(drm_mm_pre_get);
  4477. +EXPORT_SYMBOL(lbm_drm_mm_pre_get);
  4478.  
  4479. static int drm_mm_create_tail_node(struct drm_mm *mm,
  4480. unsigned long start,
  4481. @@ -193,7 +193,7 @@
  4482. }
  4483.  
  4484.  
  4485. -struct drm_mm_node *drm_mm_get_block_generic(struct drm_mm_node *node,
  4486. +struct drm_mm_node *lbm_drm_mm_get_block_generic(struct drm_mm_node *node,
  4487. unsigned long size,
  4488. unsigned alignment,
  4489. int atomic)
  4490. @@ -220,13 +220,13 @@
  4491. }
  4492.  
  4493. if (align_splitoff)
  4494. - drm_mm_put_block(align_splitoff);
  4495. + lbm_drm_mm_put_block(align_splitoff);
  4496.  
  4497. return node;
  4498. }
  4499. -EXPORT_SYMBOL(drm_mm_get_block_generic);
  4500. +EXPORT_SYMBOL(lbm_drm_mm_get_block_generic);
  4501.  
  4502. -struct drm_mm_node *drm_mm_get_block_range_generic(struct drm_mm_node *node,
  4503. +struct drm_mm_node *lbm_drm_mm_get_block_range_generic(struct drm_mm_node *node,
  4504. unsigned long size,
  4505. unsigned alignment,
  4506. unsigned long start,
  4507. @@ -258,18 +258,18 @@
  4508. }
  4509.  
  4510. if (align_splitoff)
  4511. - drm_mm_put_block(align_splitoff);
  4512. + lbm_drm_mm_put_block(align_splitoff);
  4513.  
  4514. return node;
  4515. }
  4516. -EXPORT_SYMBOL(drm_mm_get_block_range_generic);
  4517. +EXPORT_SYMBOL(lbm_drm_mm_get_block_range_generic);
  4518.  
  4519. /*
  4520. * Put a block. Merge with the previous and / or next block if they are free.
  4521. * Otherwise add to the free stack.
  4522. */
  4523.  
  4524. -void drm_mm_put_block(struct drm_mm_node *cur)
  4525. +void lbm_drm_mm_put_block(struct drm_mm_node *cur)
  4526. {
  4527.  
  4528. struct drm_mm *mm = cur->mm;
  4529. @@ -326,9 +326,9 @@
  4530. }
  4531. }
  4532.  
  4533. -EXPORT_SYMBOL(drm_mm_put_block);
  4534. +EXPORT_SYMBOL(lbm_drm_mm_put_block);
  4535.  
  4536. -struct drm_mm_node *drm_mm_search_free(const struct drm_mm *mm,
  4537. +struct drm_mm_node *lbm_drm_mm_search_free(const struct drm_mm *mm,
  4538. unsigned long size,
  4539. unsigned alignment, int best_match)
  4540. {
  4541. @@ -367,9 +367,9 @@
  4542.  
  4543. return best;
  4544. }
  4545. -EXPORT_SYMBOL(drm_mm_search_free);
  4546. +EXPORT_SYMBOL(lbm_drm_mm_search_free);
  4547.  
  4548. -struct drm_mm_node *drm_mm_search_free_in_range(const struct drm_mm *mm,
  4549. +struct drm_mm_node *lbm_drm_mm_search_free_in_range(const struct drm_mm *mm,
  4550. unsigned long size,
  4551. unsigned alignment,
  4552. unsigned long start,
  4553. @@ -417,17 +417,17 @@
  4554.  
  4555. return best;
  4556. }
  4557. -EXPORT_SYMBOL(drm_mm_search_free_in_range);
  4558. +EXPORT_SYMBOL(lbm_drm_mm_search_free_in_range);
  4559.  
  4560. -int drm_mm_clean(struct drm_mm * mm)
  4561. +int lbm_drm_mm_clean(struct drm_mm * mm)
  4562. {
  4563. struct list_head *head = &mm->ml_entry;
  4564.  
  4565. return (head->next->next == head);
  4566. }
  4567. -EXPORT_SYMBOL(drm_mm_clean);
  4568. +EXPORT_SYMBOL(lbm_drm_mm_clean);
  4569.  
  4570. -int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
  4571. +int lbm_drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
  4572. {
  4573. INIT_LIST_HEAD(&mm->ml_entry);
  4574. INIT_LIST_HEAD(&mm->fl_entry);
  4575. @@ -437,9 +437,9 @@
  4576.  
  4577. return drm_mm_create_tail_node(mm, start, size, 0);
  4578. }
  4579. -EXPORT_SYMBOL(drm_mm_init);
  4580. +EXPORT_SYMBOL(lbm_drm_mm_init);
  4581.  
  4582. -void drm_mm_takedown(struct drm_mm * mm)
  4583. +void lbm_drm_mm_takedown(struct drm_mm * mm)
  4584. {
  4585. struct list_head *bnode = mm->fl_entry.next;
  4586. struct drm_mm_node *entry;
  4587. @@ -467,9 +467,9 @@
  4588.  
  4589. BUG_ON(mm->num_unused != 0);
  4590. }
  4591. -EXPORT_SYMBOL(drm_mm_takedown);
  4592. +EXPORT_SYMBOL(lbm_drm_mm_takedown);
  4593.  
  4594. -void drm_mm_debug_table(struct drm_mm *mm, const char *prefix)
  4595. +void lbm_drm_mm_debug_table(struct drm_mm *mm, const char *prefix)
  4596. {
  4597. struct drm_mm_node *entry;
  4598. int total_used = 0, total_free = 0, total = 0;
  4599. @@ -487,10 +487,10 @@
  4600. printk(KERN_DEBUG "%s total: %d, used %d free %d\n", prefix, total,
  4601. total_used, total_free);
  4602. }
  4603. -EXPORT_SYMBOL(drm_mm_debug_table);
  4604. +EXPORT_SYMBOL(lbm_drm_mm_debug_table);
  4605.  
  4606. #if defined(CONFIG_DEBUG_FS)
  4607. -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm)
  4608. +int lbm_drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm)
  4609. {
  4610. struct drm_mm_node *entry;
  4611. int total_used = 0, total_free = 0, total = 0;
  4612. @@ -506,5 +506,5 @@
  4613. seq_printf(m, "total: %d, used %d free %d\n", total, total_used, total_free);
  4614. return 0;
  4615. }
  4616. -EXPORT_SYMBOL(drm_mm_dump_table);
  4617. +EXPORT_SYMBOL(lbm_drm_mm_dump_table);
  4618. #endif
  4619. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_modes.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_modes.c
  4620. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_modes.c 2010-01-25 15:21:29.000000000 -0500
  4621. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_modes.c 2010-02-03 17:11:08.000000000 -0500
  4622. @@ -37,7 +37,7 @@
  4623. #include "drm_crtc.h"
  4624.  
  4625. /**
  4626. - * drm_mode_debug_printmodeline - debug print a mode
  4627. + * lbm_drm_mode_debug_printmodeline - debug print a mode
  4628. * @dev: DRM device
  4629. * @mode: mode to print
  4630. *
  4631. @@ -46,7 +46,7 @@
  4632. *
  4633. * Describe @mode using DRM_DEBUG.
  4634. */
  4635. -void drm_mode_debug_printmodeline(struct drm_display_mode *mode)
  4636. +void lbm_drm_mode_debug_printmodeline(struct drm_display_mode *mode)
  4637. {
  4638. DRM_DEBUG_KMS("Modeline %d:\"%s\" %d %d %d %d %d %d %d %d %d %d "
  4639. "0x%x 0x%x\n",
  4640. @@ -56,10 +56,10 @@
  4641. mode->vdisplay, mode->vsync_start,
  4642. mode->vsync_end, mode->vtotal, mode->type, mode->flags);
  4643. }
  4644. -EXPORT_SYMBOL(drm_mode_debug_printmodeline);
  4645. +EXPORT_SYMBOL(lbm_drm_mode_debug_printmodeline);
  4646.  
  4647. /**
  4648. - * drm_cvt_mode -create a modeline based on CVT algorithm
  4649. + * lbm_drm_cvt_mode -create a modeline based on CVT algorithm
  4650. * @dev: DRM device
  4651. * @hdisplay: hdisplay size
  4652. * @vdisplay: vdisplay size
  4653. @@ -82,7 +82,7 @@
  4654. * What I have done is to translate it by using integer calculation.
  4655. */
  4656. #define HV_FACTOR 1000
  4657. -struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
  4658. +struct drm_display_mode *lbm_drm_cvt_mode(struct drm_device *dev, int hdisplay,
  4659. int vdisplay, int vrefresh,
  4660. bool reduced, bool interlaced, bool margins)
  4661. {
  4662. @@ -104,7 +104,7 @@
  4663. /* allocate the drm_display_mode structure. If failure, we will
  4664. * return directly
  4665. */
  4666. - drm_mode = drm_mode_create(dev);
  4667. + drm_mode = lbm_drm_mode_create(dev);
  4668. if (!drm_mode)
  4669. return NULL;
  4670.  
  4671. @@ -261,7 +261,7 @@
  4672. if (interlaced)
  4673. drm_mode->vtotal *= 2;
  4674. /* Fill the mode line name */
  4675. - drm_mode_set_name(drm_mode);
  4676. + lbm_drm_mode_set_name(drm_mode);
  4677. if (reduced)
  4678. drm_mode->flags |= (DRM_MODE_FLAG_PHSYNC |
  4679. DRM_MODE_FLAG_NVSYNC);
  4680. @@ -273,10 +273,10 @@
  4681.  
  4682. return drm_mode;
  4683. }
  4684. -EXPORT_SYMBOL(drm_cvt_mode);
  4685. +EXPORT_SYMBOL(lbm_drm_cvt_mode);
  4686.  
  4687. /**
  4688. - * drm_gtf_mode - create the modeline based on GTF algorithm
  4689. + * lbm_drm_gtf_mode - create the modeline based on GTF algorithm
  4690. *
  4691. * @dev :drm device
  4692. * @hdisplay :hdisplay size
  4693. @@ -300,7 +300,7 @@
  4694. * I also refer to the function of fb_get_mode in the file of
  4695. * drivers/video/fbmon.c
  4696. */
  4697. -struct drm_display_mode *drm_gtf_mode(struct drm_device *dev, int hdisplay,
  4698. +struct drm_display_mode *lbm_drm_gtf_mode(struct drm_device *dev, int hdisplay,
  4699. int vdisplay, int vrefresh,
  4700. bool interlaced, int margins)
  4701. {
  4702. @@ -341,7 +341,7 @@
  4703. int hsync, hfront_porch, vodd_front_porch_lines;
  4704. unsigned int tmp1, tmp2;
  4705.  
  4706. - drm_mode = drm_mode_create(dev);
  4707. + drm_mode = lbm_drm_mode_create(dev);
  4708. if (!drm_mode)
  4709. return NULL;
  4710.  
  4711. @@ -460,7 +460,7 @@
  4712.  
  4713. drm_mode->clock = pixel_freq;
  4714.  
  4715. - drm_mode_set_name(drm_mode);
  4716. + lbm_drm_mode_set_name(drm_mode);
  4717. drm_mode->flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC;
  4718.  
  4719. if (interlaced) {
  4720. @@ -470,9 +470,9 @@
  4721.  
  4722. return drm_mode;
  4723. }
  4724. -EXPORT_SYMBOL(drm_gtf_mode);
  4725. +EXPORT_SYMBOL(lbm_drm_gtf_mode);
  4726. /**
  4727. - * drm_mode_set_name - set the name on a mode
  4728. + * lbm_drm_mode_set_name - set the name on a mode
  4729. * @mode: name will be set in this mode
  4730. *
  4731. * LOCKING:
  4732. @@ -480,15 +480,15 @@
  4733. *
  4734. * Set the name of @mode to a standard format.
  4735. */
  4736. -void drm_mode_set_name(struct drm_display_mode *mode)
  4737. +void lbm_drm_mode_set_name(struct drm_display_mode *mode)
  4738. {
  4739. snprintf(mode->name, DRM_DISPLAY_MODE_LEN, "%dx%d", mode->hdisplay,
  4740. mode->vdisplay);
  4741. }
  4742. -EXPORT_SYMBOL(drm_mode_set_name);
  4743. +EXPORT_SYMBOL(lbm_drm_mode_set_name);
  4744.  
  4745. /**
  4746. - * drm_mode_list_concat - move modes from one list to another
  4747. + * lbm_drm_mode_list_concat - move modes from one list to another
  4748. * @head: source list
  4749. * @new: dst list
  4750. *
  4751. @@ -497,7 +497,7 @@
  4752. *
  4753. * Move all the modes from @head to @new.
  4754. */
  4755. -void drm_mode_list_concat(struct list_head *head, struct list_head *new)
  4756. +void lbm_drm_mode_list_concat(struct list_head *head, struct list_head *new)
  4757. {
  4758.  
  4759. struct list_head *entry, *tmp;
  4760. @@ -506,10 +506,10 @@
  4761. list_move_tail(entry, new);
  4762. }
  4763. }
  4764. -EXPORT_SYMBOL(drm_mode_list_concat);
  4765. +EXPORT_SYMBOL(lbm_drm_mode_list_concat);
  4766.  
  4767. /**
  4768. - * drm_mode_width - get the width of a mode
  4769. + * lbm_drm_mode_width - get the width of a mode
  4770. * @mode: mode
  4771. *
  4772. * LOCKING:
  4773. @@ -522,15 +522,15 @@
  4774. * RETURNS:
  4775. * @mode->hdisplay
  4776. */
  4777. -int drm_mode_width(struct drm_display_mode *mode)
  4778. +int lbm_drm_mode_width(struct drm_display_mode *mode)
  4779. {
  4780. return mode->hdisplay;
  4781.  
  4782. }
  4783. -EXPORT_SYMBOL(drm_mode_width);
  4784. +EXPORT_SYMBOL(lbm_drm_mode_width);
  4785.  
  4786. /**
  4787. - * drm_mode_height - get the height of a mode
  4788. + * lbm_drm_mode_height - get the height of a mode
  4789. * @mode: mode
  4790. *
  4791. * LOCKING:
  4792. @@ -543,13 +543,13 @@
  4793. * RETURNS:
  4794. * @mode->vdisplay
  4795. */
  4796. -int drm_mode_height(struct drm_display_mode *mode)
  4797. +int lbm_drm_mode_height(struct drm_display_mode *mode)
  4798. {
  4799. return mode->vdisplay;
  4800. }
  4801. -EXPORT_SYMBOL(drm_mode_height);
  4802. +EXPORT_SYMBOL(lbm_drm_mode_height);
  4803.  
  4804. -/** drm_mode_hsync - get the hsync of a mode
  4805. +/** lbm_drm_mode_hsync - get the hsync of a mode
  4806. * @mode: mode
  4807. *
  4808. * LOCKING:
  4809. @@ -557,7 +557,7 @@
  4810. *
  4811. * Return @modes's hsync rate in kHz, rounded to the nearest int.
  4812. */
  4813. -int drm_mode_hsync(struct drm_display_mode *mode)
  4814. +int lbm_drm_mode_hsync(struct drm_display_mode *mode)
  4815. {
  4816. unsigned int calc_val;
  4817.  
  4818. @@ -573,10 +573,10 @@
  4819.  
  4820. return calc_val;
  4821. }
  4822. -EXPORT_SYMBOL(drm_mode_hsync);
  4823. +EXPORT_SYMBOL(lbm_drm_mode_hsync);
  4824.  
  4825. /**
  4826. - * drm_mode_vrefresh - get the vrefresh of a mode
  4827. + * lbm_drm_mode_vrefresh - get the vrefresh of a mode
  4828. * @mode: mode
  4829. *
  4830. * LOCKING:
  4831. @@ -591,7 +591,7 @@
  4832. * If it is 70.288, it will return 70Hz.
  4833. * If it is 59.6, it will return 60Hz.
  4834. */
  4835. -int drm_mode_vrefresh(struct drm_display_mode *mode)
  4836. +int lbm_drm_mode_vrefresh(struct drm_display_mode *mode)
  4837. {
  4838. int refresh = 0;
  4839. unsigned int calc_val;
  4840. @@ -615,10 +615,10 @@
  4841. }
  4842. return refresh;
  4843. }
  4844. -EXPORT_SYMBOL(drm_mode_vrefresh);
  4845. +EXPORT_SYMBOL(lbm_drm_mode_vrefresh);
  4846.  
  4847. /**
  4848. - * drm_mode_set_crtcinfo - set CRTC modesetting parameters
  4849. + * lbm_drm_mode_set_crtcinfo - set CRTC modesetting parameters
  4850. * @p: mode
  4851. * @adjust_flags: unused? (FIXME)
  4852. *
  4853. @@ -627,7 +627,7 @@
  4854. *
  4855. * Setup the CRTC modesetting parameters for @p, adjusting if necessary.
  4856. */
  4857. -void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags)
  4858. +void lbm_drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags)
  4859. {
  4860. if ((p == NULL) || ((p->type & DRM_MODE_TYPE_CRTC_C) == DRM_MODE_TYPE_BUILTIN))
  4861. return;
  4862. @@ -675,11 +675,11 @@
  4863. p->crtc_hadjusted = false;
  4864. p->crtc_vadjusted = false;
  4865. }
  4866. -EXPORT_SYMBOL(drm_mode_set_crtcinfo);
  4867. +EXPORT_SYMBOL(lbm_drm_mode_set_crtcinfo);
  4868.  
  4869.  
  4870. /**
  4871. - * drm_mode_duplicate - allocate and duplicate an existing mode
  4872. + * lbm_drm_mode_duplicate - allocate and duplicate an existing mode
  4873. * @m: mode to duplicate
  4874. *
  4875. * LOCKING:
  4876. @@ -688,13 +688,13 @@
  4877. * Just allocate a new mode, copy the existing mode into it, and return
  4878. * a pointer to it. Used to create new instances of established modes.
  4879. */
  4880. -struct drm_display_mode *drm_mode_duplicate(struct drm_device *dev,
  4881. +struct drm_display_mode *lbm_drm_mode_duplicate(struct drm_device *dev,
  4882. struct drm_display_mode *mode)
  4883. {
  4884. struct drm_display_mode *nmode;
  4885. int new_id;
  4886.  
  4887. - nmode = drm_mode_create(dev);
  4888. + nmode = lbm_drm_mode_create(dev);
  4889. if (!nmode)
  4890. return NULL;
  4891.  
  4892. @@ -704,10 +704,10 @@
  4893. INIT_LIST_HEAD(&nmode->head);
  4894. return nmode;
  4895. }
  4896. -EXPORT_SYMBOL(drm_mode_duplicate);
  4897. +EXPORT_SYMBOL(lbm_drm_mode_duplicate);
  4898.  
  4899. /**
  4900. - * drm_mode_equal - test modes for equality
  4901. + * lbm_drm_mode_equal - test modes for equality
  4902. * @mode1: first mode
  4903. * @mode2: second mode
  4904. *
  4905. @@ -719,7 +719,7 @@
  4906. * RETURNS:
  4907. * True if the modes are equal, false otherwise.
  4908. */
  4909. -bool drm_mode_equal(struct drm_display_mode *mode1, struct drm_display_mode *mode2)
  4910. +bool lbm_drm_mode_equal(struct drm_display_mode *mode1, struct drm_display_mode *mode2)
  4911. {
  4912. /* do clock check convert to PICOS so fb modes get matched
  4913. * the same */
  4914. @@ -744,10 +744,10 @@
  4915.  
  4916. return false;
  4917. }
  4918. -EXPORT_SYMBOL(drm_mode_equal);
  4919. +EXPORT_SYMBOL(lbm_drm_mode_equal);
  4920.  
  4921. /**
  4922. - * drm_mode_validate_size - make sure modes adhere to size constraints
  4923. + * lbm_drm_mode_validate_size - make sure modes adhere to size constraints
  4924. * @dev: DRM device
  4925. * @mode_list: list of modes to check
  4926. * @maxX: maximum width
  4927. @@ -761,7 +761,7 @@
  4928. * modes we probed for @dev against those limits and set their status as
  4929. * necessary.
  4930. */
  4931. -void drm_mode_validate_size(struct drm_device *dev,
  4932. +void lbm_drm_mode_validate_size(struct drm_device *dev,
  4933. struct list_head *mode_list,
  4934. int maxX, int maxY, int maxPitch)
  4935. {
  4936. @@ -778,10 +778,10 @@
  4937. mode->status = MODE_VIRTUAL_Y;
  4938. }
  4939. }
  4940. -EXPORT_SYMBOL(drm_mode_validate_size);
  4941. +EXPORT_SYMBOL(lbm_drm_mode_validate_size);
  4942.  
  4943. /**
  4944. - * drm_mode_validate_clocks - validate modes against clock limits
  4945. + * lbm_drm_mode_validate_clocks - validate modes against clock limits
  4946. * @dev: DRM device
  4947. * @mode_list: list of modes to check
  4948. * @min: minimum clock rate array
  4949. @@ -796,7 +796,7 @@
  4950. * sure each mode falls within a given range (defined by @min and @max
  4951. * arrays) and sets @mode->status as needed.
  4952. */
  4953. -void drm_mode_validate_clocks(struct drm_device *dev,
  4954. +void lbm_drm_mode_validate_clocks(struct drm_device *dev,
  4955. struct list_head *mode_list,
  4956. int *min, int *max, int n_ranges)
  4957. {
  4958. @@ -815,10 +815,10 @@
  4959. mode->status = MODE_CLOCK_RANGE;
  4960. }
  4961. }
  4962. -EXPORT_SYMBOL(drm_mode_validate_clocks);
  4963. +EXPORT_SYMBOL(lbm_drm_mode_validate_clocks);
  4964.  
  4965. /**
  4966. - * drm_mode_prune_invalid - remove invalid modes from mode list
  4967. + * lbm_drm_mode_prune_invalid - remove invalid modes from mode list
  4968. * @dev: DRM device
  4969. * @mode_list: list of modes to check
  4970. * @verbose: be verbose about it
  4971. @@ -830,7 +830,7 @@
  4972. * remove invalid modes from a mode list. If any of the modes have a
  4973. * status other than %MODE_OK, they are removed from @mode_list and freed.
  4974. */
  4975. -void drm_mode_prune_invalid(struct drm_device *dev,
  4976. +void lbm_drm_mode_prune_invalid(struct drm_device *dev,
  4977. struct list_head *mode_list, bool verbose)
  4978. {
  4979. struct drm_display_mode *mode, *t;
  4980. @@ -839,15 +839,15 @@
  4981. if (mode->status != MODE_OK) {
  4982. list_del(&mode->head);
  4983. if (verbose) {
  4984. - drm_mode_debug_printmodeline(mode);
  4985. + lbm_drm_mode_debug_printmodeline(mode);
  4986. DRM_DEBUG_KMS("Not using %s mode %d\n",
  4987. mode->name, mode->status);
  4988. }
  4989. - drm_mode_destroy(dev, mode);
  4990. + lbm_drm_mode_destroy(dev, mode);
  4991. }
  4992. }
  4993. }
  4994. -EXPORT_SYMBOL(drm_mode_prune_invalid);
  4995. +EXPORT_SYMBOL(lbm_drm_mode_prune_invalid);
  4996.  
  4997. /**
  4998. * drm_mode_compare - compare modes for favorability
  4999. @@ -883,7 +883,7 @@
  5000. }
  5001.  
  5002. /**
  5003. - * drm_mode_sort - sort mode list
  5004. + * lbm_drm_mode_sort - sort mode list
  5005. * @mode_list: list to sort
  5006. *
  5007. * LOCKING:
  5008. @@ -891,14 +891,14 @@
  5009. *
  5010. * Sort @mode_list by favorability, putting good modes first.
  5011. */
  5012. -void drm_mode_sort(struct list_head *mode_list)
  5013. +void lbm_drm_mode_sort(struct list_head *mode_list)
  5014. {
  5015. - list_sort(NULL, mode_list, drm_mode_compare);
  5016. + lbm_list_sort(NULL, mode_list, drm_mode_compare);
  5017. }
  5018. -EXPORT_SYMBOL(drm_mode_sort);
  5019. +EXPORT_SYMBOL(lbm_drm_mode_sort);
  5020.  
  5021. /**
  5022. - * drm_mode_connector_list_update - update the mode list for the connector
  5023. + * lbm_drm_mode_connector_list_update - update the mode list for the connector
  5024. * @connector: the connector to update
  5025. *
  5026. * LOCKING:
  5027. @@ -909,7 +909,7 @@
  5028. * list and only adds different modes. All modes unverified after this point
  5029. * will be removed by the prune invalid modes.
  5030. */
  5031. -void drm_mode_connector_list_update(struct drm_connector *connector)
  5032. +void lbm_drm_mode_connector_list_update(struct drm_connector *connector)
  5033. {
  5034. struct drm_display_mode *mode;
  5035. struct drm_display_mode *pmode, *pt;
  5036. @@ -920,14 +920,14 @@
  5037. found_it = 0;
  5038. /* go through current modes checking for the new probed mode */
  5039. list_for_each_entry(mode, &connector->modes, head) {
  5040. - if (drm_mode_equal(pmode, mode)) {
  5041. + if (lbm_drm_mode_equal(pmode, mode)) {
  5042. found_it = 1;
  5043. /* if equal delete the probed mode */
  5044. mode->status = pmode->status;
  5045. /* Merge type bits together */
  5046. mode->type |= pmode->type;
  5047. list_del(&pmode->head);
  5048. - drm_mode_destroy(connector->dev, pmode);
  5049. + lbm_drm_mode_destroy(connector->dev, pmode);
  5050. break;
  5051. }
  5052. }
  5053. @@ -937,4 +937,4 @@
  5054. }
  5055. }
  5056. }
  5057. -EXPORT_SYMBOL(drm_mode_connector_list_update);
  5058. +EXPORT_SYMBOL(lbm_drm_mode_connector_list_update);
  5059. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_pci.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_pci.c
  5060. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_pci.c 2010-01-25 15:21:29.000000000 -0500
  5061. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_pci.c 2010-02-03 17:11:08.000000000 -0500
  5062. @@ -47,7 +47,7 @@
  5063. /**
  5064. * \brief Allocate a PCI consistent memory block, for DMA.
  5065. */
  5066. -drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align)
  5067. +drm_dma_handle_t *lbm_drm_pci_alloc(struct drm_device * dev, size_t size, size_t align)
  5068. {
  5069. drm_dma_handle_t *dmah;
  5070. #if 1
  5071. @@ -86,7 +86,7 @@
  5072. return dmah;
  5073. }
  5074.  
  5075. -EXPORT_SYMBOL(drm_pci_alloc);
  5076. +EXPORT_SYMBOL(lbm_drm_pci_alloc);
  5077.  
  5078. /**
  5079. * \brief Free a PCI consistent memory block without freeing its descriptor.
  5080. @@ -115,12 +115,12 @@
  5081. /**
  5082. * \brief Free a PCI consistent memory block
  5083. */
  5084. -void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
  5085. +void lbm_drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
  5086. {
  5087. __drm_pci_free(dev, dmah);
  5088. kfree(dmah);
  5089. }
  5090.  
  5091. -EXPORT_SYMBOL(drm_pci_free);
  5092. +EXPORT_SYMBOL(lbm_drm_pci_free);
  5093.  
  5094. /*@}*/
  5095. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_scatter.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_scatter.c
  5096. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_scatter.c 2010-01-25 15:21:29.000000000 -0500
  5097. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_scatter.c 2010-02-03 17:11:08.000000000 -0500
  5098. @@ -69,7 +69,7 @@
  5099. # define ScatterHandle(x) (unsigned int)(x)
  5100. #endif
  5101.  
  5102. -int drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request)
  5103. +int lbm_drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request)
  5104. {
  5105. struct drm_sg_mem *entry;
  5106. unsigned long pages, i, j;
  5107. @@ -183,7 +183,7 @@
  5108. drm_sg_cleanup(entry);
  5109. return -ENOMEM;
  5110. }
  5111. -EXPORT_SYMBOL(drm_sg_alloc);
  5112. +EXPORT_SYMBOL(lbm_drm_sg_alloc);
  5113.  
  5114.  
  5115. int drm_sg_alloc_ioctl(struct drm_device *dev, void *data,
  5116. @@ -191,7 +191,7 @@
  5117. {
  5118. struct drm_scatter_gather *request = data;
  5119.  
  5120. - return drm_sg_alloc(dev, request);
  5121. + return lbm_drm_sg_alloc(dev, request);
  5122.  
  5123. }
  5124.  
  5125. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sman.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sman.c
  5126. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sman.c 2010-01-25 15:21:29.000000000 -0500
  5127. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sman.c 2010-02-03 17:11:08.000000000 -0500
  5128. @@ -44,17 +44,17 @@
  5129. struct list_head mem_blocks;
  5130. };
  5131.  
  5132. -void drm_sman_takedown(struct drm_sman * sman)
  5133. +void lbm_drm_sman_takedown(struct drm_sman * sman)
  5134. {
  5135. - drm_ht_remove(&sman->user_hash_tab);
  5136. - drm_ht_remove(&sman->owner_hash_tab);
  5137. + lbm_drm_ht_remove(&sman->user_hash_tab);
  5138. + lbm_drm_ht_remove(&sman->owner_hash_tab);
  5139. kfree(sman->mm);
  5140. }
  5141.  
  5142. -EXPORT_SYMBOL(drm_sman_takedown);
  5143. +EXPORT_SYMBOL(lbm_drm_sman_takedown);
  5144.  
  5145. int
  5146. -drm_sman_init(struct drm_sman * sman, unsigned int num_managers,
  5147. +lbm_drm_sman_init(struct drm_sman * sman, unsigned int num_managers,
  5148. unsigned int user_order, unsigned int owner_order)
  5149. {
  5150. int ret = 0;
  5151. @@ -68,21 +68,21 @@
  5152. }
  5153. sman->num_managers = num_managers;
  5154. INIT_LIST_HEAD(&sman->owner_items);
  5155. - ret = drm_ht_create(&sman->owner_hash_tab, owner_order);
  5156. + ret = lbm_drm_ht_create(&sman->owner_hash_tab, owner_order);
  5157. if (ret)
  5158. goto out1;
  5159. - ret = drm_ht_create(&sman->user_hash_tab, user_order);
  5160. + ret = lbm_drm_ht_create(&sman->user_hash_tab, user_order);
  5161. if (!ret)
  5162. goto out;
  5163.  
  5164. - drm_ht_remove(&sman->owner_hash_tab);
  5165. + lbm_drm_ht_remove(&sman->owner_hash_tab);
  5166. out1:
  5167. kfree(sman->mm);
  5168. out:
  5169. return ret;
  5170. }
  5171.  
  5172. -EXPORT_SYMBOL(drm_sman_init);
  5173. +EXPORT_SYMBOL(lbm_drm_sman_init);
  5174.  
  5175. static void *drm_sman_mm_allocate(void *private, unsigned long size,
  5176. unsigned alignment)
  5177. @@ -90,7 +90,7 @@
  5178. struct drm_mm *mm = (struct drm_mm *) private;
  5179. struct drm_mm_node *tmp;
  5180.  
  5181. - tmp = drm_mm_search_free(mm, size, alignment, 1);
  5182. + tmp = lbm_drm_mm_search_free(mm, size, alignment, 1);
  5183. if (!tmp) {
  5184. return NULL;
  5185. }
  5186. @@ -102,13 +102,13 @@
  5187. {
  5188. struct drm_mm_node *node = (struct drm_mm_node *) ref;
  5189.  
  5190. - drm_mm_put_block(node);
  5191. + lbm_drm_mm_put_block(node);
  5192. }
  5193.  
  5194. static void drm_sman_mm_destroy(void *private)
  5195. {
  5196. struct drm_mm *mm = (struct drm_mm *) private;
  5197. - drm_mm_takedown(mm);
  5198. + lbm_drm_mm_takedown(mm);
  5199. kfree(mm);
  5200. }
  5201.  
  5202. @@ -119,7 +119,7 @@
  5203. }
  5204.  
  5205. int
  5206. -drm_sman_set_range(struct drm_sman * sman, unsigned int manager,
  5207. +lbm_drm_sman_set_range(struct drm_sman * sman, unsigned int manager,
  5208. unsigned long start, unsigned long size)
  5209. {
  5210. struct drm_sman_mm *sman_mm;
  5211. @@ -134,7 +134,7 @@
  5212. return -ENOMEM;
  5213. }
  5214. sman_mm->private = mm;
  5215. - ret = drm_mm_init(mm, start, size);
  5216. + ret = lbm_drm_mm_init(mm, start, size);
  5217.  
  5218. if (ret) {
  5219. kfree(mm);
  5220. @@ -149,10 +149,10 @@
  5221. return 0;
  5222. }
  5223.  
  5224. -EXPORT_SYMBOL(drm_sman_set_range);
  5225. +EXPORT_SYMBOL(lbm_drm_sman_set_range);
  5226.  
  5227. int
  5228. -drm_sman_set_manager(struct drm_sman * sman, unsigned int manager,
  5229. +lbm_drm_sman_set_manager(struct drm_sman * sman, unsigned int manager,
  5230. struct drm_sman_mm * allocator)
  5231. {
  5232. BUG_ON(manager >= sman->num_managers);
  5233. @@ -160,7 +160,7 @@
  5234.  
  5235. return 0;
  5236. }
  5237. -EXPORT_SYMBOL(drm_sman_set_manager);
  5238. +EXPORT_SYMBOL(lbm_drm_sman_set_manager);
  5239.  
  5240. static struct drm_owner_item *drm_sman_get_owner_item(struct drm_sman * sman,
  5241. unsigned long owner)
  5242. @@ -169,7 +169,7 @@
  5243. struct drm_hash_item *owner_hash_item;
  5244. struct drm_owner_item *owner_item;
  5245.  
  5246. - ret = drm_ht_find_item(&sman->owner_hash_tab, owner, &owner_hash_item);
  5247. + ret = lbm_drm_ht_find_item(&sman->owner_hash_tab, owner, &owner_hash_item);
  5248. if (!ret) {
  5249. return drm_hash_entry(owner_hash_item, struct drm_owner_item,
  5250. owner_hash);
  5251. @@ -181,7 +181,7 @@
  5252.  
  5253. INIT_LIST_HEAD(&owner_item->mem_blocks);
  5254. owner_item->owner_hash.key = owner;
  5255. - if (drm_ht_insert_item(&sman->owner_hash_tab, &owner_item->owner_hash))
  5256. + if (lbm_drm_ht_insert_item(&sman->owner_hash_tab, &owner_item->owner_hash))
  5257. goto out1;
  5258.  
  5259. list_add_tail(&owner_item->sman_list, &sman->owner_items);
  5260. @@ -193,7 +193,7 @@
  5261. return NULL;
  5262. }
  5263.  
  5264. -struct drm_memblock_item *drm_sman_alloc(struct drm_sman *sman, unsigned int manager,
  5265. +struct drm_memblock_item *lbm_drm_sman_alloc(struct drm_sman *sman, unsigned int manager,
  5266. unsigned long size, unsigned alignment,
  5267. unsigned long owner)
  5268. {
  5269. @@ -220,7 +220,7 @@
  5270. memblock->mm = sman_mm;
  5271. memblock->sman = sman;
  5272.  
  5273. - if (drm_ht_just_insert_please
  5274. + if (lbm_drm_ht_just_insert_please
  5275. (&sman->user_hash_tab, &memblock->user_hash,
  5276. (unsigned long)memblock, 32, 0, 0))
  5277. goto out1;
  5278. @@ -234,7 +234,7 @@
  5279. return memblock;
  5280.  
  5281. out2:
  5282. - drm_ht_remove_item(&sman->user_hash_tab, &memblock->user_hash);
  5283. + lbm_drm_ht_remove_item(&sman->user_hash_tab, &memblock->user_hash);
  5284. out1:
  5285. kfree(memblock);
  5286. out:
  5287. @@ -243,24 +243,24 @@
  5288. return NULL;
  5289. }
  5290.  
  5291. -EXPORT_SYMBOL(drm_sman_alloc);
  5292. +EXPORT_SYMBOL(lbm_drm_sman_alloc);
  5293.  
  5294. static void drm_sman_free(struct drm_memblock_item *item)
  5295. {
  5296. struct drm_sman *sman = item->sman;
  5297.  
  5298. list_del(&item->owner_list);
  5299. - drm_ht_remove_item(&sman->user_hash_tab, &item->user_hash);
  5300. + lbm_drm_ht_remove_item(&sman->user_hash_tab, &item->user_hash);
  5301. item->mm->free(item->mm->private, item->mm_info);
  5302. kfree(item);
  5303. }
  5304.  
  5305. -int drm_sman_free_key(struct drm_sman *sman, unsigned int key)
  5306. +int lbm_drm_sman_free_key(struct drm_sman *sman, unsigned int key)
  5307. {
  5308. struct drm_hash_item *hash_item;
  5309. struct drm_memblock_item *memblock_item;
  5310.  
  5311. - if (drm_ht_find_item(&sman->user_hash_tab, key, &hash_item))
  5312. + if (lbm_drm_ht_find_item(&sman->user_hash_tab, key, &hash_item))
  5313. return -EINVAL;
  5314.  
  5315. memblock_item = drm_hash_entry(hash_item, struct drm_memblock_item,
  5316. @@ -269,23 +269,23 @@
  5317. return 0;
  5318. }
  5319.  
  5320. -EXPORT_SYMBOL(drm_sman_free_key);
  5321. +EXPORT_SYMBOL(lbm_drm_sman_free_key);
  5322.  
  5323. static void drm_sman_remove_owner(struct drm_sman *sman,
  5324. struct drm_owner_item *owner_item)
  5325. {
  5326. list_del(&owner_item->sman_list);
  5327. - drm_ht_remove_item(&sman->owner_hash_tab, &owner_item->owner_hash);
  5328. + lbm_drm_ht_remove_item(&sman->owner_hash_tab, &owner_item->owner_hash);
  5329. kfree(owner_item);
  5330. }
  5331.  
  5332. -int drm_sman_owner_clean(struct drm_sman *sman, unsigned long owner)
  5333. +int lbm_drm_sman_owner_clean(struct drm_sman *sman, unsigned long owner)
  5334. {
  5335.  
  5336. struct drm_hash_item *hash_item;
  5337. struct drm_owner_item *owner_item;
  5338.  
  5339. - if (drm_ht_find_item(&sman->owner_hash_tab, owner, &hash_item)) {
  5340. + if (lbm_drm_ht_find_item(&sman->owner_hash_tab, owner, &hash_item)) {
  5341. return -1;
  5342. }
  5343.  
  5344. @@ -298,7 +298,7 @@
  5345. return 0;
  5346. }
  5347.  
  5348. -EXPORT_SYMBOL(drm_sman_owner_clean);
  5349. +EXPORT_SYMBOL(lbm_drm_sman_owner_clean);
  5350.  
  5351. static void drm_sman_do_owner_cleanup(struct drm_sman *sman,
  5352. struct drm_owner_item *owner_item)
  5353. @@ -312,13 +312,13 @@
  5354. drm_sman_remove_owner(sman, owner_item);
  5355. }
  5356.  
  5357. -void drm_sman_owner_cleanup(struct drm_sman *sman, unsigned long owner)
  5358. +void lbm_drm_sman_owner_cleanup(struct drm_sman *sman, unsigned long owner)
  5359. {
  5360.  
  5361. struct drm_hash_item *hash_item;
  5362. struct drm_owner_item *owner_item;
  5363.  
  5364. - if (drm_ht_find_item(&sman->owner_hash_tab, owner, &hash_item)) {
  5365. + if (lbm_drm_ht_find_item(&sman->owner_hash_tab, owner, &hash_item)) {
  5366.  
  5367. return;
  5368. }
  5369. @@ -327,9 +327,9 @@
  5370. drm_sman_do_owner_cleanup(sman, owner_item);
  5371. }
  5372.  
  5373. -EXPORT_SYMBOL(drm_sman_owner_cleanup);
  5374. +EXPORT_SYMBOL(lbm_drm_sman_owner_cleanup);
  5375.  
  5376. -void drm_sman_cleanup(struct drm_sman *sman)
  5377. +void lbm_drm_sman_cleanup(struct drm_sman *sman)
  5378. {
  5379. struct drm_owner_item *entry, *next;
  5380. unsigned int i;
  5381. @@ -349,4 +349,4 @@
  5382. }
  5383. }
  5384.  
  5385. -EXPORT_SYMBOL(drm_sman_cleanup);
  5386. +EXPORT_SYMBOL(lbm_drm_sman_cleanup);
  5387. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_stub.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_stub.c
  5388. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_stub.c 2010-01-25 15:21:29.000000000 -0500
  5389. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_stub.c 2010-02-03 17:11:09.000000000 -0500
  5390. @@ -36,29 +36,29 @@
  5391. #include "drmP.h"
  5392. #include "drm_core.h"
  5393.  
  5394. -unsigned int drm_debug = 0; /* 1 to enable debug output */
  5395. -EXPORT_SYMBOL(drm_debug);
  5396. +unsigned int lbm_drm_debug = 0; /* 1 to enable debug output */
  5397. +EXPORT_SYMBOL(lbm_drm_debug);
  5398.  
  5399. MODULE_AUTHOR(CORE_AUTHOR);
  5400. MODULE_DESCRIPTION(CORE_DESC);
  5401. MODULE_LICENSE("GPL and additional rights");
  5402. MODULE_PARM_DESC(debug, "Enable debug output");
  5403.  
  5404. -module_param_named(debug, drm_debug, int, 0600);
  5405. +module_param_named(debug, lbm_drm_debug, int, 0600);
  5406.  
  5407. struct idr drm_minors_idr;
  5408.  
  5409. struct class *drm_class;
  5410. struct proc_dir_entry *drm_proc_root;
  5411. struct dentry *drm_debugfs_root;
  5412. -void drm_ut_debug_printk(unsigned int request_level,
  5413. +void lbm_drm_ut_debug_printk(unsigned int request_level,
  5414. const char *prefix,
  5415. const char *function_name,
  5416. const char *format, ...)
  5417. {
  5418. va_list args;
  5419.  
  5420. - if (drm_debug & request_level) {
  5421. + if (lbm_drm_debug & request_level) {
  5422. if (function_name)
  5423. printk(KERN_DEBUG "[%s:%s], ", prefix, function_name);
  5424. va_start(args, format);
  5425. @@ -66,7 +66,7 @@
  5426. va_end(args);
  5427. }
  5428. }
  5429. -EXPORT_SYMBOL(drm_ut_debug_printk);
  5430. +EXPORT_SYMBOL(lbm_drm_ut_debug_printk);
  5431. static int drm_minor_get_id(struct drm_device *dev, int type)
  5432. {
  5433. int new_id;
  5434. @@ -114,7 +114,7 @@
  5435. kref_init(&master->refcount);
  5436. spin_lock_init(&master->lock.spinlock);
  5437. init_waitqueue_head(&master->lock.lock_queue);
  5438. - drm_ht_create(&master->magiclist, DRM_MAGIC_HASH_ORDER);
  5439. + lbm_drm_ht_create(&master->magiclist, DRM_MAGIC_HASH_ORDER);
  5440. INIT_LIST_HEAD(&master->magicfree);
  5441. master->minor = minor;
  5442.  
  5443. @@ -123,12 +123,12 @@
  5444. return master;
  5445. }
  5446.  
  5447. -struct drm_master *drm_master_get(struct drm_master *master)
  5448. +struct drm_master *lbm_drm_master_get(struct drm_master *master)
  5449. {
  5450. kref_get(&master->refcount);
  5451. return master;
  5452. }
  5453. -EXPORT_SYMBOL(drm_master_get);
  5454. +EXPORT_SYMBOL(lbm_drm_master_get);
  5455.  
  5456. static void drm_master_destroy(struct kref *kref)
  5457. {
  5458. @@ -144,7 +144,7 @@
  5459.  
  5460. list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) {
  5461. if (r_list->master == master) {
  5462. - drm_rmmap_locked(dev, r_list->map);
  5463. + lbm_drm_rmmap_locked(dev, r_list->map);
  5464. r_list = NULL;
  5465. }
  5466. }
  5467. @@ -157,21 +157,21 @@
  5468.  
  5469. list_for_each_entry_safe(pt, next, &master->magicfree, head) {
  5470. list_del(&pt->head);
  5471. - drm_ht_remove_item(&master->magiclist, &pt->hash_item);
  5472. + lbm_drm_ht_remove_item(&master->magiclist, &pt->hash_item);
  5473. kfree(pt);
  5474. }
  5475.  
  5476. - drm_ht_remove(&master->magiclist);
  5477. + lbm_drm_ht_remove(&master->magiclist);
  5478.  
  5479. kfree(master);
  5480. }
  5481.  
  5482. -void drm_master_put(struct drm_master **master)
  5483. +void lbm_drm_master_put(struct drm_master **master)
  5484. {
  5485. kref_put(&(*master)->refcount, drm_master_destroy);
  5486. *master = NULL;
  5487. }
  5488. -EXPORT_SYMBOL(drm_master_put);
  5489. +EXPORT_SYMBOL(lbm_drm_master_put);
  5490.  
  5491. int drm_setmaster_ioctl(struct drm_device *dev, void *data,
  5492. struct drm_file *file_priv)
  5493. @@ -190,13 +190,13 @@
  5494. if (!file_priv->minor->master &&
  5495. file_priv->minor->master != file_priv->master) {
  5496. mutex_lock(&dev->struct_mutex);
  5497. - file_priv->minor->master = drm_master_get(file_priv->master);
  5498. + file_priv->minor->master = lbm_drm_master_get(file_priv->master);
  5499. file_priv->is_master = 1;
  5500. if (dev->driver->master_set) {
  5501. ret = dev->driver->master_set(dev, file_priv, false);
  5502. if (unlikely(ret != 0)) {
  5503. file_priv->is_master = 0;
  5504. - drm_master_put(&file_priv->minor->master);
  5505. + lbm_drm_master_put(&file_priv->minor->master);
  5506. }
  5507. }
  5508. mutex_unlock(&dev->struct_mutex);
  5509. @@ -217,7 +217,7 @@
  5510. mutex_lock(&dev->struct_mutex);
  5511. if (dev->driver->master_drop)
  5512. dev->driver->master_drop(dev, file_priv, false);
  5513. - drm_master_put(&file_priv->minor->master);
  5514. + lbm_drm_master_put(&file_priv->minor->master);
  5515. file_priv->is_master = 0;
  5516. mutex_unlock(&dev->struct_mutex);
  5517. return 0;
  5518. @@ -252,7 +252,7 @@
  5519. dev->hose = pdev->sysdata;
  5520. #endif
  5521.  
  5522. - if (drm_ht_create(&dev->map_hash, 12)) {
  5523. + if (lbm_drm_ht_create(&dev->map_hash, 12)) {
  5524. return -ENOMEM;
  5525. }
  5526.  
  5527. @@ -393,11 +393,11 @@
  5528. * \param ent entry from the PCI ID table with device type flags
  5529. * \return zero on success or a negative number on failure.
  5530. *
  5531. - * Attempt to gets inter module "drm" information. If we are first
  5532. + * Attempt to gets inter module "lbm-drm" information. If we are first
  5533. * then register the character device and inter module information.
  5534. * Try and register, if we fail to register, backout previous work.
  5535. */
  5536. -int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  5537. +int lbm_drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  5538. struct drm_driver *driver)
  5539. {
  5540. struct drm_device *dev;
  5541. @@ -461,7 +461,7 @@
  5542. kfree(dev);
  5543. return ret;
  5544. }
  5545. -EXPORT_SYMBOL(drm_get_dev);
  5546. +EXPORT_SYMBOL(lbm_drm_get_dev);
  5547.  
  5548. /**
  5549. * Put a secondary minor number.
  5550. @@ -495,14 +495,14 @@
  5551. }
  5552.  
  5553. /**
  5554. - * Called via drm_exit() at module unload time or when pci device is
  5555. + * Called via lbm_drm_exit() at module unload time or when pci device is
  5556. * unplugged.
  5557. *
  5558. * Cleans up all DRM device, calling drm_lastclose().
  5559. *
  5560. - * \sa drm_init
  5561. + * \sa lbm_drm_init
  5562. */
  5563. -void drm_put_dev(struct drm_device *dev)
  5564. +void lbm_drm_put_dev(struct drm_device *dev)
  5565. {
  5566. struct drm_driver *driver;
  5567. struct drm_map_list *r_list, *list_temp;
  5568. @@ -515,7 +515,7 @@
  5569. }
  5570. driver = dev->driver;
  5571.  
  5572. - drm_vblank_cleanup(dev);
  5573. + lbm_drm_vblank_cleanup(dev);
  5574.  
  5575. drm_lastclose(dev);
  5576.  
  5577. @@ -537,8 +537,8 @@
  5578. }
  5579.  
  5580. list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
  5581. - drm_rmmap(dev, r_list->map);
  5582. - drm_ht_remove(&dev->map_hash);
  5583. + lbm_drm_rmmap(dev, r_list->map);
  5584. + lbm_drm_ht_remove(&dev->map_hash);
  5585.  
  5586. drm_ctxbitmap_cleanup(dev);
  5587.  
  5588. @@ -556,4 +556,4 @@
  5589. }
  5590. kfree(dev);
  5591. }
  5592. -EXPORT_SYMBOL(drm_put_dev);
  5593. +EXPORT_SYMBOL(lbm_drm_put_dev);
  5594. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sysfs.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sysfs.c
  5595. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sysfs.c 2010-01-25 15:21:29.000000000 -0500
  5596. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_sysfs.c 2010-02-03 17:11:08.000000000 -0500
  5597. @@ -174,7 +174,7 @@
  5598. uint64_t dpms_status;
  5599. int ret;
  5600.  
  5601. - ret = drm_connector_property_get_value(connector,
  5602. + ret = lbm_drm_connector_property_get_value(connector,
  5603. dev->mode_config.dpms_property,
  5604. &dpms_status);
  5605. if (ret)
  5606. @@ -268,7 +268,7 @@
  5607. return 0;
  5608. }
  5609.  
  5610. - ret = drm_connector_property_get_value(connector, prop, &subconnector);
  5611. + ret = lbm_drm_connector_property_get_value(connector, prop, &subconnector);
  5612. if (ret)
  5613. return 0;
  5614.  
  5615. @@ -309,7 +309,7 @@
  5616. return 0;
  5617. }
  5618.  
  5619. - ret = drm_connector_property_get_value(connector, prop, &subconnector);
  5620. + ret = lbm_drm_connector_property_get_value(connector, prop, &subconnector);
  5621. if (ret)
  5622. return 0;
  5623.  
  5624. @@ -339,7 +339,7 @@
  5625. };
  5626.  
  5627. /**
  5628. - * drm_sysfs_connector_add - add an connector to sysfs
  5629. + * lbm_drm_sysfs_connector_add - add an connector to sysfs
  5630. * @connector: connector to add
  5631. *
  5632. * Create an connector device in sysfs, along with its associated connector
  5633. @@ -352,7 +352,7 @@
  5634. * A second call for an already registered device will trigger the BUG_ON
  5635. * below.
  5636. */
  5637. -int drm_sysfs_connector_add(struct drm_connector *connector)
  5638. +int lbm_drm_sysfs_connector_add(struct drm_connector *connector)
  5639. {
  5640. struct drm_device *dev = connector->dev;
  5641. int ret = 0, i, j;
  5642. @@ -365,10 +365,10 @@
  5643. connector->kdev.release = drm_sysfs_device_release;
  5644.  
  5645. DRM_DEBUG("adding \"%s\" to sysfs\n",
  5646. - drm_get_connector_name(connector));
  5647. + lbm_drm_get_connector_name(connector));
  5648.  
  5649. dev_set_name(&connector->kdev, "card%d-%s",
  5650. - dev->primary->index, drm_get_connector_name(connector));
  5651. + dev->primary->index, lbm_drm_get_connector_name(connector));
  5652. ret = device_register(&connector->kdev);
  5653.  
  5654. if (ret) {
  5655. @@ -410,7 +410,7 @@
  5656. goto err_out_files;
  5657.  
  5658. /* Let userspace know we have a new connector */
  5659. - drm_sysfs_hotplug_event(dev);
  5660. + lbm_drm_sysfs_hotplug_event(dev);
  5661.  
  5662. return 0;
  5663.  
  5664. @@ -424,10 +424,10 @@
  5665. out:
  5666. return ret;
  5667. }
  5668. -EXPORT_SYMBOL(drm_sysfs_connector_add);
  5669. +EXPORT_SYMBOL(lbm_drm_sysfs_connector_add);
  5670.  
  5671. /**
  5672. - * drm_sysfs_connector_remove - remove an connector device from sysfs
  5673. + * lbm_drm_sysfs_connector_remove - remove an connector device from sysfs
  5674. * @connector: connector to remove
  5675. *
  5676. * Remove @connector and its associated attributes from sysfs. Note that
  5677. @@ -439,29 +439,29 @@
  5678. * successfully registered. If @connector hasn't been registered yet,
  5679. * you'll likely see a panic somewhere deep in sysfs code when called.
  5680. */
  5681. -void drm_sysfs_connector_remove(struct drm_connector *connector)
  5682. +void lbm_drm_sysfs_connector_remove(struct drm_connector *connector)
  5683. {
  5684. int i;
  5685.  
  5686. DRM_DEBUG("removing \"%s\" from sysfs\n",
  5687. - drm_get_connector_name(connector));
  5688. + lbm_drm_get_connector_name(connector));
  5689.  
  5690. for (i = 0; i < ARRAY_SIZE(connector_attrs); i++)
  5691. device_remove_file(&connector->kdev, &connector_attrs[i]);
  5692. sysfs_remove_bin_file(&connector->kdev.kobj, &edid_attr);
  5693. device_unregister(&connector->kdev);
  5694. }
  5695. -EXPORT_SYMBOL(drm_sysfs_connector_remove);
  5696. +EXPORT_SYMBOL(lbm_drm_sysfs_connector_remove);
  5697.  
  5698. /**
  5699. - * drm_sysfs_hotplug_event - generate a DRM uevent
  5700. + * lbm_drm_sysfs_hotplug_event - generate a DRM uevent
  5701. * @dev: DRM device
  5702. *
  5703. * Send a uevent for the DRM device specified by @dev. Currently we only
  5704. * set HOTPLUG=1 in the uevent environment, but this could be expanded to
  5705. * deal with other types of events.
  5706. */
  5707. -void drm_sysfs_hotplug_event(struct drm_device *dev)
  5708. +void lbm_drm_sysfs_hotplug_event(struct drm_device *dev)
  5709. {
  5710. char *event_string = "HOTPLUG=1";
  5711. char *envp[] = { event_string, NULL };
  5712. @@ -470,7 +470,7 @@
  5713.  
  5714. kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, envp);
  5715. }
  5716. -EXPORT_SYMBOL(drm_sysfs_hotplug_event);
  5717. +EXPORT_SYMBOL(lbm_drm_sysfs_hotplug_event);
  5718.  
  5719. /**
  5720. * drm_sysfs_device_add - adds a class device to sysfs for a character driver
  5721. @@ -526,7 +526,7 @@
  5722.  
  5723.  
  5724. /**
  5725. - * drm_class_device_register - Register a struct device in the drm class.
  5726. + * lbm_drm_class_device_register - Register a struct device in the drm class.
  5727. *
  5728. * @dev: pointer to struct device to register.
  5729. *
  5730. @@ -535,15 +535,15 @@
  5731. * be set.
  5732. */
  5733.  
  5734. -int drm_class_device_register(struct device *dev)
  5735. +int lbm_drm_class_device_register(struct device *dev)
  5736. {
  5737. dev->class = drm_class;
  5738. return device_register(dev);
  5739. }
  5740. -EXPORT_SYMBOL_GPL(drm_class_device_register);
  5741. +EXPORT_SYMBOL_GPL(lbm_drm_class_device_register);
  5742.  
  5743. -void drm_class_device_unregister(struct device *dev)
  5744. +void lbm_drm_class_device_unregister(struct device *dev)
  5745. {
  5746. return device_unregister(dev);
  5747. }
  5748. -EXPORT_SYMBOL_GPL(drm_class_device_unregister);
  5749. +EXPORT_SYMBOL_GPL(lbm_drm_class_device_unregister);
  5750. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_vm.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_vm.c
  5751. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_vm.c 2010-01-25 15:21:29.000000000 -0500
  5752. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/drm_vm.c 2010-02-03 17:11:08.000000000 -0500
  5753. @@ -104,7 +104,7 @@
  5754. if (!dev->agp || !dev->agp->cant_use_aperture)
  5755. goto vm_fault_error;
  5756.  
  5757. - if (drm_ht_find_item(&dev->map_hash, vma->vm_pgoff, &hash))
  5758. + if (lbm_drm_ht_find_item(&dev->map_hash, vma->vm_pgoff, &hash))
  5759. goto vm_fault_error;
  5760.  
  5761. r_list = drm_hash_entry(hash, struct drm_map_list, hash);
  5762. @@ -514,14 +514,14 @@
  5763. return 0;
  5764. }
  5765.  
  5766. -resource_size_t drm_core_get_map_ofs(struct drm_local_map * map)
  5767. +resource_size_t lbm_drm_core_get_map_ofs(struct drm_local_map * map)
  5768. {
  5769. return map->offset;
  5770. }
  5771.  
  5772. -EXPORT_SYMBOL(drm_core_get_map_ofs);
  5773. +EXPORT_SYMBOL(lbm_drm_core_get_map_ofs);
  5774.  
  5775. -resource_size_t drm_core_get_reg_ofs(struct drm_device *dev)
  5776. +resource_size_t lbm_drm_core_get_reg_ofs(struct drm_device *dev)
  5777. {
  5778. #ifdef __alpha__
  5779. return dev->hose->dense_mem_base - dev->hose->mem_space->start;
  5780. @@ -530,7 +530,7 @@
  5781. #endif
  5782. }
  5783.  
  5784. -EXPORT_SYMBOL(drm_core_get_reg_ofs);
  5785. +EXPORT_SYMBOL(lbm_drm_core_get_reg_ofs);
  5786.  
  5787. /**
  5788. * mmap DMA memory.
  5789. @@ -571,7 +571,7 @@
  5790. )
  5791. return drm_mmap_dma(filp, vma);
  5792.  
  5793. - if (drm_ht_find_item(&dev->map_hash, vma->vm_pgoff, &hash)) {
  5794. + if (lbm_drm_ht_find_item(&dev->map_hash, vma->vm_pgoff, &hash)) {
  5795. DRM_ERROR("Could not find map\n");
  5796. return -EINVAL;
  5797. }
  5798. @@ -663,7 +663,7 @@
  5799. return 0;
  5800. }
  5801.  
  5802. -int drm_mmap(struct file *filp, struct vm_area_struct *vma)
  5803. +int lbm_drm_mmap(struct file *filp, struct vm_area_struct *vma)
  5804. {
  5805. struct drm_file *priv = filp->private_data;
  5806. struct drm_device *dev = priv->minor->dev;
  5807. @@ -675,4 +675,4 @@
  5808.  
  5809. return ret;
  5810. }
  5811. -EXPORT_SYMBOL(drm_mmap);
  5812. +EXPORT_SYMBOL(lbm_drm_mmap);
  5813. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_cache.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_cache.h
  5814. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_cache.h 2010-01-25 15:21:29.000000000 -0500
  5815. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_cache.h 2010-02-03 17:11:08.000000000 -0500
  5816. @@ -33,6 +33,6 @@
  5817. #ifndef _DRM_CACHE_H_
  5818. #define _DRM_CACHE_H_
  5819.  
  5820. -void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
  5821. +void lbm_drm_clflush_pages(struct page *pages[], unsigned long num_pages);
  5822.  
  5823. #endif
  5824. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_core.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_core.h
  5825. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_core.h 2010-01-25 15:21:29.000000000 -0500
  5826. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_core.h 2010-02-03 17:11:08.000000000 -0500
  5827. @@ -22,7 +22,7 @@
  5828. */
  5829. #define CORE_AUTHOR "Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl"
  5830.  
  5831. -#define CORE_NAME "drm"
  5832. +#define CORE_NAME "lbm-drm"
  5833. #define CORE_DESC "DRM shared core routines"
  5834. #define CORE_DATE "20060810"
  5835.  
  5836. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc.h
  5837. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc.h 2010-01-25 15:21:29.000000000 -0500
  5838. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc.h 2010-02-03 17:11:08.000000000 -0500
  5839. @@ -637,26 +637,26 @@
  5840. #define obj_to_blob(x) container_of(x, struct drm_property_blob, base)
  5841.  
  5842.  
  5843. -extern void drm_crtc_init(struct drm_device *dev,
  5844. +extern void lbm_drm_crtc_init(struct drm_device *dev,
  5845. struct drm_crtc *crtc,
  5846. const struct drm_crtc_funcs *funcs);
  5847. -extern void drm_crtc_cleanup(struct drm_crtc *crtc);
  5848. +extern void lbm_drm_crtc_cleanup(struct drm_crtc *crtc);
  5849.  
  5850. -extern void drm_connector_init(struct drm_device *dev,
  5851. +extern void lbm_drm_connector_init(struct drm_device *dev,
  5852. struct drm_connector *connector,
  5853. const struct drm_connector_funcs *funcs,
  5854. int connector_type);
  5855.  
  5856. -extern void drm_connector_cleanup(struct drm_connector *connector);
  5857. +extern void lbm_drm_connector_cleanup(struct drm_connector *connector);
  5858.  
  5859. -extern void drm_encoder_init(struct drm_device *dev,
  5860. +extern void lbm_drm_encoder_init(struct drm_device *dev,
  5861. struct drm_encoder *encoder,
  5862. const struct drm_encoder_funcs *funcs,
  5863. int encoder_type);
  5864.  
  5865. -extern void drm_encoder_cleanup(struct drm_encoder *encoder);
  5866. +extern void lbm_drm_encoder_cleanup(struct drm_encoder *encoder);
  5867.  
  5868. -extern char *drm_get_connector_name(struct drm_connector *connector);
  5869. +extern char *lbm_drm_get_connector_name(struct drm_connector *connector);
  5870. extern char *drm_get_dpms_name(int val);
  5871. extern char *drm_get_dvi_i_subconnector_name(int val);
  5872. extern char *drm_get_dvi_i_select_name(int val);
  5873. @@ -664,86 +664,86 @@
  5874. extern char *drm_get_tv_select_name(int val);
  5875. extern void drm_fb_release(struct drm_file *file_priv);
  5876. extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group);
  5877. -extern struct edid *drm_get_edid(struct drm_connector *connector,
  5878. +extern struct edid *lbm_drm_get_edid(struct drm_connector *connector,
  5879. struct i2c_adapter *adapter);
  5880. -extern int drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
  5881. +extern int lbm_drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
  5882. unsigned char *buf, int len);
  5883. -extern int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
  5884. -extern void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
  5885. -extern void drm_mode_remove(struct drm_connector *connector, struct drm_display_mode *mode);
  5886. -extern struct drm_display_mode *drm_mode_duplicate(struct drm_device *dev,
  5887. +extern int lbm_drm_add_edid_modes(struct drm_connector *connector, struct edid *edid);
  5888. +extern void lbm_drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
  5889. +extern void lbm_drm_mode_remove(struct drm_connector *connector, struct drm_display_mode *mode);
  5890. +extern struct drm_display_mode *lbm_drm_mode_duplicate(struct drm_device *dev,
  5891. struct drm_display_mode *mode);
  5892. -extern void drm_mode_debug_printmodeline(struct drm_display_mode *mode);
  5893. -extern void drm_mode_config_init(struct drm_device *dev);
  5894. -extern void drm_mode_config_cleanup(struct drm_device *dev);
  5895. -extern void drm_mode_set_name(struct drm_display_mode *mode);
  5896. -extern bool drm_mode_equal(struct drm_display_mode *mode1, struct drm_display_mode *mode2);
  5897. -extern int drm_mode_width(struct drm_display_mode *mode);
  5898. -extern int drm_mode_height(struct drm_display_mode *mode);
  5899. +extern void lbm_drm_mode_debug_printmodeline(struct drm_display_mode *mode);
  5900. +extern void lbm_drm_mode_config_init(struct drm_device *dev);
  5901. +extern void lbm_drm_mode_config_cleanup(struct drm_device *dev);
  5902. +extern void lbm_drm_mode_set_name(struct drm_display_mode *mode);
  5903. +extern bool lbm_drm_mode_equal(struct drm_display_mode *mode1, struct drm_display_mode *mode2);
  5904. +extern int lbm_drm_mode_width(struct drm_display_mode *mode);
  5905. +extern int lbm_drm_mode_height(struct drm_display_mode *mode);
  5906.  
  5907. /* for us by fb module */
  5908. -extern int drm_mode_attachmode_crtc(struct drm_device *dev,
  5909. +extern int lbm_drm_mode_attachmode_crtc(struct drm_device *dev,
  5910. struct drm_crtc *crtc,
  5911. struct drm_display_mode *mode);
  5912. -extern int drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode);
  5913. +extern int lbm_drm_mode_detachmode_crtc(struct drm_device *dev, struct drm_display_mode *mode);
  5914.  
  5915. -extern struct drm_display_mode *drm_mode_create(struct drm_device *dev);
  5916. -extern void drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
  5917. -extern void drm_mode_list_concat(struct list_head *head,
  5918. +extern struct drm_display_mode *lbm_drm_mode_create(struct drm_device *dev);
  5919. +extern void lbm_drm_mode_destroy(struct drm_device *dev, struct drm_display_mode *mode);
  5920. +extern void lbm_drm_mode_list_concat(struct list_head *head,
  5921. struct list_head *new);
  5922. -extern void drm_mode_validate_size(struct drm_device *dev,
  5923. +extern void lbm_drm_mode_validate_size(struct drm_device *dev,
  5924. struct list_head *mode_list,
  5925. int maxX, int maxY, int maxPitch);
  5926. -extern void drm_mode_prune_invalid(struct drm_device *dev,
  5927. +extern void lbm_drm_mode_prune_invalid(struct drm_device *dev,
  5928. struct list_head *mode_list, bool verbose);
  5929. -extern void drm_mode_sort(struct list_head *mode_list);
  5930. -extern int drm_mode_hsync(struct drm_display_mode *mode);
  5931. -extern int drm_mode_vrefresh(struct drm_display_mode *mode);
  5932. -extern void drm_mode_set_crtcinfo(struct drm_display_mode *p,
  5933. +extern void lbm_drm_mode_sort(struct list_head *mode_list);
  5934. +extern int lbm_drm_mode_hsync(struct drm_display_mode *mode);
  5935. +extern int lbm_drm_mode_vrefresh(struct drm_display_mode *mode);
  5936. +extern void lbm_drm_mode_set_crtcinfo(struct drm_display_mode *p,
  5937. int adjust_flags);
  5938. -extern void drm_mode_connector_list_update(struct drm_connector *connector);
  5939. -extern int drm_mode_connector_update_edid_property(struct drm_connector *connector,
  5940. +extern void lbm_drm_mode_connector_list_update(struct drm_connector *connector);
  5941. +extern int lbm_drm_mode_connector_update_edid_property(struct drm_connector *connector,
  5942. struct edid *edid);
  5943. -extern int drm_connector_property_set_value(struct drm_connector *connector,
  5944. +extern int lbm_drm_connector_property_set_value(struct drm_connector *connector,
  5945. struct drm_property *property,
  5946. uint64_t value);
  5947. -extern int drm_connector_property_get_value(struct drm_connector *connector,
  5948. +extern int lbm_drm_connector_property_get_value(struct drm_connector *connector,
  5949. struct drm_property *property,
  5950. uint64_t *value);
  5951. extern struct drm_display_mode *drm_crtc_mode_create(struct drm_device *dev);
  5952. extern void drm_framebuffer_set_object(struct drm_device *dev,
  5953. unsigned long handle);
  5954. -extern int drm_framebuffer_init(struct drm_device *dev,
  5955. +extern int lbm_drm_framebuffer_init(struct drm_device *dev,
  5956. struct drm_framebuffer *fb,
  5957. const struct drm_framebuffer_funcs *funcs);
  5958. -extern void drm_framebuffer_cleanup(struct drm_framebuffer *fb);
  5959. +extern void lbm_drm_framebuffer_cleanup(struct drm_framebuffer *fb);
  5960. extern int drmfb_probe(struct drm_device *dev, struct drm_crtc *crtc);
  5961. extern int drmfb_remove(struct drm_device *dev, struct drm_framebuffer *fb);
  5962. extern void drm_crtc_probe_connector_modes(struct drm_device *dev, int maxX, int maxY);
  5963. extern bool drm_crtc_in_use(struct drm_crtc *crtc);
  5964.  
  5965. -extern int drm_connector_attach_property(struct drm_connector *connector,
  5966. +extern int lbm_drm_connector_attach_property(struct drm_connector *connector,
  5967. struct drm_property *property, uint64_t init_val);
  5968. -extern struct drm_property *drm_property_create(struct drm_device *dev, int flags,
  5969. +extern struct drm_property *lbm_drm_property_create(struct drm_device *dev, int flags,
  5970. const char *name, int num_values);
  5971. -extern void drm_property_destroy(struct drm_device *dev, struct drm_property *property);
  5972. -extern int drm_property_add_enum(struct drm_property *property, int index,
  5973. +extern void lbm_drm_property_destroy(struct drm_device *dev, struct drm_property *property);
  5974. +extern int lbm_drm_property_add_enum(struct drm_property *property, int index,
  5975. uint64_t value, const char *name);
  5976. -extern int drm_mode_create_dvi_i_properties(struct drm_device *dev);
  5977. -extern int drm_mode_create_tv_properties(struct drm_device *dev, int num_formats,
  5978. +extern int lbm_drm_mode_create_dvi_i_properties(struct drm_device *dev);
  5979. +extern int lbm_drm_mode_create_tv_properties(struct drm_device *dev, int num_formats,
  5980. char *formats[]);
  5981. -extern int drm_mode_create_scaling_mode_property(struct drm_device *dev);
  5982. -extern int drm_mode_create_dithering_property(struct drm_device *dev);
  5983. -extern int drm_mode_create_dirty_info_property(struct drm_device *dev);
  5984. -extern char *drm_get_encoder_name(struct drm_encoder *encoder);
  5985. +extern int lbm_drm_mode_create_scaling_mode_property(struct drm_device *dev);
  5986. +extern int lbm_drm_mode_create_dithering_property(struct drm_device *dev);
  5987. +extern int lbm_drm_mode_create_dirty_info_property(struct drm_device *dev);
  5988. +extern char *lbm_drm_get_encoder_name(struct drm_encoder *encoder);
  5989.  
  5990. -extern int drm_mode_connector_attach_encoder(struct drm_connector *connector,
  5991. +extern int lbm_drm_mode_connector_attach_encoder(struct drm_connector *connector,
  5992. struct drm_encoder *encoder);
  5993. -extern void drm_mode_connector_detach_encoder(struct drm_connector *connector,
  5994. +extern void lbm_drm_mode_connector_detach_encoder(struct drm_connector *connector,
  5995. struct drm_encoder *encoder);
  5996. -extern bool drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
  5997. +extern bool lbm_drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
  5998. int gamma_size);
  5999. -extern struct drm_mode_object *drm_mode_object_find(struct drm_device *dev,
  6000. +extern struct drm_mode_object *lbm_drm_mode_object_find(struct drm_device *dev,
  6001. uint32_t id, uint32_t type);
  6002. /* IOCTLs */
  6003. extern int drm_mode_getresources(struct drm_device *dev,
  6004. @@ -790,15 +790,15 @@
  6005. void *data, struct drm_file *file_priv);
  6006. extern int drm_mode_gamma_set_ioctl(struct drm_device *dev,
  6007. void *data, struct drm_file *file_priv);
  6008. -extern bool drm_detect_hdmi_monitor(struct edid *edid);
  6009. +extern bool lbm_drm_detect_hdmi_monitor(struct edid *edid);
  6010. extern int drm_mode_page_flip_ioctl(struct drm_device *dev,
  6011. void *data, struct drm_file *file_priv);
  6012. -extern struct drm_display_mode *drm_cvt_mode(struct drm_device *dev,
  6013. +extern struct drm_display_mode *lbm_drm_cvt_mode(struct drm_device *dev,
  6014. int hdisplay, int vdisplay, int vrefresh,
  6015. bool reduced, bool interlaced, bool margins);
  6016. -extern struct drm_display_mode *drm_gtf_mode(struct drm_device *dev,
  6017. +extern struct drm_display_mode *lbm_drm_gtf_mode(struct drm_device *dev,
  6018. int hdisplay, int vdisplay, int vrefresh,
  6019. bool interlaced, int margins);
  6020. -extern int drm_add_modes_noedid(struct drm_connector *connector,
  6021. +extern int lbm_drm_add_modes_noedid(struct drm_connector *connector,
  6022. int hdisplay, int vdisplay);
  6023. #endif /* __DRM_CRTC_H__ */
  6024. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc_helper.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc_helper.h
  6025. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc_helper.h 2010-01-25 15:21:29.000000000 -0500
  6026. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_crtc_helper.h 2010-02-03 17:11:08.000000000 -0500
  6027. @@ -94,21 +94,21 @@
  6028. struct drm_encoder *(*best_encoder)(struct drm_connector *connector);
  6029. };
  6030.  
  6031. -extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
  6032. -extern void drm_helper_disable_unused_functions(struct drm_device *dev);
  6033. -extern int drm_helper_hotplug_stage_two(struct drm_device *dev);
  6034. -extern bool drm_helper_initial_config(struct drm_device *dev);
  6035. -extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
  6036. -extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
  6037. +extern int lbm_drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
  6038. +extern void lbm_drm_helper_disable_unused_functions(struct drm_device *dev);
  6039. +extern int lbm_drm_helper_hotplug_stage_two(struct drm_device *dev);
  6040. +extern bool lbm_drm_helper_initial_config(struct drm_device *dev);
  6041. +extern int lbm_drm_crtc_helper_set_config(struct drm_mode_set *set);
  6042. +extern bool lbm_drm_crtc_helper_set_mode(struct drm_crtc *crtc,
  6043. struct drm_display_mode *mode,
  6044. int x, int y,
  6045. struct drm_framebuffer *old_fb);
  6046. -extern bool drm_helper_crtc_in_use(struct drm_crtc *crtc);
  6047. -extern bool drm_helper_encoder_in_use(struct drm_encoder *encoder);
  6048. +extern bool lbm_drm_helper_crtc_in_use(struct drm_crtc *crtc);
  6049. +extern bool lbm_drm_helper_encoder_in_use(struct drm_encoder *encoder);
  6050.  
  6051. -extern void drm_helper_connector_dpms(struct drm_connector *connector, int mode);
  6052. +extern void lbm_drm_helper_connector_dpms(struct drm_connector *connector, int mode);
  6053.  
  6054. -extern int drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
  6055. +extern int lbm_drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
  6056. struct drm_mode_fb_cmd *mode_cmd);
  6057.  
  6058. static inline void drm_crtc_helper_add(struct drm_crtc *crtc,
  6059. @@ -127,8 +127,8 @@
  6060. const struct drm_connector_helper_funcs *funcs)
  6061. {
  6062. connector->helper_private = (void *)funcs;
  6063. - return drm_fb_helper_add_connector(connector);
  6064. + return lbm_drm_fb_helper_add_connector(connector);
  6065. }
  6066.  
  6067. -extern int drm_helper_resume_force_mode(struct drm_device *dev);
  6068. +extern int lbm_drm_helper_resume_force_mode(struct drm_device *dev);
  6069. #endif
  6070. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_dp_helper.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_dp_helper.h
  6071. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_dp_helper.h 2010-01-25 15:21:29.000000000 -0500
  6072. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_dp_helper.h 2010-02-03 17:11:08.000000000 -0500
  6073. @@ -175,6 +175,6 @@
  6074. };
  6075.  
  6076. int
  6077. -i2c_dp_aux_add_bus(struct i2c_adapter *adapter);
  6078. +lbm_i2c_dp_aux_add_bus(struct i2c_adapter *adapter);
  6079.  
  6080. #endif /* _DRM_DP_HELPER_H_ */
  6081. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_encoder_slave.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_encoder_slave.h
  6082. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_encoder_slave.h 2010-01-25 15:21:29.000000000 -0500
  6083. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_encoder_slave.h 2010-02-03 17:11:08.000000000 -0500
  6084. @@ -89,7 +89,7 @@
  6085. * GPU-agnostic lower layer: It's the GPU driver responsibility to
  6086. * call the slave methods when appropriate.
  6087. *
  6088. - * drm_i2c_encoder_init() provides a way to get an implementation of
  6089. + * lbm_drm_i2c_encoder_init() provides a way to get an implementation of
  6090. * this.
  6091. */
  6092. struct drm_encoder_slave {
  6093. @@ -101,7 +101,7 @@
  6094. };
  6095. #define to_encoder_slave(x) container_of((x), struct drm_encoder_slave, base)
  6096.  
  6097. -int drm_i2c_encoder_init(struct drm_device *dev,
  6098. +int lbm_drm_i2c_encoder_init(struct drm_device *dev,
  6099. struct drm_encoder_slave *encoder,
  6100. struct i2c_adapter *adap,
  6101. const struct i2c_board_info *info);
  6102. @@ -157,6 +157,6 @@
  6103. i2c_del_driver(&driver->i2c_driver);
  6104. }
  6105.  
  6106. -void drm_i2c_encoder_destroy(struct drm_encoder *encoder);
  6107. +void lbm_drm_i2c_encoder_destroy(struct drm_encoder *encoder);
  6108.  
  6109. #endif
  6110. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_fb_helper.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_fb_helper.h
  6111. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_fb_helper.h 2010-01-25 15:21:29.000000000 -0500
  6112. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_fb_helper.h 2010-02-03 17:11:08.000000000 -0500
  6113. @@ -72,7 +72,7 @@
  6114. struct list_head kernel_fb_list;
  6115. };
  6116.  
  6117. -int drm_fb_helper_single_fb_probe(struct drm_device *dev,
  6118. +int lbm_drm_fb_helper_single_fb_probe(struct drm_device *dev,
  6119. int preferred_bpp,
  6120. int (*fb_create)(struct drm_device *dev,
  6121. uint32_t fb_width,
  6122. @@ -82,30 +82,30 @@
  6123. uint32_t surface_depth,
  6124. uint32_t surface_bpp,
  6125. struct drm_framebuffer **fb_ptr));
  6126. -int drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count,
  6127. +int lbm_drm_fb_helper_init_crtc_count(struct drm_fb_helper *helper, int crtc_count,
  6128. int max_conn);
  6129. -void drm_fb_helper_free(struct drm_fb_helper *helper);
  6130. -int drm_fb_helper_blank(int blank, struct fb_info *info);
  6131. -int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
  6132. +void lbm_drm_fb_helper_free(struct drm_fb_helper *helper);
  6133. +int lbm_drm_fb_helper_blank(int blank, struct fb_info *info);
  6134. +int lbm_drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
  6135. struct fb_info *info);
  6136. -int drm_fb_helper_set_par(struct fb_info *info);
  6137. -int drm_fb_helper_check_var(struct fb_var_screeninfo *var,
  6138. +int lbm_drm_fb_helper_set_par(struct fb_info *info);
  6139. +int lbm_drm_fb_helper_check_var(struct fb_var_screeninfo *var,
  6140. struct fb_info *info);
  6141. -int drm_fb_helper_setcolreg(unsigned regno,
  6142. +int lbm_drm_fb_helper_setcolreg(unsigned regno,
  6143. unsigned red,
  6144. unsigned green,
  6145. unsigned blue,
  6146. unsigned transp,
  6147. struct fb_info *info);
  6148.  
  6149. -void drm_fb_helper_restore(void);
  6150. -void drm_fb_helper_fill_var(struct fb_info *info, struct drm_framebuffer *fb,
  6151. +void lbm_drm_fb_helper_restore(void);
  6152. +void lbm_drm_fb_helper_fill_var(struct fb_info *info, struct drm_framebuffer *fb,
  6153. uint32_t fb_width, uint32_t fb_height);
  6154. -void drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch,
  6155. +void lbm_drm_fb_helper_fill_fix(struct fb_info *info, uint32_t pitch,
  6156. uint32_t depth);
  6157.  
  6158. -int drm_fb_helper_add_connector(struct drm_connector *connector);
  6159. +int lbm_drm_fb_helper_add_connector(struct drm_connector *connector);
  6160. int drm_fb_helper_parse_command_line(struct drm_device *dev);
  6161. -int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info);
  6162. +int lbm_drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info);
  6163.  
  6164. #endif
  6165. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm.h
  6166. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm.h 2010-01-25 15:21:29.000000000 -0500
  6167. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm.h 2010-02-03 17:11:08.000000000 -0500
  6168. @@ -58,7 +58,7 @@
  6169.  
  6170. #endif
  6171.  
  6172. -#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
  6173. +#define DRM_NAME "lbm-drm" /**< Name in kernel, /dev, and /proc */
  6174. #define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
  6175. #define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */
  6176. #define DRM_RAM_PERCENT 10 /**< How much system ram can we lock? */
  6177. @@ -548,7 +548,7 @@
  6178. * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(),
  6179. * drmAgpVendorId() and drmAgpDeviceId().
  6180. */
  6181. -struct drm_agp_info {
  6182. +struct lbm_drm_agp_info {
  6183. int agp_version_major;
  6184. int agp_version_minor;
  6185. unsigned long mode;
  6186. @@ -666,7 +666,7 @@
  6187. #define DRM_IOCTL_AGP_ACQUIRE DRM_IO( 0x30)
  6188. #define DRM_IOCTL_AGP_RELEASE DRM_IO( 0x31)
  6189. #define DRM_IOCTL_AGP_ENABLE DRM_IOW( 0x32, struct drm_agp_mode)
  6190. -#define DRM_IOCTL_AGP_INFO DRM_IOR( 0x33, struct drm_agp_info)
  6191. +#define DRM_IOCTL_AGP_INFO DRM_IOR( 0x33, struct lbm_drm_agp_info)
  6192. #define DRM_IOCTL_AGP_ALLOC DRM_IOWR(0x34, struct drm_agp_buffer)
  6193. #define DRM_IOCTL_AGP_FREE DRM_IOW( 0x35, struct drm_agp_buffer)
  6194. #define DRM_IOCTL_AGP_BIND DRM_IOW( 0x36, struct drm_agp_binding)
  6195. @@ -779,7 +779,7 @@
  6196.  
  6197. typedef struct drm_agp_buffer drm_agp_buffer_t;
  6198. typedef struct drm_agp_binding drm_agp_binding_t;
  6199. -typedef struct drm_agp_info drm_agp_info_t;
  6200. +typedef struct lbm_drm_agp_info drm_agp_info_t;
  6201. typedef struct drm_scatter_gather drm_scatter_gather_t;
  6202. typedef struct drm_set_version drm_set_version_t;
  6203. #endif
  6204. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_hashtab.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_hashtab.h
  6205. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_hashtab.h 2010-01-25 15:21:29.000000000 -0500
  6206. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_hashtab.h 2010-02-03 17:11:08.000000000 -0500
  6207. @@ -53,17 +53,17 @@
  6208. };
  6209.  
  6210.  
  6211. -extern int drm_ht_create(struct drm_open_hash *ht, unsigned int order);
  6212. -extern int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item);
  6213. -extern int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
  6214. +extern int lbm_drm_ht_create(struct drm_open_hash *ht, unsigned int order);
  6215. +extern int lbm_drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item);
  6216. +extern int lbm_drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *item,
  6217. unsigned long seed, int bits, int shift,
  6218. unsigned long add);
  6219. -extern int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key, struct drm_hash_item **item);
  6220. +extern int lbm_drm_ht_find_item(struct drm_open_hash *ht, unsigned long key, struct drm_hash_item **item);
  6221.  
  6222. extern void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key);
  6223. extern int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key);
  6224. -extern int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item);
  6225. -extern void drm_ht_remove(struct drm_open_hash *ht);
  6226. +extern int lbm_drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item);
  6227. +extern void lbm_drm_ht_remove(struct drm_open_hash *ht);
  6228.  
  6229.  
  6230. #endif
  6231. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mm.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mm.h
  6232. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mm.h 2010-01-25 15:21:29.000000000 -0500
  6233. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mm.h 2010-02-03 17:11:08.000000000 -0500
  6234. @@ -62,11 +62,11 @@
  6235. /*
  6236. * Basic range manager support (drm_mm.c)
  6237. */
  6238. -extern struct drm_mm_node *drm_mm_get_block_generic(struct drm_mm_node *node,
  6239. +extern struct drm_mm_node *lbm_drm_mm_get_block_generic(struct drm_mm_node *node,
  6240. unsigned long size,
  6241. unsigned alignment,
  6242. int atomic);
  6243. -extern struct drm_mm_node *drm_mm_get_block_range_generic(
  6244. +extern struct drm_mm_node *lbm_drm_mm_get_block_range_generic(
  6245. struct drm_mm_node *node,
  6246. unsigned long size,
  6247. unsigned alignment,
  6248. @@ -77,13 +77,13 @@
  6249. unsigned long size,
  6250. unsigned alignment)
  6251. {
  6252. - return drm_mm_get_block_generic(parent, size, alignment, 0);
  6253. + return lbm_drm_mm_get_block_generic(parent, size, alignment, 0);
  6254. }
  6255. static inline struct drm_mm_node *drm_mm_get_block_atomic(struct drm_mm_node *parent,
  6256. unsigned long size,
  6257. unsigned alignment)
  6258. {
  6259. - return drm_mm_get_block_generic(parent, size, alignment, 1);
  6260. + return lbm_drm_mm_get_block_generic(parent, size, alignment, 1);
  6261. }
  6262. static inline struct drm_mm_node *drm_mm_get_block_range(
  6263. struct drm_mm_node *parent,
  6264. @@ -92,7 +92,7 @@
  6265. unsigned long start,
  6266. unsigned long end)
  6267. {
  6268. - return drm_mm_get_block_range_generic(parent, size, alignment,
  6269. + return lbm_drm_mm_get_block_range_generic(parent, size, alignment,
  6270. start, end, 0);
  6271. }
  6272. static inline struct drm_mm_node *drm_mm_get_block_atomic_range(
  6273. @@ -102,40 +102,40 @@
  6274. unsigned long start,
  6275. unsigned long end)
  6276. {
  6277. - return drm_mm_get_block_range_generic(parent, size, alignment,
  6278. + return lbm_drm_mm_get_block_range_generic(parent, size, alignment,
  6279. start, end, 1);
  6280. }
  6281. -extern void drm_mm_put_block(struct drm_mm_node *cur);
  6282. -extern struct drm_mm_node *drm_mm_search_free(const struct drm_mm *mm,
  6283. +extern void lbm_drm_mm_put_block(struct drm_mm_node *cur);
  6284. +extern struct drm_mm_node *lbm_drm_mm_search_free(const struct drm_mm *mm,
  6285. unsigned long size,
  6286. unsigned alignment,
  6287. int best_match);
  6288. -extern struct drm_mm_node *drm_mm_search_free_in_range(
  6289. +extern struct drm_mm_node *lbm_drm_mm_search_free_in_range(
  6290. const struct drm_mm *mm,
  6291. unsigned long size,
  6292. unsigned alignment,
  6293. unsigned long start,
  6294. unsigned long end,
  6295. int best_match);
  6296. -extern int drm_mm_init(struct drm_mm *mm, unsigned long start,
  6297. +extern int lbm_drm_mm_init(struct drm_mm *mm, unsigned long start,
  6298. unsigned long size);
  6299. -extern void drm_mm_takedown(struct drm_mm *mm);
  6300. -extern int drm_mm_clean(struct drm_mm *mm);
  6301. +extern void lbm_drm_mm_takedown(struct drm_mm *mm);
  6302. +extern int lbm_drm_mm_clean(struct drm_mm *mm);
  6303. extern unsigned long drm_mm_tail_space(struct drm_mm *mm);
  6304. extern int drm_mm_remove_space_from_tail(struct drm_mm *mm,
  6305. unsigned long size);
  6306. extern int drm_mm_add_space_to_tail(struct drm_mm *mm,
  6307. unsigned long size, int atomic);
  6308. -extern int drm_mm_pre_get(struct drm_mm *mm);
  6309. +extern int lbm_drm_mm_pre_get(struct drm_mm *mm);
  6310.  
  6311. static inline struct drm_mm *drm_get_mm(struct drm_mm_node *block)
  6312. {
  6313. return block->mm;
  6314. }
  6315.  
  6316. -extern void drm_mm_debug_table(struct drm_mm *mm, const char *prefix);
  6317. +extern void lbm_drm_mm_debug_table(struct drm_mm *mm, const char *prefix);
  6318. #ifdef CONFIG_DEBUG_FS
  6319. -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm);
  6320. +int lbm_drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm);
  6321. #endif
  6322.  
  6323. #endif
  6324. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mode.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mode.h
  6325. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mode.h 2010-01-25 15:21:29.000000000 -0500
  6326. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_mode.h 2010-02-03 17:11:08.000000000 -0500
  6327. @@ -85,7 +85,7 @@
  6328. __u16 hdisplay, hsync_start, hsync_end, htotal, hskew;
  6329. __u16 vdisplay, vsync_start, vsync_end, vtotal, vscan;
  6330.  
  6331. - __u32 vrefresh; /* vertical refresh * 1000 */
  6332. + __u32 vrefresh;
  6333.  
  6334. __u32 flags;
  6335. __u32 type;
  6336. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drmP.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drmP.h
  6337. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drmP.h 2010-01-25 15:21:29.000000000 -0500
  6338. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drmP.h 2010-02-03 17:11:08.000000000 -0500
  6339. @@ -92,7 +92,7 @@
  6340. * Three debug levels are defined.
  6341. * drm_core, drm_driver, drm_kms
  6342. * drm_core level can be used in the generic drm code. For example:
  6343. - * drm_ioctl, drm_mm, drm_memory
  6344. + * lbm_drm_ioctl, drm_mm, drm_memory
  6345. * The macro definiton of DRM_DEBUG is used.
  6346. * DRM_DEBUG(fmt, args...)
  6347. * The debug info by using the DRM_DEBUG can be obtained by adding
  6348. @@ -120,7 +120,7 @@
  6349. * using the DRM_DEBUG_KMS and DRM_DEBUG.
  6350. */
  6351.  
  6352. -extern void drm_ut_debug_printk(unsigned int request_level,
  6353. +extern void lbm_drm_ut_debug_printk(unsigned int request_level,
  6354. const char *prefix,
  6355. const char *function_name,
  6356. const char *format, ...);
  6357. @@ -200,38 +200,38 @@
  6358. #if DRM_DEBUG_CODE
  6359. #define DRM_DEBUG(fmt, args...) \
  6360. do { \
  6361. - drm_ut_debug_printk(DRM_UT_CORE, DRM_NAME, \
  6362. + lbm_drm_ut_debug_printk(DRM_UT_CORE, DRM_NAME, \
  6363. __func__, fmt, ##args); \
  6364. } while (0)
  6365.  
  6366. #define DRM_DEBUG_DRIVER(fmt, args...) \
  6367. do { \
  6368. - drm_ut_debug_printk(DRM_UT_DRIVER, DRM_NAME, \
  6369. + lbm_drm_ut_debug_printk(DRM_UT_DRIVER, DRM_NAME, \
  6370. __func__, fmt, ##args); \
  6371. } while (0)
  6372. #define DRM_DEBUG_KMS(fmt, args...) \
  6373. do { \
  6374. - drm_ut_debug_printk(DRM_UT_KMS, DRM_NAME, \
  6375. + lbm_drm_ut_debug_printk(DRM_UT_KMS, DRM_NAME, \
  6376. __func__, fmt, ##args); \
  6377. } while (0)
  6378. #define DRM_LOG(fmt, args...) \
  6379. do { \
  6380. - drm_ut_debug_printk(DRM_UT_CORE, NULL, \
  6381. + lbm_drm_ut_debug_printk(DRM_UT_CORE, NULL, \
  6382. NULL, fmt, ##args); \
  6383. } while (0)
  6384. #define DRM_LOG_KMS(fmt, args...) \
  6385. do { \
  6386. - drm_ut_debug_printk(DRM_UT_KMS, NULL, \
  6387. + lbm_drm_ut_debug_printk(DRM_UT_KMS, NULL, \
  6388. NULL, fmt, ##args); \
  6389. } while (0)
  6390. #define DRM_LOG_MODE(fmt, args...) \
  6391. do { \
  6392. - drm_ut_debug_printk(DRM_UT_MODE, NULL, \
  6393. + lbm_drm_ut_debug_printk(DRM_UT_MODE, NULL, \
  6394. NULL, fmt, ##args); \
  6395. } while (0)
  6396. #define DRM_LOG_DRIVER(fmt, args...) \
  6397. do { \
  6398. - drm_ut_debug_printk(DRM_UT_DRIVER, NULL, \
  6399. + lbm_drm_ut_debug_printk(DRM_UT_DRIVER, NULL, \
  6400. NULL, fmt, ##args); \
  6401. } while (0)
  6402. #else
  6403. @@ -290,7 +290,7 @@
  6404. unsigned long arg);
  6405.  
  6406. #define DRM_IOCTL_NR(n) _IOC_NR(n)
  6407. -#define DRM_MAJOR 226
  6408. +#define DRM_MAJOR 227
  6409.  
  6410. #define DRM_AUTH 0x1
  6411. #define DRM_MASTER 0x2
  6412. @@ -306,7 +306,7 @@
  6413.  
  6414. /**
  6415. * Creates a driver or general drm_ioctl_desc array entry for the given
  6416. - * ioctl, for use by drm_ioctl().
  6417. + * ioctl, for use by lbm_drm_ioctl().
  6418. */
  6419. #define DRM_IOCTL_DEF(ioctl, _func, _flags) \
  6420. [DRM_IOCTL_NR(ioctl)] = {.cmd = ioctl, .func = _func, .flags = _flags}
  6421. @@ -707,7 +707,7 @@
  6422. *
  6423. * Driver callback for fetching a raw hardware vblank counter
  6424. * for @crtc. If a device doesn't have a hardware counter, the
  6425. - * driver can simply return the value of drm_vblank_count and
  6426. + * driver can simply return the value of lbm_drm_vblank_count and
  6427. * make the enable_vblank() and disable_vblank() hooks into no-ops,
  6428. * leaving interrupts enabled at all times.
  6429. *
  6430. @@ -1127,29 +1127,29 @@
  6431. /*@{*/
  6432.  
  6433. /* Driver support (drm_drv.h) */
  6434. -extern int drm_init(struct drm_driver *driver);
  6435. -extern void drm_exit(struct drm_driver *driver);
  6436. -extern long drm_ioctl(struct file *filp,
  6437. +extern int lbm_drm_init(struct drm_driver *driver);
  6438. +extern void lbm_drm_exit(struct drm_driver *driver);
  6439. +extern long lbm_drm_ioctl(struct file *filp,
  6440. unsigned int cmd, unsigned long arg);
  6441. -extern long drm_compat_ioctl(struct file *filp,
  6442. +extern long lbm_drm_compat_ioctl(struct file *filp,
  6443. unsigned int cmd, unsigned long arg);
  6444. extern int drm_lastclose(struct drm_device *dev);
  6445.  
  6446. /* Device support (drm_fops.h) */
  6447. -extern int drm_open(struct inode *inode, struct file *filp);
  6448. +extern int lbm_drm_open(struct inode *inode, struct file *filp);
  6449. extern int drm_stub_open(struct inode *inode, struct file *filp);
  6450. -extern int drm_fasync(int fd, struct file *filp, int on);
  6451. -extern ssize_t drm_read(struct file *filp, char __user *buffer,
  6452. +extern int lbm_drm_fasync(int fd, struct file *filp, int on);
  6453. +extern ssize_t lbm_drm_read(struct file *filp, char __user *buffer,
  6454. size_t count, loff_t *offset);
  6455. -extern int drm_release(struct inode *inode, struct file *filp);
  6456. +extern int lbm_drm_release(struct inode *inode, struct file *filp);
  6457.  
  6458. /* Mapping support (drm_vm.h) */
  6459. -extern int drm_mmap(struct file *filp, struct vm_area_struct *vma);
  6460. +extern int lbm_drm_mmap(struct file *filp, struct vm_area_struct *vma);
  6461. extern int drm_mmap_locked(struct file *filp, struct vm_area_struct *vma);
  6462. extern void drm_vm_open_locked(struct vm_area_struct *vma);
  6463. -extern resource_size_t drm_core_get_map_ofs(struct drm_local_map * map);
  6464. -extern resource_size_t drm_core_get_reg_ofs(struct drm_device *dev);
  6465. -extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
  6466. +extern resource_size_t lbm_drm_core_get_map_ofs(struct drm_local_map * map);
  6467. +extern resource_size_t lbm_drm_core_get_reg_ofs(struct drm_device *dev);
  6468. +extern unsigned int lbm_drm_poll(struct file *filp, struct poll_table_struct *wait);
  6469.  
  6470. /* Memory management support (drm_memory.h) */
  6471. #include "drm_memory.h"
  6472. @@ -1159,16 +1159,16 @@
  6473. extern void *drm_realloc(void *oldpt, size_t oldsize, size_t size, int area);
  6474.  
  6475. extern DRM_AGP_MEM *drm_alloc_agp(struct drm_device *dev, int pages, u32 type);
  6476. -extern int drm_free_agp(DRM_AGP_MEM * handle, int pages);
  6477. +extern int lbm_drm_free_agp(DRM_AGP_MEM * handle, int pages);
  6478. extern int drm_bind_agp(DRM_AGP_MEM * handle, unsigned int start);
  6479. -extern DRM_AGP_MEM *drm_agp_bind_pages(struct drm_device *dev,
  6480. +extern DRM_AGP_MEM *lbm_drm_agp_bind_pages(struct drm_device *dev,
  6481. struct page **pages,
  6482. unsigned long num_pages,
  6483. uint32_t gtt_offset,
  6484. uint32_t type);
  6485. -extern int drm_unbind_agp(DRM_AGP_MEM * handle);
  6486. +extern int lbm_drm_unbind_agp(DRM_AGP_MEM * handle);
  6487.  
  6488. - /* Misc. IOCTL support (drm_ioctl.h) */
  6489. + /* Misc. IOCTL support (lbm_drm_ioctl.h) */
  6490. extern int drm_irq_by_busid(struct drm_device *dev, void *data,
  6491. struct drm_file *file_priv);
  6492. extern int drm_getunique(struct drm_device *dev, void *data,
  6493. @@ -1218,7 +1218,7 @@
  6494. struct drm_file *file_priv);
  6495. extern int drm_update_drawable_info(struct drm_device *dev, void *data,
  6496. struct drm_file *file_priv);
  6497. -extern struct drm_drawable_info *drm_get_drawable_info(struct drm_device *dev,
  6498. +extern struct drm_drawable_info *lbm_drm_get_drawable_info(struct drm_device *dev,
  6499. drm_drawable_t id);
  6500. extern void drm_drawable_free_all(struct drm_device *dev);
  6501.  
  6502. @@ -1229,35 +1229,35 @@
  6503. struct drm_file *file_priv);
  6504.  
  6505. /* Cache management (drm_cache.c) */
  6506. -void drm_clflush_pages(struct page *pages[], unsigned long num_pages);
  6507. +void lbm_drm_clflush_pages(struct page *pages[], unsigned long num_pages);
  6508.  
  6509. /* Locking IOCTL support (drm_lock.h) */
  6510. extern int drm_lock(struct drm_device *dev, void *data,
  6511. struct drm_file *file_priv);
  6512. extern int drm_unlock(struct drm_device *dev, void *data,
  6513. struct drm_file *file_priv);
  6514. -extern int drm_lock_take(struct drm_lock_data *lock_data, unsigned int context);
  6515. -extern int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context);
  6516. -extern void drm_idlelock_take(struct drm_lock_data *lock_data);
  6517. -extern void drm_idlelock_release(struct drm_lock_data *lock_data);
  6518. +extern int lbm_drm_lock_take(struct drm_lock_data *lock_data, unsigned int context);
  6519. +extern int lbm_drm_lock_free(struct drm_lock_data *lock_data, unsigned int context);
  6520. +extern void lbm_drm_idlelock_take(struct drm_lock_data *lock_data);
  6521. +extern void lbm_drm_idlelock_release(struct drm_lock_data *lock_data);
  6522.  
  6523. /*
  6524. * These are exported to drivers so that they can implement fencing using
  6525. * DMA quiscent + idle. DMA quiescent usually requires the hardware lock.
  6526. */
  6527.  
  6528. -extern int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
  6529. +extern int lbm_drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
  6530.  
  6531. /* Buffer management support (drm_bufs.h) */
  6532. -extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
  6533. -extern int drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request);
  6534. -extern int drm_addmap(struct drm_device *dev, resource_size_t offset,
  6535. +extern int lbm_drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
  6536. +extern int lbm_drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request);
  6537. +extern int lbm_drm_addmap(struct drm_device *dev, resource_size_t offset,
  6538. unsigned int size, enum drm_map_type type,
  6539. enum drm_map_flags flags, struct drm_local_map **map_ptr);
  6540. extern int drm_addmap_ioctl(struct drm_device *dev, void *data,
  6541. struct drm_file *file_priv);
  6542. -extern int drm_rmmap(struct drm_device *dev, struct drm_local_map *map);
  6543. -extern int drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map);
  6544. +extern int lbm_drm_rmmap(struct drm_device *dev, struct drm_local_map *map);
  6545. +extern int lbm_drm_rmmap_locked(struct drm_device *dev, struct drm_local_map *map);
  6546. extern int drm_rmmap_ioctl(struct drm_device *dev, void *data,
  6547. struct drm_file *file_priv);
  6548. extern int drm_addbufs(struct drm_device *dev, void *data,
  6549. @@ -1270,76 +1270,76 @@
  6550. struct drm_file *file_priv);
  6551. extern int drm_mapbufs(struct drm_device *dev, void *data,
  6552. struct drm_file *file_priv);
  6553. -extern int drm_order(unsigned long size);
  6554. -extern resource_size_t drm_get_resource_start(struct drm_device *dev,
  6555. +extern int lbm_drm_order(unsigned long size);
  6556. +extern resource_size_t lbm_drm_get_resource_start(struct drm_device *dev,
  6557. unsigned int resource);
  6558. -extern resource_size_t drm_get_resource_len(struct drm_device *dev,
  6559. +extern resource_size_t lbm_drm_get_resource_len(struct drm_device *dev,
  6560. unsigned int resource);
  6561.  
  6562. /* DMA support (drm_dma.h) */
  6563. extern int drm_dma_setup(struct drm_device *dev);
  6564. extern void drm_dma_takedown(struct drm_device *dev);
  6565. extern void drm_free_buffer(struct drm_device *dev, struct drm_buf * buf);
  6566. -extern void drm_core_reclaim_buffers(struct drm_device *dev,
  6567. +extern void lbm_drm_core_reclaim_buffers(struct drm_device *dev,
  6568. struct drm_file *filp);
  6569.  
  6570. /* IRQ support (drm_irq.h) */
  6571. extern int drm_control(struct drm_device *dev, void *data,
  6572. struct drm_file *file_priv);
  6573. extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS);
  6574. -extern int drm_irq_install(struct drm_device *dev);
  6575. -extern int drm_irq_uninstall(struct drm_device *dev);
  6576. +extern int lbm_drm_irq_install(struct drm_device *dev);
  6577. +extern int lbm_drm_irq_uninstall(struct drm_device *dev);
  6578. extern void drm_driver_irq_preinstall(struct drm_device *dev);
  6579. extern void drm_driver_irq_postinstall(struct drm_device *dev);
  6580. extern void drm_driver_irq_uninstall(struct drm_device *dev);
  6581.  
  6582. -extern int drm_vblank_init(struct drm_device *dev, int num_crtcs);
  6583. +extern int lbm_drm_vblank_init(struct drm_device *dev, int num_crtcs);
  6584. extern int drm_wait_vblank(struct drm_device *dev, void *data,
  6585. struct drm_file *filp);
  6586. extern int drm_vblank_wait(struct drm_device *dev, unsigned int *vbl_seq);
  6587. -extern u32 drm_vblank_count(struct drm_device *dev, int crtc);
  6588. -extern void drm_handle_vblank(struct drm_device *dev, int crtc);
  6589. -extern int drm_vblank_get(struct drm_device *dev, int crtc);
  6590. -extern void drm_vblank_put(struct drm_device *dev, int crtc);
  6591. -extern void drm_vblank_off(struct drm_device *dev, int crtc);
  6592. -extern void drm_vblank_cleanup(struct drm_device *dev);
  6593. +extern u32 lbm_drm_vblank_count(struct drm_device *dev, int crtc);
  6594. +extern void lbm_drm_handle_vblank(struct drm_device *dev, int crtc);
  6595. +extern int lbm_drm_vblank_get(struct drm_device *dev, int crtc);
  6596. +extern void lbm_drm_vblank_put(struct drm_device *dev, int crtc);
  6597. +extern void lbm_drm_vblank_off(struct drm_device *dev, int crtc);
  6598. +extern void lbm_drm_vblank_cleanup(struct drm_device *dev);
  6599. /* Modesetting support */
  6600. -extern void drm_vblank_pre_modeset(struct drm_device *dev, int crtc);
  6601. -extern void drm_vblank_post_modeset(struct drm_device *dev, int crtc);
  6602. +extern void lbm_drm_vblank_pre_modeset(struct drm_device *dev, int crtc);
  6603. +extern void lbm_drm_vblank_post_modeset(struct drm_device *dev, int crtc);
  6604. extern int drm_modeset_ctl(struct drm_device *dev, void *data,
  6605. struct drm_file *file_priv);
  6606.  
  6607. /* AGP/GART support (drm_agpsupport.h) */
  6608. extern struct drm_agp_head *drm_agp_init(struct drm_device *dev);
  6609. -extern int drm_agp_acquire(struct drm_device *dev);
  6610. +extern int lbm_drm_agp_acquire(struct drm_device *dev);
  6611. extern int drm_agp_acquire_ioctl(struct drm_device *dev, void *data,
  6612. struct drm_file *file_priv);
  6613. -extern int drm_agp_release(struct drm_device *dev);
  6614. +extern int lbm_drm_agp_release(struct drm_device *dev);
  6615. extern int drm_agp_release_ioctl(struct drm_device *dev, void *data,
  6616. struct drm_file *file_priv);
  6617. -extern int drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
  6618. +extern int lbm_drm_agp_enable(struct drm_device *dev, struct drm_agp_mode mode);
  6619. extern int drm_agp_enable_ioctl(struct drm_device *dev, void *data,
  6620. struct drm_file *file_priv);
  6621. -extern int drm_agp_info(struct drm_device *dev, struct drm_agp_info *info);
  6622. +extern int lbm_drm_agp_info(struct drm_device *dev, struct lbm_drm_agp_info *info);
  6623. extern int drm_agp_info_ioctl(struct drm_device *dev, void *data,
  6624. struct drm_file *file_priv);
  6625. -extern int drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
  6626. +extern int lbm_drm_agp_alloc(struct drm_device *dev, struct drm_agp_buffer *request);
  6627. extern int drm_agp_alloc_ioctl(struct drm_device *dev, void *data,
  6628. struct drm_file *file_priv);
  6629. -extern int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
  6630. +extern int lbm_drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request);
  6631. extern int drm_agp_free_ioctl(struct drm_device *dev, void *data,
  6632. struct drm_file *file_priv);
  6633. -extern int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
  6634. +extern int lbm_drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request);
  6635. extern int drm_agp_unbind_ioctl(struct drm_device *dev, void *data,
  6636. struct drm_file *file_priv);
  6637. -extern int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
  6638. +extern int lbm_drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request);
  6639. extern int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
  6640. struct drm_file *file_priv);
  6641. extern DRM_AGP_MEM *drm_agp_allocate_memory(struct agp_bridge_data *bridge, size_t pages, u32 type);
  6642. extern int drm_agp_free_memory(DRM_AGP_MEM * handle);
  6643. extern int drm_agp_bind_memory(DRM_AGP_MEM * handle, off_t start);
  6644. extern int drm_agp_unbind_memory(DRM_AGP_MEM * handle);
  6645. -extern void drm_agp_chipset_flush(struct drm_device *dev);
  6646. +extern void lbm_drm_agp_chipset_flush(struct drm_device *dev);
  6647.  
  6648. /* Stub support (drm_stub.h) */
  6649. extern int drm_setmaster_ioctl(struct drm_device *dev, void *data,
  6650. @@ -1347,13 +1347,13 @@
  6651. extern int drm_dropmaster_ioctl(struct drm_device *dev, void *data,
  6652. struct drm_file *file_priv);
  6653. struct drm_master *drm_master_create(struct drm_minor *minor);
  6654. -extern struct drm_master *drm_master_get(struct drm_master *master);
  6655. -extern void drm_master_put(struct drm_master **master);
  6656. -extern int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  6657. +extern struct drm_master *lbm_drm_master_get(struct drm_master *master);
  6658. +extern void lbm_drm_master_put(struct drm_master **master);
  6659. +extern int lbm_drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  6660. struct drm_driver *driver);
  6661. -extern void drm_put_dev(struct drm_device *dev);
  6662. +extern void lbm_drm_put_dev(struct drm_device *dev);
  6663. extern int drm_put_minor(struct drm_minor **minor);
  6664. -extern unsigned int drm_debug;
  6665. +extern unsigned int lbm_drm_debug;
  6666.  
  6667. extern struct class *drm_class;
  6668. extern struct proc_dir_entry *drm_proc_root;
  6669. @@ -1361,7 +1361,7 @@
  6670.  
  6671. extern struct idr drm_minors_idr;
  6672.  
  6673. -extern struct drm_local_map *drm_getsarea(struct drm_device *dev);
  6674. +extern struct drm_local_map *lbm_drm_getsarea(struct drm_device *dev);
  6675.  
  6676. /* Proc support (drm_proc.h) */
  6677. extern int drm_proc_init(struct drm_minor *minor, int minor_id,
  6678. @@ -1372,9 +1372,9 @@
  6679. #if defined(CONFIG_DEBUG_FS)
  6680. extern int drm_debugfs_init(struct drm_minor *minor, int minor_id,
  6681. struct dentry *root);
  6682. -extern int drm_debugfs_create_files(struct drm_info_list *files, int count,
  6683. +extern int lbm_drm_debugfs_create_files(struct drm_info_list *files, int count,
  6684. struct dentry *root, struct drm_minor *minor);
  6685. -extern int drm_debugfs_remove_files(struct drm_info_list *files, int count,
  6686. +extern int lbm_drm_debugfs_remove_files(struct drm_info_list *files, int count,
  6687. struct drm_minor *minor);
  6688. extern int drm_debugfs_cleanup(struct drm_minor *minor);
  6689. #endif
  6690. @@ -1397,42 +1397,42 @@
  6691. extern void drm_sg_cleanup(struct drm_sg_mem * entry);
  6692. extern int drm_sg_alloc_ioctl(struct drm_device *dev, void *data,
  6693. struct drm_file *file_priv);
  6694. -extern int drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request);
  6695. +extern int lbm_drm_sg_alloc(struct drm_device *dev, struct drm_scatter_gather * request);
  6696. extern int drm_sg_free(struct drm_device *dev, void *data,
  6697. struct drm_file *file_priv);
  6698.  
  6699. /* ATI PCIGART support (ati_pcigart.h) */
  6700. -extern int drm_ati_pcigart_init(struct drm_device *dev,
  6701. +extern int lbm_drm_ati_pcigart_init(struct drm_device *dev,
  6702. struct drm_ati_pcigart_info * gart_info);
  6703. -extern int drm_ati_pcigart_cleanup(struct drm_device *dev,
  6704. +extern int lbm_drm_ati_pcigart_cleanup(struct drm_device *dev,
  6705. struct drm_ati_pcigart_info * gart_info);
  6706.  
  6707. -extern drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size,
  6708. +extern drm_dma_handle_t *lbm_drm_pci_alloc(struct drm_device *dev, size_t size,
  6709. size_t align);
  6710. extern void __drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
  6711. -extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
  6712. +extern void lbm_drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
  6713.  
  6714. /* sysfs support (drm_sysfs.c) */
  6715. struct drm_sysfs_class;
  6716. extern struct class *drm_sysfs_create(struct module *owner, char *name);
  6717. extern void drm_sysfs_destroy(void);
  6718. extern int drm_sysfs_device_add(struct drm_minor *minor);
  6719. -extern void drm_sysfs_hotplug_event(struct drm_device *dev);
  6720. +extern void lbm_drm_sysfs_hotplug_event(struct drm_device *dev);
  6721. extern void drm_sysfs_device_remove(struct drm_minor *minor);
  6722. extern char *drm_get_connector_status_name(enum drm_connector_status status);
  6723. -extern int drm_sysfs_connector_add(struct drm_connector *connector);
  6724. -extern void drm_sysfs_connector_remove(struct drm_connector *connector);
  6725. +extern int lbm_drm_sysfs_connector_add(struct drm_connector *connector);
  6726. +extern void lbm_drm_sysfs_connector_remove(struct drm_connector *connector);
  6727.  
  6728. /* Graphics Execution Manager library functions (drm_gem.c) */
  6729. int drm_gem_init(struct drm_device *dev);
  6730. void drm_gem_destroy(struct drm_device *dev);
  6731. -void drm_gem_object_free(struct kref *kref);
  6732. -struct drm_gem_object *drm_gem_object_alloc(struct drm_device *dev,
  6733. +void lbm_drm_gem_object_free(struct kref *kref);
  6734. +struct drm_gem_object *lbm_drm_gem_object_alloc(struct drm_device *dev,
  6735. size_t size);
  6736. -void drm_gem_object_handle_free(struct kref *kref);
  6737. -void drm_gem_vm_open(struct vm_area_struct *vma);
  6738. -void drm_gem_vm_close(struct vm_area_struct *vma);
  6739. -int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
  6740. +void lbm_drm_gem_object_handle_free(struct kref *kref);
  6741. +void lbm_drm_gem_vm_open(struct vm_area_struct *vma);
  6742. +void lbm_drm_gem_vm_close(struct vm_area_struct *vma);
  6743. +int lbm_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
  6744.  
  6745. static inline void
  6746. drm_gem_object_reference(struct drm_gem_object *obj)
  6747. @@ -1446,10 +1446,10 @@
  6748. if (obj == NULL)
  6749. return;
  6750.  
  6751. - kref_put(&obj->refcount, drm_gem_object_free);
  6752. + kref_put(&obj->refcount, lbm_drm_gem_object_free);
  6753. }
  6754.  
  6755. -int drm_gem_handle_create(struct drm_file *file_priv,
  6756. +int lbm_drm_gem_handle_create(struct drm_file *file_priv,
  6757. struct drm_gem_object *obj,
  6758. u32 *handlep);
  6759.  
  6760. @@ -1471,11 +1471,11 @@
  6761. * ref, in which case the object would disappear before we
  6762. * checked for a name
  6763. */
  6764. - kref_put(&obj->handlecount, drm_gem_object_handle_free);
  6765. + kref_put(&obj->handlecount, lbm_drm_gem_object_handle_free);
  6766. drm_gem_object_unreference(obj);
  6767. }
  6768.  
  6769. -struct drm_gem_object *drm_gem_object_lookup(struct drm_device *dev,
  6770. +struct drm_gem_object *lbm_drm_gem_object_lookup(struct drm_device *dev,
  6771. struct drm_file *filp,
  6772. u32 handle);
  6773. int drm_gem_close_ioctl(struct drm_device *dev, void *data,
  6774. @@ -1487,9 +1487,9 @@
  6775. void drm_gem_open(struct drm_device *dev, struct drm_file *file_private);
  6776. void drm_gem_release(struct drm_device *dev, struct drm_file *file_private);
  6777.  
  6778. -extern void drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev);
  6779. -extern void drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev);
  6780. -extern void drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev);
  6781. +extern void lbm_drm_core_ioremap(struct drm_local_map *map, struct drm_device *dev);
  6782. +extern void lbm_drm_core_ioremap_wc(struct drm_local_map *map, struct drm_device *dev);
  6783. +extern void lbm_drm_core_ioremapfree(struct drm_local_map *map, struct drm_device *dev);
  6784.  
  6785. static __inline__ struct drm_local_map *drm_core_findmap(struct drm_device *dev,
  6786. unsigned int token)
  6787. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sman.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sman.h
  6788. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sman.h 2010-01-25 15:21:29.000000000 -0500
  6789. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sman.h 2010-02-03 17:11:08.000000000 -0500
  6790. @@ -94,10 +94,10 @@
  6791.  
  6792. /*
  6793. * Take down a memory manager. This function should only be called after a
  6794. - * successful init and after a call to drm_sman_cleanup.
  6795. + * successful init and after a call to lbm_drm_sman_cleanup.
  6796. */
  6797.  
  6798. -extern void drm_sman_takedown(struct drm_sman * sman);
  6799. +extern void lbm_drm_sman_takedown(struct drm_sman * sman);
  6800.  
  6801. /*
  6802. * Allocate structures for a manager.
  6803. @@ -112,7 +112,7 @@
  6804. *
  6805. */
  6806.  
  6807. -extern int drm_sman_init(struct drm_sman * sman, unsigned int num_managers,
  6808. +extern int lbm_drm_sman_init(struct drm_sman * sman, unsigned int num_managers,
  6809. unsigned int user_order, unsigned int owner_order);
  6810.  
  6811. /*
  6812. @@ -120,7 +120,7 @@
  6813. * manager unless a customized allogator is used.
  6814. */
  6815.  
  6816. -extern int drm_sman_set_range(struct drm_sman * sman, unsigned int manager,
  6817. +extern int lbm_drm_sman_set_range(struct drm_sman * sman, unsigned int manager,
  6818. unsigned long start, unsigned long size);
  6819.  
  6820. /*
  6821. @@ -129,14 +129,14 @@
  6822. * so it can be destroyed after this call.
  6823. */
  6824.  
  6825. -extern int drm_sman_set_manager(struct drm_sman * sman, unsigned int mananger,
  6826. +extern int lbm_drm_sman_set_manager(struct drm_sman * sman, unsigned int mananger,
  6827. struct drm_sman_mm * allocator);
  6828.  
  6829. /*
  6830. * Allocate a memory block. Aligment is not implemented yet.
  6831. */
  6832.  
  6833. -extern struct drm_memblock_item *drm_sman_alloc(struct drm_sman * sman,
  6834. +extern struct drm_memblock_item *lbm_drm_sman_alloc(struct drm_sman * sman,
  6835. unsigned int manager,
  6836. unsigned long size,
  6837. unsigned alignment,
  6838. @@ -145,16 +145,16 @@
  6839. * Free a memory block identified by its user hash key.
  6840. */
  6841.  
  6842. -extern int drm_sman_free_key(struct drm_sman * sman, unsigned int key);
  6843. +extern int lbm_drm_sman_free_key(struct drm_sman * sman, unsigned int key);
  6844.  
  6845. /*
  6846. * returns 1 iff there are no stale memory blocks associated with this owner.
  6847. * Typically called to determine if we need to idle the hardware and call
  6848. - * drm_sman_owner_cleanup. If there are no stale memory blocks, it removes all
  6849. + * lbm_drm_sman_owner_cleanup. If there are no stale memory blocks, it removes all
  6850. * resources associated with owner.
  6851. */
  6852.  
  6853. -extern int drm_sman_owner_clean(struct drm_sman * sman, unsigned long owner);
  6854. +extern int lbm_drm_sman_owner_clean(struct drm_sman * sman, unsigned long owner);
  6855.  
  6856. /*
  6857. * Frees all stale memory blocks associated with this owner. Note that this
  6858. @@ -164,13 +164,13 @@
  6859. * is not going to be referenced anymore.
  6860. */
  6861.  
  6862. -extern void drm_sman_owner_cleanup(struct drm_sman * sman, unsigned long owner);
  6863. +extern void lbm_drm_sman_owner_cleanup(struct drm_sman * sman, unsigned long owner);
  6864.  
  6865. /*
  6866. * Frees all stale memory blocks associated with the memory manager.
  6867. * See idling above.
  6868. */
  6869.  
  6870. -extern void drm_sman_cleanup(struct drm_sman * sman);
  6871. +extern void lbm_drm_sman_cleanup(struct drm_sman * sman);
  6872.  
  6873. #endif
  6874. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sysfs.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sysfs.h
  6875. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sysfs.h 2010-01-25 15:21:29.000000000 -0500
  6876. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/drm_sysfs.h 2010-02-03 17:11:08.000000000 -0500
  6877. @@ -6,7 +6,7 @@
  6878. * don't want to include the full drmP.h file.
  6879. */
  6880.  
  6881. -extern int drm_class_device_register(struct device *dev);
  6882. -extern void drm_class_device_unregister(struct device *dev);
  6883. +extern int lbm_drm_class_device_register(struct device *dev);
  6884. +extern void lbm_drm_class_device_unregister(struct device *dev);
  6885.  
  6886. #endif
  6887. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_api.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_api.h
  6888. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_api.h 2010-01-25 15:21:29.000000000 -0500
  6889. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_api.h 2010-02-03 17:11:08.000000000 -0500
  6890. @@ -292,7 +292,7 @@
  6891. }
  6892.  
  6893. /**
  6894. - * ttm_bo_wait - wait for buffer idle.
  6895. + * lbm_ttm_bo_wait - wait for buffer idle.
  6896. *
  6897. * @bo: The buffer object.
  6898. * @interruptible: Use interruptible wait.
  6899. @@ -305,10 +305,10 @@
  6900. * Returns -EBUSY if no_wait is true and the buffer is busy.
  6901. * Returns -ERESTARTSYS if interrupted by a signal.
  6902. */
  6903. -extern int ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy,
  6904. +extern int lbm_ttm_bo_wait(struct ttm_buffer_object *bo, bool lazy,
  6905. bool interruptible, bool no_wait);
  6906. /**
  6907. - * ttm_bo_validate
  6908. + * lbm_ttm_bo_validate
  6909. *
  6910. * @bo: The buffer object.
  6911. * @placement: Proposed placement for the buffer object.
  6912. @@ -323,21 +323,21 @@
  6913. * -EBUSY if no_wait is true and buffer busy.
  6914. * -ERESTARTSYS if interrupted by a signal.
  6915. */
  6916. -extern int ttm_bo_validate(struct ttm_buffer_object *bo,
  6917. +extern int lbm_ttm_bo_validate(struct ttm_buffer_object *bo,
  6918. struct ttm_placement *placement,
  6919. bool interruptible, bool no_wait);
  6920.  
  6921. /**
  6922. - * ttm_bo_unref
  6923. + * lbm_ttm_bo_unref
  6924. *
  6925. * @bo: The buffer object.
  6926. *
  6927. * Unreference and clear a pointer to a buffer object.
  6928. */
  6929. -extern void ttm_bo_unref(struct ttm_buffer_object **bo);
  6930. +extern void lbm_ttm_bo_unref(struct ttm_buffer_object **bo);
  6931.  
  6932. /**
  6933. - * ttm_bo_synccpu_write_grab
  6934. + * lbm_ttm_bo_synccpu_write_grab
  6935. *
  6936. * @bo: The buffer object:
  6937. * @no_wait: Return immediately if buffer is busy.
  6938. @@ -351,18 +351,18 @@
  6939. */
  6940.  
  6941. extern int
  6942. -ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait);
  6943. +lbm_ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait);
  6944. /**
  6945. - * ttm_bo_synccpu_write_release:
  6946. + * lbm_ttm_bo_synccpu_write_release:
  6947. *
  6948. * @bo : The buffer object.
  6949. *
  6950. * Releases a synccpu lock.
  6951. */
  6952. -extern void ttm_bo_synccpu_write_release(struct ttm_buffer_object *bo);
  6953. +extern void lbm_ttm_bo_synccpu_write_release(struct ttm_buffer_object *bo);
  6954.  
  6955. /**
  6956. - * ttm_bo_init
  6957. + * lbm_ttm_bo_init
  6958. *
  6959. * @bdev: Pointer to a ttm_bo_device struct.
  6960. * @bo: Pointer to a ttm_buffer_object to be initialized.
  6961. @@ -393,7 +393,7 @@
  6962. * -ERESTARTSYS: Interrupted by signal while sleeping waiting for resources.
  6963. */
  6964.  
  6965. -extern int ttm_bo_init(struct ttm_bo_device *bdev,
  6966. +extern int lbm_ttm_bo_init(struct ttm_bo_device *bdev,
  6967. struct ttm_buffer_object *bo,
  6968. unsigned long size,
  6969. enum ttm_bo_type type,
  6970. @@ -424,7 +424,7 @@
  6971. * GEM user interface.
  6972. * @p_bo: On successful completion *p_bo points to the created object.
  6973. *
  6974. - * This function allocates a ttm_buffer_object, and then calls ttm_bo_init
  6975. + * This function allocates a ttm_buffer_object, and then calls lbm_ttm_bo_init
  6976. * on that object. The destroy function is set to kfree().
  6977. * Returns
  6978. * -ENOMEM: Out of memory.
  6979. @@ -457,7 +457,7 @@
  6980. struct ttm_placement *placement);
  6981.  
  6982. /**
  6983. - * ttm_bo_init_mm
  6984. + * lbm_ttm_bo_init_mm
  6985. *
  6986. * @bdev: Pointer to a ttm_bo_device struct.
  6987. * @mem_type: The memory type.
  6988. @@ -472,10 +472,10 @@
  6989. * May also return driver-specified errors.
  6990. */
  6991.  
  6992. -extern int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
  6993. +extern int lbm_ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
  6994. unsigned long p_size);
  6995. /**
  6996. - * ttm_bo_clean_mm
  6997. + * lbm_ttm_bo_clean_mm
  6998. *
  6999. * @bdev: Pointer to a ttm_bo_device struct.
  7000. * @mem_type: The memory type.
  7001. @@ -501,10 +501,10 @@
  7002. * -EBUSY: There are still buffers left in this memory type.
  7003. */
  7004.  
  7005. -extern int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type);
  7006. +extern int lbm_ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type);
  7007.  
  7008. /**
  7009. - * ttm_bo_evict_mm
  7010. + * lbm_ttm_bo_evict_mm
  7011. *
  7012. * @bdev: Pointer to a ttm_bo_device struct.
  7013. * @mem_type: The memory type.
  7014. @@ -522,16 +522,16 @@
  7015. * evict a buffer.
  7016. */
  7017.  
  7018. -extern int ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type);
  7019. +extern int lbm_ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type);
  7020.  
  7021. /**
  7022. * ttm_kmap_obj_virtual
  7023. *
  7024. - * @map: A struct ttm_bo_kmap_obj returned from ttm_bo_kmap.
  7025. + * @map: A struct ttm_bo_kmap_obj returned from lbm_ttm_bo_kmap.
  7026. * @is_iomem: Pointer to an integer that on return indicates 1 if the
  7027. * virtual map is io memory, 0 if normal memory.
  7028. *
  7029. - * Returns the virtual address of a buffer object area mapped by ttm_bo_kmap.
  7030. + * Returns the virtual address of a buffer object area mapped by lbm_ttm_bo_kmap.
  7031. * If *is_iomem is 1 on return, the virtual address points to an io memory area,
  7032. * that should strictly be accessed by the iowriteXX() and similar functions.
  7033. */
  7034. @@ -544,7 +544,7 @@
  7035. }
  7036.  
  7037. /**
  7038. - * ttm_bo_kmap
  7039. + * lbm_ttm_bo_kmap
  7040. *
  7041. * @bo: The buffer object.
  7042. * @start_page: The first page to map.
  7043. @@ -560,24 +560,24 @@
  7044. * -EINVAL: Invalid range.
  7045. */
  7046.  
  7047. -extern int ttm_bo_kmap(struct ttm_buffer_object *bo, unsigned long start_page,
  7048. +extern int lbm_ttm_bo_kmap(struct ttm_buffer_object *bo, unsigned long start_page,
  7049. unsigned long num_pages, struct ttm_bo_kmap_obj *map);
  7050.  
  7051. /**
  7052. - * ttm_bo_kunmap
  7053. + * lbm_ttm_bo_kunmap
  7054. *
  7055. * @map: Object describing the map to unmap.
  7056. *
  7057. - * Unmaps a kernel map set up by ttm_bo_kmap.
  7058. + * Unmaps a kernel map set up by lbm_ttm_bo_kmap.
  7059. */
  7060.  
  7061. -extern void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map);
  7062. +extern void lbm_ttm_bo_kunmap(struct ttm_bo_kmap_obj *map);
  7063.  
  7064. #if 0
  7065. #endif
  7066.  
  7067. /**
  7068. - * ttm_fbdev_mmap - mmap fbdev memory backed by a ttm buffer object.
  7069. + * lbm_ttm_fbdev_mmap - mmap fbdev memory backed by a ttm buffer object.
  7070. *
  7071. * @vma: vma as input from the fbdev mmap method.
  7072. * @bo: The bo backing the address space. The address space will
  7073. @@ -587,11 +587,11 @@
  7074. * if the fbdev address space is to be backed by a bo.
  7075. */
  7076.  
  7077. -extern int ttm_fbdev_mmap(struct vm_area_struct *vma,
  7078. +extern int lbm_ttm_fbdev_mmap(struct vm_area_struct *vma,
  7079. struct ttm_buffer_object *bo);
  7080.  
  7081. /**
  7082. - * ttm_bo_mmap - mmap out of the ttm device address space.
  7083. + * lbm_ttm_bo_mmap - mmap out of the ttm device address space.
  7084. *
  7085. * @filp: filp as input from the mmap method.
  7086. * @vma: vma as input from the mmap method.
  7087. @@ -601,7 +601,7 @@
  7088. * if the device address space is to be backed by the bo manager.
  7089. */
  7090.  
  7091. -extern int ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
  7092. +extern int lbm_ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
  7093. struct ttm_bo_device *bdev);
  7094.  
  7095. /**
  7096. @@ -629,6 +629,6 @@
  7097. const char __user *wbuf, char __user *rbuf,
  7098. size_t count, loff_t *f_pos, bool write);
  7099.  
  7100. -extern void ttm_bo_swapout_all(struct ttm_bo_device *bdev);
  7101. +extern void lbm_ttm_bo_swapout_all(struct ttm_bo_device *bdev);
  7102.  
  7103. #endif
  7104. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_driver.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_driver.h
  7105. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_driver.h 2010-01-25 15:21:29.000000000 -0500
  7106. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_bo_driver.h 2010-02-03 17:11:08.000000000 -0500
  7107. @@ -353,6 +353,11 @@
  7108. /* notify the driver we are taking a fault on this BO
  7109. * and have reserved it */
  7110. void (*fault_reserve_notify)(struct ttm_buffer_object *bo);
  7111. +
  7112. + /**
  7113. + * notify the driver that we're about to swap out this bo
  7114. + */
  7115. + void (*swap_notify) (struct ttm_buffer_object *bo);
  7116. };
  7117.  
  7118. /**
  7119. @@ -532,16 +537,16 @@
  7120. *
  7121. * Bind the pages of @ttm to an aperture location identified by @bo_mem
  7122. */
  7123. -extern int ttm_tt_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem);
  7124. +extern int lbm_ttm_tt_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem);
  7125.  
  7126. /**
  7127. - * ttm_tt_populate:
  7128. + * lbm_ttm_tt_populate:
  7129. *
  7130. * @ttm: The struct ttm_tt to contain the backing pages.
  7131. *
  7132. * Add backing pages to all of @ttm
  7133. */
  7134. -extern int ttm_tt_populate(struct ttm_tt *ttm);
  7135. +extern int lbm_ttm_tt_populate(struct ttm_tt *ttm);
  7136.  
  7137. /**
  7138. * ttm_ttm_destroy:
  7139. @@ -589,7 +594,7 @@
  7140. extern void ttm_tt_cache_flush(struct page *pages[], unsigned long num_pages);
  7141.  
  7142. /**
  7143. - * ttm_tt_set_placement_caching:
  7144. + * lbm_ttm_tt_set_placement_caching:
  7145. *
  7146. * @ttm A struct ttm_tt the backing pages of which will change caching policy.
  7147. * @placement: Flag indicating the desired caching policy.
  7148. @@ -601,7 +606,7 @@
  7149. * hit RAM. This function may be very costly as it involves global TLB
  7150. * and cache flushes and potential page splitting / combining.
  7151. */
  7152. -extern int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement);
  7153. +extern int lbm_ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement);
  7154. extern int ttm_tt_swapout(struct ttm_tt *ttm,
  7155. struct file *persistant_swap_storage);
  7156.  
  7157. @@ -622,7 +627,7 @@
  7158. struct ttm_mem_reg *mem);
  7159.  
  7160. /**
  7161. - * ttm_bo_mem_space
  7162. + * lbm_ttm_bo_mem_space
  7163. *
  7164. * @bo: Pointer to a struct ttm_buffer_object. the data of which
  7165. * we want to allocate space for.
  7166. @@ -640,7 +645,7 @@
  7167. * fragmentation or concurrent allocators.
  7168. * -ERESTARTSYS: An interruptible sleep was interrupted by a signal.
  7169. */
  7170. -extern int ttm_bo_mem_space(struct ttm_buffer_object *bo,
  7171. +extern int lbm_ttm_bo_mem_space(struct ttm_buffer_object *bo,
  7172. struct ttm_placement *placement,
  7173. struct ttm_mem_reg *mem,
  7174. bool interruptible, bool no_wait);
  7175. @@ -656,7 +661,7 @@
  7176. * -ERESTARTSYS: An interruptible sleep was interrupted by a signal.
  7177. */
  7178.  
  7179. -extern int ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait);
  7180. +extern int lbm_ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait);
  7181.  
  7182. /**
  7183. * ttm_bo_pci_offset - Get the PCI offset for the buffer object memory.
  7184. @@ -678,13 +683,13 @@
  7185. unsigned long *bus_offset,
  7186. unsigned long *bus_size);
  7187.  
  7188. -extern void ttm_bo_global_release(struct ttm_global_reference *ref);
  7189. -extern int ttm_bo_global_init(struct ttm_global_reference *ref);
  7190. +extern void lbm_ttm_bo_global_release(struct ttm_global_reference *ref);
  7191. +extern int lbm_ttm_bo_global_init(struct ttm_global_reference *ref);
  7192.  
  7193. -extern int ttm_bo_device_release(struct ttm_bo_device *bdev);
  7194. +extern int lbm_ttm_bo_device_release(struct ttm_bo_device *bdev);
  7195.  
  7196. /**
  7197. - * ttm_bo_device_init
  7198. + * lbm_ttm_bo_device_init
  7199. *
  7200. * @bdev: A pointer to a struct ttm_bo_device to initialize.
  7201. * @mem_global: A pointer to an initialized struct ttm_mem_global.
  7202. @@ -697,20 +702,20 @@
  7203. * Returns:
  7204. * !0: Failure.
  7205. */
  7206. -extern int ttm_bo_device_init(struct ttm_bo_device *bdev,
  7207. +extern int lbm_ttm_bo_device_init(struct ttm_bo_device *bdev,
  7208. struct ttm_bo_global *glob,
  7209. struct ttm_bo_driver *driver,
  7210. uint64_t file_page_offset, bool need_dma32);
  7211.  
  7212. /**
  7213. - * ttm_bo_unmap_virtual
  7214. + * lbm_ttm_bo_unmap_virtual
  7215. *
  7216. * @bo: tear down the virtual mappings for this BO
  7217. */
  7218. -extern void ttm_bo_unmap_virtual(struct ttm_buffer_object *bo);
  7219. +extern void lbm_ttm_bo_unmap_virtual(struct ttm_buffer_object *bo);
  7220.  
  7221. /**
  7222. - * ttm_bo_reserve:
  7223. + * lbm_ttm_bo_reserve:
  7224. *
  7225. * @bo: A pointer to a struct ttm_buffer_object.
  7226. * @interruptible: Sleep interruptible if waiting.
  7227. @@ -760,21 +765,21 @@
  7228. * -ERESTARTSYS: A wait for the buffer to become unreserved was interrupted by
  7229. * a signal. Release all buffer reservations and return to user-space.
  7230. */
  7231. -extern int ttm_bo_reserve(struct ttm_buffer_object *bo,
  7232. +extern int lbm_ttm_bo_reserve(struct ttm_buffer_object *bo,
  7233. bool interruptible,
  7234. bool no_wait, bool use_sequence, uint32_t sequence);
  7235.  
  7236. /**
  7237. - * ttm_bo_unreserve
  7238. + * lbm_ttm_bo_unreserve
  7239. *
  7240. * @bo: A pointer to a struct ttm_buffer_object.
  7241. *
  7242. * Unreserve a previous reservation of @bo.
  7243. */
  7244. -extern void ttm_bo_unreserve(struct ttm_buffer_object *bo);
  7245. +extern void lbm_ttm_bo_unreserve(struct ttm_buffer_object *bo);
  7246.  
  7247. /**
  7248. - * ttm_bo_wait_unreserved
  7249. + * lbm_ttm_bo_wait_unreserved
  7250. *
  7251. * @bo: A pointer to a struct ttm_buffer_object.
  7252. *
  7253. @@ -782,7 +787,7 @@
  7254. * This is typically used in the execbuf code to relax cpu-usage when
  7255. * a potential deadlock condition backoff.
  7256. */
  7257. -extern int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo,
  7258. +extern int lbm_ttm_bo_wait_unreserved(struct ttm_buffer_object *bo,
  7259. bool interruptible);
  7260.  
  7261. /**
  7262. @@ -818,7 +823,7 @@
  7263. */
  7264.  
  7265. /**
  7266. - * ttm_bo_move_ttm
  7267. + * lbm_ttm_bo_move_ttm
  7268. *
  7269. * @bo: A pointer to a struct ttm_buffer_object.
  7270. * @evict: 1: This is an eviction. Don't try to pipeline.
  7271. @@ -835,12 +840,12 @@
  7272. * !0: Failure.
  7273. */
  7274.  
  7275. -extern int ttm_bo_move_ttm(struct ttm_buffer_object *bo,
  7276. +extern int lbm_ttm_bo_move_ttm(struct ttm_buffer_object *bo,
  7277. bool evict, bool no_wait,
  7278. struct ttm_mem_reg *new_mem);
  7279.  
  7280. /**
  7281. - * ttm_bo_move_memcpy
  7282. + * lbm_ttm_bo_move_memcpy
  7283. *
  7284. * @bo: A pointer to a struct ttm_buffer_object.
  7285. * @evict: 1: This is an eviction. Don't try to pipeline.
  7286. @@ -857,7 +862,7 @@
  7287. * !0: Failure.
  7288. */
  7289.  
  7290. -extern int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
  7291. +extern int lbm_ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
  7292. bool evict,
  7293. bool no_wait, struct ttm_mem_reg *new_mem);
  7294.  
  7295. @@ -871,7 +876,7 @@
  7296. extern void ttm_bo_free_old_node(struct ttm_buffer_object *bo);
  7297.  
  7298. /**
  7299. - * ttm_bo_move_accel_cleanup.
  7300. + * lbm_ttm_bo_move_accel_cleanup.
  7301. *
  7302. * @bo: A pointer to a struct ttm_buffer_object.
  7303. * @sync_obj: A sync object that signals when moving is complete.
  7304. @@ -889,13 +894,13 @@
  7305. * buffer moves.
  7306. */
  7307.  
  7308. -extern int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
  7309. +extern int lbm_ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
  7310. void *sync_obj,
  7311. void *sync_obj_arg,
  7312. bool evict, bool no_wait,
  7313. struct ttm_mem_reg *new_mem);
  7314. /**
  7315. - * ttm_io_prot
  7316. + * lbm_ttm_io_prot
  7317. *
  7318. * @c_state: Caching state.
  7319. * @tmp: Page protection flag for a normal, cached mapping.
  7320. @@ -903,14 +908,14 @@
  7321. * Utility function that returns the pgprot_t that should be used for
  7322. * setting up a PTE with the caching model indicated by @c_state.
  7323. */
  7324. -extern pgprot_t ttm_io_prot(enum ttm_caching_state c_state, pgprot_t tmp);
  7325. +extern pgprot_t lbm_ttm_io_prot(enum ttm_caching_state c_state, pgprot_t tmp);
  7326.  
  7327. #if (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE)))
  7328. #define TTM_HAS_AGP
  7329. #include <linux/agp_backend.h>
  7330.  
  7331. /**
  7332. - * ttm_agp_backend_init
  7333. + * lbm_ttm_agp_backend_init
  7334. *
  7335. * @bdev: Pointer to a struct ttm_bo_device.
  7336. * @bridge: The agp bridge this device is sitting on.
  7337. @@ -919,7 +924,7 @@
  7338. * for TT memory. This function uses the linux agpgart interface to
  7339. * bind and unbind memory backing a ttm_tt.
  7340. */
  7341. -extern struct ttm_backend *ttm_agp_backend_init(struct ttm_bo_device *bdev,
  7342. +extern struct ttm_backend *lbm_ttm_agp_backend_init(struct ttm_bo_device *bdev,
  7343. struct agp_bridge_data *bridge);
  7344. #endif
  7345.  
  7346. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_execbuf_util.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_execbuf_util.h
  7347. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_execbuf_util.h 2010-01-25 15:21:29.000000000 -0500
  7348. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_execbuf_util.h 2010-02-03 17:11:08.000000000 -0500
  7349. @@ -52,7 +52,7 @@
  7350. };
  7351.  
  7352. /**
  7353. - * function ttm_eu_backoff_reservation
  7354. + * function lbm_ttm_eu_backoff_reservation
  7355. *
  7356. * @list: thread private list of ttm_validate_buffer structs.
  7357. *
  7358. @@ -60,10 +60,10 @@
  7359. * the list entries.
  7360. */
  7361.  
  7362. -extern void ttm_eu_backoff_reservation(struct list_head *list);
  7363. +extern void lbm_ttm_eu_backoff_reservation(struct list_head *list);
  7364.  
  7365. /**
  7366. - * function ttm_eu_reserve_buffers
  7367. + * function lbm_ttm_eu_reserve_buffers
  7368. *
  7369. * @list: thread private list of ttm_validate_buffer structs.
  7370. * @val_seq: A unique sequence number.
  7371. @@ -83,15 +83,15 @@
  7372. * will be reserved upon return.
  7373. *
  7374. * Buffers reserved by this function should be unreserved by
  7375. - * a call to either ttm_eu_backoff_reservation() or
  7376. - * ttm_eu_fence_buffer_objects() when command submission is complete or
  7377. + * a call to either lbm_ttm_eu_backoff_reservation() or
  7378. + * lbm_ttm_eu_fence_buffer_objects() when command submission is complete or
  7379. * has failed.
  7380. */
  7381.  
  7382. -extern int ttm_eu_reserve_buffers(struct list_head *list, uint32_t val_seq);
  7383. +extern int lbm_ttm_eu_reserve_buffers(struct list_head *list, uint32_t val_seq);
  7384.  
  7385. /**
  7386. - * function ttm_eu_fence_buffer_objects.
  7387. + * function lbm_ttm_eu_fence_buffer_objects.
  7388. *
  7389. * @list: thread private list of ttm_validate_buffer structs.
  7390. * @sync_obj: The new sync object for the buffers.
  7391. @@ -102,6 +102,6 @@
  7392. *
  7393. */
  7394.  
  7395. -extern void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj);
  7396. +extern void lbm_ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj);
  7397.  
  7398. #endif
  7399. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_lock.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_lock.h
  7400. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_lock.h 2010-01-25 15:21:29.000000000 -0500
  7401. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_lock.h 2010-02-03 17:11:08.000000000 -0500
  7402. @@ -79,24 +79,24 @@
  7403.  
  7404.  
  7405. /**
  7406. - * ttm_lock_init
  7407. + * lbm_ttm_lock_init
  7408. *
  7409. * @lock: Pointer to a struct ttm_lock
  7410. * Initializes the lock.
  7411. */
  7412. -extern void ttm_lock_init(struct ttm_lock *lock);
  7413. +extern void lbm_ttm_lock_init(struct ttm_lock *lock);
  7414.  
  7415. /**
  7416. - * ttm_read_unlock
  7417. + * lbm_ttm_read_unlock
  7418. *
  7419. * @lock: Pointer to a struct ttm_lock
  7420. *
  7421. * Releases a read lock.
  7422. */
  7423. -extern void ttm_read_unlock(struct ttm_lock *lock);
  7424. +extern void lbm_ttm_read_unlock(struct ttm_lock *lock);
  7425.  
  7426. /**
  7427. - * ttm_read_lock
  7428. + * lbm_ttm_read_lock
  7429. *
  7430. * @lock: Pointer to a struct ttm_lock
  7431. * @interruptible: Interruptible sleeping while waiting for a lock.
  7432. @@ -105,7 +105,7 @@
  7433. * Returns:
  7434. * -ERESTARTSYS If interrupted by a signal and interruptible is true.
  7435. */
  7436. -extern int ttm_read_lock(struct ttm_lock *lock, bool interruptible);
  7437. +extern int lbm_ttm_read_lock(struct ttm_lock *lock, bool interruptible);
  7438.  
  7439. /**
  7440. * ttm_read_trylock
  7441. @@ -125,16 +125,16 @@
  7442. extern int ttm_read_trylock(struct ttm_lock *lock, bool interruptible);
  7443.  
  7444. /**
  7445. - * ttm_write_unlock
  7446. + * lbm_ttm_write_unlock
  7447. *
  7448. * @lock: Pointer to a struct ttm_lock
  7449. *
  7450. * Releases a write lock.
  7451. */
  7452. -extern void ttm_write_unlock(struct ttm_lock *lock);
  7453. +extern void lbm_ttm_write_unlock(struct ttm_lock *lock);
  7454.  
  7455. /**
  7456. - * ttm_write_lock
  7457. + * lbm_ttm_write_lock
  7458. *
  7459. * @lock: Pointer to a struct ttm_lock
  7460. * @interruptible: Interruptible sleeping while waiting for a lock.
  7461. @@ -143,7 +143,7 @@
  7462. * Returns:
  7463. * -ERESTARTSYS If interrupted by a signal and interruptible is true.
  7464. */
  7465. -extern int ttm_write_lock(struct ttm_lock *lock, bool interruptible);
  7466. +extern int lbm_ttm_write_lock(struct ttm_lock *lock, bool interruptible);
  7467.  
  7468. /**
  7469. * ttm_lock_downgrade
  7470. @@ -155,25 +155,25 @@
  7471. extern void ttm_lock_downgrade(struct ttm_lock *lock);
  7472.  
  7473. /**
  7474. - * ttm_suspend_lock
  7475. + * lbm_ttm_suspend_lock
  7476. *
  7477. * @lock: Pointer to a struct ttm_lock
  7478. *
  7479. * Takes the lock in suspend mode. Excludes read and write mode.
  7480. */
  7481. -extern void ttm_suspend_lock(struct ttm_lock *lock);
  7482. +extern void lbm_ttm_suspend_lock(struct ttm_lock *lock);
  7483.  
  7484. /**
  7485. - * ttm_suspend_unlock
  7486. + * lbm_ttm_suspend_unlock
  7487. *
  7488. * @lock: Pointer to a struct ttm_lock
  7489. *
  7490. * Releases a suspend lock
  7491. */
  7492. -extern void ttm_suspend_unlock(struct ttm_lock *lock);
  7493. +extern void lbm_ttm_suspend_unlock(struct ttm_lock *lock);
  7494.  
  7495. /**
  7496. - * ttm_vt_lock
  7497. + * lbm_ttm_vt_lock
  7498. *
  7499. * @lock: Pointer to a struct ttm_lock
  7500. * @interruptible: Interruptible sleeping while waiting for a lock.
  7501. @@ -184,11 +184,11 @@
  7502. * -ERESTARTSYS If interrupted by a signal and interruptible is true.
  7503. * -ENOMEM: Out of memory when locking.
  7504. */
  7505. -extern int ttm_vt_lock(struct ttm_lock *lock, bool interruptible,
  7506. +extern int lbm_ttm_vt_lock(struct ttm_lock *lock, bool interruptible,
  7507. struct ttm_object_file *tfile);
  7508.  
  7509. /**
  7510. - * ttm_vt_unlock
  7511. + * lbm_ttm_vt_unlock
  7512. *
  7513. * @lock: Pointer to a struct ttm_lock
  7514. *
  7515. @@ -196,19 +196,19 @@
  7516. * Returns:
  7517. * -EINVAL If the lock was not held.
  7518. */
  7519. -extern int ttm_vt_unlock(struct ttm_lock *lock);
  7520. +extern int lbm_ttm_vt_unlock(struct ttm_lock *lock);
  7521.  
  7522. /**
  7523. - * ttm_write_unlock
  7524. + * lbm_ttm_write_unlock
  7525. *
  7526. * @lock: Pointer to a struct ttm_lock
  7527. *
  7528. * Releases a write lock.
  7529. */
  7530. -extern void ttm_write_unlock(struct ttm_lock *lock);
  7531. +extern void lbm_ttm_write_unlock(struct ttm_lock *lock);
  7532.  
  7533. /**
  7534. - * ttm_write_lock
  7535. + * lbm_ttm_write_lock
  7536. *
  7537. * @lock: Pointer to a struct ttm_lock
  7538. * @interruptible: Interruptible sleeping while waiting for a lock.
  7539. @@ -217,7 +217,7 @@
  7540. * Returns:
  7541. * -ERESTARTSYS If interrupted by a signal and interruptible is true.
  7542. */
  7543. -extern int ttm_write_lock(struct ttm_lock *lock, bool interruptible);
  7544. +extern int lbm_ttm_write_lock(struct ttm_lock *lock, bool interruptible);
  7545.  
  7546. /**
  7547. * ttm_lock_set_kill
  7548. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_memory.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_memory.h
  7549. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_memory.h 2010-01-25 15:21:29.000000000 -0500
  7550. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_memory.h 2010-02-03 17:11:08.000000000 -0500
  7551. @@ -144,16 +144,16 @@
  7552. spin_unlock(&glob->lock);
  7553. }
  7554.  
  7555. -extern int ttm_mem_global_init(struct ttm_mem_global *glob);
  7556. -extern void ttm_mem_global_release(struct ttm_mem_global *glob);
  7557. -extern int ttm_mem_global_alloc(struct ttm_mem_global *glob, uint64_t memory,
  7558. +extern int lbm_ttm_mem_global_init(struct ttm_mem_global *glob);
  7559. +extern void lbm_ttm_mem_global_release(struct ttm_mem_global *glob);
  7560. +extern int lbm_ttm_mem_global_alloc(struct ttm_mem_global *glob, uint64_t memory,
  7561. bool no_wait, bool interruptible);
  7562. -extern void ttm_mem_global_free(struct ttm_mem_global *glob,
  7563. +extern void lbm_ttm_mem_global_free(struct ttm_mem_global *glob,
  7564. uint64_t amount);
  7565. extern int ttm_mem_global_alloc_page(struct ttm_mem_global *glob,
  7566. struct page *page,
  7567. bool no_wait, bool interruptible);
  7568. extern void ttm_mem_global_free_page(struct ttm_mem_global *glob,
  7569. struct page *page);
  7570. -extern size_t ttm_round_pot(size_t size);
  7571. +extern size_t lbm_ttm_round_pot(size_t size);
  7572. #endif
  7573. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_module.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_module.h
  7574. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_module.h 2010-01-25 15:21:29.000000000 -0500
  7575. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_module.h 2010-02-03 17:11:08.000000000 -0500
  7576. @@ -53,8 +53,8 @@
  7577.  
  7578. extern void ttm_global_init(void);
  7579. extern void ttm_global_release(void);
  7580. -extern int ttm_global_item_ref(struct ttm_global_reference *ref);
  7581. -extern void ttm_global_item_unref(struct ttm_global_reference *ref);
  7582. +extern int lbm_ttm_global_item_ref(struct ttm_global_reference *ref);
  7583. +extern void lbm_ttm_global_item_unref(struct ttm_global_reference *ref);
  7584. extern struct kobject *ttm_get_kobj(void);
  7585.  
  7586. #endif /* _TTM_MODULE_H_ */
  7587. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_object.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_object.h
  7588. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_object.h 2010-01-25 15:21:29.000000000 -0500
  7589. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/drm/ttm/ttm_object.h 2010-02-03 17:11:08.000000000 -0500
  7590. @@ -131,7 +131,7 @@
  7591. };
  7592.  
  7593. /**
  7594. - * ttm_base_object_init
  7595. + * lbm_ttm_base_object_init
  7596. *
  7597. * @tfile: Pointer to a struct ttm_object_file.
  7598. * @base: The struct ttm_base_object to initialize.
  7599. @@ -144,7 +144,7 @@
  7600. * Initializes a struct ttm_base_object.
  7601. */
  7602.  
  7603. -extern int ttm_base_object_init(struct ttm_object_file *tfile,
  7604. +extern int lbm_ttm_base_object_init(struct ttm_object_file *tfile,
  7605. struct ttm_base_object *base,
  7606. bool shareable,
  7607. enum ttm_object_type type,
  7608. @@ -156,7 +156,7 @@
  7609. ref_type));
  7610.  
  7611. /**
  7612. - * ttm_base_object_lookup
  7613. + * lbm_ttm_base_object_lookup
  7614. *
  7615. * @tfile: Pointer to a struct ttm_object_file.
  7616. * @key: Hash key
  7617. @@ -166,11 +166,11 @@
  7618. * comparing the @tfile argument and checking the object shareable flag.
  7619. */
  7620.  
  7621. -extern struct ttm_base_object *ttm_base_object_lookup(struct ttm_object_file
  7622. +extern struct ttm_base_object *lbm_ttm_base_object_lookup(struct ttm_object_file
  7623. *tfile, uint32_t key);
  7624.  
  7625. /**
  7626. - * ttm_base_object_unref
  7627. + * lbm_ttm_base_object_unref
  7628. *
  7629. * @p_base: Pointer to a pointer referncing a struct ttm_base_object.
  7630. *
  7631. @@ -178,10 +178,10 @@
  7632. * p_base.
  7633. */
  7634.  
  7635. -extern void ttm_base_object_unref(struct ttm_base_object **p_base);
  7636. +extern void lbm_ttm_base_object_unref(struct ttm_base_object **p_base);
  7637.  
  7638. /**
  7639. - * ttm_ref_object_add.
  7640. + * lbm_ttm_ref_object_add.
  7641. *
  7642. * @tfile: A struct ttm_object_file representing the application owning the
  7643. * ref_object.
  7644. @@ -199,11 +199,11 @@
  7645. * make sure the lock is released if the application dies. A ref object
  7646. * will hold a single reference on a base object.
  7647. */
  7648. -extern int ttm_ref_object_add(struct ttm_object_file *tfile,
  7649. +extern int lbm_ttm_ref_object_add(struct ttm_object_file *tfile,
  7650. struct ttm_base_object *base,
  7651. enum ttm_ref_type ref_type, bool *existed);
  7652. /**
  7653. - * ttm_ref_object_base_unref
  7654. + * lbm_ttm_ref_object_base_unref
  7655. *
  7656. * @key: Key representing the base object.
  7657. * @ref_type: Ref type of the ref object to be dereferenced.
  7658. @@ -213,12 +213,12 @@
  7659. * references, the ref object will be destroyed and the base object
  7660. * will be unreferenced.
  7661. */
  7662. -extern int ttm_ref_object_base_unref(struct ttm_object_file *tfile,
  7663. +extern int lbm_ttm_ref_object_base_unref(struct ttm_object_file *tfile,
  7664. unsigned long key,
  7665. enum ttm_ref_type ref_type);
  7666.  
  7667. /**
  7668. - * ttm_object_file_init - initialize a struct ttm_object file
  7669. + * lbm_ttm_object_file_init - initialize a struct ttm_object file
  7670. *
  7671. * @tdev: A struct ttm_object device this file is initialized on.
  7672. * @hash_order: Order of the hash table used to hold the reference objects.
  7673. @@ -226,12 +226,12 @@
  7674. * This is typically called by the file_ops::open function.
  7675. */
  7676.  
  7677. -extern struct ttm_object_file *ttm_object_file_init(struct ttm_object_device
  7678. +extern struct ttm_object_file *lbm_ttm_object_file_init(struct ttm_object_device
  7679. *tdev,
  7680. unsigned int hash_order);
  7681.  
  7682. /**
  7683. - * ttm_object_file_release - release data held by a ttm_object_file
  7684. + * lbm_ttm_object_file_release - release data held by a ttm_object_file
  7685. *
  7686. * @p_tfile: Pointer to pointer to the ttm_object_file object to release.
  7687. * *p_tfile will be set to NULL by this function.
  7688. @@ -241,7 +241,7 @@
  7689. * ensure that there are no concurrent users of tfile.
  7690. */
  7691.  
  7692. -extern void ttm_object_file_release(struct ttm_object_file **p_tfile);
  7693. +extern void lbm_ttm_object_file_release(struct ttm_object_file **p_tfile);
  7694.  
  7695. /**
  7696. * ttm_object device init - initialize a struct ttm_object_device
  7697. @@ -252,11 +252,11 @@
  7698. * data structures needed for ttm base and ref objects.
  7699. */
  7700.  
  7701. -extern struct ttm_object_device *ttm_object_device_init
  7702. +extern struct ttm_object_device *lbm_ttm_object_device_init
  7703. (struct ttm_mem_global *mem_glob, unsigned int hash_order);
  7704.  
  7705. /**
  7706. - * ttm_object_device_release - release data held by a ttm_object_device
  7707. + * lbm_ttm_object_device_release - release data held by a ttm_object_device
  7708. *
  7709. * @p_tdev: Pointer to pointer to the ttm_object_device object to release.
  7710. * *p_tdev will be set to NULL by this function.
  7711. @@ -266,6 +266,6 @@
  7712. * device private data structure.
  7713. */
  7714.  
  7715. -extern void ttm_object_device_release(struct ttm_object_device **p_tdev);
  7716. +extern void lbm_ttm_object_device_release(struct ttm_object_device **p_tdev);
  7717.  
  7718. #endif
  7719. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/linux/list_sort.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/linux/list_sort.h
  7720. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/linux/list_sort.h 2010-01-25 15:21:29.000000000 -0500
  7721. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/include/linux/list_sort.h 2010-02-03 17:11:08.000000000 -0500
  7722. @@ -5,7 +5,7 @@
  7723.  
  7724. struct list_head;
  7725.  
  7726. -void list_sort(void *priv, struct list_head *head,
  7727. +void lbm_list_sort(void *priv, struct list_head *head,
  7728. int (*cmp)(void *priv, struct list_head *a,
  7729. struct list_head *b));
  7730. #endif
  7731. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Kconfig linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Kconfig
  7732. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Kconfig 2010-01-25 15:21:29.000000000 -0500
  7733. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Kconfig 2010-02-03 17:10:10.000000000 -0500
  7734. @@ -66,6 +66,8 @@
  7735.  
  7736. If M is selected, the module will be called radeon.
  7737.  
  7738. +source "drivers/gpu/drm/radeon/Kconfig"
  7739. +
  7740. config DRM_I810
  7741. tristate "Intel I810"
  7742. depends on DRM && AGP && AGP_INTEL
  7743. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/list_sort.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/list_sort.c
  7744. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/list_sort.c 2010-01-25 15:21:29.000000000 -0500
  7745. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/list_sort.c 2010-02-03 17:11:08.000000000 -0500
  7746. @@ -5,7 +5,7 @@
  7747. #include <linux/list.h>
  7748.  
  7749. /**
  7750. - * list_sort - sort a list.
  7751. + * lbm_list_sort - sort a list.
  7752. * @priv: private data, passed to @cmp
  7753. * @head: the list to sort
  7754. * @cmp: the elements comparison function
  7755. @@ -18,7 +18,7 @@
  7756. * less than @b, and a positive value if @a is greater than @b. If @a and @b
  7757. * are equivalent, then it does not matter what this function returns.
  7758. */
  7759. -void list_sort(void *priv, struct list_head *head,
  7760. +void lbm_list_sort(void *priv, struct list_head *head,
  7761. int (*cmp)(void *priv, struct list_head *a,
  7762. struct list_head *b))
  7763. {
  7764. @@ -99,4 +99,4 @@
  7765. list->prev = head;
  7766. }
  7767.  
  7768. -EXPORT_SYMBOL(list_sort);
  7769. +EXPORT_SYMBOL(lbm_list_sort);
  7770. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Makefile linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Makefile
  7771. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Makefile 2010-01-25 15:21:29.000000000 -0500
  7772. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/Makefile 2010-02-03 17:11:08.000000000 -0500
  7773. @@ -2,9 +2,9 @@
  7774. # Makefile for the drm device driver. This driver provides support for the
  7775. # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
  7776.  
  7777. -ccflags-y := -Iinclude/drm
  7778. +ccflags-y := -I$(M)/nouveau/include/drm -I$(src)/include
  7779.  
  7780. -drm-y := drm_auth.o drm_bufs.o drm_cache.o \
  7781. +lbm_drm-y := list_sort.o drm_auth.o drm_bufs.o drm_cache.o \
  7782. drm_context.o drm_dma.o drm_drawable.o \
  7783. drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
  7784. drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \
  7785. @@ -13,24 +13,12 @@
  7786. drm_crtc.o drm_modes.o drm_edid.o \
  7787. drm_info.o drm_debugfs.o drm_encoder_slave.o
  7788.  
  7789. -drm-$(CONFIG_COMPAT) += drm_ioc32.o
  7790. +lbm_drm-$(CONFIG_COMPAT) += drm_ioc32.o
  7791.  
  7792. -drm_kms_helper-y := drm_fb_helper.o drm_crtc_helper.o drm_dp_i2c_helper.o
  7793. +lbm_drm_kms_helper-y := drm_fb_helper.o drm_crtc_helper.o drm_dp_i2c_helper.o
  7794.  
  7795. -obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
  7796. +obj-$(CONFIG_DRM_KMS_HELPER) += lbm_drm_kms_helper.o
  7797.  
  7798. -obj-$(CONFIG_DRM) += drm.o
  7799. +obj-$(CONFIG_DRM) += lbm_drm.o
  7800. obj-$(CONFIG_DRM_TTM) += ttm/
  7801. -obj-$(CONFIG_DRM_TDFX) += tdfx/
  7802. -obj-$(CONFIG_DRM_R128) += r128/
  7803. -obj-$(CONFIG_DRM_RADEON)+= radeon/
  7804. -obj-$(CONFIG_DRM_MGA) += mga/
  7805. -obj-$(CONFIG_DRM_I810) += i810/
  7806. -obj-$(CONFIG_DRM_I830) += i830/
  7807. -obj-$(CONFIG_DRM_I915) += i915/
  7808. -obj-$(CONFIG_DRM_SIS) += sis/
  7809. -obj-$(CONFIG_DRM_SAVAGE)+= savage/
  7810. -obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
  7811. -obj-$(CONFIG_DRM_VIA) +=via/
  7812. -obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
  7813. -obj-y += i2c/
  7814. +obj-m +=nouveau/
  7815. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/Makefile linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/Makefile
  7816. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/Makefile 2010-01-25 15:21:29.000000000 -0500
  7817. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/Makefile 2010-02-03 17:11:08.000000000 -0500
  7818. @@ -2,8 +2,8 @@
  7819. # Makefile for the drm device driver. This driver provides support for the
  7820. # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
  7821.  
  7822. -ccflags-y := -Iinclude/drm
  7823. -nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \
  7824. +ccflags-y := -I$(M)/nouveau/include/drm -I$(src)/include
  7825. +lbm_nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \
  7826. nouveau_object.o nouveau_irq.o nouveau_notifier.o \
  7827. nouveau_sgdma.o nouveau_dma.o \
  7828. nouveau_bo.o nouveau_fence.o nouveau_gem.o nouveau_ttm.o \
  7829. @@ -24,9 +24,9 @@
  7830. nv04_crtc.o nv04_display.o nv04_cursor.o nv04_fbcon.o \
  7831. nv17_gpio.o
  7832.  
  7833. -nouveau-$(CONFIG_DRM_NOUVEAU_DEBUG) += nouveau_debugfs.o
  7834. -nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
  7835. -nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
  7836. -nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
  7837. +lbm_nouveau-$(CONFIG_DRM_NOUVEAU_DEBUG) += nouveau_debugfs.o
  7838. +lbm_nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
  7839. +lbm_nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
  7840. +lbm_nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
  7841.  
  7842. -obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o
  7843. +obj-m+= lbm_nouveau.o
  7844. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bios.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bios.c
  7845. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bios.c 2010-01-25 15:21:29.000000000 -0500
  7846. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bios.c 2010-02-03 17:11:08.000000000 -0500
  7847. @@ -310,63 +310,22 @@
  7848. struct drm_device *dev = bios->dev;
  7849.  
  7850. /* C51 has misaligned regs on purpose. Marvellous */
  7851. - if (reg & 0x2 || (reg & 0x1 && dev_priv->VBIOS.pub.chip_version != 0x51)) {
  7852. - NV_ERROR(dev, "========== misaligned reg 0x%08X ==========\n",
  7853. - reg);
  7854. - return 0;
  7855. - }
  7856. - /*
  7857. - * Warn on C51 regs that have not been verified accessible in
  7858. - * mmiotracing
  7859. - */
  7860. + if (reg & 0x2 ||
  7861. + (reg & 0x1 && dev_priv->VBIOS.pub.chip_version != 0x51))
  7862. + NV_ERROR(dev, "======= misaligned reg 0x%08X =======\n", reg);
  7863. +
  7864. + /* warn on C51 regs that haven't been verified accessible in tracing */
  7865. if (reg & 0x1 && dev_priv->VBIOS.pub.chip_version == 0x51 &&
  7866. reg != 0x130d && reg != 0x1311 && reg != 0x60081d)
  7867. NV_WARN(dev, "=== C51 misaligned reg 0x%08X not verified ===\n",
  7868. reg);
  7869.  
  7870. - /* Trust the init scripts on G80 */
  7871. - if (dev_priv->card_type >= NV_50)
  7872. - return 1;
  7873. -
  7874. - #define WITHIN(x, y, z) ((x >= y) && (x < y + z))
  7875. - if (WITHIN(reg, NV_PMC_OFFSET, NV_PMC_SIZE))
  7876. - return 1;
  7877. - if (WITHIN(reg, NV_PBUS_OFFSET, NV_PBUS_SIZE))
  7878. - return 1;
  7879. - if (WITHIN(reg, NV_PFIFO_OFFSET, NV_PFIFO_SIZE))
  7880. - return 1;
  7881. - if (dev_priv->VBIOS.pub.chip_version >= 0x30 &&
  7882. - (WITHIN(reg, 0x4000, 0x600) || reg == 0x00004600))
  7883. - return 1;
  7884. - if (dev_priv->VBIOS.pub.chip_version >= 0x40 &&
  7885. - WITHIN(reg, 0xc000, 0x48))
  7886. - return 1;
  7887. - if (dev_priv->VBIOS.pub.chip_version >= 0x17 && reg == 0x0000d204)
  7888. - return 1;
  7889. - if (dev_priv->VBIOS.pub.chip_version >= 0x40) {
  7890. - if (reg == 0x00011014 || reg == 0x00020328)
  7891. - return 1;
  7892. - if (WITHIN(reg, 0x88000, NV_PBUS_SIZE)) /* new PBUS */
  7893. - return 1;
  7894. + if (reg >= (8*1024*1024)) {
  7895. + NV_ERROR(dev, "=== reg 0x%08x out of mapped bounds ===\n", reg);
  7896. + return 0;
  7897. }
  7898. - if (WITHIN(reg, NV_PFB_OFFSET, NV_PFB_SIZE))
  7899. - return 1;
  7900. - if (WITHIN(reg, NV_PEXTDEV_OFFSET, NV_PEXTDEV_SIZE))
  7901. - return 1;
  7902. - if (WITHIN(reg, NV_PCRTC0_OFFSET, NV_PCRTC0_SIZE * 2))
  7903. - return 1;
  7904. - if (WITHIN(reg, NV_PRAMDAC0_OFFSET, NV_PRAMDAC0_SIZE * 2))
  7905. - return 1;
  7906. - if (dev_priv->VBIOS.pub.chip_version >= 0x17 && reg == 0x0070fff0)
  7907. - return 1;
  7908. - if (dev_priv->VBIOS.pub.chip_version == 0x51 &&
  7909. - WITHIN(reg, NV_PRAMIN_OFFSET, NV_PRAMIN_SIZE))
  7910. - return 1;
  7911. - #undef WITHIN
  7912. -
  7913. - NV_ERROR(dev, "========== unknown reg 0x%08X ==========\n", reg);
  7914.  
  7915. - return 0;
  7916. + return 1;
  7917. }
  7918.  
  7919. static bool
  7920. @@ -3196,16 +3155,25 @@
  7921. }
  7922. #ifdef __powerpc__
  7923. /* Powerbook specific quirks */
  7924. - if (script == LVDS_RESET && ((dev->pci_device & 0xffff) == 0x0179 || (dev->pci_device & 0xffff) == 0x0329))
  7925. - nv_write_tmds(dev, dcbent->or, 0, 0x02, 0x72);
  7926. - if ((dev->pci_device & 0xffff) == 0x0179 || (dev->pci_device & 0xffff) == 0x0189 || (dev->pci_device & 0xffff) == 0x0329) {
  7927. - if (script == LVDS_PANEL_ON) {
  7928. - bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL, bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL) | (1 << 31));
  7929. - bios_wr32(bios, NV_PCRTC_GPIO_EXT, bios_rd32(bios, NV_PCRTC_GPIO_EXT) | 1);
  7930. - }
  7931. - if (script == LVDS_PANEL_OFF) {
  7932. - bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL, bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL) & ~(1 << 31));
  7933. - bios_wr32(bios, NV_PCRTC_GPIO_EXT, bios_rd32(bios, NV_PCRTC_GPIO_EXT) & ~3);
  7934. + if ((dev->pci_device & 0xffff) == 0x0179 ||
  7935. + (dev->pci_device & 0xffff) == 0x0189 ||
  7936. + (dev->pci_device & 0xffff) == 0x0329) {
  7937. + if (script == LVDS_RESET) {
  7938. + nv_write_tmds(dev, dcbent->or, 0, 0x02, 0x72);
  7939. +
  7940. + } else if (script == LVDS_PANEL_ON) {
  7941. + bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL,
  7942. + bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL)
  7943. + | (1 << 31));
  7944. + bios_wr32(bios, NV_PCRTC_GPIO_EXT,
  7945. + bios_rd32(bios, NV_PCRTC_GPIO_EXT) | 1);
  7946. +
  7947. + } else if (script == LVDS_PANEL_OFF) {
  7948. + bios_wr32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL,
  7949. + bios_rd32(bios, NV_PBUS_DEBUG_DUALHEAD_CTL)
  7950. + & ~(1 << 31));
  7951. + bios_wr32(bios, NV_PCRTC_GPIO_EXT,
  7952. + bios_rd32(bios, NV_PCRTC_GPIO_EXT) & ~3);
  7953. }
  7954. }
  7955. #endif
  7956. @@ -3562,7 +3530,7 @@
  7957.  
  7958. mode->status = MODE_OK;
  7959. mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
  7960. - drm_mode_set_name(mode);
  7961. + lbm_drm_mode_set_name(mode);
  7962. return bios->fp.mode_ptr;
  7963. }
  7964.  
  7965. @@ -5434,52 +5402,49 @@
  7966. parse_dcb15_entry(struct drm_device *dev, struct parsed_dcb *dcb,
  7967. uint32_t conn, uint32_t conf, struct dcb_entry *entry)
  7968. {
  7969. - if (conn != 0xf0003f00 && conn != 0xf2247f10 && conn != 0xf2204001 &&
  7970. - conn != 0xf2204301 && conn != 0xf2204311 && conn != 0xf2208001 &&
  7971. - conn != 0xf2244001 && conn != 0xf2244301 && conn != 0xf2244311 &&
  7972. - conn != 0xf4204011 && conn != 0xf4208011 && conn != 0xf4248011 &&
  7973. - conn != 0xf2045ff2 && conn != 0xf2045f14 && conn != 0xf207df14 &&
  7974. - conn != 0xf2205004 && conn != 0xf2209004) {
  7975. - NV_ERROR(dev, "Unknown DCB 1.5 entry, please report\n");
  7976. -
  7977. - /* cause output setting to fail for !TV, so message is seen */
  7978. - if ((conn & 0xf) != 0x1)
  7979. - dcb->entries = 0;
  7980. -
  7981. - return false;
  7982. - }
  7983. - /* most of the below is a "best guess" atm */
  7984. - entry->type = conn & 0xf;
  7985. - if (entry->type == 2)
  7986. - /* another way of specifying straps based lvds... */
  7987. + switch (conn & 0x0000000f) {
  7988. + case 0:
  7989. + entry->type = OUTPUT_ANALOG;
  7990. + break;
  7991. + case 1:
  7992. + entry->type = OUTPUT_TV;
  7993. + break;
  7994. + case 2:
  7995. + case 3:
  7996. entry->type = OUTPUT_LVDS;
  7997. - if (entry->type == 4) { /* digital */
  7998. - if (conn & 0x10)
  7999. - entry->type = OUTPUT_LVDS;
  8000. - else
  8001. + break;
  8002. + case 4:
  8003. + switch ((conn & 0x000000f0) >> 4) {
  8004. + case 0:
  8005. entry->type = OUTPUT_TMDS;
  8006. + break;
  8007. + case 1:
  8008. + entry->type = OUTPUT_LVDS;
  8009. + break;
  8010. + default:
  8011. + NV_ERROR(dev, "Unknown DCB subtype 4/%d\n",
  8012. + (conn & 0x000000f0) >> 4);
  8013. + return false;
  8014. + }
  8015. + break;
  8016. + default:
  8017. + NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f);
  8018. + return false;
  8019. }
  8020. - /* what's in bits 5-13? could be some encoder maker thing, in tv case */
  8021. - entry->i2c_index = (conn >> 14) & 0xf;
  8022. - /* raw heads field is in range 0-1, so move to 1-2 */
  8023. - entry->heads = ((conn >> 18) & 0x7) + 1;
  8024. - entry->location = (conn >> 21) & 0xf;
  8025. - /* unused: entry->bus = (conn >> 25) & 0x7; */
  8026. - /* set or to be same as heads -- hopefully safe enough */
  8027. - entry->or = entry->heads;
  8028. +
  8029. + entry->i2c_index = (conn & 0x0003c000) >> 14;
  8030. + entry->heads = ((conn & 0x001c0000) >> 18) + 1;
  8031. + entry->or = entry->heads; /* same as heads, hopefully safe enough */
  8032. + entry->location = (conn & 0x01e00000) >> 21;
  8033. + entry->bus = (conn & 0x0e000000) >> 25;
  8034. entry->duallink_possible = false;
  8035.  
  8036. switch (entry->type) {
  8037. case OUTPUT_ANALOG:
  8038. entry->crtconf.maxfreq = (conf & 0xffff) * 10;
  8039. break;
  8040. - case OUTPUT_LVDS:
  8041. - /*
  8042. - * This is probably buried in conn's unknown bits.
  8043. - * This will upset EDID-ful models, if they exist
  8044. - */
  8045. - entry->lvdsconf.use_straps_for_mode = true;
  8046. - entry->lvdsconf.use_power_scripts = true;
  8047. + case OUTPUT_TV:
  8048. + entry->tvconf.has_component_output = false;
  8049. break;
  8050. case OUTPUT_TMDS:
  8051. /*
  8052. @@ -5488,8 +5453,12 @@
  8053. */
  8054. fabricate_vga_output(dcb, entry->i2c_index, entry->heads);
  8055. break;
  8056. - case OUTPUT_TV:
  8057. - entry->tvconf.has_component_output = false;
  8058. + case OUTPUT_LVDS:
  8059. + if ((conn & 0x00003f00) != 0x10)
  8060. + entry->lvdsconf.use_straps_for_mode = true;
  8061. + entry->lvdsconf.use_power_scripts = true;
  8062. + break;
  8063. + default:
  8064. break;
  8065. }
  8066.  
  8067. @@ -5564,11 +5533,13 @@
  8068. dcb->entries = newentries;
  8069. }
  8070.  
  8071. -static int parse_dcb_table(struct drm_device *dev, struct nvbios *bios, bool twoHeads)
  8072. +static int
  8073. +parse_dcb_table(struct drm_device *dev, struct nvbios *bios, bool twoHeads)
  8074. {
  8075. + struct drm_nouveau_private *dev_priv = dev->dev_private;
  8076. struct bios_parsed_dcb *bdcb = &bios->bdcb;
  8077. struct parsed_dcb *dcb;
  8078. - uint16_t dcbptr, i2ctabptr = 0;
  8079. + uint16_t dcbptr = 0, i2ctabptr = 0;
  8080. uint8_t *dcbtable;
  8081. uint8_t headerlen = 0x4, entries = DCB_MAX_NUM_ENTRIES;
  8082. bool configblock = true;
  8083. @@ -5579,16 +5550,18 @@
  8084. dcb->entries = 0;
  8085.  
  8086. /* get the offset from 0x36 */
  8087. - dcbptr = ROM16(bios->data[0x36]);
  8088. + if (dev_priv->card_type > NV_04) {
  8089. + dcbptr = ROM16(bios->data[0x36]);
  8090. + if (dcbptr == 0x0000)
  8091. + NV_WARN(dev, "No output data (DCB) found in BIOS\n");
  8092. + }
  8093.  
  8094. + /* this situation likely means a really old card, pre DCB */
  8095. if (dcbptr == 0x0) {
  8096. - NV_WARN(dev, "No output data (DCB) found in BIOS, "
  8097. - "assuming a CRT output exists\n");
  8098. - /* this situation likely means a really old card, pre DCB */
  8099. + NV_INFO(dev, "Assuming a CRT output exists\n");
  8100. fabricate_vga_output(dcb, LEGACY_I2C_CRT, 1);
  8101.  
  8102. - if (nv04_tv_identify(dev,
  8103. - bios->legacy.i2c_indices.tv) >= 0)
  8104. + if (nv04_tv_identify(dev, bios->legacy.i2c_indices.tv) >= 0)
  8105. fabricate_tv_output(dcb, twoHeads);
  8106.  
  8107. return 0;
  8108. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bo.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bo.c
  8109. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bo.c 2010-01-25 15:21:29.000000000 -0500
  8110. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_bo.c 2010-02-03 17:11:09.000000000 -0500
  8111. @@ -42,7 +42,7 @@
  8112. struct drm_device *dev = dev_priv->dev;
  8113. struct nouveau_bo *nvbo = nouveau_bo(bo);
  8114.  
  8115. - ttm_bo_kunmap(&nvbo->kmap);
  8116. + lbm_ttm_bo_kunmap(&nvbo->kmap);
  8117.  
  8118. if (unlikely(nvbo->gem))
  8119. DRM_ERROR("bo %p still attached to GEM object\n", bo);
  8120. @@ -156,7 +156,7 @@
  8121. nouveau_bo_placement_set(nvbo, flags);
  8122.  
  8123. nvbo->channel = chan;
  8124. - ret = ttm_bo_init(&dev_priv->ttm.bdev, &nvbo->bo, size,
  8125. + ret = lbm_ttm_bo_init(&dev_priv->ttm.bdev, &nvbo->bo, size,
  8126. ttm_bo_type_device, &nvbo->placement, align, 0,
  8127. false, NULL, size, nouveau_bo_del_ttm);
  8128. nvbo->channel = NULL;
  8129. @@ -211,7 +211,7 @@
  8130. if (nvbo->pin_refcnt++)
  8131. return 0;
  8132.  
  8133. - ret = ttm_bo_reserve(bo, false, false, false, 0);
  8134. + ret = lbm_ttm_bo_reserve(bo, false, false, false, 0);
  8135. if (ret)
  8136. goto out;
  8137.  
  8138. @@ -219,7 +219,7 @@
  8139. for (i = 0; i < nvbo->placement.num_placement; i++)
  8140. nvbo->placements[i] |= TTM_PL_FLAG_NO_EVICT;
  8141.  
  8142. - ret = ttm_bo_validate(bo, &nvbo->placement, false, false);
  8143. + ret = lbm_ttm_bo_validate(bo, &nvbo->placement, false, false);
  8144. if (ret == 0) {
  8145. switch (bo->mem.mem_type) {
  8146. case TTM_PL_VRAM:
  8147. @@ -232,7 +232,7 @@
  8148. break;
  8149. }
  8150. }
  8151. - ttm_bo_unreserve(bo);
  8152. + lbm_ttm_bo_unreserve(bo);
  8153. out:
  8154. if (unlikely(ret))
  8155. nvbo->pin_refcnt--;
  8156. @@ -249,14 +249,14 @@
  8157. if (--nvbo->pin_refcnt)
  8158. return 0;
  8159.  
  8160. - ret = ttm_bo_reserve(bo, false, false, false, 0);
  8161. + ret = lbm_ttm_bo_reserve(bo, false, false, false, 0);
  8162. if (ret)
  8163. return ret;
  8164.  
  8165. for (i = 0; i < nvbo->placement.num_placement; i++)
  8166. nvbo->placements[i] &= ~TTM_PL_FLAG_NO_EVICT;
  8167.  
  8168. - ret = ttm_bo_validate(bo, &nvbo->placement, false, false);
  8169. + ret = lbm_ttm_bo_validate(bo, &nvbo->placement, false, false);
  8170. if (ret == 0) {
  8171. switch (bo->mem.mem_type) {
  8172. case TTM_PL_VRAM:
  8173. @@ -270,7 +270,7 @@
  8174. }
  8175. }
  8176.  
  8177. - ttm_bo_unreserve(bo);
  8178. + lbm_ttm_bo_unreserve(bo);
  8179. return ret;
  8180. }
  8181.  
  8182. @@ -279,19 +279,19 @@
  8183. {
  8184. int ret;
  8185.  
  8186. - ret = ttm_bo_reserve(&nvbo->bo, false, false, false, 0);
  8187. + ret = lbm_ttm_bo_reserve(&nvbo->bo, false, false, false, 0);
  8188. if (ret)
  8189. return ret;
  8190.  
  8191. - ret = ttm_bo_kmap(&nvbo->bo, 0, nvbo->bo.mem.num_pages, &nvbo->kmap);
  8192. - ttm_bo_unreserve(&nvbo->bo);
  8193. + ret = lbm_ttm_bo_kmap(&nvbo->bo, 0, nvbo->bo.mem.num_pages, &nvbo->kmap);
  8194. + lbm_ttm_bo_unreserve(&nvbo->bo);
  8195. return ret;
  8196. }
  8197.  
  8198. void
  8199. nouveau_bo_unmap(struct nouveau_bo *nvbo)
  8200. {
  8201. - ttm_bo_kunmap(&nvbo->kmap);
  8202. + lbm_ttm_bo_kunmap(&nvbo->kmap);
  8203. }
  8204.  
  8205. u16
  8206. @@ -351,7 +351,7 @@
  8207. switch (dev_priv->gart_info.type) {
  8208. #if __OS_HAS_AGP
  8209. case NOUVEAU_GART_AGP:
  8210. - return ttm_agp_backend_init(bdev, dev->agp->bridge);
  8211. + return lbm_ttm_agp_backend_init(bdev, dev->agp->bridge);
  8212. #endif
  8213. case NOUVEAU_GART_SGDMA:
  8214. return nouveau_sgdma_init_ttm(dev);
  8215. @@ -393,8 +393,8 @@
  8216. man->default_caching = TTM_PL_FLAG_WC;
  8217.  
  8218. man->io_addr = NULL;
  8219. - man->io_offset = drm_get_resource_start(dev, 1);
  8220. - man->io_size = drm_get_resource_len(dev, 1);
  8221. + man->io_offset = lbm_drm_get_resource_start(dev, 1);
  8222. + man->io_size = lbm_drm_get_resource_len(dev, 1);
  8223. if (man->io_size > nouveau_mem_fb_amount(dev))
  8224. man->io_size = nouveau_mem_fb_amount(dev);
  8225.  
  8226. @@ -467,8 +467,10 @@
  8227. if (ret)
  8228. return ret;
  8229.  
  8230. - ret = ttm_bo_move_accel_cleanup(&nvbo->bo, fence, NULL,
  8231. + ret = lbm_ttm_bo_move_accel_cleanup(&nvbo->bo, fence, NULL,
  8232. evict, no_wait, new_mem);
  8233. + if (nvbo->channel && nvbo->channel != chan)
  8234. + ret = nouveau_fence_wait(fence, NULL, false, false);
  8235. nouveau_fence_unref((void *)&fence);
  8236. return ret;
  8237. }
  8238. @@ -586,11 +588,11 @@
  8239.  
  8240. tmp_mem = *new_mem;
  8241. tmp_mem.mm_node = NULL;
  8242. - ret = ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait);
  8243. + ret = lbm_ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait);
  8244. if (ret)
  8245. return ret;
  8246.  
  8247. - ret = ttm_tt_bind(bo->ttm, &tmp_mem);
  8248. + ret = lbm_ttm_tt_bind(bo->ttm, &tmp_mem);
  8249. if (ret)
  8250. goto out;
  8251.  
  8252. @@ -598,11 +600,11 @@
  8253. if (ret)
  8254. goto out;
  8255.  
  8256. - ret = ttm_bo_move_ttm(bo, evict, no_wait, new_mem);
  8257. + ret = lbm_ttm_bo_move_ttm(bo, evict, no_wait, new_mem);
  8258. out:
  8259. if (tmp_mem.mm_node) {
  8260. spin_lock(&bo->bdev->glob->lru_lock);
  8261. - drm_mm_put_block(tmp_mem.mm_node);
  8262. + lbm_drm_mm_put_block(tmp_mem.mm_node);
  8263. spin_unlock(&bo->bdev->glob->lru_lock);
  8264. }
  8265.  
  8266. @@ -624,11 +626,11 @@
  8267.  
  8268. tmp_mem = *new_mem;
  8269. tmp_mem.mm_node = NULL;
  8270. - ret = ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait);
  8271. + ret = lbm_ttm_bo_mem_space(bo, &placement, &tmp_mem, intr, no_wait);
  8272. if (ret)
  8273. return ret;
  8274.  
  8275. - ret = ttm_bo_move_ttm(bo, evict, no_wait, &tmp_mem);
  8276. + ret = lbm_ttm_bo_move_ttm(bo, evict, no_wait, &tmp_mem);
  8277. if (ret)
  8278. goto out;
  8279.  
  8280. @@ -639,7 +641,7 @@
  8281. out:
  8282. if (tmp_mem.mm_node) {
  8283. spin_lock(&bo->bdev->glob->lru_lock);
  8284. - drm_mm_put_block(tmp_mem.mm_node);
  8285. + lbm_drm_mm_put_block(tmp_mem.mm_node);
  8286. spin_unlock(&bo->bdev->glob->lru_lock);
  8287. }
  8288.  
  8289. @@ -714,7 +716,7 @@
  8290. /* Software copy if the card isn't up and running yet. */
  8291. if (dev_priv->init_state != NOUVEAU_CARD_INIT_DONE ||
  8292. !dev_priv->channel) {
  8293. - ret = ttm_bo_move_memcpy(bo, evict, no_wait, new_mem);
  8294. + ret = lbm_ttm_bo_move_memcpy(bo, evict, no_wait, new_mem);
  8295. goto out;
  8296. }
  8297.  
  8298. @@ -738,7 +740,7 @@
  8299. goto out;
  8300.  
  8301. /* Fallback to software copy. */
  8302. - ret = ttm_bo_move_memcpy(bo, evict, no_wait, new_mem);
  8303. + ret = lbm_ttm_bo_move_memcpy(bo, evict, no_wait, new_mem);
  8304.  
  8305. out:
  8306. if (ret)
  8307. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_channel.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_channel.c
  8308. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_channel.c 2010-01-25 15:21:29.000000000 -0500
  8309. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_channel.c 2010-02-03 17:11:09.000000000 -0500
  8310. @@ -57,7 +57,7 @@
  8311. * VRAM.
  8312. */
  8313. ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY,
  8314. - drm_get_resource_start(dev, 1),
  8315. + lbm_drm_get_resource_start(dev, 1),
  8316. dev_priv->fb_available_size,
  8317. NV_DMA_ACCESS_RO,
  8318. NV_DMA_TARGET_PCI, &pushbuf);
  8319. @@ -380,7 +380,7 @@
  8320. init->nr_subchan = 2;
  8321.  
  8322. /* Named memory object area */
  8323. - ret = drm_gem_handle_create(file_priv, chan->notifier_bo->gem,
  8324. + ret = lbm_drm_gem_handle_create(file_priv, chan->notifier_bo->gem,
  8325. &init->notifier_handle);
  8326. if (ret) {
  8327. nouveau_channel_free(chan);
  8328. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_connector.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_connector.c
  8329. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_connector.c 2010-01-25 15:21:29.000000000 -0500
  8330. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_connector.c 2010-02-03 17:11:09.000000000 -0500
  8331. @@ -24,9 +24,12 @@
  8332. *
  8333. */
  8334.  
  8335. +#include <acpi/button.h>
  8336. +
  8337. #include "drmP.h"
  8338. #include "drm_edid.h"
  8339. #include "drm_crtc_helper.h"
  8340. +
  8341. #include "nouveau_reg.h"
  8342. #include "nouveau_drv.h"
  8343. #include "nouveau_encoder.h"
  8344. @@ -53,7 +56,7 @@
  8345. if (!id)
  8346. break;
  8347.  
  8348. - obj = drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER);
  8349. + obj = lbm_drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER);
  8350. if (!obj)
  8351. continue;
  8352. nv_encoder = nouveau_encoder(obj_to_encoder(obj));
  8353. @@ -83,16 +86,18 @@
  8354. static void
  8355. nouveau_connector_destroy(struct drm_connector *drm_connector)
  8356. {
  8357. - struct nouveau_connector *connector = nouveau_connector(drm_connector);
  8358. - struct drm_device *dev = connector->base.dev;
  8359. + struct nouveau_connector *nv_connector =
  8360. + nouveau_connector(drm_connector);
  8361. + struct drm_device *dev = nv_connector->base.dev;
  8362.  
  8363. NV_DEBUG_KMS(dev, "\n");
  8364.  
  8365. - if (!connector)
  8366. + if (!nv_connector)
  8367. return;
  8368.  
  8369. - drm_sysfs_connector_remove(drm_connector);
  8370. - drm_connector_cleanup(drm_connector);
  8371. + kfree(nv_connector->edid);
  8372. + lbm_drm_sysfs_connector_remove(drm_connector);
  8373. + lbm_drm_connector_cleanup(drm_connector);
  8374. kfree(drm_connector);
  8375. }
  8376.  
  8377. @@ -161,7 +166,7 @@
  8378. if (!id)
  8379. break;
  8380.  
  8381. - obj = drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER);
  8382. + obj = lbm_drm_mode_object_find(dev, id, DRM_MODE_OBJECT_ENCODER);
  8383. if (!obj)
  8384. continue;
  8385. nv_encoder = nouveau_encoder(obj_to_encoder(obj));
  8386. @@ -213,7 +218,7 @@
  8387. }
  8388.  
  8389. if (connector->connector_type == DRM_MODE_CONNECTOR_DVII) {
  8390. - drm_connector_property_set_value(connector,
  8391. + lbm_drm_connector_property_set_value(connector,
  8392. dev->mode_config.dvi_i_subconnector_property,
  8393. nv_encoder->dcb->type == OUTPUT_TMDS ?
  8394. DRM_MODE_SUBCONNECTOR_DVID :
  8395. @@ -233,27 +238,38 @@
  8396. if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
  8397. nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS);
  8398. if (nv_encoder && nv_connector->native_mode) {
  8399. +#ifdef CONFIG_ACPI
  8400. + if (!nouveau_ignorelid && !acpi_lid_open())
  8401. + return connector_status_disconnected;
  8402. +#endif
  8403. nouveau_connector_set_encoder(connector, nv_encoder);
  8404. return connector_status_connected;
  8405. }
  8406.  
  8407. + /* Cleanup the previous EDID block. */
  8408. + if (nv_connector->edid) {
  8409. + lbm_drm_mode_connector_update_edid_property(connector, NULL);
  8410. + kfree(nv_connector->edid);
  8411. + nv_connector->edid = NULL;
  8412. + }
  8413. +
  8414. i2c = nouveau_connector_ddc_detect(connector, &nv_encoder);
  8415. if (i2c) {
  8416. nouveau_connector_ddc_prepare(connector, &flags);
  8417. - nv_connector->edid = drm_get_edid(connector, &i2c->adapter);
  8418. + nv_connector->edid = lbm_drm_get_edid(connector, &i2c->adapter);
  8419. nouveau_connector_ddc_finish(connector, flags);
  8420. - drm_mode_connector_update_edid_property(connector,
  8421. + lbm_drm_mode_connector_update_edid_property(connector,
  8422. nv_connector->edid);
  8423. if (!nv_connector->edid) {
  8424. NV_ERROR(dev, "DDC responded, but no EDID for %s\n",
  8425. - drm_get_connector_name(connector));
  8426. - return connector_status_disconnected;
  8427. + lbm_drm_get_connector_name(connector));
  8428. + goto detect_analog;
  8429. }
  8430.  
  8431. if (nv_encoder->dcb->type == OUTPUT_DP &&
  8432. !nouveau_dp_detect(to_drm_encoder(nv_encoder))) {
  8433. NV_ERROR(dev, "Detected %s, but failed init\n",
  8434. - drm_get_connector_name(connector));
  8435. + lbm_drm_get_connector_name(connector));
  8436. return connector_status_disconnected;
  8437. }
  8438.  
  8439. @@ -272,7 +288,7 @@
  8440. if (!nv_encoder) {
  8441. NV_ERROR(dev, "Detected %d encoder on %s, "
  8442. "but no object!\n", type,
  8443. - drm_get_connector_name(connector));
  8444. + lbm_drm_get_connector_name(connector));
  8445. return connector_status_disconnected;
  8446. }
  8447. }
  8448. @@ -281,6 +297,7 @@
  8449. return connector_status_connected;
  8450. }
  8451.  
  8452. +detect_analog:
  8453. nv_encoder = find_encoder_by_type(connector, OUTPUT_ANALOG);
  8454. if (!nv_encoder)
  8455. nv_encoder = find_encoder_by_type(connector, OUTPUT_TV);
  8456. @@ -318,7 +335,7 @@
  8457. nv_encoder = find_encoder_by_type(connector, type);
  8458. if (!nv_encoder) {
  8459. NV_ERROR(dev, "can't find encoder to force %s on!\n",
  8460. - drm_get_connector_name(connector));
  8461. + lbm_drm_get_connector_name(connector));
  8462. connector->status = connector_status_disconnected;
  8463. return;
  8464. }
  8465. @@ -369,7 +386,7 @@
  8466. return 0;
  8467.  
  8468. if (modeset || !nv_crtc->set_scale) {
  8469. - ret = drm_crtc_helper_set_mode(&nv_crtc->base,
  8470. + ret = lbm_drm_crtc_helper_set_mode(&nv_crtc->base,
  8471. &nv_crtc->base.mode,
  8472. nv_crtc->base.x,
  8473. nv_crtc->base.y, NULL);
  8474. @@ -421,7 +438,7 @@
  8475. list_for_each_entry(mode, &connector->base.probed_modes, head) {
  8476. if (mode->type & DRM_MODE_TYPE_PREFERRED) {
  8477. NV_DEBUG_KMS(dev, "native mode from preferred\n");
  8478. - return drm_mode_duplicate(dev, mode);
  8479. + return lbm_drm_mode_duplicate(dev, mode);
  8480. }
  8481. }
  8482.  
  8483. @@ -447,7 +464,7 @@
  8484.  
  8485. NV_DEBUG_KMS(dev, "native mode from largest: %dx%d@%d\n",
  8486. high_w, high_h, high_v);
  8487. - return largest ? drm_mode_duplicate(dev, largest) : NULL;
  8488. + return largest ? lbm_drm_mode_duplicate(dev, largest) : NULL;
  8489. }
  8490.  
  8491. struct moderec {
  8492. @@ -488,15 +505,15 @@
  8493. while (mode->hdisplay) {
  8494. if (mode->hdisplay <= native->hdisplay &&
  8495. mode->vdisplay <= native->vdisplay) {
  8496. - m = drm_cvt_mode(dev, mode->hdisplay, mode->vdisplay,
  8497. - drm_mode_vrefresh(native), false,
  8498. + m = lbm_drm_cvt_mode(dev, mode->hdisplay, mode->vdisplay,
  8499. + lbm_drm_mode_vrefresh(native), false,
  8500. false, false);
  8501. if (!m)
  8502. continue;
  8503.  
  8504. m->type |= DRM_MODE_TYPE_DRIVER;
  8505.  
  8506. - drm_mode_probed_add(connector, m);
  8507. + lbm_drm_mode_probed_add(connector, m);
  8508. modes++;
  8509. }
  8510.  
  8511. @@ -519,12 +536,12 @@
  8512. */
  8513. if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS &&
  8514. nv_connector->native_mode) {
  8515. - drm_mode_destroy(dev, nv_connector->native_mode);
  8516. + lbm_drm_mode_destroy(dev, nv_connector->native_mode);
  8517. nv_connector->native_mode = NULL;
  8518. }
  8519.  
  8520. if (nv_connector->edid)
  8521. - ret = drm_add_edid_modes(connector, nv_connector->edid);
  8522. + ret = lbm_drm_add_edid_modes(connector, nv_connector->edid);
  8523.  
  8524. /* Find the native mode if this is a digital panel, if we didn't
  8525. * find any modes through DDC previously add the native mode to
  8526. @@ -536,8 +553,8 @@
  8527. if (ret == 0 && nv_connector->native_mode) {
  8528. struct drm_display_mode *mode;
  8529.  
  8530. - mode = drm_mode_duplicate(dev, nv_connector->native_mode);
  8531. - drm_mode_probed_add(connector, mode);
  8532. + mode = lbm_drm_mode_duplicate(dev, nv_connector->native_mode);
  8533. + lbm_drm_mode_probed_add(connector, mode);
  8534. ret = 1;
  8535. }
  8536.  
  8537. @@ -626,12 +643,12 @@
  8538.  
  8539. static const struct drm_connector_funcs
  8540. nouveau_connector_funcs = {
  8541. - .dpms = drm_helper_connector_dpms,
  8542. + .dpms = lbm_drm_helper_connector_dpms,
  8543. .save = NULL,
  8544. .restore = NULL,
  8545. .detect = nouveau_connector_detect,
  8546. .destroy = nouveau_connector_destroy,
  8547. - .fill_modes = drm_helper_probe_single_connector_modes,
  8548. + .fill_modes = lbm_drm_helper_probe_single_connector_modes,
  8549. .set_property = nouveau_connector_set_property,
  8550. .force = nouveau_connector_force
  8551. };
  8552. @@ -667,7 +684,7 @@
  8553.  
  8554. if (i2c) {
  8555. nouveau_connector_ddc_prepare(connector, &flags);
  8556. - nv_connector->edid = drm_get_edid(connector, &i2c->adapter);
  8557. + nv_connector->edid = lbm_drm_get_edid(connector, &i2c->adapter);
  8558. nouveau_connector_ddc_finish(connector, flags);
  8559. }
  8560.  
  8561. @@ -678,7 +695,7 @@
  8562. if (!nv_connector->edid && nouveau_bios_fp_mode(dev, &native) &&
  8563. (nv_encoder->dcb->lvdsconf.use_straps_for_mode ||
  8564. dev_priv->VBIOS.pub.fp_no_ddc)) {
  8565. - nv_connector->native_mode = drm_mode_duplicate(dev, &native);
  8566. + nv_connector->native_mode = lbm_drm_mode_duplicate(dev, &native);
  8567. goto out;
  8568. }
  8569.  
  8570. @@ -687,8 +704,12 @@
  8571. */
  8572. if (!nv_connector->edid && !nv_connector->native_mode &&
  8573. !dev_priv->VBIOS.pub.fp_no_ddc) {
  8574. - nv_connector->edid =
  8575. + struct edid *edid =
  8576. (struct edid *)nouveau_bios_embedded_edid(dev);
  8577. + if (edid) {
  8578. + nv_connector->edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
  8579. + *(nv_connector->edid) = *edid;
  8580. + }
  8581. }
  8582.  
  8583. if (!nv_connector->edid)
  8584. @@ -697,13 +718,13 @@
  8585. /* We didn't find/use a panel mode from the VBIOS, so parse the EDID
  8586. * block and look for the preferred mode there.
  8587. */
  8588. - ret = drm_add_edid_modes(connector, nv_connector->edid);
  8589. + ret = lbm_drm_add_edid_modes(connector, nv_connector->edid);
  8590. if (ret == 0)
  8591. goto out;
  8592. nv_connector->detected_encoder = nv_encoder;
  8593. nv_connector->native_mode = nouveau_connector_native_mode(nv_connector);
  8594. list_for_each_entry_safe(mode, temp, &connector->probed_modes, head)
  8595. - drm_mode_remove(connector, mode);
  8596. + lbm_drm_mode_remove(connector, mode);
  8597.  
  8598. out:
  8599. if (!nv_connector->native_mode) {
  8600. @@ -712,7 +733,7 @@
  8601. return -ENODEV;
  8602. }
  8603.  
  8604. - drm_mode_connector_update_edid_property(connector, nv_connector->edid);
  8605. + lbm_drm_mode_connector_update_edid_property(connector, nv_connector->edid);
  8606. return 0;
  8607. }
  8608.  
  8609. @@ -761,14 +782,14 @@
  8610. connector->interlace_allowed = false;
  8611. connector->doublescan_allowed = false;
  8612.  
  8613. - drm_connector_init(dev, connector, &nouveau_connector_funcs, type);
  8614. + lbm_drm_connector_init(dev, connector, &nouveau_connector_funcs, type);
  8615. drm_connector_helper_add(connector, &nouveau_connector_helper_funcs);
  8616.  
  8617. /* Init DVI-I specific properties */
  8618. if (type == DRM_MODE_CONNECTOR_DVII) {
  8619. - drm_mode_create_dvi_i_properties(dev);
  8620. - drm_connector_attach_property(connector, dev->mode_config.dvi_i_subconnector_property, 0);
  8621. - drm_connector_attach_property(connector, dev->mode_config.dvi_i_select_subconnector_property, 0);
  8622. + lbm_drm_mode_create_dvi_i_properties(dev);
  8623. + lbm_drm_connector_attach_property(connector, dev->mode_config.dvi_i_subconnector_property, 0);
  8624. + lbm_drm_connector_attach_property(connector, dev->mode_config.dvi_i_select_subconnector_property, 0);
  8625. }
  8626.  
  8627. if (type != DRM_MODE_CONNECTOR_LVDS)
  8628. @@ -780,9 +801,9 @@
  8629. type == DRM_MODE_CONNECTOR_DisplayPort) {
  8630. nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN;
  8631.  
  8632. - drm_connector_attach_property(connector, dev->mode_config.scaling_mode_property,
  8633. + lbm_drm_connector_attach_property(connector, dev->mode_config.scaling_mode_property,
  8634. nv_connector->scaling_mode);
  8635. - drm_connector_attach_property(connector, dev->mode_config.dithering_mode_property,
  8636. + lbm_drm_connector_attach_property(connector, dev->mode_config.dithering_mode_property,
  8637. nv_connector->use_dithering ? DRM_MODE_DITHERING_ON
  8638. : DRM_MODE_DITHERING_OFF);
  8639.  
  8640. @@ -791,7 +812,7 @@
  8641.  
  8642. if (type == DRM_MODE_CONNECTOR_VGA &&
  8643. dev_priv->card_type >= NV_50) {
  8644. - drm_connector_attach_property(connector,
  8645. + lbm_drm_connector_attach_property(connector,
  8646. dev->mode_config.scaling_mode_property,
  8647. nv_connector->scaling_mode);
  8648. }
  8649. @@ -807,10 +828,10 @@
  8650. if (get_slave_funcs(nv_encoder))
  8651. get_slave_funcs(nv_encoder)->create_resources(encoder, connector);
  8652.  
  8653. - drm_mode_connector_attach_encoder(connector, encoder);
  8654. + lbm_drm_mode_connector_attach_encoder(connector, encoder);
  8655. }
  8656.  
  8657. - drm_sysfs_connector_add(connector);
  8658. + lbm_drm_sysfs_connector_add(connector);
  8659.  
  8660. if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) {
  8661. ret = nouveau_connector_create_lvds(dev, connector);
  8662. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_debugfs.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_debugfs.c
  8663. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_debugfs.c 2010-01-25 15:21:29.000000000 -0500
  8664. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_debugfs.c 2010-02-03 17:11:09.000000000 -0500
  8665. @@ -79,7 +79,7 @@
  8666. chan->debugfs.info.driver_features = 0;
  8667. chan->debugfs.info.data = chan;
  8668.  
  8669. - ret = drm_debugfs_create_files(&chan->debugfs.info, 1,
  8670. + ret = lbm_drm_debugfs_create_files(&chan->debugfs.info, 1,
  8671. dev_priv->debugfs.channel_root,
  8672. chan->dev->primary);
  8673. if (ret == 0)
  8674. @@ -95,7 +95,7 @@
  8675. if (!chan->debugfs.active)
  8676. return;
  8677.  
  8678. - drm_debugfs_remove_files(&chan->debugfs.info, 1, chan->dev->primary);
  8679. + lbm_drm_debugfs_remove_files(&chan->debugfs.info, 1, chan->dev->primary);
  8680. chan->debugfs.active = false;
  8681.  
  8682. if (chan == dev_priv->channel) {
  8683. @@ -142,7 +142,7 @@
  8684. int
  8685. nouveau_debugfs_init(struct drm_minor *minor)
  8686. {
  8687. - drm_debugfs_create_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES,
  8688. + lbm_drm_debugfs_create_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES,
  8689. minor->debugfs_root, minor);
  8690. return 0;
  8691. }
  8692. @@ -150,6 +150,6 @@
  8693. void
  8694. nouveau_debugfs_takedown(struct drm_minor *minor)
  8695. {
  8696. - drm_debugfs_remove_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES,
  8697. + lbm_drm_debugfs_remove_files(nouveau_debugfs_list, NOUVEAU_DEBUGFS_ENTRIES,
  8698. minor);
  8699. }
  8700. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_display.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_display.c
  8701. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_display.c 2010-01-25 15:21:29.000000000 -0500
  8702. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_display.c 2010-02-03 17:11:09.000000000 -0500
  8703. @@ -45,7 +45,7 @@
  8704. mutex_unlock(&dev->struct_mutex);
  8705. }
  8706.  
  8707. - drm_framebuffer_cleanup(drm_fb);
  8708. + lbm_drm_framebuffer_cleanup(drm_fb);
  8709. kfree(fb);
  8710. }
  8711.  
  8712. @@ -56,7 +56,7 @@
  8713. {
  8714. struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb);
  8715.  
  8716. - return drm_gem_handle_create(file_priv, fb->nvbo->gem, handle);
  8717. + return lbm_drm_gem_handle_create(file_priv, fb->nvbo->gem, handle);
  8718. }
  8719.  
  8720. static const struct drm_framebuffer_funcs nouveau_framebuffer_funcs = {
  8721. @@ -75,13 +75,13 @@
  8722. if (!fb)
  8723. return NULL;
  8724.  
  8725. - ret = drm_framebuffer_init(dev, &fb->base, &nouveau_framebuffer_funcs);
  8726. + ret = lbm_drm_framebuffer_init(dev, &fb->base, &nouveau_framebuffer_funcs);
  8727. if (ret) {
  8728. kfree(fb);
  8729. return NULL;
  8730. }
  8731.  
  8732. - drm_helper_mode_fill_fb_struct(&fb->base, mode_cmd);
  8733. + lbm_drm_helper_mode_fill_fb_struct(&fb->base, mode_cmd);
  8734.  
  8735. fb->nvbo = nvbo;
  8736. return &fb->base;
  8737. @@ -95,7 +95,7 @@
  8738. struct drm_framebuffer *fb;
  8739. struct drm_gem_object *gem;
  8740.  
  8741. - gem = drm_gem_object_lookup(dev, file_priv, mode_cmd->handle);
  8742. + gem = lbm_drm_gem_object_lookup(dev, file_priv, mode_cmd->handle);
  8743. if (!gem)
  8744. return NULL;
  8745.  
  8746. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dma.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dma.c
  8747. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dma.c 2010-01-25 15:21:29.000000000 -0500
  8748. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dma.c 2010-02-03 17:11:09.000000000 -0500
  8749. @@ -126,47 +126,52 @@
  8750. chan->dma.cur += nr_dwords;
  8751. }
  8752.  
  8753. -static inline bool
  8754. -READ_GET(struct nouveau_channel *chan, uint32_t *get)
  8755. +/* Fetch and adjust GPU GET pointer
  8756. + *
  8757. + * Returns:
  8758. + * value >= 0, the adjusted GET pointer
  8759. + * -EINVAL if GET pointer currently outside main push buffer
  8760. + * -EBUSY if timeout exceeded
  8761. + */
  8762. +static inline int
  8763. +READ_GET(struct nouveau_channel *chan, uint32_t *prev_get, uint32_t *timeout)
  8764. {
  8765. uint32_t val;
  8766.  
  8767. val = nvchan_rd32(chan, chan->user_get);
  8768. - if (val < chan->pushbuf_base ||
  8769. - val > chan->pushbuf_base + (chan->dma.max << 2)) {
  8770. - /* meaningless to dma_wait() except to know whether the
  8771. - * GPU has stalled or not
  8772. - */
  8773. - *get = val;
  8774. - return false;
  8775. +
  8776. + /* reset counter as long as GET is still advancing, this is
  8777. + * to avoid misdetecting a GPU lockup if the GPU happens to
  8778. + * just be processing an operation that takes a long time
  8779. + */
  8780. + if (val != *prev_get) {
  8781. + *prev_get = val;
  8782. + *timeout = 0;
  8783. }
  8784.  
  8785. - *get = (val - chan->pushbuf_base) >> 2;
  8786. - return true;
  8787. + if ((++*timeout & 0xff) == 0) {
  8788. + DRM_UDELAY(1);
  8789. + if (*timeout > 100000)
  8790. + return -EBUSY;
  8791. + }
  8792. +
  8793. + if (val < chan->pushbuf_base ||
  8794. + val > chan->pushbuf_base + (chan->dma.max << 2))
  8795. + return -EINVAL;
  8796. +
  8797. + return (val - chan->pushbuf_base) >> 2;
  8798. }
  8799.  
  8800. int
  8801. nouveau_dma_wait(struct nouveau_channel *chan, int size)
  8802. {
  8803. - uint32_t get, prev_get = 0, cnt = 0;
  8804. - bool get_valid;
  8805. + uint32_t prev_get = 0, cnt = 0;
  8806. + int get;
  8807.  
  8808. while (chan->dma.free < size) {
  8809. - /* reset counter as long as GET is still advancing, this is
  8810. - * to avoid misdetecting a GPU lockup if the GPU happens to
  8811. - * just be processing an operation that takes a long time
  8812. - */
  8813. - get_valid = READ_GET(chan, &get);
  8814. - if (get != prev_get) {
  8815. - prev_get = get;
  8816. - cnt = 0;
  8817. - }
  8818. -
  8819. - if ((++cnt & 0xff) == 0) {
  8820. - DRM_UDELAY(1);
  8821. - if (cnt > 100000)
  8822. - return -EBUSY;
  8823. - }
  8824. + get = READ_GET(chan, &prev_get, &cnt);
  8825. + if (unlikely(get == -EBUSY))
  8826. + return -EBUSY;
  8827.  
  8828. /* loop until we have a usable GET pointer. the value
  8829. * we read from the GPU may be outside the main ring if
  8830. @@ -177,7 +182,7 @@
  8831. * from the SKIPS area, so the code below doesn't have to deal
  8832. * with some fun corner cases.
  8833. */
  8834. - if (!get_valid || get < NOUVEAU_DMA_SKIPS)
  8835. + if (unlikely(get == -EINVAL) || get < NOUVEAU_DMA_SKIPS)
  8836. continue;
  8837.  
  8838. if (get <= chan->dma.cur) {
  8839. @@ -203,6 +208,19 @@
  8840. * after processing the currently pending commands.
  8841. */
  8842. OUT_RING(chan, chan->pushbuf_base | 0x20000000);
  8843. +
  8844. + /* wait for GET to depart from the skips area.
  8845. + * prevents writing GET==PUT and causing a race
  8846. + * condition that causes us to think the GPU is
  8847. + * idle when it's not.
  8848. + */
  8849. + do {
  8850. + get = READ_GET(chan, &prev_get, &cnt);
  8851. + if (unlikely(get == -EBUSY))
  8852. + return -EBUSY;
  8853. + if (unlikely(get == -EINVAL))
  8854. + continue;
  8855. + } while (get <= NOUVEAU_DMA_SKIPS);
  8856. WRITE_PUT(NOUVEAU_DMA_SKIPS);
  8857.  
  8858. /* we're now submitting commands at the start of
  8859. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dp.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dp.c
  8860. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dp.c 2010-01-25 15:21:29.000000000 -0500
  8861. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_dp.c 2010-02-03 17:11:09.000000000 -0500
  8862. @@ -490,7 +490,8 @@
  8863. if (!nv_wait(NV50_AUXCH_CTRL(index), 0x00010000, 0x00000000)) {
  8864. NV_ERROR(dev, "expected bit 16 == 0, got 0x%08x\n",
  8865. nv_rd32(dev, NV50_AUXCH_CTRL(index)));
  8866. - return -EBUSY;
  8867. + ret = -EBUSY;
  8868. + goto out;
  8869. }
  8870.  
  8871. udelay(400);
  8872. @@ -501,6 +502,11 @@
  8873. break;
  8874. }
  8875.  
  8876. + if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) {
  8877. + ret = -EREMOTEIO;
  8878. + goto out;
  8879. + }
  8880. +
  8881. if (cmd & 1) {
  8882. for (i = 0; i < 4; i++) {
  8883. data32[i] = nv_rd32(dev, NV50_AUXCH_DATA_IN(index, i));
  8884. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.c
  8885. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.c 2010-01-25 15:21:29.000000000 -0500
  8886. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.c 2010-02-03 17:11:09.000000000 -0500
  8887. @@ -71,6 +71,10 @@
  8888. int nouveau_uscript_tmds = -1;
  8889. module_param_named(uscript_tmds, nouveau_uscript_tmds, int, 0400);
  8890.  
  8891. +MODULE_PARM_DESC(ignorelid, "Ignore ACPI lid status");
  8892. +int nouveau_ignorelid = 0;
  8893. +module_param_named(ignorelid, nouveau_ignorelid, int, 0400);
  8894. +
  8895. MODULE_PARM_DESC(tv_norm, "Default TV norm.\n"
  8896. "\t\tSupported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,\n"
  8897. "\t\t\thd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.\n"
  8898. @@ -112,7 +116,7 @@
  8899. static int __devinit
  8900. nouveau_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
  8901. {
  8902. - return drm_get_dev(pdev, ent, &driver);
  8903. + return lbm_drm_get_dev(pdev, ent, &driver);
  8904. }
  8905.  
  8906. static void
  8907. @@ -120,7 +124,7 @@
  8908. {
  8909. struct drm_device *dev = pci_get_drvdata(pdev);
  8910.  
  8911. - drm_put_dev(dev);
  8912. + lbm_drm_put_dev(dev);
  8913. }
  8914.  
  8915. static int
  8916. @@ -156,7 +160,7 @@
  8917. }
  8918.  
  8919. NV_INFO(dev, "Evicting buffers...\n");
  8920. - ttm_bo_evict_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
  8921. + lbm_ttm_bo_evict_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
  8922.  
  8923. NV_INFO(dev, "Idling channels...\n");
  8924. for (i = 0; i < pfifo->channels; i++) {
  8925. @@ -315,7 +319,7 @@
  8926.  
  8927. nouveau_fbcon_zfill(dev);
  8928.  
  8929. - drm_helper_resume_force_mode(dev);
  8930. + lbm_drm_helper_resume_force_mode(dev);
  8931. dev_priv->fbdev_info->flags = fbdev_flags;
  8932. return 0;
  8933. }
  8934. @@ -337,18 +341,18 @@
  8935. .irq_postinstall = nouveau_irq_postinstall,
  8936. .irq_uninstall = nouveau_irq_uninstall,
  8937. .irq_handler = nouveau_irq_handler,
  8938. - .reclaim_buffers = drm_core_reclaim_buffers,
  8939. - .get_map_ofs = drm_core_get_map_ofs,
  8940. - .get_reg_ofs = drm_core_get_reg_ofs,
  8941. + .reclaim_buffers = lbm_drm_core_reclaim_buffers,
  8942. + .get_map_ofs = lbm_drm_core_get_map_ofs,
  8943. + .get_reg_ofs = lbm_drm_core_get_reg_ofs,
  8944. .ioctls = nouveau_ioctls,
  8945. .fops = {
  8946. .owner = THIS_MODULE,
  8947. - .open = drm_open,
  8948. - .release = drm_release,
  8949. - .unlocked_ioctl = drm_ioctl,
  8950. + .open = lbm_drm_open,
  8951. + .release = lbm_drm_release,
  8952. + .unlocked_ioctl = lbm_drm_ioctl,
  8953. .mmap = nouveau_ttm_mmap,
  8954. - .poll = drm_poll,
  8955. - .fasync = drm_fasync,
  8956. + .poll = lbm_drm_poll,
  8957. + .fasync = lbm_drm_fasync,
  8958. #if defined(CONFIG_COMPAT)
  8959. .compat_ioctl = nouveau_compat_ioctl,
  8960. #endif
  8961. @@ -393,12 +397,12 @@
  8962. if (nouveau_modeset == 1)
  8963. driver.driver_features |= DRIVER_MODESET;
  8964.  
  8965. - return drm_init(&driver);
  8966. + return lbm_drm_init(&driver);
  8967. }
  8968.  
  8969. static void __exit nouveau_exit(void)
  8970. {
  8971. - drm_exit(&driver);
  8972. + lbm_drm_exit(&driver);
  8973. }
  8974.  
  8975. module_init(nouveau_init);
  8976. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.h linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.h
  8977. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.h 2010-01-25 15:21:29.000000000 -0500
  8978. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_drv.h 2010-02-03 17:11:09.000000000 -0500
  8979. @@ -79,7 +79,7 @@
  8980. struct ttm_bo_kmap_obj kmap;
  8981. struct list_head head;
  8982.  
  8983. - /* protected by ttm_bo_reserve() */
  8984. + /* protected by lbm_ttm_bo_reserve() */
  8985. struct drm_file *reserved_by;
  8986. struct list_head entry;
  8987. int pbbo_index;
  8988. @@ -509,6 +509,8 @@
  8989. void __iomem *ramin;
  8990. uint32_t ramin_size;
  8991.  
  8992. + struct nouveau_bo *vga_ram;
  8993. +
  8994. struct workqueue_struct *wq;
  8995. struct work_struct irq_work;
  8996.  
  8997. @@ -639,7 +641,7 @@
  8998. if (prev) {
  8999. struct ttm_buffer_object *bo = &prev->bo;
  9000.  
  9001. - ttm_bo_unref(&bo);
  9002. + lbm_ttm_bo_unref(&bo);
  9003. }
  9004.  
  9005. return 0;
  9006. @@ -675,6 +677,7 @@
  9007. extern int nouveau_reg_debug;
  9008. extern char *nouveau_vbios;
  9009. extern int nouveau_ctxfw;
  9010. +extern int nouveau_ignorelid;
  9011.  
  9012. /* nouveau_state.c */
  9013. extern void nouveau_preclose(struct drm_device *dev, struct drm_file *);
  9014. @@ -1256,24 +1259,24 @@
  9015. pci_name(d->pdev), ##arg)
  9016. #ifndef NV_DEBUG_NOTRACE
  9017. #define NV_DEBUG(d, fmt, arg...) do { \
  9018. - if (drm_debug & DRM_UT_DRIVER) { \
  9019. + if (lbm_drm_debug & DRM_UT_DRIVER) { \
  9020. NV_PRINTK(KERN_DEBUG, d, "%s:%d - " fmt, __func__, \
  9021. __LINE__, ##arg); \
  9022. } \
  9023. } while (0)
  9024. #define NV_DEBUG_KMS(d, fmt, arg...) do { \
  9025. - if (drm_debug & DRM_UT_KMS) { \
  9026. + if (lbm_drm_debug & DRM_UT_KMS) { \
  9027. NV_PRINTK(KERN_DEBUG, d, "%s:%d - " fmt, __func__, \
  9028. __LINE__, ##arg); \
  9029. } \
  9030. } while (0)
  9031. #else
  9032. #define NV_DEBUG(d, fmt, arg...) do { \
  9033. - if (drm_debug & DRM_UT_DRIVER) \
  9034. + if (lbm_drm_debug & DRM_UT_DRIVER) \
  9035. NV_PRINTK(KERN_DEBUG, d, fmt, ##arg); \
  9036. } while (0)
  9037. #define NV_DEBUG_KMS(d, fmt, arg...) do { \
  9038. - if (drm_debug & DRM_UT_KMS) \
  9039. + if (lbm_drm_debug & DRM_UT_KMS) \
  9040. NV_PRINTK(KERN_DEBUG, d, fmt, ##arg); \
  9041. } while (0)
  9042. #endif
  9043. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_fbcon.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_fbcon.c
  9044. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_fbcon.c 2010-01-25 15:21:29.000000000 -0500
  9045. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_fbcon.c 2010-02-03 17:11:08.000000000 -0500
  9046. @@ -95,16 +95,16 @@
  9047.  
  9048. static struct fb_ops nouveau_fbcon_ops = {
  9049. .owner = THIS_MODULE,
  9050. - .fb_check_var = drm_fb_helper_check_var,
  9051. - .fb_set_par = drm_fb_helper_set_par,
  9052. - .fb_setcolreg = drm_fb_helper_setcolreg,
  9053. + .fb_check_var = lbm_drm_fb_helper_check_var,
  9054. + .fb_set_par = lbm_drm_fb_helper_set_par,
  9055. + .fb_setcolreg = lbm_drm_fb_helper_setcolreg,
  9056. .fb_fillrect = cfb_fillrect,
  9057. .fb_copyarea = cfb_copyarea,
  9058. .fb_imageblit = cfb_imageblit,
  9059. .fb_sync = nouveau_fbcon_sync,
  9060. - .fb_pan_display = drm_fb_helper_pan_display,
  9061. - .fb_blank = drm_fb_helper_blank,
  9062. - .fb_setcmap = drm_fb_helper_setcmap,
  9063. + .fb_pan_display = lbm_drm_fb_helper_pan_display,
  9064. + .fb_blank = lbm_drm_fb_helper_blank,
  9065. + .fb_setcmap = lbm_drm_fb_helper_setcmap,
  9066. };
  9067.  
  9068. static void nouveau_fbcon_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
  9069. @@ -261,7 +261,7 @@
  9070. par = info->par;
  9071. par->helper.funcs = &nouveau_fbcon_helper_funcs;
  9072. par->helper.dev = dev;
  9073. - ret = drm_fb_helper_init_crtc_count(&par->helper, 2, 4);
  9074. + ret = lbm_drm_fb_helper_init_crtc_count(&par->helper, 2, 4);
  9075. if (ret)
  9076. goto out_unref;
  9077. dev_priv->fbdev_info = info;
  9078. @@ -277,8 +277,8 @@
  9079. info->screen_base = nvbo_kmap_obj_iovirtual(nouveau_fb->nvbo);
  9080. info->screen_size = size;
  9081.  
  9082. - drm_fb_helper_fill_fix(info, fb->pitch, fb->depth);
  9083. - drm_fb_helper_fill_var(info, fb, fb_width, fb_height);
  9084. + lbm_drm_fb_helper_fill_fix(info, fb->pitch, fb->depth);
  9085. + lbm_drm_fb_helper_fill_var(info, fb, fb_width, fb_height);
  9086.  
  9087. /* FIXME: we really shouldn't expose mmio space at all */
  9088. info->fix.mmio_start = pci_resource_start(dev->pdev, 1);
  9089. @@ -349,7 +349,7 @@
  9090. {
  9091. NV_DEBUG_KMS(dev, "\n");
  9092.  
  9093. - return drm_fb_helper_single_fb_probe(dev, 32, nouveau_fbcon_create);
  9094. + return lbm_drm_fb_helper_single_fb_probe(dev, 32, nouveau_fbcon_create);
  9095. }
  9096.  
  9097. int
  9098. @@ -372,7 +372,7 @@
  9099. nouveau_fb->nvbo = NULL;
  9100. mutex_unlock(&dev->struct_mutex);
  9101. if (par)
  9102. - drm_fb_helper_free(&par->helper);
  9103. + lbm_drm_fb_helper_free(&par->helper);
  9104. framebuffer_release(info);
  9105. }
  9106.  
  9107. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_gem.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_gem.c
  9108. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_gem.c 2010-01-25 15:21:29.000000000 -0500
  9109. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_gem.c 2010-02-03 17:11:09.000000000 -0500
  9110. @@ -49,14 +49,14 @@
  9111. nvbo->gem = NULL;
  9112.  
  9113. if (unlikely(nvbo->cpu_filp))
  9114. - ttm_bo_synccpu_write_release(bo);
  9115. + lbm_ttm_bo_synccpu_write_release(bo);
  9116.  
  9117. if (unlikely(nvbo->pin_refcnt)) {
  9118. nvbo->pin_refcnt = 1;
  9119. nouveau_bo_unpin(nvbo);
  9120. }
  9121.  
  9122. - ttm_bo_unref(&bo);
  9123. + lbm_ttm_bo_unref(&bo);
  9124. }
  9125.  
  9126. int
  9127. @@ -74,7 +74,7 @@
  9128. return ret;
  9129. nvbo = *pnvbo;
  9130.  
  9131. - nvbo->gem = drm_gem_object_alloc(dev, nvbo->bo.mem.size);
  9132. + nvbo->gem = lbm_drm_gem_object_alloc(dev, nvbo->bo.mem.size);
  9133. if (!nvbo->gem) {
  9134. nouveau_bo_ref(NULL, pnvbo);
  9135. return -ENOMEM;
  9136. @@ -165,7 +165,7 @@
  9137. if (ret)
  9138. goto out;
  9139.  
  9140. - ret = drm_gem_handle_create(file_priv, nvbo->gem, &req->info.handle);
  9141. + ret = lbm_drm_gem_handle_create(file_priv, nvbo->gem, &req->info.handle);
  9142. out:
  9143. mutex_lock(&dev->struct_mutex);
  9144. drm_gem_object_handle_unreference(nvbo->gem);
  9145. @@ -245,7 +245,7 @@
  9146.  
  9147. list_del(&nvbo->entry);
  9148. nvbo->reserved_by = NULL;
  9149. - ttm_bo_unreserve(&nvbo->bo);
  9150. + lbm_ttm_bo_unreserve(&nvbo->bo);
  9151. drm_gem_object_unreference(nvbo->gem);
  9152. }
  9153. }
  9154. @@ -281,7 +281,7 @@
  9155. struct drm_gem_object *gem;
  9156. struct nouveau_bo *nvbo;
  9157.  
  9158. - gem = drm_gem_object_lookup(dev, file_priv, b->handle);
  9159. + gem = lbm_drm_gem_object_lookup(dev, file_priv, b->handle);
  9160. if (!gem) {
  9161. NV_ERROR(dev, "Unknown handle 0x%08x\n", b->handle);
  9162. validate_fini(op, NULL);
  9163. @@ -296,11 +296,11 @@
  9164. return -EINVAL;
  9165. }
  9166.  
  9167. - ret = ttm_bo_reserve(&nvbo->bo, false, false, true, sequence);
  9168. + ret = lbm_ttm_bo_reserve(&nvbo->bo, false, false, true, sequence);
  9169. if (ret) {
  9170. validate_fini(op, NULL);
  9171. if (ret == -EAGAIN)
  9172. - ret = ttm_bo_wait_unreserved(&nvbo->bo, false);
  9173. + ret = lbm_ttm_bo_wait_unreserved(&nvbo->bo, false);
  9174. drm_gem_object_unreference(gem);
  9175. if (ret)
  9176. return ret;
  9177. @@ -321,6 +321,7 @@
  9178. else {
  9179. NV_ERROR(dev, "invalid valid domains: 0x%08x\n",
  9180. b->valid_domains);
  9181. + list_add_tail(&nvbo->entry, &op->both_list);
  9182. validate_fini(op, NULL);
  9183. return -EINVAL;
  9184. }
  9185. @@ -334,7 +335,7 @@
  9186. return -EINVAL;
  9187. }
  9188.  
  9189. - ret = ttm_bo_wait_cpu(&nvbo->bo, false);
  9190. + ret = lbm_ttm_bo_wait_cpu(&nvbo->bo, false);
  9191. if (ret)
  9192. return ret;
  9193. goto retry;
  9194. @@ -359,7 +360,7 @@
  9195.  
  9196. if (prev_fence && nouveau_fence_channel(prev_fence) != chan) {
  9197. spin_lock(&nvbo->bo.lock);
  9198. - ret = ttm_bo_wait(&nvbo->bo, false, false, false);
  9199. + ret = lbm_ttm_bo_wait(&nvbo->bo, false, false, false);
  9200. spin_unlock(&nvbo->bo.lock);
  9201. if (unlikely(ret))
  9202. return ret;
  9203. @@ -372,7 +373,7 @@
  9204. return ret;
  9205.  
  9206. nvbo->channel = chan;
  9207. - ret = ttm_bo_validate(&nvbo->bo, &nvbo->placement,
  9208. + ret = lbm_ttm_bo_validate(&nvbo->bo, &nvbo->placement,
  9209. false, false);
  9210. nvbo->channel = NULL;
  9211. if (unlikely(ret))
  9212. @@ -466,13 +467,14 @@
  9213. static int
  9214. nouveau_gem_pushbuf_reloc_apply(struct nouveau_channel *chan, int nr_bo,
  9215. struct drm_nouveau_gem_pushbuf_bo *bo,
  9216. - int nr_relocs, uint64_t ptr_relocs,
  9217. - int nr_dwords, int first_dword,
  9218. + unsigned nr_relocs, uint64_t ptr_relocs,
  9219. + unsigned nr_dwords, unsigned first_dword,
  9220. uint32_t *pushbuf, bool is_iomem)
  9221. {
  9222. struct drm_nouveau_gem_pushbuf_reloc *reloc = NULL;
  9223. struct drm_device *dev = chan->dev;
  9224. - int ret = 0, i;
  9225. + int ret = 0;
  9226. + unsigned i;
  9227.  
  9228. reloc = u_memcpya(ptr_relocs, nr_relocs, sizeof(*reloc));
  9229. if (IS_ERR(reloc))
  9230. @@ -659,7 +661,7 @@
  9231. }
  9232.  
  9233. /* Validate DMA push buffer */
  9234. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9235. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9236. if (!gem) {
  9237. NV_ERROR(dev, "Unknown pb handle 0x%08x\n", req->handle);
  9238. ret = -EINVAL;
  9239. @@ -667,7 +669,19 @@
  9240. }
  9241. pbbo = nouveau_gem_object(gem);
  9242.  
  9243. - ret = ttm_bo_reserve(&pbbo->bo, false, false, true,
  9244. + if ((req->offset & 3) || req->nr_dwords < 2 ||
  9245. + (unsigned long)req->offset > (unsigned long)pbbo->bo.mem.size ||
  9246. + (unsigned long)req->nr_dwords >
  9247. + ((unsigned long)(pbbo->bo.mem.size - req->offset ) >> 2)) {
  9248. + NV_ERROR(dev, "pb call misaligned or out of bounds: "
  9249. + "%d + %d * 4 > %ld\n",
  9250. + req->offset, req->nr_dwords, pbbo->bo.mem.size);
  9251. + ret = -EINVAL;
  9252. + drm_gem_object_unreference(gem);
  9253. + goto out;
  9254. + }
  9255. +
  9256. + ret = lbm_ttm_bo_reserve(&pbbo->bo, false, false, true,
  9257. chan->fence.sequence);
  9258. if (ret) {
  9259. NV_ERROR(dev, "resv pb: %d\n", ret);
  9260. @@ -676,10 +690,10 @@
  9261. }
  9262.  
  9263. nouveau_bo_placement_set(pbbo, 1 << chan->pushbuf_bo->bo.mem.mem_type);
  9264. - ret = ttm_bo_validate(&pbbo->bo, &pbbo->placement, false, false);
  9265. + ret = lbm_ttm_bo_validate(&pbbo->bo, &pbbo->placement, false, false);
  9266. if (ret) {
  9267. NV_ERROR(dev, "validate pb: %d\n", ret);
  9268. - ttm_bo_unreserve(&pbbo->bo);
  9269. + lbm_ttm_bo_unreserve(&pbbo->bo);
  9270. drm_gem_object_unreference(gem);
  9271. goto out;
  9272. }
  9273. @@ -712,7 +726,7 @@
  9274. if (do_reloc) {
  9275. void *pbvirt;
  9276. bool is_iomem;
  9277. - ret = ttm_bo_kmap(&pbbo->bo, 0, pbbo->bo.mem.num_pages,
  9278. + ret = lbm_ttm_bo_kmap(&pbbo->bo, 0, pbbo->bo.mem.num_pages,
  9279. &pbbo->kmap);
  9280. if (ret) {
  9281. NV_ERROR(dev, "kmap pb: %d\n", ret);
  9282. @@ -733,7 +747,7 @@
  9283. req->suffix0);
  9284. }
  9285.  
  9286. - ttm_bo_kunmap(&pbbo->kmap);
  9287. + lbm_ttm_bo_kunmap(&pbbo->kmap);
  9288. if (ret) {
  9289. NV_ERROR(dev, "reloc apply: %d\n", ret);
  9290. goto out;
  9291. @@ -835,7 +849,7 @@
  9292. if (!DRM_SUSER(DRM_CURPROC))
  9293. return -EPERM;
  9294.  
  9295. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9296. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9297. if (!gem)
  9298. return -EINVAL;
  9299. nvbo = nouveau_gem_object(gem);
  9300. @@ -871,7 +885,7 @@
  9301. if (drm_core_check_feature(dev, DRIVER_MODESET))
  9302. return -EINVAL;
  9303.  
  9304. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9305. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9306. if (!gem)
  9307. return -EINVAL;
  9308.  
  9309. @@ -896,7 +910,7 @@
  9310.  
  9311. NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
  9312.  
  9313. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9314. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9315. if (!gem)
  9316. return ret;
  9317. nvbo = nouveau_gem_object(gem);
  9318. @@ -905,15 +919,15 @@
  9319. if (nvbo->cpu_filp == file_priv)
  9320. goto out;
  9321.  
  9322. - ret = ttm_bo_wait_cpu(&nvbo->bo, no_wait);
  9323. + ret = lbm_ttm_bo_wait_cpu(&nvbo->bo, no_wait);
  9324. if (ret)
  9325. goto out;
  9326. }
  9327.  
  9328. if (req->flags & NOUVEAU_GEM_CPU_PREP_NOBLOCK) {
  9329. - ret = ttm_bo_wait(&nvbo->bo, false, false, no_wait);
  9330. + ret = lbm_ttm_bo_wait(&nvbo->bo, false, false, no_wait);
  9331. } else {
  9332. - ret = ttm_bo_synccpu_write_grab(&nvbo->bo, no_wait);
  9333. + ret = lbm_ttm_bo_synccpu_write_grab(&nvbo->bo, no_wait);
  9334. if (ret == 0)
  9335. nvbo->cpu_filp = file_priv;
  9336. }
  9337. @@ -936,7 +950,7 @@
  9338.  
  9339. NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
  9340.  
  9341. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9342. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9343. if (!gem)
  9344. return ret;
  9345. nvbo = nouveau_gem_object(gem);
  9346. @@ -945,7 +959,7 @@
  9347. goto out;
  9348. nvbo->cpu_filp = NULL;
  9349.  
  9350. - ttm_bo_synccpu_write_release(&nvbo->bo);
  9351. + lbm_ttm_bo_synccpu_write_release(&nvbo->bo);
  9352. ret = 0;
  9353.  
  9354. out:
  9355. @@ -965,7 +979,7 @@
  9356.  
  9357. NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
  9358.  
  9359. - gem = drm_gem_object_lookup(dev, file_priv, req->handle);
  9360. + gem = lbm_drm_gem_object_lookup(dev, file_priv, req->handle);
  9361. if (!gem)
  9362. return -EINVAL;
  9363.  
  9364. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_i2c.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_i2c.c
  9365. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_i2c.c 2010-01-25 15:21:29.000000000 -0500
  9366. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_i2c.c 2010-02-03 17:11:08.000000000 -0500
  9367. @@ -226,7 +226,7 @@
  9368. i2c->algo.dp.running = false;
  9369. i2c->algo.dp.address = 0;
  9370. i2c->algo.dp.aux_ch = nouveau_dp_i2c_aux_ch;
  9371. - ret = i2c_dp_aux_add_bus(&i2c->adapter);
  9372. + ret = lbm_i2c_dp_aux_add_bus(&i2c->adapter);
  9373. }
  9374.  
  9375. if (ret) {
  9376. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ioc32.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ioc32.c
  9377. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ioc32.c 2010-01-25 15:21:29.000000000 -0500
  9378. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ioc32.c 2010-02-03 17:11:09.000000000 -0500
  9379. @@ -55,7 +55,7 @@
  9380. int ret;
  9381.  
  9382. if (nr < DRM_COMMAND_BASE)
  9383. - return drm_compat_ioctl(filp, cmd, arg);
  9384. + return lbm_drm_compat_ioctl(filp, cmd, arg);
  9385.  
  9386. #if 0
  9387. if (nr < DRM_COMMAND_BASE + DRM_ARRAY_SIZE(mga_compat_ioctls))
  9388. @@ -64,7 +64,7 @@
  9389. if (fn != NULL)
  9390. ret = (*fn)(filp, cmd, arg);
  9391. else
  9392. - ret = drm_ioctl(filp, cmd, arg);
  9393. + ret = lbm_drm_ioctl(filp, cmd, arg);
  9394.  
  9395. return ret;
  9396. }
  9397. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_irq.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_irq.c
  9398. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_irq.c 2010-01-25 15:21:29.000000000 -0500
  9399. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_irq.c 2010-02-03 17:11:08.000000000 -0500
  9400. @@ -483,6 +483,13 @@
  9401. if (nsource & NV03_PGRAPH_NSOURCE_ILLEGAL_MTHD) {
  9402. if (nouveau_pgraph_intr_swmthd(dev, &trap))
  9403. unhandled = 1;
  9404. + } else if (nsource & NV03_PGRAPH_NSOURCE_DMA_VTX_PROTECTION) {
  9405. + uint32_t v = nv_rd32(dev, 0x402000);
  9406. + nv_wr32(dev, 0x402000, v);
  9407. +
  9408. + /* dump the error anyway for now: it's useful for
  9409. + Gallium development */
  9410. + unhandled = 1;
  9411. } else {
  9412. unhandled = 1;
  9413. }
  9414. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_mem.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_mem.c
  9415. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_mem.c 2010-01-25 15:21:29.000000000 -0500
  9416. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_mem.c 2010-02-03 17:11:09.000000000 -0500
  9417. @@ -383,11 +383,10 @@
  9418. {
  9419. struct drm_nouveau_private *dev_priv = dev->dev_private;
  9420.  
  9421. - if (dev_priv->ttm.bdev.man[TTM_PL_PRIV0].has_type)
  9422. - ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_PRIV0);
  9423. - ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
  9424. + nouveau_bo_unpin(dev_priv->vga_ram);
  9425. + nouveau_bo_ref(NULL, &dev_priv->vga_ram);
  9426.  
  9427. - ttm_bo_device_release(&dev_priv->ttm.bdev);
  9428. + lbm_ttm_bo_device_release(&dev_priv->ttm.bdev);
  9429.  
  9430. nouveau_ttm_global_release(dev_priv);
  9431.  
  9432. @@ -399,22 +398,22 @@
  9433. intact until drv_cleanup is called. */
  9434. list_for_each_entry_safe(entry, tempe, &dev->agp->memory, head) {
  9435. if (entry->bound)
  9436. - drm_unbind_agp(entry->memory);
  9437. - drm_free_agp(entry->memory, entry->pages);
  9438. + lbm_drm_unbind_agp(entry->memory);
  9439. + lbm_drm_free_agp(entry->memory, entry->pages);
  9440. kfree(entry);
  9441. }
  9442. INIT_LIST_HEAD(&dev->agp->memory);
  9443.  
  9444. if (dev->agp->acquired)
  9445. - drm_agp_release(dev);
  9446. + lbm_drm_agp_release(dev);
  9447.  
  9448. dev->agp->acquired = 0;
  9449. dev->agp->enabled = 0;
  9450. }
  9451.  
  9452. if (dev_priv->fb_mtrr) {
  9453. - drm_mtrr_del(dev_priv->fb_mtrr, drm_get_resource_start(dev, 1),
  9454. - drm_get_resource_len(dev, 1), DRM_MTRR_WC);
  9455. + drm_mtrr_del(dev_priv->fb_mtrr, lbm_drm_get_resource_start(dev, 1),
  9456. + lbm_drm_get_resource_len(dev, 1), DRM_MTRR_WC);
  9457. dev_priv->fb_mtrr = 0;
  9458. }
  9459. }
  9460. @@ -526,7 +525,7 @@
  9461. {
  9462. #if __OS_HAS_AGP
  9463. struct drm_nouveau_private *dev_priv = dev->dev_private;
  9464. - struct drm_agp_info info;
  9465. + struct lbm_drm_agp_info info;
  9466. struct drm_agp_mode mode;
  9467. int ret;
  9468.  
  9469. @@ -536,14 +535,14 @@
  9470. nouveau_mem_reset_agp(dev);
  9471.  
  9472. if (!dev->agp->acquired) {
  9473. - ret = drm_agp_acquire(dev);
  9474. + ret = lbm_drm_agp_acquire(dev);
  9475. if (ret) {
  9476. NV_ERROR(dev, "Unable to acquire AGP: %d\n", ret);
  9477. return ret;
  9478. }
  9479. }
  9480.  
  9481. - ret = drm_agp_info(dev, &info);
  9482. + ret = lbm_drm_agp_info(dev, &info);
  9483. if (ret) {
  9484. NV_ERROR(dev, "Unable to get AGP info: %d\n", ret);
  9485. return ret;
  9486. @@ -551,7 +550,7 @@
  9487.  
  9488. /* see agp.h for the AGPSTAT_* modes available */
  9489. mode.mode = info.mode;
  9490. - ret = drm_agp_enable(dev, mode);
  9491. + ret = lbm_drm_agp_enable(dev, mode);
  9492. if (ret) {
  9493. NV_ERROR(dev, "Unable to enable AGP: %d\n", ret);
  9494. return ret;
  9495. @@ -571,7 +570,7 @@
  9496. struct ttm_bo_device *bdev = &dev_priv->ttm.bdev;
  9497. int ret, dma_bits = 32;
  9498.  
  9499. - dev_priv->fb_phys = drm_get_resource_start(dev, 1);
  9500. + dev_priv->fb_phys = lbm_drm_get_resource_start(dev, 1);
  9501. dev_priv->gart_info.type = NOUVEAU_GART_NONE;
  9502.  
  9503. if (dev_priv->card_type >= NV_50 &&
  9504. @@ -588,7 +587,7 @@
  9505. if (ret)
  9506. return ret;
  9507.  
  9508. - ret = ttm_bo_device_init(&dev_priv->ttm.bdev,
  9509. + ret = lbm_ttm_bo_device_init(&dev_priv->ttm.bdev,
  9510. dev_priv->ttm.bo_global_ref.ref.object,
  9511. &nouveau_bo_driver, DRM_FILE_PAGE_OFFSET,
  9512. dma_bits <= 32 ? true : false);
  9513. @@ -604,8 +603,8 @@
  9514. dev_priv->fb_available_size = nouveau_mem_fb_amount(dev);
  9515.  
  9516. dev_priv->fb_mappable_pages = dev_priv->fb_available_size;
  9517. - if (dev_priv->fb_mappable_pages > drm_get_resource_len(dev, 1))
  9518. - dev_priv->fb_mappable_pages = drm_get_resource_len(dev, 1);
  9519. + if (dev_priv->fb_mappable_pages > lbm_drm_get_resource_len(dev, 1))
  9520. + dev_priv->fb_mappable_pages = lbm_drm_get_resource_len(dev, 1);
  9521. dev_priv->fb_mappable_pages >>= PAGE_SHIFT;
  9522.  
  9523. NV_INFO(dev, "%d MiB VRAM\n", (int)(dev_priv->fb_available_size >> 20));
  9524. @@ -615,13 +614,22 @@
  9525. dev_priv->fb_aper_free = dev_priv->fb_available_size;
  9526.  
  9527. /* mappable vram */
  9528. - ret = ttm_bo_init_mm(bdev, TTM_PL_VRAM,
  9529. + ret = lbm_ttm_bo_init_mm(bdev, TTM_PL_VRAM,
  9530. dev_priv->fb_available_size >> PAGE_SHIFT);
  9531. if (ret) {
  9532. NV_ERROR(dev, "Failed VRAM mm init: %d\n", ret);
  9533. return ret;
  9534. }
  9535.  
  9536. + ret = nouveau_bo_new(dev, NULL, 256*1024, 0, TTM_PL_FLAG_VRAM,
  9537. + 0, 0, true, true, &dev_priv->vga_ram);
  9538. + if (ret == 0)
  9539. + ret = nouveau_bo_pin(dev_priv->vga_ram, TTM_PL_FLAG_VRAM);
  9540. + if (ret) {
  9541. + NV_WARN(dev, "failed to reserve VGA memory\n");
  9542. + nouveau_bo_ref(NULL, &dev_priv->vga_ram);
  9543. + }
  9544. +
  9545. /* GART */
  9546. #if !defined(__powerpc__) && !defined(__ia64__)
  9547. if (drm_device_is_agp(dev) && dev->agp) {
  9548. @@ -643,16 +651,17 @@
  9549. (int)(dev_priv->gart_info.aper_size >> 20));
  9550. dev_priv->gart_info.aper_free = dev_priv->gart_info.aper_size;
  9551.  
  9552. - ret = ttm_bo_init_mm(bdev, TTM_PL_TT,
  9553. + ret = lbm_ttm_bo_init_mm(bdev, TTM_PL_TT,
  9554. dev_priv->gart_info.aper_size >> PAGE_SHIFT);
  9555. if (ret) {
  9556. NV_ERROR(dev, "Failed TT mm init: %d\n", ret);
  9557. return ret;
  9558. }
  9559.  
  9560. - dev_priv->fb_mtrr = drm_mtrr_add(drm_get_resource_start(dev, 1),
  9561. - drm_get_resource_len(dev, 1),
  9562. + dev_priv->fb_mtrr = drm_mtrr_add(lbm_drm_get_resource_start(dev, 1),
  9563. + lbm_drm_get_resource_len(dev, 1),
  9564. DRM_MTRR_WC);
  9565. +
  9566. return 0;
  9567. }
  9568.  
  9569. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_object.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_object.c
  9570. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_object.c 2010-01-25 15:21:29.000000000 -0500
  9571. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_object.c 2010-02-03 17:11:09.000000000 -0500
  9572. @@ -261,7 +261,7 @@
  9573.  
  9574. /* Allocate a chunk of the PRAMIN aperture */
  9575. gpuobj->im_pramin = nouveau_mem_alloc_block(pramin, size,
  9576. - drm_order(align),
  9577. + lbm_drm_order(align),
  9578. (struct drm_file *)-2, 0);
  9579. if (!gpuobj->im_pramin) {
  9580. nouveau_gpuobj_del(dev, &gpuobj);
  9581. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_state.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_state.c
  9582. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_state.c 2010-01-25 15:21:29.000000000 -0500
  9583. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_state.c 2010-02-03 17:11:08.000000000 -0500
  9584. @@ -440,11 +440,11 @@
  9585. /* this call irq_preinstall, register irq handler and
  9586. * call irq_postinstall
  9587. */
  9588. - ret = drm_irq_install(dev);
  9589. + ret = lbm_drm_irq_install(dev);
  9590. if (ret)
  9591. goto out_fifo;
  9592.  
  9593. - ret = drm_vblank_init(dev, 0);
  9594. + ret = lbm_drm_vblank_init(dev, 0);
  9595. if (ret)
  9596. goto out_irq;
  9597.  
  9598. @@ -472,12 +472,12 @@
  9599. dev_priv->init_state = NOUVEAU_CARD_INIT_DONE;
  9600.  
  9601. if (drm_core_check_feature(dev, DRIVER_MODESET))
  9602. - drm_helper_initial_config(dev);
  9603. + lbm_drm_helper_initial_config(dev);
  9604.  
  9605. return 0;
  9606.  
  9607. out_irq:
  9608. - drm_irq_uninstall(dev);
  9609. + lbm_drm_irq_uninstall(dev);
  9610. out_fifo:
  9611. engine->fifo.takedown(dev);
  9612. out_graph:
  9613. @@ -525,7 +525,8 @@
  9614. engine->mc.takedown(dev);
  9615.  
  9616. mutex_lock(&dev->struct_mutex);
  9617. - ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
  9618. + lbm_ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
  9619. + lbm_ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
  9620. mutex_unlock(&dev->struct_mutex);
  9621. nouveau_sgdma_takedown(dev);
  9622.  
  9623. @@ -534,7 +535,7 @@
  9624. engine->instmem.takedown(dev);
  9625.  
  9626. if (drm_core_check_feature(dev, DRIVER_MODESET))
  9627. - drm_irq_uninstall(dev);
  9628. + lbm_drm_irq_uninstall(dev);
  9629.  
  9630. nouveau_gpuobj_late_takedown(dev);
  9631. nouveau_bios_takedown(dev);
  9632. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ttm.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ttm.c
  9633. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ttm.c 2010-01-25 15:21:29.000000000 -0500
  9634. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nouveau_ttm.c 2010-02-03 17:11:08.000000000 -0500
  9635. @@ -36,21 +36,21 @@
  9636. file_priv->minor->dev->dev_private;
  9637.  
  9638. if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
  9639. - return drm_mmap(filp, vma);
  9640. + return lbm_drm_mmap(filp, vma);
  9641.  
  9642. - return ttm_bo_mmap(filp, vma, &dev_priv->ttm.bdev);
  9643. + return lbm_ttm_bo_mmap(filp, vma, &dev_priv->ttm.bdev);
  9644. }
  9645.  
  9646. static int
  9647. nouveau_ttm_mem_global_init(struct ttm_global_reference *ref)
  9648. {
  9649. - return ttm_mem_global_init(ref->object);
  9650. + return lbm_ttm_mem_global_init(ref->object);
  9651. }
  9652.  
  9653. static void
  9654. nouveau_ttm_mem_global_release(struct ttm_global_reference *ref)
  9655. {
  9656. - ttm_mem_global_release(ref->object);
  9657. + lbm_ttm_mem_global_release(ref->object);
  9658. }
  9659.  
  9660. int
  9661. @@ -65,7 +65,7 @@
  9662. global_ref->init = &nouveau_ttm_mem_global_init;
  9663. global_ref->release = &nouveau_ttm_mem_global_release;
  9664.  
  9665. - ret = ttm_global_item_ref(global_ref);
  9666. + ret = lbm_ttm_global_item_ref(global_ref);
  9667. if (unlikely(ret != 0)) {
  9668. DRM_ERROR("Failed setting up TTM memory accounting\n");
  9669. dev_priv->ttm.mem_global_ref.release = NULL;
  9670. @@ -76,13 +76,13 @@
  9671. global_ref = &dev_priv->ttm.bo_global_ref.ref;
  9672. global_ref->global_type = TTM_GLOBAL_TTM_BO;
  9673. global_ref->size = sizeof(struct ttm_bo_global);
  9674. - global_ref->init = &ttm_bo_global_init;
  9675. - global_ref->release = &ttm_bo_global_release;
  9676. + global_ref->init = &lbm_ttm_bo_global_init;
  9677. + global_ref->release = &lbm_ttm_bo_global_release;
  9678.  
  9679. - ret = ttm_global_item_ref(global_ref);
  9680. + ret = lbm_ttm_global_item_ref(global_ref);
  9681. if (unlikely(ret != 0)) {
  9682. DRM_ERROR("Failed setting up TTM BO subsystem\n");
  9683. - ttm_global_item_unref(&dev_priv->ttm.mem_global_ref);
  9684. + lbm_ttm_global_item_unref(&dev_priv->ttm.mem_global_ref);
  9685. dev_priv->ttm.mem_global_ref.release = NULL;
  9686. return ret;
  9687. }
  9688. @@ -96,8 +96,8 @@
  9689. if (dev_priv->ttm.mem_global_ref.release == NULL)
  9690. return;
  9691.  
  9692. - ttm_global_item_unref(&dev_priv->ttm.bo_global_ref.ref);
  9693. - ttm_global_item_unref(&dev_priv->ttm.mem_global_ref);
  9694. + lbm_ttm_global_item_unref(&dev_priv->ttm.bo_global_ref.ref);
  9695. + lbm_ttm_global_item_unref(&dev_priv->ttm.mem_global_ref);
  9696. dev_priv->ttm.mem_global_ref.release = NULL;
  9697. }
  9698.  
  9699. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_crtc.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_crtc.c
  9700. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_crtc.c 2010-01-25 15:21:29.000000000 -0500
  9701. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_crtc.c 2010-02-03 17:11:09.000000000 -0500
  9702. @@ -604,7 +604,7 @@
  9703. struct drm_nouveau_private *dev_priv = dev->dev_private;
  9704.  
  9705. NV_DEBUG_KMS(dev, "CTRC mode on CRTC %d:\n", nv_crtc->index);
  9706. - drm_mode_debug_printmodeline(adjusted_mode);
  9707. + lbm_drm_mode_debug_printmodeline(adjusted_mode);
  9708.  
  9709. /* unlock must come after turning off FP_TG_CONTROL in output_prepare */
  9710. nv_lock_vga_crtc_shadow(dev, nv_crtc->index, -1);
  9711. @@ -708,7 +708,7 @@
  9712. if (!nv_crtc)
  9713. return;
  9714.  
  9715. - drm_crtc_cleanup(crtc);
  9716. + lbm_drm_crtc_cleanup(crtc);
  9717.  
  9718. nouveau_bo_ref(NULL, &nv_crtc->cursor.nvbo);
  9719. kfree(nv_crtc);
  9720. @@ -907,7 +907,7 @@
  9721. return 0;
  9722. }
  9723.  
  9724. - gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
  9725. + gem = lbm_drm_gem_object_lookup(dev, file_priv, buffer_handle);
  9726. if (!gem)
  9727. return -EINVAL;
  9728. cursor = nouveau_gem_object(gem);
  9729. @@ -947,7 +947,7 @@
  9730. .cursor_set = nv04_crtc_cursor_set,
  9731. .cursor_move = nv04_crtc_cursor_move,
  9732. .gamma_set = nv_crtc_gamma_set,
  9733. - .set_config = drm_crtc_helper_set_config,
  9734. + .set_config = lbm_drm_crtc_helper_set_config,
  9735. .destroy = nv_crtc_destroy,
  9736. };
  9737.  
  9738. @@ -981,9 +981,9 @@
  9739. nv_crtc->index = crtc_num;
  9740. nv_crtc->last_dpms = NV_DPMS_CLEARED;
  9741.  
  9742. - drm_crtc_init(dev, &nv_crtc->base, &nv04_crtc_funcs);
  9743. + lbm_drm_crtc_init(dev, &nv_crtc->base, &nv04_crtc_funcs);
  9744. drm_crtc_helper_add(&nv_crtc->base, &nv04_crtc_helper_funcs);
  9745. - drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256);
  9746. + lbm_drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256);
  9747.  
  9748. ret = nouveau_bo_new(dev, NULL, 64*64*4, 0x100, TTM_PL_FLAG_VRAM,
  9749. 0, 0x0000, false, true, &nv_crtc->cursor.nvbo);
  9750. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dac.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dac.c
  9751. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dac.c 2010-01-25 15:21:29.000000000 -0500
  9752. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dac.c 2010-02-03 17:11:09.000000000 -0500
  9753. @@ -396,7 +396,7 @@
  9754. helper->dpms(encoder, DRM_MODE_DPMS_ON);
  9755.  
  9756. NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n",
  9757. - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9758. + lbm_drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9759. nv_crtc->index, '@' + ffs(nv_encoder->dcb->or));
  9760. }
  9761.  
  9762. @@ -467,7 +467,7 @@
  9763.  
  9764. NV_DEBUG_KMS(encoder->dev, "\n");
  9765.  
  9766. - drm_encoder_cleanup(encoder);
  9767. + lbm_drm_encoder_cleanup(encoder);
  9768. kfree(nv_encoder);
  9769. }
  9770.  
  9771. @@ -517,7 +517,7 @@
  9772. else
  9773. helper = &nv04_dac_helper_funcs;
  9774.  
  9775. - drm_encoder_init(dev, encoder, &nv04_dac_funcs, DRM_MODE_ENCODER_DAC);
  9776. + lbm_drm_encoder_init(dev, encoder, &nv04_dac_funcs, DRM_MODE_ENCODER_DAC);
  9777. drm_encoder_helper_add(encoder, helper);
  9778.  
  9779. encoder->possible_crtcs = entry->heads;
  9780. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dfp.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dfp.c
  9781. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dfp.c 2010-01-25 15:21:29.000000000 -0500
  9782. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_dfp.c 2010-02-03 17:11:08.000000000 -0500
  9783. @@ -262,7 +262,7 @@
  9784. uint32_t mode_ratio, panel_ratio;
  9785.  
  9786. NV_DEBUG_KMS(dev, "Output mode on CRTC %d:\n", nv_crtc->index);
  9787. - drm_mode_debug_printmodeline(output_mode);
  9788. + lbm_drm_mode_debug_printmodeline(output_mode);
  9789.  
  9790. /* Initialize the FP registers in this CRTC. */
  9791. regp->fp_horiz_regs[FP_DISPLAY_END] = output_mode->hdisplay - 1;
  9792. @@ -414,7 +414,7 @@
  9793. int head = nouveau_crtc(encoder->crtc)->index;
  9794.  
  9795. NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n",
  9796. - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9797. + lbm_drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9798. nv_crtc->index, '@' + ffs(nv_encoder->dcb->or));
  9799.  
  9800. if (dcbe->type == OUTPUT_TMDS)
  9801. @@ -436,7 +436,7 @@
  9802. helper->dpms(encoder, DRM_MODE_DPMS_ON);
  9803.  
  9804. NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n",
  9805. - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9806. + lbm_drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base),
  9807. nv_crtc->index, '@' + ffs(nv_encoder->dcb->or));
  9808. }
  9809.  
  9810. @@ -554,7 +554,7 @@
  9811.  
  9812. NV_DEBUG_KMS(encoder->dev, "\n");
  9813.  
  9814. - drm_encoder_cleanup(encoder);
  9815. + lbm_drm_encoder_cleanup(encoder);
  9816. kfree(nv_encoder);
  9817. }
  9818.  
  9819. @@ -613,7 +613,7 @@
  9820. nv_encoder->dcb = entry;
  9821. nv_encoder->or = ffs(entry->or) - 1;
  9822.  
  9823. - drm_encoder_init(dev, encoder, &nv04_dfp_funcs, type);
  9824. + lbm_drm_encoder_init(dev, encoder, &nv04_dfp_funcs, type);
  9825. drm_encoder_helper_add(encoder, helper);
  9826.  
  9827. encoder->possible_crtcs = entry->heads;
  9828. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_display.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_display.c
  9829. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_display.c 2010-01-25 15:21:29.000000000 -0500
  9830. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_display.c 2010-02-03 17:11:08.000000000 -0500
  9831. @@ -105,9 +105,9 @@
  9832. nv04_display_store_initial_head_owner(dev);
  9833. nouveau_hw_save_vga_fonts(dev, 1);
  9834.  
  9835. - drm_mode_config_init(dev);
  9836. - drm_mode_create_scaling_mode_property(dev);
  9837. - drm_mode_create_dithering_property(dev);
  9838. + lbm_drm_mode_config_init(dev);
  9839. + lbm_drm_mode_create_scaling_mode_property(dev);
  9840. + lbm_drm_mode_create_dithering_property(dev);
  9841.  
  9842. dev->mode_config.funcs = (void *)&nouveau_mode_config_funcs;
  9843.  
  9844. @@ -245,7 +245,7 @@
  9845. list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
  9846. crtc->funcs->restore(crtc);
  9847.  
  9848. - drm_mode_config_cleanup(dev);
  9849. + lbm_drm_mode_config_cleanup(dev);
  9850.  
  9851. nouveau_hw_save_vga_fonts(dev, 0);
  9852. }
  9853. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_instmem.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_instmem.c
  9854. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_instmem.c 2010-01-25 15:21:29.000000000 -0500
  9855. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_instmem.c 2010-02-03 17:11:08.000000000 -0500
  9856. @@ -30,7 +30,7 @@
  9857. * of vram. For now, only reserve a small piece until we know
  9858. * more about what each chipset requires.
  9859. */
  9860. - switch (dev_priv->chipset & 0xf0) {
  9861. + switch (dev_priv->chipset) {
  9862. case 0x40:
  9863. case 0x47:
  9864. case 0x49:
  9865. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_tv.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_tv.c
  9866. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_tv.c 2010-01-25 15:21:29.000000000 -0500
  9867. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv04_tv.c 2010-02-03 17:11:09.000000000 -0500
  9868. @@ -208,7 +208,7 @@
  9869. helper->dpms(encoder, DRM_MODE_DPMS_ON);
  9870.  
  9871. NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n",
  9872. - drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), nv_crtc->index,
  9873. + lbm_drm_get_connector_name(&nouveau_encoder_connector_get(nv_encoder)->base), nv_crtc->index,
  9874. '@' + ffs(nv_encoder->dcb->or));
  9875. }
  9876.  
  9877. @@ -218,7 +218,7 @@
  9878.  
  9879. to_encoder_slave(encoder)->slave_funcs->destroy(encoder);
  9880.  
  9881. - drm_encoder_cleanup(encoder);
  9882. + lbm_drm_encoder_cleanup(encoder);
  9883.  
  9884. kfree(nv_encoder);
  9885. }
  9886. @@ -252,7 +252,7 @@
  9887. funcs = &nv04_tv_encoder_info[type].funcs;
  9888. hfuncs = &nv04_tv_encoder_info[type].hfuncs;
  9889.  
  9890. - drm_encoder_init(dev, encoder, funcs, DRM_MODE_ENCODER_TVDAC);
  9891. + lbm_drm_encoder_init(dev, encoder, funcs, DRM_MODE_ENCODER_TVDAC);
  9892. drm_encoder_helper_add(encoder, hfuncs);
  9893.  
  9894. encoder->possible_crtcs = entry->heads;
  9895. @@ -266,7 +266,7 @@
  9896.  
  9897. was_locked = NVLockVgaCrtcs(dev, false);
  9898.  
  9899. - ret = drm_i2c_encoder_init(encoder->dev, to_encoder_slave(encoder), adap,
  9900. + ret = lbm_drm_i2c_encoder_init(encoder->dev, to_encoder_slave(encoder), adap,
  9901. &nv04_tv_encoder_info[type].board_info);
  9902.  
  9903. NVLockVgaCrtcs(dev, was_locked);
  9904. @@ -298,7 +298,7 @@
  9905. return 0;
  9906.  
  9907. fail:
  9908. - drm_encoder_cleanup(encoder);
  9909. + lbm_drm_encoder_cleanup(encoder);
  9910.  
  9911. kfree(nv_encoder);
  9912. return ret;
  9913. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv17_tv.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv17_tv.c
  9914. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv17_tv.c 2010-01-25 15:21:29.000000000 -0500
  9915. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv17_tv.c 2010-02-03 17:11:09.000000000 -0500
  9916. @@ -150,7 +150,7 @@
  9917. break;
  9918. }
  9919.  
  9920. - drm_connector_property_set_value(connector,
  9921. + lbm_drm_connector_property_set_value(connector,
  9922. conf->tv_subconnector_property,
  9923. tv_enc->subconnector);
  9924.  
  9925. @@ -191,7 +191,7 @@
  9926. struct drm_display_mode *tv_mode;
  9927.  
  9928. for (tv_mode = nv17_tv_modes; tv_mode->hdisplay; tv_mode++) {
  9929. - mode = drm_mode_duplicate(encoder->dev, tv_mode);
  9930. + mode = lbm_drm_mode_duplicate(encoder->dev, tv_mode);
  9931.  
  9932. mode->clock = tv_norm->tv_enc_mode.vrefresh *
  9933. mode->htotal / 1000 *
  9934. @@ -204,7 +204,7 @@
  9935. mode->vdisplay == tv_norm->tv_enc_mode.vdisplay)
  9936. mode->type |= DRM_MODE_TYPE_PREFERRED;
  9937.  
  9938. - drm_mode_probed_add(connector, mode);
  9939. + lbm_drm_mode_probed_add(connector, mode);
  9940. n++;
  9941. }
  9942. return n;
  9943. @@ -219,10 +219,10 @@
  9944.  
  9945. if (modes[i].hdisplay == output_mode->hdisplay &&
  9946. modes[i].vdisplay == output_mode->vdisplay) {
  9947. - mode = drm_mode_duplicate(encoder->dev, output_mode);
  9948. + mode = lbm_drm_mode_duplicate(encoder->dev, output_mode);
  9949. mode->type |= DRM_MODE_TYPE_PREFERRED;
  9950. } else {
  9951. - mode = drm_cvt_mode(encoder->dev, modes[i].hdisplay,
  9952. + mode = lbm_drm_cvt_mode(encoder->dev, modes[i].hdisplay,
  9953. modes[i].vdisplay, 60, false,
  9954. output_mode->flags & DRM_MODE_FLAG_INTERLACE,
  9955. false);
  9956. @@ -243,7 +243,7 @@
  9957. }
  9958.  
  9959. mode->type |= DRM_MODE_TYPE_DRIVER;
  9960. - drm_mode_probed_add(connector, mode);
  9961. + lbm_drm_mode_probed_add(connector, mode);
  9962. n++;
  9963. }
  9964. return n;
  9965. @@ -278,7 +278,7 @@
  9966. if (mode->clock > 70000)
  9967. return MODE_CLOCK_HIGH;
  9968.  
  9969. - if (abs(drm_mode_vrefresh(mode) * 1000 -
  9970. + if (abs(lbm_drm_mode_vrefresh(mode) * 1000 -
  9971. tv_norm->tv_enc_mode.vrefresh) > vsync_tolerance)
  9972. return MODE_VSYNC;
  9973.  
  9974. @@ -550,7 +550,7 @@
  9975. helper->dpms(encoder, DRM_MODE_DPMS_ON);
  9976.  
  9977. NV_INFO(dev, "Output %s is running on CRTC %d using output %c\n",
  9978. - drm_get_connector_name(
  9979. + lbm_drm_get_connector_name(
  9980. &nouveau_encoder_connector_get(nv_encoder)->base),
  9981. nv_crtc->index, '@' + ffs(nv_encoder->dcb->or));
  9982. }
  9983. @@ -605,27 +605,27 @@
  9984. nouveau_tv_norm);
  9985. }
  9986.  
  9987. - drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
  9988. + lbm_drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
  9989.  
  9990. - drm_connector_attach_property(connector,
  9991. + lbm_drm_connector_attach_property(connector,
  9992. conf->tv_select_subconnector_property,
  9993. tv_enc->select_subconnector);
  9994. - drm_connector_attach_property(connector,
  9995. + lbm_drm_connector_attach_property(connector,
  9996. conf->tv_subconnector_property,
  9997. tv_enc->subconnector);
  9998. - drm_connector_attach_property(connector,
  9999. + lbm_drm_connector_attach_property(connector,
  10000. conf->tv_mode_property,
  10001. tv_enc->tv_norm);
  10002. - drm_connector_attach_property(connector,
  10003. + lbm_drm_connector_attach_property(connector,
  10004. conf->tv_flicker_reduction_property,
  10005. tv_enc->flicker);
  10006. - drm_connector_attach_property(connector,
  10007. + lbm_drm_connector_attach_property(connector,
  10008. conf->tv_saturation_property,
  10009. tv_enc->saturation);
  10010. - drm_connector_attach_property(connector,
  10011. + lbm_drm_connector_attach_property(connector,
  10012. conf->tv_hue_property,
  10013. tv_enc->hue);
  10014. - drm_connector_attach_property(connector,
  10015. + lbm_drm_connector_attach_property(connector,
  10016. conf->tv_overscan_property,
  10017. tv_enc->overscan);
  10018.  
  10019. @@ -694,7 +694,7 @@
  10020. }
  10021.  
  10022. if (modes_changed) {
  10023. - drm_helper_probe_single_connector_modes(connector, 0, 0);
  10024. + lbm_drm_helper_probe_single_connector_modes(connector, 0, 0);
  10025.  
  10026. /* Disable the crtc to ensure a full modeset is
  10027. * performed whenever it's turned on again. */
  10028. @@ -716,7 +716,7 @@
  10029.  
  10030. NV_DEBUG_KMS(encoder->dev, "\n");
  10031.  
  10032. - drm_encoder_cleanup(encoder);
  10033. + lbm_drm_encoder_cleanup(encoder);
  10034. kfree(tv_enc);
  10035. }
  10036.  
  10037. @@ -765,7 +765,7 @@
  10038. tv_enc->base.dcb = entry;
  10039. tv_enc->base.or = ffs(entry->or) - 1;
  10040.  
  10041. - drm_encoder_init(dev, encoder, &nv17_tv_funcs, DRM_MODE_ENCODER_TVDAC);
  10042. + lbm_drm_encoder_init(dev, encoder, &nv17_tv_funcs, DRM_MODE_ENCODER_TVDAC);
  10043. drm_encoder_helper_add(encoder, &nv17_tv_helper_funcs);
  10044. to_encoder_slave(encoder)->slave_funcs = &nv17_tv_slave_funcs;
  10045.  
  10046. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv20_graph.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv20_graph.c
  10047. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv20_graph.c 2010-01-25 15:21:29.000000000 -0500
  10048. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv20_graph.c 2010-02-03 17:11:09.000000000 -0500
  10049. @@ -616,7 +616,7 @@
  10050. nv_wr32(dev, NV10_PGRAPH_SURFACE, tmp);
  10051.  
  10052. /* begin RAM config */
  10053. - vramsz = drm_get_resource_len(dev, 0) - 1;
  10054. + vramsz = lbm_drm_get_resource_len(dev, 0) - 1;
  10055. nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0));
  10056. nv_wr32(dev, 0x4009A8, nv_rd32(dev, NV04_PFB_CFG1));
  10057. nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0000);
  10058. @@ -717,7 +717,7 @@
  10059. nv_wr32(dev, 0x0040075c , 0x00000001);
  10060.  
  10061. /* begin RAM config */
  10062. - /* vramsz = drm_get_resource_len(dev, 0) - 1; */
  10063. + /* vramsz = lbm_drm_get_resource_len(dev, 0) - 1; */
  10064. nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0));
  10065. nv_wr32(dev, 0x4009A8, nv_rd32(dev, NV04_PFB_CFG1));
  10066. if (dev_priv->chipset != 0x34) {
  10067. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv40_graph.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv40_graph.c
  10068. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv40_graph.c 2010-01-25 15:21:29.000000000 -0500
  10069. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv40_graph.c 2010-02-03 17:11:09.000000000 -0500
  10070. @@ -340,7 +340,7 @@
  10071. nv40_graph_set_region_tiling(dev, i, 0, 0, 0);
  10072.  
  10073. /* begin RAM config */
  10074. - vramsz = drm_get_resource_len(dev, 0) - 1;
  10075. + vramsz = lbm_drm_get_resource_len(dev, 0) - 1;
  10076. switch (dev_priv->chipset) {
  10077. case 0x40:
  10078. nv_wr32(dev, 0x4009A4, nv_rd32(dev, NV04_PFB_CFG0));
  10079. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_crtc.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_crtc.c
  10080. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_crtc.c 2010-01-25 15:21:29.000000000 -0500
  10081. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_crtc.c 2010-02-03 17:11:09.000000000 -0500
  10082. @@ -306,7 +306,7 @@
  10083. if (!crtc)
  10084. return;
  10085.  
  10086. - drm_crtc_cleanup(&nv_crtc->base);
  10087. + lbm_drm_crtc_cleanup(&nv_crtc->base);
  10088.  
  10089. nv50_cursor_fini(nv_crtc);
  10090.  
  10091. @@ -335,7 +335,7 @@
  10092. return 0;
  10093. }
  10094.  
  10095. - gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
  10096. + gem = lbm_drm_gem_object_lookup(dev, file_priv, buffer_handle);
  10097. if (!gem)
  10098. return -EINVAL;
  10099. cursor = nouveau_gem_object(gem);
  10100. @@ -417,7 +417,7 @@
  10101. .cursor_set = nv50_crtc_cursor_set,
  10102. .cursor_move = nv50_crtc_cursor_move,
  10103. .gamma_set = nv50_crtc_gamma_set,
  10104. - .set_config = drm_crtc_helper_set_config,
  10105. + .set_config = lbm_drm_crtc_helper_set_config,
  10106. .destroy = nv50_crtc_destroy,
  10107. };
  10108.  
  10109. @@ -432,6 +432,7 @@
  10110. struct nouveau_crtc *nv_crtc = nouveau_crtc(crtc);
  10111. struct drm_device *dev = crtc->dev;
  10112. struct drm_encoder *encoder;
  10113. + uint32_t dac = 0, sor = 0;
  10114.  
  10115. NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index);
  10116.  
  10117. @@ -439,9 +440,28 @@
  10118. list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
  10119. struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
  10120.  
  10121. - if (drm_helper_encoder_in_use(encoder))
  10122. + if (!lbm_drm_helper_encoder_in_use(encoder))
  10123. continue;
  10124.  
  10125. + if (nv_encoder->dcb->type == OUTPUT_ANALOG ||
  10126. + nv_encoder->dcb->type == OUTPUT_TV)
  10127. + dac |= (1 << nv_encoder->or);
  10128. + else
  10129. + sor |= (1 << nv_encoder->or);
  10130. + }
  10131. +
  10132. + list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
  10133. + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
  10134. +
  10135. + if (nv_encoder->dcb->type == OUTPUT_ANALOG ||
  10136. + nv_encoder->dcb->type == OUTPUT_TV) {
  10137. + if (dac & (1 << nv_encoder->or))
  10138. + continue;
  10139. + } else {
  10140. + if (sor & (1 << nv_encoder->or))
  10141. + continue;
  10142. + }
  10143. +
  10144. nv_encoder->disconnect(nv_encoder);
  10145. }
  10146.  
  10147. @@ -464,7 +484,7 @@
  10148.  
  10149. /* Explicitly blank all unused crtc's. */
  10150. list_for_each_entry(crtc2, &dev->mode_config.crtc_list, head) {
  10151. - if (!drm_helper_crtc_in_use(crtc2))
  10152. + if (!lbm_drm_helper_crtc_in_use(crtc2))
  10153. nv50_crtc_blank(nouveau_crtc(crtc2), true);
  10154. }
  10155.  
  10156. @@ -750,9 +770,9 @@
  10157. nv_crtc->set_dither = nv50_crtc_set_dither;
  10158. nv_crtc->set_scale = nv50_crtc_set_scale;
  10159.  
  10160. - drm_crtc_init(dev, &nv_crtc->base, &nv50_crtc_funcs);
  10161. + lbm_drm_crtc_init(dev, &nv_crtc->base, &nv50_crtc_funcs);
  10162. drm_crtc_helper_add(&nv_crtc->base, &nv50_crtc_helper_funcs);
  10163. - drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256);
  10164. + lbm_drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256);
  10165.  
  10166. ret = nouveau_bo_new(dev, NULL, 64*64*4, 0x100, TTM_PL_FLAG_VRAM,
  10167. 0, 0x0000, false, true, &nv_crtc->cursor.nvbo);
  10168. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_dac.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_dac.c
  10169. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_dac.c 2010-01-25 15:21:29.000000000 -0500
  10170. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_dac.c 2010-02-03 17:11:09.000000000 -0500
  10171. @@ -266,7 +266,7 @@
  10172.  
  10173. NV_DEBUG_KMS(encoder->dev, "\n");
  10174.  
  10175. - drm_encoder_cleanup(encoder);
  10176. + lbm_drm_encoder_cleanup(encoder);
  10177. kfree(nv_encoder);
  10178. }
  10179.  
  10180. @@ -293,7 +293,7 @@
  10181.  
  10182. nv_encoder->disconnect = nv50_dac_disconnect;
  10183.  
  10184. - drm_encoder_init(dev, encoder, &nv50_dac_encoder_funcs,
  10185. + lbm_drm_encoder_init(dev, encoder, &nv50_dac_encoder_funcs,
  10186. DRM_MODE_ENCODER_DAC);
  10187. drm_encoder_helper_add(encoder, &nv50_dac_helper_funcs);
  10188.  
  10189. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_display.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_display.c
  10190. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_display.c 2010-01-25 15:21:29.000000000 -0500
  10191. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_display.c 2010-02-03 17:11:08.000000000 -0500
  10192. @@ -472,11 +472,11 @@
  10193. NV_DEBUG_KMS(dev, "\n");
  10194.  
  10195. /* init basic kernel modesetting */
  10196. - drm_mode_config_init(dev);
  10197. + lbm_drm_mode_config_init(dev);
  10198.  
  10199. /* Initialise some optional connector properties. */
  10200. - drm_mode_create_scaling_mode_property(dev);
  10201. - drm_mode_create_dithering_property(dev);
  10202. + lbm_drm_mode_create_scaling_mode_property(dev);
  10203. + lbm_drm_mode_create_dithering_property(dev);
  10204.  
  10205. dev->mode_config.min_width = 0;
  10206. dev->mode_config.min_height = 0;
  10207. @@ -575,7 +575,7 @@
  10208.  
  10209. NV_DEBUG_KMS(dev, "\n");
  10210.  
  10211. - drm_mode_config_cleanup(dev);
  10212. + lbm_drm_mode_config_cleanup(dev);
  10213.  
  10214. nv50_display_disable(dev);
  10215. nv50_evo_channel_del(&dev_priv->evo);
  10216. @@ -955,7 +955,7 @@
  10217. reg = nv_rd32(dev, gpio_reg[gpio->line >> 3]);
  10218. plugged = !!(reg & (4 << ((gpio->line & 7) << 2)));
  10219. NV_INFO(dev, "%splugged %s\n", plugged ? "" : "un",
  10220. - drm_get_connector_name(connector)) ;
  10221. + lbm_drm_get_connector_name(connector)) ;
  10222.  
  10223. if (!connector->encoder || !connector->encoder->crtc ||
  10224. !connector->encoder->crtc->enabled)
  10225. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_fifo.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_fifo.c
  10226. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_fifo.c 2010-01-25 15:21:29.000000000 -0500
  10227. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_fifo.c 2010-02-03 17:11:09.000000000 -0500
  10228. @@ -272,7 +272,7 @@
  10229. return ret;
  10230. ramfc = chan->ramfc->gpuobj;
  10231.  
  10232. - ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, 4096, 256,
  10233. + ret = nouveau_gpuobj_new_ref(dev, chan, NULL, 0, 4096, 1024,
  10234. 0, &chan->cache);
  10235. if (ret)
  10236. return ret;
  10237. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_graph.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_graph.c
  10238. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_graph.c 2010-01-25 15:21:29.000000000 -0500
  10239. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_graph.c 2010-02-03 17:11:08.000000000 -0500
  10240. @@ -84,7 +84,7 @@
  10241. nv_wr32(dev, 0x400804, 0xc0000000);
  10242. nv_wr32(dev, 0x406800, 0xc0000000);
  10243. nv_wr32(dev, 0x400c04, 0xc0000000);
  10244. - nv_wr32(dev, 0x401804, 0xc0000000);
  10245. + nv_wr32(dev, 0x401800, 0xc0000000);
  10246. nv_wr32(dev, 0x405018, 0xc0000000);
  10247. nv_wr32(dev, 0x402000, 0xc0000000);
  10248.  
  10249. @@ -282,6 +282,7 @@
  10250. return 0;
  10251. inst &= NV50_PGRAPH_CTXCTL_CUR_INSTANCE;
  10252.  
  10253. + nouveau_wait_for_idle(dev);
  10254. nv_wr32(dev, 0x400500, fifo & ~1);
  10255. nv_wr32(dev, 0x400784, inst);
  10256. nv_wr32(dev, 0x400824, nv_rd32(dev, 0x400824) | 0x20);
  10257. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_instmem.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_instmem.c
  10258. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_instmem.c 2010-01-25 15:21:29.000000000 -0500
  10259. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_instmem.c 2010-02-03 17:11:09.000000000 -0500
  10260. @@ -228,7 +228,7 @@
  10261. return ret;
  10262. BAR0_WI32(priv->fb_bar->gpuobj, 0x00, 0x7fc00000);
  10263. BAR0_WI32(priv->fb_bar->gpuobj, 0x04, 0x40000000 +
  10264. - drm_get_resource_len(dev, 1) - 1);
  10265. + lbm_drm_get_resource_len(dev, 1) - 1);
  10266. BAR0_WI32(priv->fb_bar->gpuobj, 0x08, 0x40000000);
  10267. BAR0_WI32(priv->fb_bar->gpuobj, 0x0c, 0x00000000);
  10268. BAR0_WI32(priv->fb_bar->gpuobj, 0x10, 0x00000000);
  10269. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_sor.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_sor.c
  10270. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_sor.c 2010-01-25 15:21:29.000000000 -0500
  10271. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/nouveau/nv50_sor.c 2010-02-03 17:11:08.000000000 -0500
  10272. @@ -90,11 +90,24 @@
  10273. {
  10274. struct drm_device *dev = encoder->dev;
  10275. struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
  10276. + struct drm_encoder *enc;
  10277. uint32_t val;
  10278. int or = nv_encoder->or;
  10279.  
  10280. NV_DEBUG_KMS(dev, "or %d mode %d\n", or, mode);
  10281.  
  10282. + nv_encoder->last_dpms = mode;
  10283. + list_for_each_entry(enc, &dev->mode_config.encoder_list, head) {
  10284. + struct nouveau_encoder *nvenc = nouveau_encoder(enc);
  10285. +
  10286. + if (nvenc == nv_encoder ||
  10287. + nvenc->dcb->or != nv_encoder->dcb->or)
  10288. + continue;
  10289. +
  10290. + if (nvenc->last_dpms == DRM_MODE_DPMS_ON)
  10291. + return;
  10292. + }
  10293. +
  10294. /* wait for it to be done */
  10295. if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_CTRL(or),
  10296. NV50_PDISPLAY_SOR_DPMS_CTRL_PENDING, 0)) {
  10297. @@ -248,7 +261,7 @@
  10298.  
  10299. NV_DEBUG_KMS(encoder->dev, "\n");
  10300.  
  10301. - drm_encoder_cleanup(encoder);
  10302. + lbm_drm_encoder_cleanup(encoder);
  10303.  
  10304. kfree(nv_encoder);
  10305. }
  10306. @@ -299,7 +312,7 @@
  10307.  
  10308. nv_encoder->disconnect = nv50_sor_disconnect;
  10309.  
  10310. - drm_encoder_init(dev, encoder, &nv50_sor_encoder_funcs, type);
  10311. + lbm_drm_encoder_init(dev, encoder, &nv50_sor_encoder_funcs, type);
  10312. drm_encoder_helper_add(encoder, &nv50_sor_helper_funcs);
  10313.  
  10314. encoder->possible_crtcs = entry->heads;
  10315. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/Makefile linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/Makefile
  10316. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/Makefile 2010-01-25 15:21:29.000000000 -0500
  10317. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/Makefile 2010-02-03 17:11:08.000000000 -0500
  10318. @@ -1,9 +1,9 @@
  10319. #
  10320. # Makefile for the drm device driver. This driver provides support for the
  10321.  
  10322. -ccflags-y := -Iinclude/drm
  10323. -ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \
  10324. +ccflags-y := -I$(M)/nouveau/include/drm -I$(src)/include
  10325. +lbm_ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \
  10326. ttm_bo_util.o ttm_bo_vm.o ttm_module.o ttm_global.o \
  10327. ttm_object.o ttm_lock.o ttm_execbuf_util.o
  10328.  
  10329. -obj-$(CONFIG_DRM_TTM) += ttm.o
  10330. +obj-$(CONFIG_DRM_TTM) += lbm_ttm.o
  10331. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_agp_backend.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_agp_backend.c
  10332. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_agp_backend.c 2010-01-25 15:21:29.000000000 -0500
  10333. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_agp_backend.c 2010-02-03 17:11:09.000000000 -0500
  10334. @@ -129,7 +129,7 @@
  10335. .destroy = ttm_agp_destroy,
  10336. };
  10337.  
  10338. -struct ttm_backend *ttm_agp_backend_init(struct ttm_bo_device *bdev,
  10339. +struct ttm_backend *lbm_ttm_agp_backend_init(struct ttm_bo_device *bdev,
  10340. struct agp_bridge_data *bridge)
  10341. {
  10342. struct ttm_agp_backend *agp_be;
  10343. @@ -144,6 +144,6 @@
  10344. agp_be->backend.bdev = bdev;
  10345. return &agp_be->backend;
  10346. }
  10347. -EXPORT_SYMBOL(ttm_agp_backend_init);
  10348. +EXPORT_SYMBOL(lbm_ttm_agp_backend_init);
  10349.  
  10350. #endif
  10351. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo.c
  10352. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo.c 2010-01-25 15:21:29.000000000 -0500
  10353. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo.c 2010-02-03 17:11:09.000000000 -0500
  10354. @@ -88,7 +88,7 @@
  10355. man->default_caching);
  10356. if (mem_type != TTM_PL_SYSTEM) {
  10357. spin_lock(&bdev->glob->lru_lock);
  10358. - drm_mm_debug_table(&man->manager, TTM_PFX);
  10359. + lbm_drm_mm_debug_table(&man->manager, TTM_PFX);
  10360. spin_unlock(&bdev->glob->lru_lock);
  10361. }
  10362. }
  10363. @@ -164,12 +164,12 @@
  10364. if (bo->destroy)
  10365. bo->destroy(bo);
  10366. else {
  10367. - ttm_mem_global_free(bdev->glob->mem_glob, bo->acc_size);
  10368. + lbm_ttm_mem_global_free(bdev->glob->mem_glob, bo->acc_size);
  10369. kfree(bo);
  10370. }
  10371. }
  10372.  
  10373. -int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, bool interruptible)
  10374. +int lbm_ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, bool interruptible)
  10375. {
  10376.  
  10377. if (interruptible) {
  10378. @@ -184,7 +184,7 @@
  10379. }
  10380. return 0;
  10381. }
  10382. -EXPORT_SYMBOL(ttm_bo_wait_unreserved);
  10383. +EXPORT_SYMBOL(lbm_ttm_bo_wait_unreserved);
  10384.  
  10385. static void ttm_bo_add_to_lru(struct ttm_buffer_object *bo)
  10386. {
  10387. @@ -250,7 +250,7 @@
  10388. return -EBUSY;
  10389.  
  10390. spin_unlock(&glob->lru_lock);
  10391. - ret = ttm_bo_wait_unreserved(bo, interruptible);
  10392. + ret = lbm_ttm_bo_wait_unreserved(bo, interruptible);
  10393. spin_lock(&glob->lru_lock);
  10394.  
  10395. if (unlikely(ret))
  10396. @@ -266,14 +266,14 @@
  10397.  
  10398. return 0;
  10399. }
  10400. -EXPORT_SYMBOL(ttm_bo_reserve);
  10401. +EXPORT_SYMBOL(lbm_ttm_bo_reserve);
  10402.  
  10403. static void ttm_bo_ref_bug(struct kref *list_kref)
  10404. {
  10405. BUG();
  10406. }
  10407.  
  10408. -int ttm_bo_reserve(struct ttm_buffer_object *bo,
  10409. +int lbm_ttm_bo_reserve(struct ttm_buffer_object *bo,
  10410. bool interruptible,
  10411. bool no_wait, bool use_sequence, uint32_t sequence)
  10412. {
  10413. @@ -294,7 +294,7 @@
  10414. return ret;
  10415. }
  10416.  
  10417. -void ttm_bo_unreserve(struct ttm_buffer_object *bo)
  10418. +void lbm_ttm_bo_unreserve(struct ttm_buffer_object *bo)
  10419. {
  10420. struct ttm_bo_global *glob = bo->glob;
  10421.  
  10422. @@ -304,7 +304,7 @@
  10423. wake_up_all(&bo->event_queue);
  10424. spin_unlock(&glob->lru_lock);
  10425. }
  10426. -EXPORT_SYMBOL(ttm_bo_unreserve);
  10427. +EXPORT_SYMBOL(lbm_ttm_bo_unreserve);
  10428.  
  10429. /*
  10430. * Call bo->mutex locked.
  10431. @@ -368,7 +368,7 @@
  10432.  
  10433. if (old_is_pci || new_is_pci ||
  10434. ((mem->placement & bo->mem.placement & TTM_PL_MASK_CACHING) == 0))
  10435. - ttm_bo_unmap_virtual(bo);
  10436. + lbm_ttm_bo_unmap_virtual(bo);
  10437.  
  10438. /*
  10439. * Create and bind a ttm if required.
  10440. @@ -379,12 +379,12 @@
  10441. if (ret)
  10442. goto out_err;
  10443.  
  10444. - ret = ttm_tt_set_placement_caching(bo->ttm, mem->placement);
  10445. + ret = lbm_ttm_tt_set_placement_caching(bo->ttm, mem->placement);
  10446. if (ret)
  10447. goto out_err;
  10448.  
  10449. if (mem->mem_type != TTM_PL_SYSTEM) {
  10450. - ret = ttm_tt_bind(bo->ttm, mem);
  10451. + ret = lbm_ttm_tt_bind(bo->ttm, mem);
  10452. if (ret)
  10453. goto out_err;
  10454. }
  10455. @@ -402,12 +402,12 @@
  10456.  
  10457. if (!(old_man->flags & TTM_MEMTYPE_FLAG_FIXED) &&
  10458. !(new_man->flags & TTM_MEMTYPE_FLAG_FIXED))
  10459. - ret = ttm_bo_move_ttm(bo, evict, no_wait, mem);
  10460. + ret = lbm_ttm_bo_move_ttm(bo, evict, no_wait, mem);
  10461. else if (bdev->driver->move)
  10462. ret = bdev->driver->move(bo, evict, interruptible,
  10463. no_wait, mem);
  10464. else
  10465. - ret = ttm_bo_move_memcpy(bo, evict, no_wait, mem);
  10466. + ret = lbm_ttm_bo_move_memcpy(bo, evict, no_wait, mem);
  10467.  
  10468. if (ret)
  10469. goto out_err;
  10470. @@ -426,7 +426,8 @@
  10471. bdev->man[bo->mem.mem_type].gpu_offset;
  10472. bo->cur_placement = bo->mem.placement;
  10473. spin_unlock(&bo->lock);
  10474. - }
  10475. + } else
  10476. + bo->offset = 0;
  10477.  
  10478. return 0;
  10479.  
  10480. @@ -456,7 +457,7 @@
  10481. int ret;
  10482.  
  10483. spin_lock(&bo->lock);
  10484. - (void) ttm_bo_wait(bo, false, false, !remove_all);
  10485. + (void) lbm_ttm_bo_wait(bo, false, false, !remove_all);
  10486.  
  10487. if (!bo->sync_obj) {
  10488. int put_count;
  10489. @@ -477,7 +478,7 @@
  10490. }
  10491. if (bo->mem.mm_node) {
  10492. bo->mem.mm_node->private = NULL;
  10493. - drm_mm_put_block(bo->mem.mm_node);
  10494. + lbm_drm_mm_put_block(bo->mem.mm_node);
  10495. bo->mem.mm_node = NULL;
  10496. }
  10497. spin_unlock(&glob->lru_lock);
  10498. @@ -523,52 +524,44 @@
  10499. static int ttm_bo_delayed_delete(struct ttm_bo_device *bdev, bool remove_all)
  10500. {
  10501. struct ttm_bo_global *glob = bdev->glob;
  10502. - struct ttm_buffer_object *entry, *nentry;
  10503. - struct list_head *list, *next;
  10504. - int ret;
  10505. + struct ttm_buffer_object *entry = NULL;
  10506. + int ret = 0;
  10507.  
  10508. spin_lock(&glob->lru_lock);
  10509. - list_for_each_safe(list, next, &bdev->ddestroy) {
  10510. - entry = list_entry(list, struct ttm_buffer_object, ddestroy);
  10511. - nentry = NULL;
  10512. -
  10513. - /*
  10514. - * Protect the next list entry from destruction while we
  10515. - * unlock the lru_lock.
  10516. - */
  10517. + if (list_empty(&bdev->ddestroy))
  10518. + goto out_unlock;
  10519.  
  10520. - if (next != &bdev->ddestroy) {
  10521. - nentry = list_entry(next, struct ttm_buffer_object,
  10522. - ddestroy);
  10523. + entry = list_first_entry(&bdev->ddestroy,
  10524. + struct ttm_buffer_object, ddestroy);
  10525. + kref_get(&entry->list_kref);
  10526. +
  10527. + for (;;) {
  10528. + struct ttm_buffer_object *nentry = NULL;
  10529. +
  10530. + if (entry->ddestroy.next != &bdev->ddestroy) {
  10531. + nentry = list_first_entry(&entry->ddestroy,
  10532. + struct ttm_buffer_object, ddestroy);
  10533. kref_get(&nentry->list_kref);
  10534. }
  10535. - kref_get(&entry->list_kref);
  10536.  
  10537. spin_unlock(&glob->lru_lock);
  10538. ret = ttm_bo_cleanup_refs(entry, remove_all);
  10539. kref_put(&entry->list_kref, ttm_bo_release_list);
  10540. + entry = nentry;
  10541.  
  10542. - spin_lock(&glob->lru_lock);
  10543. - if (nentry) {
  10544. - bool next_onlist = !list_empty(next);
  10545. - spin_unlock(&glob->lru_lock);
  10546. - kref_put(&nentry->list_kref, ttm_bo_release_list);
  10547. - spin_lock(&glob->lru_lock);
  10548. - /*
  10549. - * Someone might have raced us and removed the
  10550. - * next entry from the list. We don't bother restarting
  10551. - * list traversal.
  10552. - */
  10553. + if (ret || !entry)
  10554. + goto out;
  10555.  
  10556. - if (!next_onlist)
  10557. - break;
  10558. - }
  10559. - if (ret)
  10560. + spin_lock(&glob->lru_lock);
  10561. + if (list_empty(&entry->ddestroy))
  10562. break;
  10563. }
  10564. - ret = !list_empty(&bdev->ddestroy);
  10565. - spin_unlock(&glob->lru_lock);
  10566.  
  10567. +out_unlock:
  10568. + spin_unlock(&glob->lru_lock);
  10569. +out:
  10570. + if (entry)
  10571. + kref_put(&entry->list_kref, ttm_bo_release_list);
  10572. return ret;
  10573. }
  10574.  
  10575. @@ -591,7 +584,7 @@
  10576.  
  10577. if (likely(bo->vm_node != NULL)) {
  10578. rb_erase(&bo->vm_rb, &bdev->addr_space_rb);
  10579. - drm_mm_put_block(bo->vm_node);
  10580. + lbm_drm_mm_put_block(bo->vm_node);
  10581. bo->vm_node = NULL;
  10582. }
  10583. write_unlock(&bdev->vm_lock);
  10584. @@ -600,7 +593,7 @@
  10585. write_lock(&bdev->vm_lock);
  10586. }
  10587.  
  10588. -void ttm_bo_unref(struct ttm_buffer_object **p_bo)
  10589. +void lbm_ttm_bo_unref(struct ttm_buffer_object **p_bo)
  10590. {
  10591. struct ttm_buffer_object *bo = *p_bo;
  10592. struct ttm_bo_device *bdev = bo->bdev;
  10593. @@ -610,7 +603,7 @@
  10594. kref_put(&bo->kref, ttm_bo_release);
  10595. write_unlock(&bdev->vm_lock);
  10596. }
  10597. -EXPORT_SYMBOL(ttm_bo_unref);
  10598. +EXPORT_SYMBOL(lbm_ttm_bo_unref);
  10599.  
  10600. static int ttm_bo_evict(struct ttm_buffer_object *bo, bool interruptible,
  10601. bool no_wait)
  10602. @@ -622,7 +615,7 @@
  10603. int ret = 0;
  10604.  
  10605. spin_lock(&bo->lock);
  10606. - ret = ttm_bo_wait(bo, false, interruptible, no_wait);
  10607. + ret = lbm_ttm_bo_wait(bo, false, interruptible, no_wait);
  10608. spin_unlock(&bo->lock);
  10609.  
  10610. if (unlikely(ret != 0)) {
  10611. @@ -644,7 +637,7 @@
  10612. placement.num_placement = 0;
  10613. placement.num_busy_placement = 0;
  10614. bdev->driver->evict_flags(bo, &placement);
  10615. - ret = ttm_bo_mem_space(bo, &placement, &evict_mem, interruptible,
  10616. + ret = lbm_ttm_bo_mem_space(bo, &placement, &evict_mem, interruptible,
  10617. no_wait);
  10618. if (ret) {
  10619. if (ret != -ERESTARTSYS) {
  10620. @@ -664,7 +657,7 @@
  10621. spin_lock(&glob->lru_lock);
  10622. if (evict_mem.mm_node) {
  10623. evict_mem.mm_node->private = NULL;
  10624. - drm_mm_put_block(evict_mem.mm_node);
  10625. + lbm_drm_mm_put_block(evict_mem.mm_node);
  10626. evict_mem.mm_node = NULL;
  10627. }
  10628. spin_unlock(&glob->lru_lock);
  10629. @@ -699,7 +692,7 @@
  10630. if (unlikely(ret == -EBUSY)) {
  10631. spin_unlock(&glob->lru_lock);
  10632. if (likely(!no_wait))
  10633. - ret = ttm_bo_wait_unreserved(bo, interruptible);
  10634. + ret = lbm_ttm_bo_wait_unreserved(bo, interruptible);
  10635.  
  10636. kref_put(&bo->list_kref, ttm_bo_release_list);
  10637.  
  10638. @@ -721,7 +714,7 @@
  10639. kref_put(&bo->list_kref, ttm_bo_ref_bug);
  10640.  
  10641. ret = ttm_bo_evict(bo, interruptible, no_wait);
  10642. - ttm_bo_unreserve(bo);
  10643. + lbm_ttm_bo_unreserve(bo);
  10644.  
  10645. kref_put(&bo->list_kref, ttm_bo_release_list);
  10646. return ret;
  10647. @@ -742,12 +735,12 @@
  10648. lpfn = man->size;
  10649. *node = NULL;
  10650. do {
  10651. - ret = drm_mm_pre_get(&man->manager);
  10652. + ret = lbm_drm_mm_pre_get(&man->manager);
  10653. if (unlikely(ret))
  10654. return ret;
  10655.  
  10656. spin_lock(&glob->lru_lock);
  10657. - *node = drm_mm_search_free_in_range(&man->manager,
  10658. + *node = lbm_drm_mm_search_free_in_range(&man->manager,
  10659. mem->num_pages, mem->page_alignment,
  10660. placement->fpfn, lpfn, 1);
  10661. if (unlikely(*node == NULL)) {
  10662. @@ -859,7 +852,7 @@
  10663. * ttm_bo_mem_force_space is attempted in priority order to evict and find
  10664. * space.
  10665. */
  10666. -int ttm_bo_mem_space(struct ttm_buffer_object *bo,
  10667. +int lbm_ttm_bo_mem_space(struct ttm_buffer_object *bo,
  10668. struct ttm_placement *placement,
  10669. struct ttm_mem_reg *mem,
  10670. bool interruptible, bool no_wait)
  10671. @@ -950,6 +943,14 @@
  10672. ttm_flag_masked(&cur_flags, placement->busy_placement[i],
  10673. ~TTM_PL_MASK_MEMTYPE);
  10674.  
  10675. +
  10676. + if (mem_type == TTM_PL_SYSTEM) {
  10677. + mem->mem_type = mem_type;
  10678. + mem->placement = cur_flags;
  10679. + mem->mm_node = NULL;
  10680. + return 0;
  10681. + }
  10682. +
  10683. ret = ttm_bo_mem_force_space(bo, mem_type, placement, mem,
  10684. interruptible, no_wait);
  10685. if (ret == 0 && mem->mm_node) {
  10686. @@ -963,9 +964,9 @@
  10687. ret = (has_erestartsys) ? -ERESTARTSYS : -ENOMEM;
  10688. return ret;
  10689. }
  10690. -EXPORT_SYMBOL(ttm_bo_mem_space);
  10691. +EXPORT_SYMBOL(lbm_ttm_bo_mem_space);
  10692.  
  10693. -int ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait)
  10694. +int lbm_ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait)
  10695. {
  10696. if ((atomic_read(&bo->cpu_writers) > 0) && no_wait)
  10697. return -EBUSY;
  10698. @@ -973,7 +974,7 @@
  10699. return wait_event_interruptible(bo->event_queue,
  10700. atomic_read(&bo->cpu_writers) == 0);
  10701. }
  10702. -EXPORT_SYMBOL(ttm_bo_wait_cpu);
  10703. +EXPORT_SYMBOL(lbm_ttm_bo_wait_cpu);
  10704.  
  10705. int ttm_bo_move_buffer(struct ttm_buffer_object *bo,
  10706. struct ttm_placement *placement,
  10707. @@ -991,7 +992,7 @@
  10708. * instead of doing it here.
  10709. */
  10710. spin_lock(&bo->lock);
  10711. - ret = ttm_bo_wait(bo, false, interruptible, no_wait);
  10712. + ret = lbm_ttm_bo_wait(bo, false, interruptible, no_wait);
  10713. spin_unlock(&bo->lock);
  10714. if (ret)
  10715. return ret;
  10716. @@ -1001,7 +1002,7 @@
  10717. /*
  10718. * Determine where to move the buffer.
  10719. */
  10720. - ret = ttm_bo_mem_space(bo, placement, &mem, interruptible, no_wait);
  10721. + ret = lbm_ttm_bo_mem_space(bo, placement, &mem, interruptible, no_wait);
  10722. if (ret)
  10723. goto out_unlock;
  10724. ret = ttm_bo_handle_move_mem(bo, &mem, false, interruptible, no_wait);
  10725. @@ -1009,7 +1010,7 @@
  10726. if (ret && mem.mm_node) {
  10727. spin_lock(&glob->lru_lock);
  10728. mem.mm_node->private = NULL;
  10729. - drm_mm_put_block(mem.mm_node);
  10730. + lbm_drm_mm_put_block(mem.mm_node);
  10731. spin_unlock(&glob->lru_lock);
  10732. }
  10733. return ret;
  10734. @@ -1030,7 +1031,7 @@
  10735. return -1;
  10736. }
  10737.  
  10738. -int ttm_bo_validate(struct ttm_buffer_object *bo,
  10739. +int lbm_ttm_bo_validate(struct ttm_buffer_object *bo,
  10740. struct ttm_placement *placement,
  10741. bool interruptible, bool no_wait)
  10742. {
  10743. @@ -1068,7 +1069,7 @@
  10744. }
  10745. return 0;
  10746. }
  10747. -EXPORT_SYMBOL(ttm_bo_validate);
  10748. +EXPORT_SYMBOL(lbm_ttm_bo_validate);
  10749.  
  10750. int ttm_bo_check_placement(struct ttm_buffer_object *bo,
  10751. struct ttm_placement *placement)
  10752. @@ -1105,7 +1106,7 @@
  10753. return 0;
  10754. }
  10755.  
  10756. -int ttm_bo_init(struct ttm_bo_device *bdev,
  10757. +int lbm_ttm_bo_init(struct ttm_bo_device *bdev,
  10758. struct ttm_buffer_object *bo,
  10759. unsigned long size,
  10760. enum ttm_bo_type type,
  10761. @@ -1168,20 +1169,20 @@
  10762. goto out_err;
  10763. }
  10764.  
  10765. - ret = ttm_bo_validate(bo, placement, interruptible, false);
  10766. + ret = lbm_ttm_bo_validate(bo, placement, interruptible, false);
  10767. if (ret)
  10768. goto out_err;
  10769.  
  10770. - ttm_bo_unreserve(bo);
  10771. + lbm_ttm_bo_unreserve(bo);
  10772. return 0;
  10773.  
  10774. out_err:
  10775. - ttm_bo_unreserve(bo);
  10776. - ttm_bo_unref(&bo);
  10777. + lbm_ttm_bo_unreserve(bo);
  10778. + lbm_ttm_bo_unref(&bo);
  10779.  
  10780. return ret;
  10781. }
  10782. -EXPORT_SYMBOL(ttm_bo_init);
  10783. +EXPORT_SYMBOL(lbm_ttm_bo_init);
  10784.  
  10785. static inline size_t ttm_bo_size(struct ttm_bo_global *glob,
  10786. unsigned long num_pages)
  10787. @@ -1208,18 +1209,18 @@
  10788.  
  10789. size_t acc_size =
  10790. ttm_bo_size(bdev->glob, (size + PAGE_SIZE - 1) >> PAGE_SHIFT);
  10791. - ret = ttm_mem_global_alloc(mem_glob, acc_size, false, false);
  10792. + ret = lbm_ttm_mem_global_alloc(mem_glob, acc_size, false, false);
  10793. if (unlikely(ret != 0))
  10794. return ret;
  10795.  
  10796. bo = kzalloc(sizeof(*bo), GFP_KERNEL);
  10797.  
  10798. if (unlikely(bo == NULL)) {
  10799. - ttm_mem_global_free(mem_glob, acc_size);
  10800. + lbm_ttm_mem_global_free(mem_glob, acc_size);
  10801. return -ENOMEM;
  10802. }
  10803.  
  10804. - ret = ttm_bo_init(bdev, bo, size, type, placement, page_alignment,
  10805. + ret = lbm_ttm_bo_init(bdev, bo, size, type, placement, page_alignment,
  10806. buffer_start, interruptible,
  10807. persistant_swap_storage, acc_size, NULL);
  10808. if (likely(ret == 0))
  10809. @@ -1257,7 +1258,7 @@
  10810. return 0;
  10811. }
  10812.  
  10813. -int ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
  10814. +int lbm_ttm_bo_clean_mm(struct ttm_bo_device *bdev, unsigned mem_type)
  10815. {
  10816. struct ttm_bo_global *glob = bdev->glob;
  10817. struct ttm_mem_type_manager *man;
  10818. @@ -1283,8 +1284,8 @@
  10819. ttm_bo_force_list_clean(bdev, mem_type, false);
  10820.  
  10821. spin_lock(&glob->lru_lock);
  10822. - if (drm_mm_clean(&man->manager))
  10823. - drm_mm_takedown(&man->manager);
  10824. + if (lbm_drm_mm_clean(&man->manager))
  10825. + lbm_drm_mm_takedown(&man->manager);
  10826. else
  10827. ret = -EBUSY;
  10828.  
  10829. @@ -1293,9 +1294,9 @@
  10830.  
  10831. return ret;
  10832. }
  10833. -EXPORT_SYMBOL(ttm_bo_clean_mm);
  10834. +EXPORT_SYMBOL(lbm_ttm_bo_clean_mm);
  10835.  
  10836. -int ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type)
  10837. +int lbm_ttm_bo_evict_mm(struct ttm_bo_device *bdev, unsigned mem_type)
  10838. {
  10839. struct ttm_mem_type_manager *man = &bdev->man[mem_type];
  10840.  
  10841. @@ -1315,9 +1316,9 @@
  10842.  
  10843. return ttm_bo_force_list_clean(bdev, mem_type, true);
  10844. }
  10845. -EXPORT_SYMBOL(ttm_bo_evict_mm);
  10846. +EXPORT_SYMBOL(lbm_ttm_bo_evict_mm);
  10847.  
  10848. -int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
  10849. +int lbm_ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
  10850. unsigned long p_size)
  10851. {
  10852. int ret = -EINVAL;
  10853. @@ -1348,7 +1349,7 @@
  10854. type);
  10855. return ret;
  10856. }
  10857. - ret = drm_mm_init(&man->manager, 0, p_size);
  10858. + ret = lbm_drm_mm_init(&man->manager, 0, p_size);
  10859. if (ret)
  10860. return ret;
  10861. }
  10862. @@ -1360,7 +1361,7 @@
  10863.  
  10864. return 0;
  10865. }
  10866. -EXPORT_SYMBOL(ttm_bo_init_mm);
  10867. +EXPORT_SYMBOL(lbm_ttm_bo_init_mm);
  10868.  
  10869. static void ttm_bo_global_kobj_release(struct kobject *kobj)
  10870. {
  10871. @@ -1372,16 +1373,16 @@
  10872. kfree(glob);
  10873. }
  10874.  
  10875. -void ttm_bo_global_release(struct ttm_global_reference *ref)
  10876. +void lbm_ttm_bo_global_release(struct ttm_global_reference *ref)
  10877. {
  10878. struct ttm_bo_global *glob = ref->object;
  10879.  
  10880. kobject_del(&glob->kobj);
  10881. kobject_put(&glob->kobj);
  10882. }
  10883. -EXPORT_SYMBOL(ttm_bo_global_release);
  10884. +EXPORT_SYMBOL(lbm_ttm_bo_global_release);
  10885.  
  10886. -int ttm_bo_global_init(struct ttm_global_reference *ref)
  10887. +int lbm_ttm_bo_global_init(struct ttm_global_reference *ref)
  10888. {
  10889. struct ttm_bo_global_ref *bo_ref =
  10890. container_of(ref, struct ttm_bo_global_ref, ref);
  10891. @@ -1410,11 +1411,11 @@
  10892. }
  10893.  
  10894. glob->ttm_bo_extra_size =
  10895. - ttm_round_pot(sizeof(struct ttm_tt)) +
  10896. - ttm_round_pot(sizeof(struct ttm_backend));
  10897. + lbm_ttm_round_pot(sizeof(struct ttm_tt)) +
  10898. + lbm_ttm_round_pot(sizeof(struct ttm_backend));
  10899.  
  10900. glob->ttm_bo_size = glob->ttm_bo_extra_size +
  10901. - ttm_round_pot(sizeof(struct ttm_buffer_object));
  10902. + lbm_ttm_round_pot(sizeof(struct ttm_buffer_object));
  10903.  
  10904. atomic_set(&glob->bo_count, 0);
  10905.  
  10906. @@ -1429,10 +1430,10 @@
  10907. kfree(glob);
  10908. return ret;
  10909. }
  10910. -EXPORT_SYMBOL(ttm_bo_global_init);
  10911. +EXPORT_SYMBOL(lbm_ttm_bo_global_init);
  10912.  
  10913.  
  10914. -int ttm_bo_device_release(struct ttm_bo_device *bdev)
  10915. +int lbm_ttm_bo_device_release(struct ttm_bo_device *bdev)
  10916. {
  10917. int ret = 0;
  10918. unsigned i = TTM_NUM_MEM_TYPES;
  10919. @@ -1443,7 +1444,7 @@
  10920. man = &bdev->man[i];
  10921. if (man->has_type) {
  10922. man->use_type = false;
  10923. - if ((i != TTM_PL_SYSTEM) && ttm_bo_clean_mm(bdev, i)) {
  10924. + if ((i != TTM_PL_SYSTEM) && lbm_ttm_bo_clean_mm(bdev, i)) {
  10925. ret = -EBUSY;
  10926. printk(KERN_ERR TTM_PFX
  10927. "DRM memory manager type %d "
  10928. @@ -1471,16 +1472,16 @@
  10929. TTM_DEBUG("Swap list was clean\n");
  10930. spin_unlock(&glob->lru_lock);
  10931.  
  10932. - BUG_ON(!drm_mm_clean(&bdev->addr_space_mm));
  10933. + BUG_ON(!lbm_drm_mm_clean(&bdev->addr_space_mm));
  10934. write_lock(&bdev->vm_lock);
  10935. - drm_mm_takedown(&bdev->addr_space_mm);
  10936. + lbm_drm_mm_takedown(&bdev->addr_space_mm);
  10937. write_unlock(&bdev->vm_lock);
  10938.  
  10939. return ret;
  10940. }
  10941. -EXPORT_SYMBOL(ttm_bo_device_release);
  10942. +EXPORT_SYMBOL(lbm_ttm_bo_device_release);
  10943.  
  10944. -int ttm_bo_device_init(struct ttm_bo_device *bdev,
  10945. +int lbm_ttm_bo_device_init(struct ttm_bo_device *bdev,
  10946. struct ttm_bo_global *glob,
  10947. struct ttm_bo_driver *driver,
  10948. uint64_t file_page_offset,
  10949. @@ -1497,12 +1498,12 @@
  10950. * Initialize the system memory buffer type.
  10951. * Other types need to be driver / IOCTL initialized.
  10952. */
  10953. - ret = ttm_bo_init_mm(bdev, TTM_PL_SYSTEM, 0);
  10954. + ret = lbm_ttm_bo_init_mm(bdev, TTM_PL_SYSTEM, 0);
  10955. if (unlikely(ret != 0))
  10956. goto out_no_sys;
  10957.  
  10958. bdev->addr_space_rb = RB_ROOT;
  10959. - ret = drm_mm_init(&bdev->addr_space_mm, file_page_offset, 0x10000000);
  10960. + ret = lbm_drm_mm_init(&bdev->addr_space_mm, file_page_offset, 0x10000000);
  10961. if (unlikely(ret != 0))
  10962. goto out_no_addr_mm;
  10963.  
  10964. @@ -1519,11 +1520,11 @@
  10965.  
  10966. return 0;
  10967. out_no_addr_mm:
  10968. - ttm_bo_clean_mm(bdev, 0);
  10969. + lbm_ttm_bo_clean_mm(bdev, 0);
  10970. out_no_sys:
  10971. return ret;
  10972. }
  10973. -EXPORT_SYMBOL(ttm_bo_device_init);
  10974. +EXPORT_SYMBOL(lbm_ttm_bo_device_init);
  10975.  
  10976. /*
  10977. * buffer object vm functions.
  10978. @@ -1566,7 +1567,7 @@
  10979. return 0;
  10980. }
  10981.  
  10982. -void ttm_bo_unmap_virtual(struct ttm_buffer_object *bo)
  10983. +void lbm_ttm_bo_unmap_virtual(struct ttm_buffer_object *bo)
  10984. {
  10985. struct ttm_bo_device *bdev = bo->bdev;
  10986. loff_t offset = (loff_t) bo->addr_space_offset;
  10987. @@ -1577,7 +1578,7 @@
  10988.  
  10989. unmap_mapping_range(bdev->dev_mapping, offset, holelen, 1);
  10990. }
  10991. -EXPORT_SYMBOL(ttm_bo_unmap_virtual);
  10992. +EXPORT_SYMBOL(lbm_ttm_bo_unmap_virtual);
  10993.  
  10994. static void ttm_bo_vm_insert_rb(struct ttm_buffer_object *bo)
  10995. {
  10996. @@ -1621,12 +1622,12 @@
  10997. int ret;
  10998.  
  10999. retry_pre_get:
  11000. - ret = drm_mm_pre_get(&bdev->addr_space_mm);
  11001. + ret = lbm_drm_mm_pre_get(&bdev->addr_space_mm);
  11002. if (unlikely(ret != 0))
  11003. return ret;
  11004.  
  11005. write_lock(&bdev->vm_lock);
  11006. - bo->vm_node = drm_mm_search_free(&bdev->addr_space_mm,
  11007. + bo->vm_node = lbm_drm_mm_search_free(&bdev->addr_space_mm,
  11008. bo->mem.num_pages, 0, 0);
  11009.  
  11010. if (unlikely(bo->vm_node == NULL)) {
  11011. @@ -1652,7 +1653,7 @@
  11012. return ret;
  11013. }
  11014.  
  11015. -int ttm_bo_wait(struct ttm_buffer_object *bo,
  11016. +int lbm_ttm_bo_wait(struct ttm_buffer_object *bo,
  11017. bool lazy, bool interruptible, bool no_wait)
  11018. {
  11019. struct ttm_bo_driver *driver = bo->bdev->driver;
  11020. @@ -1707,7 +1708,7 @@
  11021. }
  11022. return 0;
  11023. }
  11024. -EXPORT_SYMBOL(ttm_bo_wait);
  11025. +EXPORT_SYMBOL(lbm_ttm_bo_wait);
  11026.  
  11027. void ttm_bo_unblock_reservation(struct ttm_buffer_object *bo)
  11028. {
  11029. @@ -1736,34 +1737,34 @@
  11030. return 0;
  11031. }
  11032.  
  11033. -int ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait)
  11034. +int lbm_ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait)
  11035. {
  11036. int ret = 0;
  11037.  
  11038. /*
  11039. - * Using ttm_bo_reserve instead of ttm_bo_block_reservation
  11040. + * Using lbm_ttm_bo_reserve instead of ttm_bo_block_reservation
  11041. * makes sure the lru lists are updated.
  11042. */
  11043.  
  11044. - ret = ttm_bo_reserve(bo, true, no_wait, false, 0);
  11045. + ret = lbm_ttm_bo_reserve(bo, true, no_wait, false, 0);
  11046. if (unlikely(ret != 0))
  11047. return ret;
  11048. spin_lock(&bo->lock);
  11049. - ret = ttm_bo_wait(bo, false, true, no_wait);
  11050. + ret = lbm_ttm_bo_wait(bo, false, true, no_wait);
  11051. spin_unlock(&bo->lock);
  11052. if (likely(ret == 0))
  11053. atomic_inc(&bo->cpu_writers);
  11054. - ttm_bo_unreserve(bo);
  11055. + lbm_ttm_bo_unreserve(bo);
  11056. return ret;
  11057. }
  11058. -EXPORT_SYMBOL(ttm_bo_synccpu_write_grab);
  11059. +EXPORT_SYMBOL(lbm_ttm_bo_synccpu_write_grab);
  11060.  
  11061. -void ttm_bo_synccpu_write_release(struct ttm_buffer_object *bo)
  11062. +void lbm_ttm_bo_synccpu_write_release(struct ttm_buffer_object *bo)
  11063. {
  11064. if (atomic_dec_and_test(&bo->cpu_writers))
  11065. wake_up_all(&bo->event_queue);
  11066. }
  11067. -EXPORT_SYMBOL(ttm_bo_synccpu_write_release);
  11068. +EXPORT_SYMBOL(lbm_ttm_bo_synccpu_write_release);
  11069.  
  11070. /**
  11071. * A buffer object shrink method that tries to swap out the first
  11072. @@ -1799,7 +1800,7 @@
  11073. ret = ttm_bo_reserve_locked(bo, false, true, false, 0);
  11074. if (unlikely(ret == -EBUSY)) {
  11075. spin_unlock(&glob->lru_lock);
  11076. - ttm_bo_wait_unreserved(bo, false);
  11077. + lbm_ttm_bo_wait_unreserved(bo, false);
  11078. kref_put(&bo->list_kref, ttm_bo_release_list);
  11079. spin_lock(&glob->lru_lock);
  11080. }
  11081. @@ -1817,7 +1818,7 @@
  11082. */
  11083.  
  11084. spin_lock(&bo->lock);
  11085. - ret = ttm_bo_wait(bo, false, false, false);
  11086. + ret = lbm_ttm_bo_wait(bo, false, false, false);
  11087. spin_unlock(&bo->lock);
  11088.  
  11089. if (unlikely(ret != 0))
  11090. @@ -1837,13 +1838,16 @@
  11091. goto out;
  11092. }
  11093.  
  11094. - ttm_bo_unmap_virtual(bo);
  11095. + lbm_ttm_bo_unmap_virtual(bo);
  11096.  
  11097. /**
  11098. * Swap out. Buffer will be swapped in again as soon as
  11099. * anyone tries to access a ttm page.
  11100. */
  11101.  
  11102. + if (bo->bdev->driver->swap_notify)
  11103. + bo->bdev->driver->swap_notify(bo);
  11104. +
  11105. ret = ttm_tt_swapout(bo->ttm, bo->persistant_swap_storage);
  11106. out:
  11107.  
  11108. @@ -1859,8 +1863,9 @@
  11109. return ret;
  11110. }
  11111.  
  11112. -void ttm_bo_swapout_all(struct ttm_bo_device *bdev)
  11113. +void lbm_ttm_bo_swapout_all(struct ttm_bo_device *bdev)
  11114. {
  11115. while (ttm_bo_swapout(&bdev->glob->shrink) == 0)
  11116. ;
  11117. }
  11118. +EXPORT_SYMBOL(lbm_ttm_bo_swapout_all);
  11119. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_util.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_util.c
  11120. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_util.c 2010-01-25 15:21:29.000000000 -0500
  11121. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_util.c 2010-02-03 17:11:09.000000000 -0500
  11122. @@ -42,18 +42,17 @@
  11123.  
  11124. if (old_mem->mm_node) {
  11125. spin_lock(&bo->glob->lru_lock);
  11126. - drm_mm_put_block(old_mem->mm_node);
  11127. + lbm_drm_mm_put_block(old_mem->mm_node);
  11128. spin_unlock(&bo->glob->lru_lock);
  11129. }
  11130. old_mem->mm_node = NULL;
  11131. }
  11132.  
  11133. -int ttm_bo_move_ttm(struct ttm_buffer_object *bo,
  11134. +int lbm_ttm_bo_move_ttm(struct ttm_buffer_object *bo,
  11135. bool evict, bool no_wait, struct ttm_mem_reg *new_mem)
  11136. {
  11137. struct ttm_tt *ttm = bo->ttm;
  11138. struct ttm_mem_reg *old_mem = &bo->mem;
  11139. - uint32_t save_flags = old_mem->placement;
  11140. int ret;
  11141.  
  11142. if (old_mem->mem_type != TTM_PL_SYSTEM) {
  11143. @@ -62,25 +61,24 @@
  11144. ttm_flag_masked(&old_mem->placement, TTM_PL_FLAG_SYSTEM,
  11145. TTM_PL_MASK_MEM);
  11146. old_mem->mem_type = TTM_PL_SYSTEM;
  11147. - save_flags = old_mem->placement;
  11148. }
  11149.  
  11150. - ret = ttm_tt_set_placement_caching(ttm, new_mem->placement);
  11151. + ret = lbm_ttm_tt_set_placement_caching(ttm, new_mem->placement);
  11152. if (unlikely(ret != 0))
  11153. return ret;
  11154.  
  11155. if (new_mem->mem_type != TTM_PL_SYSTEM) {
  11156. - ret = ttm_tt_bind(ttm, new_mem);
  11157. + ret = lbm_ttm_tt_bind(ttm, new_mem);
  11158. if (unlikely(ret != 0))
  11159. return ret;
  11160. }
  11161.  
  11162. *old_mem = *new_mem;
  11163. new_mem->mm_node = NULL;
  11164. - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE);
  11165. +
  11166. return 0;
  11167. }
  11168. -EXPORT_SYMBOL(ttm_bo_move_ttm);
  11169. +EXPORT_SYMBOL(lbm_ttm_bo_move_ttm);
  11170.  
  11171. int ttm_mem_reg_ioremap(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem,
  11172. void **virtual)
  11173. @@ -208,7 +206,7 @@
  11174. return 0;
  11175. }
  11176.  
  11177. -int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
  11178. +int lbm_ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
  11179. bool evict, bool no_wait, struct ttm_mem_reg *new_mem)
  11180. {
  11181. struct ttm_bo_device *bdev = bo->bdev;
  11182. @@ -219,7 +217,6 @@
  11183. void *old_iomap;
  11184. void *new_iomap;
  11185. int ret;
  11186. - uint32_t save_flags = old_mem->placement;
  11187. unsigned long i;
  11188. unsigned long page;
  11189. unsigned long add = 0;
  11190. @@ -250,12 +247,12 @@
  11191. for (i = 0; i < new_mem->num_pages; ++i) {
  11192. page = i * dir + add;
  11193. if (old_iomap == NULL) {
  11194. - pgprot_t prot = ttm_io_prot(old_mem->placement,
  11195. + pgprot_t prot = lbm_ttm_io_prot(old_mem->placement,
  11196. PAGE_KERNEL);
  11197. ret = ttm_copy_ttm_io_page(ttm, new_iomap, page,
  11198. prot);
  11199. } else if (new_iomap == NULL) {
  11200. - pgprot_t prot = ttm_io_prot(new_mem->placement,
  11201. + pgprot_t prot = lbm_ttm_io_prot(new_mem->placement,
  11202. PAGE_KERNEL);
  11203. ret = ttm_copy_io_ttm_page(ttm, old_iomap, page,
  11204. prot);
  11205. @@ -270,7 +267,6 @@
  11206.  
  11207. *old_mem = *new_mem;
  11208. new_mem->mm_node = NULL;
  11209. - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE);
  11210.  
  11211. if ((man->flags & TTM_MEMTYPE_FLAG_FIXED) && (ttm != NULL)) {
  11212. ttm_tt_unbind(ttm);
  11213. @@ -284,7 +280,7 @@
  11214. ttm_mem_reg_iounmap(bdev, &old_copy, old_iomap);
  11215. return ret;
  11216. }
  11217. -EXPORT_SYMBOL(ttm_bo_move_memcpy);
  11218. +EXPORT_SYMBOL(lbm_ttm_bo_move_memcpy);
  11219.  
  11220. static void ttm_transfered_destroy(struct ttm_buffer_object *bo)
  11221. {
  11222. @@ -342,7 +338,7 @@
  11223. return 0;
  11224. }
  11225.  
  11226. -pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp)
  11227. +pgprot_t lbm_ttm_io_prot(uint32_t caching_flags, pgprot_t tmp)
  11228. {
  11229. #if defined(__i386__) || defined(__x86_64__)
  11230. if (caching_flags & TTM_PL_FLAG_WC)
  11231. @@ -369,7 +365,7 @@
  11232. #endif
  11233. return tmp;
  11234. }
  11235. -EXPORT_SYMBOL(ttm_io_prot);
  11236. +EXPORT_SYMBOL(lbm_ttm_io_prot);
  11237.  
  11238. static int ttm_bo_ioremap(struct ttm_buffer_object *bo,
  11239. unsigned long bus_base,
  11240. @@ -432,7 +428,7 @@
  11241. */
  11242. prot = (mem->placement & TTM_PL_FLAG_CACHED) ?
  11243. PAGE_KERNEL :
  11244. - ttm_io_prot(mem->placement, PAGE_KERNEL);
  11245. + lbm_ttm_io_prot(mem->placement, PAGE_KERNEL);
  11246. map->bo_kmap_type = ttm_bo_map_vmap;
  11247. map->virtual = vmap(ttm->pages + start_page, num_pages,
  11248. 0, prot);
  11249. @@ -440,7 +436,7 @@
  11250. return (!map->virtual) ? -ENOMEM : 0;
  11251. }
  11252.  
  11253. -int ttm_bo_kmap(struct ttm_buffer_object *bo,
  11254. +int lbm_ttm_bo_kmap(struct ttm_buffer_object *bo,
  11255. unsigned long start_page, unsigned long num_pages,
  11256. struct ttm_bo_kmap_obj *map)
  11257. {
  11258. @@ -471,9 +467,9 @@
  11259. return ttm_bo_ioremap(bo, bus_base, bus_offset, bus_size, map);
  11260. }
  11261. }
  11262. -EXPORT_SYMBOL(ttm_bo_kmap);
  11263. +EXPORT_SYMBOL(lbm_ttm_bo_kmap);
  11264.  
  11265. -void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map)
  11266. +void lbm_ttm_bo_kunmap(struct ttm_bo_kmap_obj *map)
  11267. {
  11268. if (!map->virtual)
  11269. return;
  11270. @@ -495,7 +491,7 @@
  11271. map->virtual = NULL;
  11272. map->page = NULL;
  11273. }
  11274. -EXPORT_SYMBOL(ttm_bo_kunmap);
  11275. +EXPORT_SYMBOL(lbm_ttm_bo_kunmap);
  11276.  
  11277. int ttm_bo_pfn_prot(struct ttm_buffer_object *bo,
  11278. unsigned long dst_offset,
  11279. @@ -521,12 +517,12 @@
  11280. dst_offset >>
  11281. PAGE_SHIFT));
  11282. *prot = (mem->placement & TTM_PL_FLAG_CACHED) ?
  11283. - PAGE_KERNEL : ttm_io_prot(mem->placement, PAGE_KERNEL);
  11284. + PAGE_KERNEL : lbm_ttm_io_prot(mem->placement, PAGE_KERNEL);
  11285.  
  11286. return 0;
  11287. }
  11288.  
  11289. -int ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
  11290. +int lbm_ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
  11291. void *sync_obj,
  11292. void *sync_obj_arg,
  11293. bool evict, bool no_wait,
  11294. @@ -537,7 +533,6 @@
  11295. struct ttm_mem_type_manager *man = &bdev->man[new_mem->mem_type];
  11296. struct ttm_mem_reg *old_mem = &bo->mem;
  11297. int ret;
  11298. - uint32_t save_flags = old_mem->placement;
  11299. struct ttm_buffer_object *ghost_obj;
  11300. void *tmp_obj = NULL;
  11301.  
  11302. @@ -549,7 +544,7 @@
  11303. bo->sync_obj = driver->sync_obj_ref(sync_obj);
  11304. bo->sync_obj_arg = sync_obj_arg;
  11305. if (evict) {
  11306. - ret = ttm_bo_wait(bo, false, false, false);
  11307. + ret = lbm_ttm_bo_wait(bo, false, false, false);
  11308. spin_unlock(&bo->lock);
  11309. if (tmp_obj)
  11310. driver->sync_obj_unref(&tmp_obj);
  11311. @@ -592,13 +587,13 @@
  11312. else
  11313. bo->ttm = NULL;
  11314.  
  11315. - ttm_bo_unreserve(ghost_obj);
  11316. - ttm_bo_unref(&ghost_obj);
  11317. + lbm_ttm_bo_unreserve(ghost_obj);
  11318. + lbm_ttm_bo_unref(&ghost_obj);
  11319. }
  11320.  
  11321. *old_mem = *new_mem;
  11322. new_mem->mm_node = NULL;
  11323. - ttm_flag_masked(&save_flags, new_mem->placement, TTM_PL_MASK_MEMTYPE);
  11324. +
  11325. return 0;
  11326. }
  11327. -EXPORT_SYMBOL(ttm_bo_move_accel_cleanup);
  11328. +EXPORT_SYMBOL(lbm_ttm_bo_move_accel_cleanup);
  11329. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_vm.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_vm.c
  11330. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_vm.c 2010-01-25 15:21:29.000000000 -0500
  11331. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_bo_vm.c 2010-02-03 17:11:09.000000000 -0500
  11332. @@ -94,7 +94,7 @@
  11333. * for reserve, and if it fails, retry the fault after scheduling.
  11334. */
  11335.  
  11336. - ret = ttm_bo_reserve(bo, true, true, false, 0);
  11337. + ret = lbm_ttm_bo_reserve(bo, true, true, false, 0);
  11338. if (unlikely(ret != 0)) {
  11339. if (ret == -EBUSY)
  11340. set_need_resched();
  11341. @@ -111,7 +111,7 @@
  11342.  
  11343. spin_lock(&bo->lock);
  11344. if (test_bit(TTM_BO_PRIV_FLAG_MOVING, &bo->priv_flags)) {
  11345. - ret = ttm_bo_wait(bo, false, true, false);
  11346. + ret = lbm_ttm_bo_wait(bo, false, true, false);
  11347. spin_unlock(&bo->lock);
  11348. if (unlikely(ret != 0)) {
  11349. retval = (ret != -ERESTARTSYS) ?
  11350. @@ -156,13 +156,13 @@
  11351. */
  11352.  
  11353. if (is_iomem) {
  11354. - vma->vm_page_prot = ttm_io_prot(bo->mem.placement,
  11355. + vma->vm_page_prot = lbm_ttm_io_prot(bo->mem.placement,
  11356. vma->vm_page_prot);
  11357. } else {
  11358. ttm = bo->ttm;
  11359. vma->vm_page_prot = (bo->mem.placement & TTM_PL_FLAG_CACHED) ?
  11360. vm_get_page_prot(vma->vm_flags) :
  11361. - ttm_io_prot(bo->mem.placement, vma->vm_page_prot);
  11362. + lbm_ttm_io_prot(bo->mem.placement, vma->vm_page_prot);
  11363. }
  11364.  
  11365. /*
  11366. @@ -207,7 +207,7 @@
  11367. }
  11368.  
  11369. out_unlock:
  11370. - ttm_bo_unreserve(bo);
  11371. + lbm_ttm_bo_unreserve(bo);
  11372. return retval;
  11373. }
  11374.  
  11375. @@ -224,7 +224,7 @@
  11376. struct ttm_buffer_object *bo =
  11377. (struct ttm_buffer_object *)vma->vm_private_data;
  11378.  
  11379. - ttm_bo_unref(&bo);
  11380. + lbm_ttm_bo_unref(&bo);
  11381. vma->vm_private_data = NULL;
  11382. }
  11383.  
  11384. @@ -234,7 +234,7 @@
  11385. .close = ttm_bo_vm_close
  11386. };
  11387.  
  11388. -int ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
  11389. +int lbm_ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
  11390. struct ttm_bo_device *bdev)
  11391. {
  11392. struct ttm_bo_driver *driver;
  11393. @@ -274,12 +274,12 @@
  11394. vma->vm_flags |= VM_RESERVED | VM_IO | VM_MIXEDMAP | VM_DONTEXPAND;
  11395. return 0;
  11396. out_unref:
  11397. - ttm_bo_unref(&bo);
  11398. + lbm_ttm_bo_unref(&bo);
  11399. return ret;
  11400. }
  11401. -EXPORT_SYMBOL(ttm_bo_mmap);
  11402. +EXPORT_SYMBOL(lbm_ttm_bo_mmap);
  11403.  
  11404. -int ttm_fbdev_mmap(struct vm_area_struct *vma, struct ttm_buffer_object *bo)
  11405. +int lbm_ttm_fbdev_mmap(struct vm_area_struct *vma, struct ttm_buffer_object *bo)
  11406. {
  11407. if (vma->vm_pgoff != 0)
  11408. return -EACCES;
  11409. @@ -289,7 +289,7 @@
  11410. vma->vm_flags |= VM_RESERVED | VM_IO | VM_MIXEDMAP | VM_DONTEXPAND;
  11411. return 0;
  11412. }
  11413. -EXPORT_SYMBOL(ttm_fbdev_mmap);
  11414. +EXPORT_SYMBOL(lbm_ttm_fbdev_mmap);
  11415.  
  11416.  
  11417. ssize_t ttm_bo_io(struct ttm_bo_device *bdev, struct file *filp,
  11418. @@ -344,7 +344,7 @@
  11419. kmap_end = (*f_pos + count - 1) >> PAGE_SHIFT;
  11420. kmap_num = kmap_end - kmap_offset + 1;
  11421.  
  11422. - ret = ttm_bo_reserve(bo, true, no_wait, false, 0);
  11423. + ret = lbm_ttm_bo_reserve(bo, true, no_wait, false, 0);
  11424.  
  11425. switch (ret) {
  11426. case 0:
  11427. @@ -356,9 +356,9 @@
  11428. goto out_unref;
  11429. }
  11430.  
  11431. - ret = ttm_bo_kmap(bo, kmap_offset, kmap_num, &map);
  11432. + ret = lbm_ttm_bo_kmap(bo, kmap_offset, kmap_num, &map);
  11433. if (unlikely(ret != 0)) {
  11434. - ttm_bo_unreserve(bo);
  11435. + lbm_ttm_bo_unreserve(bo);
  11436. goto out_unref;
  11437. }
  11438.  
  11439. @@ -370,9 +370,9 @@
  11440. else
  11441. ret = copy_to_user(rbuf, virtual, io_size);
  11442.  
  11443. - ttm_bo_kunmap(&map);
  11444. - ttm_bo_unreserve(bo);
  11445. - ttm_bo_unref(&bo);
  11446. + lbm_ttm_bo_kunmap(&map);
  11447. + lbm_ttm_bo_unreserve(bo);
  11448. + lbm_ttm_bo_unref(&bo);
  11449.  
  11450. if (unlikely(ret != 0))
  11451. return -EFBIG;
  11452. @@ -381,7 +381,7 @@
  11453.  
  11454. return io_size;
  11455. out_unref:
  11456. - ttm_bo_unref(&bo);
  11457. + lbm_ttm_bo_unref(&bo);
  11458. return ret;
  11459. }
  11460.  
  11461. @@ -413,7 +413,7 @@
  11462. kmap_end = (*f_pos + count - 1) >> PAGE_SHIFT;
  11463. kmap_num = kmap_end - kmap_offset + 1;
  11464.  
  11465. - ret = ttm_bo_reserve(bo, true, no_wait, false, 0);
  11466. + ret = lbm_ttm_bo_reserve(bo, true, no_wait, false, 0);
  11467.  
  11468. switch (ret) {
  11469. case 0:
  11470. @@ -424,9 +424,9 @@
  11471. return ret;
  11472. }
  11473.  
  11474. - ret = ttm_bo_kmap(bo, kmap_offset, kmap_num, &map);
  11475. + ret = lbm_ttm_bo_kmap(bo, kmap_offset, kmap_num, &map);
  11476. if (unlikely(ret != 0)) {
  11477. - ttm_bo_unreserve(bo);
  11478. + lbm_ttm_bo_unreserve(bo);
  11479. return ret;
  11480. }
  11481.  
  11482. @@ -438,9 +438,9 @@
  11483. else
  11484. ret = copy_to_user(rbuf, virtual, io_size);
  11485.  
  11486. - ttm_bo_kunmap(&map);
  11487. - ttm_bo_unreserve(bo);
  11488. - ttm_bo_unref(&bo);
  11489. + lbm_ttm_bo_kunmap(&map);
  11490. + lbm_ttm_bo_unreserve(bo);
  11491. + lbm_ttm_bo_unref(&bo);
  11492.  
  11493. if (unlikely(ret != 0))
  11494. return ret;
  11495. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_execbuf_util.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_execbuf_util.c
  11496. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_execbuf_util.c 2010-01-25 15:21:29.000000000 -0500
  11497. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_execbuf_util.c 2010-02-03 17:11:09.000000000 -0500
  11498. @@ -32,7 +32,7 @@
  11499. #include <linux/sched.h>
  11500. #include <linux/module.h>
  11501.  
  11502. -void ttm_eu_backoff_reservation(struct list_head *list)
  11503. +void lbm_ttm_eu_backoff_reservation(struct list_head *list)
  11504. {
  11505. struct ttm_validate_buffer *entry;
  11506.  
  11507. @@ -42,10 +42,10 @@
  11508. continue;
  11509.  
  11510. entry->reserved = false;
  11511. - ttm_bo_unreserve(bo);
  11512. + lbm_ttm_bo_unreserve(bo);
  11513. }
  11514. }
  11515. -EXPORT_SYMBOL(ttm_eu_backoff_reservation);
  11516. +EXPORT_SYMBOL(lbm_ttm_eu_backoff_reservation);
  11517.  
  11518. /*
  11519. * Reserve buffers for validation.
  11520. @@ -59,7 +59,7 @@
  11521. * buffers in different orders.
  11522. */
  11523.  
  11524. -int ttm_eu_reserve_buffers(struct list_head *list, uint32_t val_seq)
  11525. +int lbm_ttm_eu_reserve_buffers(struct list_head *list, uint32_t val_seq)
  11526. {
  11527. struct ttm_validate_buffer *entry;
  11528. int ret;
  11529. @@ -69,11 +69,11 @@
  11530. struct ttm_buffer_object *bo = entry->bo;
  11531.  
  11532. entry->reserved = false;
  11533. - ret = ttm_bo_reserve(bo, true, false, true, val_seq);
  11534. + ret = lbm_ttm_bo_reserve(bo, true, false, true, val_seq);
  11535. if (ret != 0) {
  11536. - ttm_eu_backoff_reservation(list);
  11537. + lbm_ttm_eu_backoff_reservation(list);
  11538. if (ret == -EAGAIN) {
  11539. - ret = ttm_bo_wait_unreserved(bo, true);
  11540. + ret = lbm_ttm_bo_wait_unreserved(bo, true);
  11541. if (unlikely(ret != 0))
  11542. return ret;
  11543. goto retry;
  11544. @@ -83,8 +83,8 @@
  11545.  
  11546. entry->reserved = true;
  11547. if (unlikely(atomic_read(&bo->cpu_writers) > 0)) {
  11548. - ttm_eu_backoff_reservation(list);
  11549. - ret = ttm_bo_wait_cpu(bo, false);
  11550. + lbm_ttm_eu_backoff_reservation(list);
  11551. + ret = lbm_ttm_bo_wait_cpu(bo, false);
  11552. if (ret)
  11553. return ret;
  11554. goto retry;
  11555. @@ -92,9 +92,9 @@
  11556. }
  11557. return 0;
  11558. }
  11559. -EXPORT_SYMBOL(ttm_eu_reserve_buffers);
  11560. +EXPORT_SYMBOL(lbm_ttm_eu_reserve_buffers);
  11561.  
  11562. -void ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj)
  11563. +void lbm_ttm_eu_fence_buffer_objects(struct list_head *list, void *sync_obj)
  11564. {
  11565. struct ttm_validate_buffer *entry;
  11566.  
  11567. @@ -108,10 +108,10 @@
  11568. bo->sync_obj = driver->sync_obj_ref(sync_obj);
  11569. bo->sync_obj_arg = entry->new_sync_obj_arg;
  11570. spin_unlock(&bo->lock);
  11571. - ttm_bo_unreserve(bo);
  11572. + lbm_ttm_bo_unreserve(bo);
  11573. entry->reserved = false;
  11574. if (old_sync_obj)
  11575. driver->sync_obj_unref(&old_sync_obj);
  11576. }
  11577. }
  11578. -EXPORT_SYMBOL(ttm_eu_fence_buffer_objects);
  11579. +EXPORT_SYMBOL(lbm_ttm_eu_fence_buffer_objects);
  11580. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_global.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_global.c
  11581. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_global.c 2010-01-25 15:21:29.000000000 -0500
  11582. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_global.c 2010-02-03 17:11:09.000000000 -0500
  11583. @@ -63,7 +63,7 @@
  11584. }
  11585. }
  11586.  
  11587. -int ttm_global_item_ref(struct ttm_global_reference *ref)
  11588. +int lbm_ttm_global_item_ref(struct ttm_global_reference *ref)
  11589. {
  11590. int ret;
  11591. struct ttm_global_item *item = &glob[ref->global_type];
  11592. @@ -93,9 +93,9 @@
  11593. item->object = NULL;
  11594. return ret;
  11595. }
  11596. -EXPORT_SYMBOL(ttm_global_item_ref);
  11597. +EXPORT_SYMBOL(lbm_ttm_global_item_ref);
  11598.  
  11599. -void ttm_global_item_unref(struct ttm_global_reference *ref)
  11600. +void lbm_ttm_global_item_unref(struct ttm_global_reference *ref)
  11601. {
  11602. struct ttm_global_item *item = &glob[ref->global_type];
  11603.  
  11604. @@ -108,5 +108,5 @@
  11605. }
  11606. mutex_unlock(&item->mutex);
  11607. }
  11608. -EXPORT_SYMBOL(ttm_global_item_unref);
  11609. +EXPORT_SYMBOL(lbm_ttm_global_item_unref);
  11610.  
  11611. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_lock.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_lock.c
  11612. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_lock.c 2010-01-25 15:21:29.000000000 -0500
  11613. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_lock.c 2010-02-03 17:11:09.000000000 -0500
  11614. @@ -42,7 +42,7 @@
  11615. #define TTM_VT_LOCK (1 << 3)
  11616. #define TTM_SUSPEND_LOCK (1 << 4)
  11617.  
  11618. -void ttm_lock_init(struct ttm_lock *lock)
  11619. +void lbm_ttm_lock_init(struct ttm_lock *lock)
  11620. {
  11621. spin_lock_init(&lock->lock);
  11622. init_waitqueue_head(&lock->queue);
  11623. @@ -51,16 +51,16 @@
  11624. lock->kill_takers = false;
  11625. lock->signal = SIGKILL;
  11626. }
  11627. -EXPORT_SYMBOL(ttm_lock_init);
  11628. +EXPORT_SYMBOL(lbm_ttm_lock_init);
  11629.  
  11630. -void ttm_read_unlock(struct ttm_lock *lock)
  11631. +void lbm_ttm_read_unlock(struct ttm_lock *lock)
  11632. {
  11633. spin_lock(&lock->lock);
  11634. if (--lock->rw == 0)
  11635. wake_up_all(&lock->queue);
  11636. spin_unlock(&lock->lock);
  11637. }
  11638. -EXPORT_SYMBOL(ttm_read_unlock);
  11639. +EXPORT_SYMBOL(lbm_ttm_read_unlock);
  11640.  
  11641. static bool __ttm_read_lock(struct ttm_lock *lock)
  11642. {
  11643. @@ -80,7 +80,7 @@
  11644. return locked;
  11645. }
  11646.  
  11647. -int ttm_read_lock(struct ttm_lock *lock, bool interruptible)
  11648. +int lbm_ttm_read_lock(struct ttm_lock *lock, bool interruptible)
  11649. {
  11650. int ret = 0;
  11651.  
  11652. @@ -91,7 +91,7 @@
  11653. wait_event(lock->queue, __ttm_read_lock(lock));
  11654. return ret;
  11655. }
  11656. -EXPORT_SYMBOL(ttm_read_lock);
  11657. +EXPORT_SYMBOL(lbm_ttm_read_lock);
  11658.  
  11659. static bool __ttm_read_trylock(struct ttm_lock *lock, bool *locked)
  11660. {
  11661. @@ -136,14 +136,14 @@
  11662. return (locked) ? 0 : -EBUSY;
  11663. }
  11664.  
  11665. -void ttm_write_unlock(struct ttm_lock *lock)
  11666. +void lbm_ttm_write_unlock(struct ttm_lock *lock)
  11667. {
  11668. spin_lock(&lock->lock);
  11669. lock->rw = 0;
  11670. wake_up_all(&lock->queue);
  11671. spin_unlock(&lock->lock);
  11672. }
  11673. -EXPORT_SYMBOL(ttm_write_unlock);
  11674. +EXPORT_SYMBOL(lbm_ttm_write_unlock);
  11675.  
  11676. static bool __ttm_write_lock(struct ttm_lock *lock)
  11677. {
  11678. @@ -166,7 +166,7 @@
  11679. return locked;
  11680. }
  11681.  
  11682. -int ttm_write_lock(struct ttm_lock *lock, bool interruptible)
  11683. +int lbm_ttm_write_lock(struct ttm_lock *lock, bool interruptible)
  11684. {
  11685. int ret = 0;
  11686.  
  11687. @@ -184,7 +184,7 @@
  11688.  
  11689. return ret;
  11690. }
  11691. -EXPORT_SYMBOL(ttm_write_lock);
  11692. +EXPORT_SYMBOL(lbm_ttm_write_lock);
  11693.  
  11694. void ttm_write_lock_downgrade(struct ttm_lock *lock)
  11695. {
  11696. @@ -236,7 +236,7 @@
  11697. return locked;
  11698. }
  11699.  
  11700. -int ttm_vt_lock(struct ttm_lock *lock,
  11701. +int lbm_ttm_vt_lock(struct ttm_lock *lock,
  11702. bool interruptible,
  11703. struct ttm_object_file *tfile)
  11704. {
  11705. @@ -261,7 +261,7 @@
  11706. * while holding it.
  11707. */
  11708.  
  11709. - ret = ttm_base_object_init(tfile, &lock->base, false,
  11710. + ret = lbm_ttm_base_object_init(tfile, &lock->base, false,
  11711. ttm_lock_type, &ttm_vt_lock_remove, NULL);
  11712. if (ret)
  11713. (void)__ttm_vt_unlock(lock);
  11714. @@ -272,22 +272,23 @@
  11715.  
  11716. return ret;
  11717. }
  11718. -EXPORT_SYMBOL(ttm_vt_lock);
  11719. +EXPORT_SYMBOL(lbm_ttm_vt_lock);
  11720.  
  11721. -int ttm_vt_unlock(struct ttm_lock *lock)
  11722. +int lbm_ttm_vt_unlock(struct ttm_lock *lock)
  11723. {
  11724. - return ttm_ref_object_base_unref(lock->vt_holder,
  11725. + return lbm_ttm_ref_object_base_unref(lock->vt_holder,
  11726. lock->base.hash.key, TTM_REF_USAGE);
  11727. }
  11728. -EXPORT_SYMBOL(ttm_vt_unlock);
  11729. +EXPORT_SYMBOL(lbm_ttm_vt_unlock);
  11730.  
  11731. -void ttm_suspend_unlock(struct ttm_lock *lock)
  11732. +void lbm_ttm_suspend_unlock(struct ttm_lock *lock)
  11733. {
  11734. spin_lock(&lock->lock);
  11735. lock->flags &= ~TTM_SUSPEND_LOCK;
  11736. wake_up_all(&lock->queue);
  11737. spin_unlock(&lock->lock);
  11738. }
  11739. +EXPORT_SYMBOL(lbm_ttm_suspend_unlock);
  11740.  
  11741. static bool __ttm_suspend_lock(struct ttm_lock *lock)
  11742. {
  11743. @@ -305,7 +306,8 @@
  11744. return locked;
  11745. }
  11746.  
  11747. -void ttm_suspend_lock(struct ttm_lock *lock)
  11748. +void lbm_ttm_suspend_lock(struct ttm_lock *lock)
  11749. {
  11750. wait_event(lock->queue, __ttm_suspend_lock(lock));
  11751. }
  11752. +EXPORT_SYMBOL(lbm_ttm_suspend_lock);
  11753. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_memory.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_memory.c
  11754. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_memory.c 2010-01-25 15:21:29.000000000 -0500
  11755. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_memory.c 2010-02-03 17:11:09.000000000 -0500
  11756. @@ -354,7 +354,7 @@
  11757. }
  11758. #endif
  11759.  
  11760. -int ttm_mem_global_init(struct ttm_mem_global *glob)
  11761. +int lbm_ttm_mem_global_init(struct ttm_mem_global *glob)
  11762. {
  11763. struct sysinfo si;
  11764. int ret;
  11765. @@ -396,12 +396,12 @@
  11766. }
  11767. return 0;
  11768. out_no_zone:
  11769. - ttm_mem_global_release(glob);
  11770. + lbm_ttm_mem_global_release(glob);
  11771. return ret;
  11772. }
  11773. -EXPORT_SYMBOL(ttm_mem_global_init);
  11774. +EXPORT_SYMBOL(lbm_ttm_mem_global_init);
  11775.  
  11776. -void ttm_mem_global_release(struct ttm_mem_global *glob)
  11777. +void lbm_ttm_mem_global_release(struct ttm_mem_global *glob)
  11778. {
  11779. unsigned int i;
  11780. struct ttm_mem_zone *zone;
  11781. @@ -417,7 +417,7 @@
  11782. kobject_del(&glob->kobj);
  11783. kobject_put(&glob->kobj);
  11784. }
  11785. -EXPORT_SYMBOL(ttm_mem_global_release);
  11786. +EXPORT_SYMBOL(lbm_ttm_mem_global_release);
  11787.  
  11788. static void ttm_check_swapping(struct ttm_mem_global *glob)
  11789. {
  11790. @@ -458,12 +458,12 @@
  11791. spin_unlock(&glob->lock);
  11792. }
  11793.  
  11794. -void ttm_mem_global_free(struct ttm_mem_global *glob,
  11795. +void lbm_ttm_mem_global_free(struct ttm_mem_global *glob,
  11796. uint64_t amount)
  11797. {
  11798. return ttm_mem_global_free_zone(glob, NULL, amount);
  11799. }
  11800. -EXPORT_SYMBOL(ttm_mem_global_free);
  11801. +EXPORT_SYMBOL(lbm_ttm_mem_global_free);
  11802.  
  11803. static int ttm_mem_global_reserve(struct ttm_mem_global *glob,
  11804. struct ttm_mem_zone *single_zone,
  11805. @@ -526,7 +526,7 @@
  11806. return 0;
  11807. }
  11808.  
  11809. -int ttm_mem_global_alloc(struct ttm_mem_global *glob, uint64_t memory,
  11810. +int lbm_ttm_mem_global_alloc(struct ttm_mem_global *glob, uint64_t memory,
  11811. bool no_wait, bool interruptible)
  11812. {
  11813. /**
  11814. @@ -537,7 +537,7 @@
  11815. return ttm_mem_global_alloc_zone(glob, NULL, memory, no_wait,
  11816. interruptible);
  11817. }
  11818. -EXPORT_SYMBOL(ttm_mem_global_alloc);
  11819. +EXPORT_SYMBOL(lbm_ttm_mem_global_alloc);
  11820.  
  11821. int ttm_mem_global_alloc_page(struct ttm_mem_global *glob,
  11822. struct page *page,
  11823. @@ -577,7 +577,7 @@
  11824. }
  11825.  
  11826.  
  11827. -size_t ttm_round_pot(size_t size)
  11828. +size_t lbm_ttm_round_pot(size_t size)
  11829. {
  11830. if ((size & (size - 1)) == 0)
  11831. return size;
  11832. @@ -593,4 +593,4 @@
  11833. }
  11834. return 0;
  11835. }
  11836. -EXPORT_SYMBOL(ttm_round_pot);
  11837. +EXPORT_SYMBOL(lbm_ttm_round_pot);
  11838. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_module.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_module.c
  11839. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_module.c 2010-01-25 15:21:29.000000000 -0500
  11840. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_module.c 2010-02-03 17:11:09.000000000 -0500
  11841. @@ -73,7 +73,7 @@
  11842. ttm_global_init();
  11843.  
  11844. atomic_set(&device_released, 0);
  11845. - ret = drm_class_device_register(&ttm_drm_class_device);
  11846. + ret = lbm_drm_class_device_register(&ttm_drm_class_device);
  11847. if (unlikely(ret != 0))
  11848. goto out_no_dev_reg;
  11849.  
  11850. @@ -87,7 +87,7 @@
  11851.  
  11852. static void __exit ttm_exit(void)
  11853. {
  11854. - drm_class_device_unregister(&ttm_drm_class_device);
  11855. + lbm_drm_class_device_unregister(&ttm_drm_class_device);
  11856.  
  11857. /**
  11858. * Refuse to unload until the TTM device is released.
  11859. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_object.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_object.c
  11860. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_object.c 2010-01-25 15:21:29.000000000 -0500
  11861. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_object.c 2010-02-03 17:11:09.000000000 -0500
  11862. @@ -109,8 +109,8 @@
  11863. struct drm_hash_item hash;
  11864. struct list_head head;
  11865. struct kref kref;
  11866. - struct ttm_base_object *obj;
  11867. enum ttm_ref_type ref_type;
  11868. + struct ttm_base_object *obj;
  11869. struct ttm_object_file *tfile;
  11870. };
  11871.  
  11872. @@ -139,7 +139,7 @@
  11873. }
  11874.  
  11875.  
  11876. -int ttm_base_object_init(struct ttm_object_file *tfile,
  11877. +int lbm_ttm_base_object_init(struct ttm_object_file *tfile,
  11878. struct ttm_base_object *base,
  11879. bool shareable,
  11880. enum ttm_object_type object_type,
  11881. @@ -157,26 +157,26 @@
  11882. base->object_type = object_type;
  11883. write_lock(&tdev->object_lock);
  11884. kref_init(&base->refcount);
  11885. - ret = drm_ht_just_insert_please(&tdev->object_hash,
  11886. + ret = lbm_drm_ht_just_insert_please(&tdev->object_hash,
  11887. &base->hash,
  11888. (unsigned long)base, 31, 0, 0);
  11889. write_unlock(&tdev->object_lock);
  11890. if (unlikely(ret != 0))
  11891. goto out_err0;
  11892.  
  11893. - ret = ttm_ref_object_add(tfile, base, TTM_REF_USAGE, NULL);
  11894. + ret = lbm_ttm_ref_object_add(tfile, base, TTM_REF_USAGE, NULL);
  11895. if (unlikely(ret != 0))
  11896. goto out_err1;
  11897.  
  11898. - ttm_base_object_unref(&base);
  11899. + lbm_ttm_base_object_unref(&base);
  11900.  
  11901. return 0;
  11902. out_err1:
  11903. - (void)drm_ht_remove_item(&tdev->object_hash, &base->hash);
  11904. + (void)lbm_drm_ht_remove_item(&tdev->object_hash, &base->hash);
  11905. out_err0:
  11906. return ret;
  11907. }
  11908. -EXPORT_SYMBOL(ttm_base_object_init);
  11909. +EXPORT_SYMBOL(lbm_ttm_base_object_init);
  11910.  
  11911. static void ttm_release_base(struct kref *kref)
  11912. {
  11913. @@ -184,7 +184,7 @@
  11914. container_of(kref, struct ttm_base_object, refcount);
  11915. struct ttm_object_device *tdev = base->tfile->tdev;
  11916.  
  11917. - (void)drm_ht_remove_item(&tdev->object_hash, &base->hash);
  11918. + (void)lbm_drm_ht_remove_item(&tdev->object_hash, &base->hash);
  11919. write_unlock(&tdev->object_lock);
  11920. if (base->refcount_release) {
  11921. ttm_object_file_unref(&base->tfile);
  11922. @@ -193,7 +193,7 @@
  11923. write_lock(&tdev->object_lock);
  11924. }
  11925.  
  11926. -void ttm_base_object_unref(struct ttm_base_object **p_base)
  11927. +void lbm_ttm_base_object_unref(struct ttm_base_object **p_base)
  11928. {
  11929. struct ttm_base_object *base = *p_base;
  11930. struct ttm_object_device *tdev = base->tfile->tdev;
  11931. @@ -209,9 +209,9 @@
  11932. (void)kref_put(&base->refcount, &ttm_release_base);
  11933. write_unlock(&tdev->object_lock);
  11934. }
  11935. -EXPORT_SYMBOL(ttm_base_object_unref);
  11936. +EXPORT_SYMBOL(lbm_ttm_base_object_unref);
  11937.  
  11938. -struct ttm_base_object *ttm_base_object_lookup(struct ttm_object_file *tfile,
  11939. +struct ttm_base_object *lbm_ttm_base_object_lookup(struct ttm_object_file *tfile,
  11940. uint32_t key)
  11941. {
  11942. struct ttm_object_device *tdev = tfile->tdev;
  11943. @@ -220,7 +220,7 @@
  11944. int ret;
  11945.  
  11946. read_lock(&tdev->object_lock);
  11947. - ret = drm_ht_find_item(&tdev->object_hash, key, &hash);
  11948. + ret = lbm_drm_ht_find_item(&tdev->object_hash, key, &hash);
  11949.  
  11950. if (likely(ret == 0)) {
  11951. base = drm_hash_entry(hash, struct ttm_base_object, hash);
  11952. @@ -234,15 +234,15 @@
  11953. if (tfile != base->tfile && !base->shareable) {
  11954. printk(KERN_ERR TTM_PFX
  11955. "Attempted access of non-shareable object.\n");
  11956. - ttm_base_object_unref(&base);
  11957. + lbm_ttm_base_object_unref(&base);
  11958. return NULL;
  11959. }
  11960.  
  11961. return base;
  11962. }
  11963. -EXPORT_SYMBOL(ttm_base_object_lookup);
  11964. +EXPORT_SYMBOL(lbm_ttm_base_object_lookup);
  11965.  
  11966. -int ttm_ref_object_add(struct ttm_object_file *tfile,
  11967. +int lbm_ttm_ref_object_add(struct ttm_object_file *tfile,
  11968. struct ttm_base_object *base,
  11969. enum ttm_ref_type ref_type, bool *existed)
  11970. {
  11971. @@ -257,7 +257,7 @@
  11972.  
  11973. while (ret == -EINVAL) {
  11974. read_lock(&tfile->lock);
  11975. - ret = drm_ht_find_item(ht, base->hash.key, &hash);
  11976. + ret = lbm_drm_ht_find_item(ht, base->hash.key, &hash);
  11977.  
  11978. if (ret == 0) {
  11979. ref = drm_hash_entry(hash, struct ttm_ref_object, hash);
  11980. @@ -267,13 +267,13 @@
  11981. }
  11982.  
  11983. read_unlock(&tfile->lock);
  11984. - ret = ttm_mem_global_alloc(mem_glob, sizeof(*ref),
  11985. + ret = lbm_ttm_mem_global_alloc(mem_glob, sizeof(*ref),
  11986. false, false);
  11987. if (unlikely(ret != 0))
  11988. return ret;
  11989. ref = kmalloc(sizeof(*ref), GFP_KERNEL);
  11990. if (unlikely(ref == NULL)) {
  11991. - ttm_mem_global_free(mem_glob, sizeof(*ref));
  11992. + lbm_ttm_mem_global_free(mem_glob, sizeof(*ref));
  11993. return -ENOMEM;
  11994. }
  11995.  
  11996. @@ -284,7 +284,7 @@
  11997. kref_init(&ref->kref);
  11998.  
  11999. write_lock(&tfile->lock);
  12000. - ret = drm_ht_insert_item(ht, &ref->hash);
  12001. + ret = lbm_drm_ht_insert_item(ht, &ref->hash);
  12002.  
  12003. if (likely(ret == 0)) {
  12004. list_add_tail(&ref->head, &tfile->ref_list);
  12005. @@ -298,13 +298,13 @@
  12006. write_unlock(&tfile->lock);
  12007. BUG_ON(ret != -EINVAL);
  12008.  
  12009. - ttm_mem_global_free(mem_glob, sizeof(*ref));
  12010. + lbm_ttm_mem_global_free(mem_glob, sizeof(*ref));
  12011. kfree(ref);
  12012. }
  12013.  
  12014. return ret;
  12015. }
  12016. -EXPORT_SYMBOL(ttm_ref_object_add);
  12017. +EXPORT_SYMBOL(lbm_ttm_ref_object_add);
  12018.  
  12019. static void ttm_ref_object_release(struct kref *kref)
  12020. {
  12021. @@ -316,20 +316,20 @@
  12022. struct ttm_mem_global *mem_glob = tfile->tdev->mem_glob;
  12023.  
  12024. ht = &tfile->ref_hash[ref->ref_type];
  12025. - (void)drm_ht_remove_item(ht, &ref->hash);
  12026. + (void)lbm_drm_ht_remove_item(ht, &ref->hash);
  12027. list_del(&ref->head);
  12028. write_unlock(&tfile->lock);
  12029.  
  12030. if (ref->ref_type != TTM_REF_USAGE && base->ref_obj_release)
  12031. base->ref_obj_release(base, ref->ref_type);
  12032.  
  12033. - ttm_base_object_unref(&ref->obj);
  12034. - ttm_mem_global_free(mem_glob, sizeof(*ref));
  12035. + lbm_ttm_base_object_unref(&ref->obj);
  12036. + lbm_ttm_mem_global_free(mem_glob, sizeof(*ref));
  12037. kfree(ref);
  12038. write_lock(&tfile->lock);
  12039. }
  12040.  
  12041. -int ttm_ref_object_base_unref(struct ttm_object_file *tfile,
  12042. +int lbm_ttm_ref_object_base_unref(struct ttm_object_file *tfile,
  12043. unsigned long key, enum ttm_ref_type ref_type)
  12044. {
  12045. struct drm_open_hash *ht = &tfile->ref_hash[ref_type];
  12046. @@ -338,7 +338,7 @@
  12047. int ret;
  12048.  
  12049. write_lock(&tfile->lock);
  12050. - ret = drm_ht_find_item(ht, key, &hash);
  12051. + ret = lbm_drm_ht_find_item(ht, key, &hash);
  12052. if (unlikely(ret != 0)) {
  12053. write_unlock(&tfile->lock);
  12054. return -EINVAL;
  12055. @@ -348,9 +348,9 @@
  12056. write_unlock(&tfile->lock);
  12057. return 0;
  12058. }
  12059. -EXPORT_SYMBOL(ttm_ref_object_base_unref);
  12060. +EXPORT_SYMBOL(lbm_ttm_ref_object_base_unref);
  12061.  
  12062. -void ttm_object_file_release(struct ttm_object_file **p_tfile)
  12063. +void lbm_ttm_object_file_release(struct ttm_object_file **p_tfile)
  12064. {
  12065. struct ttm_ref_object *ref;
  12066. struct list_head *list;
  12067. @@ -372,14 +372,14 @@
  12068. }
  12069.  
  12070. for (i = 0; i < TTM_REF_NUM; ++i)
  12071. - drm_ht_remove(&tfile->ref_hash[i]);
  12072. + lbm_drm_ht_remove(&tfile->ref_hash[i]);
  12073.  
  12074. write_unlock(&tfile->lock);
  12075. ttm_object_file_unref(&tfile);
  12076. }
  12077. -EXPORT_SYMBOL(ttm_object_file_release);
  12078. +EXPORT_SYMBOL(lbm_ttm_object_file_release);
  12079.  
  12080. -struct ttm_object_file *ttm_object_file_init(struct ttm_object_device *tdev,
  12081. +struct ttm_object_file *lbm_ttm_object_file_init(struct ttm_object_device *tdev,
  12082. unsigned int hash_order)
  12083. {
  12084. struct ttm_object_file *tfile = kmalloc(sizeof(*tfile), GFP_KERNEL);
  12085. @@ -396,7 +396,7 @@
  12086. INIT_LIST_HEAD(&tfile->ref_list);
  12087.  
  12088. for (i = 0; i < TTM_REF_NUM; ++i) {
  12089. - ret = drm_ht_create(&tfile->ref_hash[i], hash_order);
  12090. + ret = lbm_drm_ht_create(&tfile->ref_hash[i], hash_order);
  12091. if (ret) {
  12092. j = i;
  12093. goto out_err;
  12094. @@ -406,15 +406,15 @@
  12095. return tfile;
  12096. out_err:
  12097. for (i = 0; i < j; ++i)
  12098. - drm_ht_remove(&tfile->ref_hash[i]);
  12099. + lbm_drm_ht_remove(&tfile->ref_hash[i]);
  12100.  
  12101. kfree(tfile);
  12102.  
  12103. return NULL;
  12104. }
  12105. -EXPORT_SYMBOL(ttm_object_file_init);
  12106. +EXPORT_SYMBOL(lbm_ttm_object_file_init);
  12107.  
  12108. -struct ttm_object_device *ttm_object_device_init(struct ttm_mem_global
  12109. +struct ttm_object_device *lbm_ttm_object_device_init(struct ttm_mem_global
  12110. *mem_glob,
  12111. unsigned int hash_order)
  12112. {
  12113. @@ -427,7 +427,7 @@
  12114. tdev->mem_glob = mem_glob;
  12115. rwlock_init(&tdev->object_lock);
  12116. atomic_set(&tdev->object_count, 0);
  12117. - ret = drm_ht_create(&tdev->object_hash, hash_order);
  12118. + ret = lbm_drm_ht_create(&tdev->object_hash, hash_order);
  12119.  
  12120. if (likely(ret == 0))
  12121. return tdev;
  12122. @@ -435,18 +435,18 @@
  12123. kfree(tdev);
  12124. return NULL;
  12125. }
  12126. -EXPORT_SYMBOL(ttm_object_device_init);
  12127. +EXPORT_SYMBOL(lbm_ttm_object_device_init);
  12128.  
  12129. -void ttm_object_device_release(struct ttm_object_device **p_tdev)
  12130. +void lbm_ttm_object_device_release(struct ttm_object_device **p_tdev)
  12131. {
  12132. struct ttm_object_device *tdev = *p_tdev;
  12133.  
  12134. *p_tdev = NULL;
  12135.  
  12136. write_lock(&tdev->object_lock);
  12137. - drm_ht_remove(&tdev->object_hash);
  12138. + lbm_drm_ht_remove(&tdev->object_hash);
  12139. write_unlock(&tdev->object_lock);
  12140.  
  12141. kfree(tdev);
  12142. }
  12143. -EXPORT_SYMBOL(ttm_object_device_release);
  12144. +EXPORT_SYMBOL(lbm_ttm_object_device_release);
  12145. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_tt.c linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_tt.c
  12146. --- linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_tt.c 2010-01-25 15:21:29.000000000 -0500
  12147. +++ linux-backports-modules-2.6.32-2.6.32/updates/nouveau/ttm/ttm_tt.c 2010-02-03 17:11:09.000000000 -0500
  12148. @@ -116,7 +116,7 @@
  12149. set_page_dirty_lock(page);
  12150.  
  12151. ttm->pages[i] = NULL;
  12152. - ttm_mem_global_free(ttm->glob->mem_glob, PAGE_SIZE);
  12153. + lbm_ttm_mem_global_free(ttm->glob->mem_glob, PAGE_SIZE);
  12154. put_page(page);
  12155. }
  12156. ttm->state = tt_unpopulated;
  12157. @@ -163,7 +163,7 @@
  12158. return __ttm_tt_get_page(ttm, index);
  12159. }
  12160.  
  12161. -int ttm_tt_populate(struct ttm_tt *ttm)
  12162. +int lbm_ttm_tt_populate(struct ttm_tt *ttm)
  12163. {
  12164. struct page *page;
  12165. unsigned long i;
  12166. @@ -192,23 +192,32 @@
  12167. ttm->state = tt_unbound;
  12168. return 0;
  12169. }
  12170. -EXPORT_SYMBOL(ttm_tt_populate);
  12171. +EXPORT_SYMBOL(lbm_ttm_tt_populate);
  12172.  
  12173. #ifdef CONFIG_X86
  12174. static inline int ttm_tt_set_page_caching(struct page *p,
  12175. enum ttm_caching_state c_state)
  12176. {
  12177. + int ret = 0;
  12178. +
  12179. if (PageHighMem(p))
  12180. return 0;
  12181.  
  12182. - switch (c_state) {
  12183. - case tt_cached:
  12184. - return set_pages_wb(p, 1);
  12185. - case tt_wc:
  12186. - return set_memory_wc((unsigned long) page_address(p), 1);
  12187. - default:
  12188. - return set_pages_uc(p, 1);
  12189. + if (get_page_memtype(p) != -1) {
  12190. + /* p isn't in the default caching state, set it to
  12191. + * writeback first to free its current memtype. */
  12192. +
  12193. + ret = set_pages_wb(p, 1);
  12194. + if (ret)
  12195. + return ret;
  12196. }
  12197. +
  12198. + if (c_state == tt_wc)
  12199. + ret = set_memory_wc((unsigned long) page_address(p), 1);
  12200. + else if (c_state == tt_uncached)
  12201. + ret = set_pages_uc(p, 1);
  12202. +
  12203. + return ret;
  12204. }
  12205. #else /* CONFIG_X86 */
  12206. static inline int ttm_tt_set_page_caching(struct page *p,
  12207. @@ -234,13 +243,13 @@
  12208. return 0;
  12209.  
  12210. if (c_state != tt_cached) {
  12211. - ret = ttm_tt_populate(ttm);
  12212. + ret = lbm_ttm_tt_populate(ttm);
  12213. if (unlikely(ret != 0))
  12214. return ret;
  12215. }
  12216.  
  12217. if (ttm->caching_state == tt_cached)
  12218. - drm_clflush_pages(ttm->pages, ttm->num_pages);
  12219. + lbm_drm_clflush_pages(ttm->pages, ttm->num_pages);
  12220.  
  12221. for (i = 0; i < ttm->num_pages; ++i) {
  12222. cur_page = ttm->pages[i];
  12223. @@ -267,7 +276,7 @@
  12224. return ret;
  12225. }
  12226.  
  12227. -int ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement)
  12228. +int lbm_ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement)
  12229. {
  12230. enum ttm_caching_state state;
  12231.  
  12232. @@ -280,7 +289,7 @@
  12233.  
  12234. return ttm_tt_set_caching(ttm, state);
  12235. }
  12236. -EXPORT_SYMBOL(ttm_tt_set_placement_caching);
  12237. +EXPORT_SYMBOL(lbm_ttm_tt_set_placement_caching);
  12238.  
  12239. static void ttm_tt_free_alloced_pages(struct ttm_tt *ttm)
  12240. {
  12241. @@ -354,7 +363,7 @@
  12242. * Account user pages as lowmem pages for now.
  12243. */
  12244.  
  12245. - ret = ttm_mem_global_alloc(mem_glob, num_pages * PAGE_SIZE,
  12246. + ret = lbm_ttm_mem_global_alloc(mem_glob, num_pages * PAGE_SIZE,
  12247. false, false);
  12248. if (unlikely(ret != 0))
  12249. return ret;
  12250. @@ -366,7 +375,7 @@
  12251.  
  12252. if (ret != num_pages && write) {
  12253. ttm_tt_free_user_pages(ttm);
  12254. - ttm_mem_global_free(mem_glob, num_pages * PAGE_SIZE);
  12255. + lbm_ttm_mem_global_free(mem_glob, num_pages * PAGE_SIZE);
  12256. return -ENOMEM;
  12257. }
  12258.  
  12259. @@ -427,7 +436,7 @@
  12260. }
  12261. }
  12262.  
  12263. -int ttm_tt_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem)
  12264. +int lbm_ttm_tt_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem)
  12265. {
  12266. int ret = 0;
  12267. struct ttm_backend *be;
  12268. @@ -440,7 +449,7 @@
  12269.  
  12270. be = ttm->be;
  12271.  
  12272. - ret = ttm_tt_populate(ttm);
  12273. + ret = lbm_ttm_tt_populate(ttm);
  12274. if (ret)
  12275. return ret;
  12276.  
  12277. @@ -456,7 +465,7 @@
  12278. ttm->page_flags |= TTM_PAGE_FLAG_USER_DIRTY;
  12279. return 0;
  12280. }
  12281. -EXPORT_SYMBOL(ttm_tt_bind);
  12282. +EXPORT_SYMBOL(lbm_ttm_tt_bind);
  12283.  
  12284. static int ttm_tt_swapin(struct ttm_tt *ttm)
  12285. {
  12286. diff -Nru linux-backports-modules-2.6.32-2.6.32/updates/UPDATE-NOUVEAU linux-backports-modules-2.6.32-2.6.32/updates/UPDATE-NOUVEAU
  12287. --- linux-backports-modules-2.6.32-2.6.32/updates/UPDATE-NOUVEAU 2010-01-25 15:21:29.000000000 -0500
  12288. +++ linux-backports-modules-2.6.32-2.6.32/updates/UPDATE-NOUVEAU 2010-02-03 17:07:13.000000000 -0500
  12289. @@ -2,7 +2,7 @@
  12290. #
  12291. #
  12292. #
  12293. -src="$HOME/git2/linux-2.6"
  12294. +src="$HOME/source/linux-2.6"
  12295. drm="$src/drivers/gpu/drm/"
  12296. rm -rf nouveau
  12297. mkdir nouveau nouveau/include
  12298. @@ -14,5 +14,5 @@
  12299. cp -rp "$src"/include/drm/ nouveau/include
  12300.  
  12301. mkdir nouveau/include/linux
  12302. -cp /home/apw/git2/linux-2.6/include/linux/list_sort.h nouveau/include/linux/
  12303. -cp /home/apw/git2/linux-2.6/lib/list_sort.c nouveau/
  12304. +cp /home/sarvatt/source/linux-2.6/include/linux/list_sort.h nouveau/include/linux/
  12305. +cp /home/sarvatt/source/linux-2.6/lib/list_sort.c nouveau/
  12306.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement