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

Thomas Zimmermann tzimmermann at suse.de
Tue Jan 12 09:56:53 UTC 2021


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.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210112/bdfcc8b6/attachment.sig>


More information about the amd-gfx mailing list