Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 63197 Details for
Bug 98144
updated ebuild & eclass for mtxdrivers-1.4.1
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fglrx-2.6.12-new-agpgart.patch
fglrx-2.6.12-new-agpgart.patch (text/plain), 2.53 KB, created by
Donnie Berkholz (RETIRED)
on 2005-07-11 21:27:17 UTC
(
hide
)
Description:
fglrx-2.6.12-new-agpgart.patch
Filename:
MIME Type:
Creator:
Donnie Berkholz (RETIRED)
Created:
2005-07-11 21:27:17 UTC
Size:
2.53 KB
patch
obsolete
>--- build_mod/firegl_public.c.alt-2.6.12-agp 2005-06-26 19:35:34 +0400 >+++ build_mod/firegl_public.c 2005-06-26 19:41:28 +0400 >@@ -1002,8 +1002,16 @@ void* ATI_API_CALL __ke_high_memory(void > return high_memory; > } > >+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) >+/* Saved pci_dev pointer for the new agpgart API */ >+static struct pci_dev *fglrx_pci_dev; >+#endif >+ > int ATI_API_CALL __ke_pci_enable_device(__ke_pci_dev_t* dev) > { >+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) >+ fglrx_pci_dev = (struct pci_dev *)dev; >+#endif > return (pci_enable_device( (struct pci_dev*)(void *)dev )); > } > >@@ -2865,6 +2873,68 @@ typedef struct { > int (*copy_info)(struct agp_kern_info *); > } drm_agp_t; > >+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) >+/* >+ * Kernel 2.6.12 has new agpgart API with support for multiple AGP bridges, but >+ * the fglrx core does not know about this yet. For now, just emulate the old >+ * API. >+ */ >+ >+static struct agp_bridge_data *fglrx_agp_bridge; >+ >+static int fglrx_compat_agp_backend_acquire(void) >+{ >+ fglrx_agp_bridge = agp_backend_acquire(fglrx_pci_dev); >+ if (!fglrx_agp_bridge) >+ return -ENODEV; >+ return 0; >+} >+ >+static void fglrx_compat_agp_backend_release(void) >+{ >+ agp_backend_release(fglrx_agp_bridge); >+} >+ >+static struct agp_memory *fglrx_compat_agp_allocate_memory(size_t page_count, >+ u32 type) >+{ >+ return agp_allocate_memory(fglrx_agp_bridge, page_count, type); >+} >+ >+static void fglrx_compat_agp_enable(u32 mode) >+{ >+ agp_enable(fglrx_agp_bridge, mode); >+} >+ >+static int fglrx_compat_agp_copy_info(struct agp_kern_info *info) >+{ >+ if (!fglrx_agp_bridge) { >+ fglrx_agp_bridge = agp_find_bridge(fglrx_pci_dev); >+ if (!fglrx_agp_bridge) { >+ memset(info, 0, sizeof(struct agp_kern_info)); >+ info->chipset = NOT_SUPPORTED; >+ return -ENODEV; >+ } >+ } >+ return agp_copy_info(fglrx_agp_bridge, info); >+} >+ >+static const drm_agp_t drm_agp = { >+ &agp_free_memory, >+ &fglrx_compat_agp_allocate_memory, >+ &agp_bind_memory, >+ &agp_unbind_memory, >+ &fglrx_compat_agp_enable, >+ &fglrx_compat_agp_backend_acquire, >+ &fglrx_compat_agp_backend_release, >+ &fglrx_compat_agp_copy_info >+}; >+ >+#else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12) */ >+/* >+ * For 2.6.11 we can just use the agpgart functions directly. >+ */ >+ > static const drm_agp_t drm_agp = { > &agp_free_memory, > &agp_allocate_memory, >@@ -2875,6 +2945,9 @@ static const drm_agp_t drm_agp = { > &agp_backend_release, > &agp_copy_info > }; >+ >+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12) */ >+ > #undef DRM_AGP_MODULE_GET > #undef DRM_AGP_MODULE_PUT >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 98144
:
62785
|
62786
| 63197 |
63402
|
63536
|
63537
|
64815
|
65536
|
65537