[PATCH 1/6] drm: Inline AGP wrappers into their only callers
Daniel Vetter
daniel at ffwll.ch
Tue Jan 12 14:01:11 UTC 2021
On Tue, Jan 12, 2021 at 10:56 AM Thomas Zimmermann <tzimmermann at 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 at 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);
> >> + agp_free_memory(entry->memory);
> >> kfree(entry);
> >> }
> >> INIT_LIST_HEAD(&dev->agp->memory);
> >> 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
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the amd-gfx
mailing list