On Tue, Jan 12, 2021 at 10:56 AM Thomas Zimmermann tzimmermann@suse.de wrote:
Hi
Am 12.01.21 um 09:59 schrieb Daniel Vetter:
On Tue, Jan 12, 2021 at 09:10:30AM +0100, Thomas Zimmermann wrote:
The AGP wrapper functions serve no purpose.
Signed-off-by: Thomas Zimmermann tzimmermann@suse.de
They do, without them we fail compiling (I think at least) when agp isn't
I thought so. But the only callers are in drm_agpsupport.c, which depends on CONFIG_AGP in the Makefile. So I expected this to work.
Please add that information to the commit message, with that r-b: me too. -Daniel
Best regards Thomas
enabled. Did you check for that? I should all work if we have the dummy inlines for relevant agp functions in linux/agp_backend.h. -Daniel
drivers/gpu/drm/drm_agpsupport.c | 12 ++++++------ drivers/gpu/drm/drm_memory.c | 18 ------------------ include/drm/drm_agpsupport.h | 18 ------------------ 3 files changed, 6 insertions(+), 42 deletions(-)
diff --git a/drivers/gpu/drm/drm_agpsupport.c b/drivers/gpu/drm/drm_agpsupport.c index 4c7ad46fdd21..8b690ef306de 100644 --- a/drivers/gpu/drm/drm_agpsupport.c +++ b/drivers/gpu/drm/drm_agpsupport.c @@ -285,7 +285,7 @@ int drm_agp_unbind(struct drm_device *dev, struct drm_agp_binding *request) entry = drm_agp_lookup_entry(dev, request->handle); if (!entry || !entry->bound) return -EINVAL;
- ret = drm_unbind_agp(entry->memory);
- ret = agp_unbind_memory(entry->memory); if (ret == 0) entry->bound = 0; return ret;
@@ -326,7 +326,7 @@ int drm_agp_bind(struct drm_device *dev, struct drm_agp_binding *request) if (!entry || entry->bound) return -EINVAL; page = DIV_ROUND_UP(request->offset, PAGE_SIZE);
- retcode = drm_bind_agp(entry->memory, page);
- retcode = agp_bind_memory(entry->memory, page); if (retcode) return retcode; entry->bound = dev->agp->base + (page << PAGE_SHIFT);
@@ -369,11 +369,11 @@ int drm_agp_free(struct drm_device *dev, struct drm_agp_buffer *request) if (!entry) return -EINVAL; if (entry->bound)
drm_unbind_agp(entry->memory);
agp_unbind_memory(entry->memory);
list_del(&entry->head);
- drm_free_agp(entry->memory, entry->pages);
- agp_free_memory(entry->memory); kfree(entry); return 0; }
@@ -453,8 +453,8 @@ void drm_legacy_agp_clear(struct drm_device *dev)
list_for_each_entry_safe(entry, tempe, &dev->agp->memory, head) { if (entry->bound)
drm_unbind_agp(entry->memory);
drm_free_agp(entry->memory, entry->pages);
agp_unbind_memory(entry->memory);
} INIT_LIST_HEAD(&dev->agp->memory);agp_free_memory(entry->memory); kfree(entry);
diff --git a/drivers/gpu/drm/drm_memory.c b/drivers/gpu/drm/drm_memory.c index fbea69d6f909..f4f2bffdd5bd 100644 --- a/drivers/gpu/drm/drm_memory.c +++ b/drivers/gpu/drm/drm_memory.c @@ -100,24 +100,6 @@ static void *agp_remap(unsigned long offset, unsigned long size, return addr; }
-/** Wrapper around agp_free_memory() */ -void drm_free_agp(struct agp_memory *handle, int pages) -{
- agp_free_memory(handle);
-}
-/** Wrapper around agp_bind_memory() */ -int drm_bind_agp(struct agp_memory *handle, unsigned int start) -{
- return agp_bind_memory(handle, start);
-}
-/** Wrapper around agp_unbind_memory() */ -int drm_unbind_agp(struct agp_memory *handle) -{
- return agp_unbind_memory(handle);
-}
- #else /* CONFIG_AGP */ static inline void *agp_remap(unsigned long offset, unsigned long size, struct drm_device *dev)
diff --git a/include/drm/drm_agpsupport.h b/include/drm/drm_agpsupport.h index 664e120b93e6..f3136750c490 100644 --- a/include/drm/drm_agpsupport.h +++ b/include/drm/drm_agpsupport.h @@ -28,10 +28,6 @@ struct drm_agp_head {
#if IS_ENABLED(CONFIG_AGP)
-void drm_free_agp(struct agp_memory * handle, int pages); -int drm_bind_agp(struct agp_memory * handle, unsigned int start); -int drm_unbind_agp(struct agp_memory * handle);
- struct drm_agp_head *drm_agp_init(struct drm_device *dev); void drm_legacy_agp_clear(struct drm_device *dev); int drm_agp_acquire(struct drm_device *dev);
@@ -61,20 +57,6 @@ int drm_agp_bind_ioctl(struct drm_device *dev, void *data,
#else /* CONFIG_AGP */
-static inline void drm_free_agp(struct agp_memory * handle, int pages) -{ -}
-static inline int drm_bind_agp(struct agp_memory * handle, unsigned int start) -{
- return -ENODEV;
-}
-static inline int drm_unbind_agp(struct agp_memory * handle) -{
- return -ENODEV;
-}
- static inline struct drm_agp_head *drm_agp_init(struct drm_device *dev) { return NULL;
-- 2.29.2
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer