diff mbox series

[1/6] drm: Inline AGP wrappers into their only callers

Message ID 20210112081035.6882-2-tzimmermann@suse.de (mailing list archive)
State New, archived
Headers show
Series Move struct drm_device.hose to legacy section | expand

Commit Message

Thomas Zimmermann Jan. 12, 2021, 8:10 a.m. UTC
The AGP wrapper functions serve no purpose.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 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(-)

Comments

Daniel Vetter Jan. 12, 2021, 8:59 a.m. UTC | #1
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
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 Jan. 12, 2021, 9:56 a.m. UTC | #2
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.

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
>>
>
Daniel Vetter Jan. 12, 2021, 2:01 p.m. UTC | #3
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);
> >> +            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
>
diff mbox series

Patch

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;