diff mbox series

drm/ttm: let struct ttm_device_funcs be placed in rodata

Message ID 20230309123700.528641-1-jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/ttm: let struct ttm_device_funcs be placed in rodata | expand

Commit Message

Jani Nikula March 9, 2023, 12:37 p.m. UTC
Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.

Cc: Christian Koenig <christian.koenig@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/ttm/ttm_device.c | 2 +-
 include/drm/ttm/ttm_device.h     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Christian König March 9, 2023, 12:45 p.m. UTC | #1
Am 09.03.23 um 13:37 schrieb Jani Nikula:
> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
>
> Cc: Christian Koenig <christian.koenig@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Good idea, Reviewed-by: Christian König <christian.koenig@amd.com>

Should I push it to drm-misc-next or do you need it on some other branch?

Christian.

> ---
>   drivers/gpu/drm/ttm/ttm_device.c | 2 +-
>   include/drm/ttm/ttm_device.h     | 4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
> index ae2f19dc9f81..a71bb1362de4 100644
> --- a/drivers/gpu/drm/ttm/ttm_device.c
> +++ b/drivers/gpu/drm/ttm/ttm_device.c
> @@ -190,7 +190,7 @@ EXPORT_SYMBOL(ttm_device_swapout);
>    * Returns:
>    * !0: Failure.
>    */
> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>   		    struct device *dev, struct address_space *mapping,
>   		    struct drm_vma_offset_manager *vma_manager,
>   		    bool use_dma_alloc, bool use_dma32)
> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
> index 56e82ba2d046..c22f30535c84 100644
> --- a/include/drm/ttm/ttm_device.h
> +++ b/include/drm/ttm/ttm_device.h
> @@ -223,7 +223,7 @@ struct ttm_device {
>   	 * @funcs: Function table for the device.
>   	 * Constant after bo device init
>   	 */
> -	struct ttm_device_funcs *funcs;
> +	const struct ttm_device_funcs *funcs;
>   
>   	/**
>   	 * @sysman: Resource manager for the system domain.
> @@ -287,7 +287,7 @@ static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
>   	bdev->man_drv[type] = manager;
>   }
>   
> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>   		    struct device *dev, struct address_space *mapping,
>   		    struct drm_vma_offset_manager *vma_manager,
>   		    bool use_dma_alloc, bool use_dma32);
Jani Nikula March 9, 2023, 12:49 p.m. UTC | #2
On Thu, 09 Mar 2023, Christian König <christian.koenig@amd.com> wrote:
> Am 09.03.23 um 13:37 schrieb Jani Nikula:
>> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
>>
>> Cc: Christian Koenig <christian.koenig@amd.com>
>> Cc: Huang Rui <ray.huang@amd.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Good idea, Reviewed-by: Christian König <christian.koenig@amd.com>

Thanks!

> Should I push it to drm-misc-next or do you need it on some other branch?

Go ahead, I'm not urgently depending on it.

BR,
Jani.

>
> Christian.
>
>> ---
>>   drivers/gpu/drm/ttm/ttm_device.c | 2 +-
>>   include/drm/ttm/ttm_device.h     | 4 ++--
>>   2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
>> index ae2f19dc9f81..a71bb1362de4 100644
>> --- a/drivers/gpu/drm/ttm/ttm_device.c
>> +++ b/drivers/gpu/drm/ttm/ttm_device.c
>> @@ -190,7 +190,7 @@ EXPORT_SYMBOL(ttm_device_swapout);
>>    * Returns:
>>    * !0: Failure.
>>    */
>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>>   		    struct device *dev, struct address_space *mapping,
>>   		    struct drm_vma_offset_manager *vma_manager,
>>   		    bool use_dma_alloc, bool use_dma32)
>> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
>> index 56e82ba2d046..c22f30535c84 100644
>> --- a/include/drm/ttm/ttm_device.h
>> +++ b/include/drm/ttm/ttm_device.h
>> @@ -223,7 +223,7 @@ struct ttm_device {
>>   	 * @funcs: Function table for the device.
>>   	 * Constant after bo device init
>>   	 */
>> -	struct ttm_device_funcs *funcs;
>> +	const struct ttm_device_funcs *funcs;
>>   
>>   	/**
>>   	 * @sysman: Resource manager for the system domain.
>> @@ -287,7 +287,7 @@ static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
>>   	bdev->man_drv[type] = manager;
>>   }
>>   
>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>>   		    struct device *dev, struct address_space *mapping,
>>   		    struct drm_vma_offset_manager *vma_manager,
>>   		    bool use_dma_alloc, bool use_dma32);
>
Jani Nikula May 16, 2023, 8:05 a.m. UTC | #3
On Thu, 09 Mar 2023, Jani Nikula <jani.nikula@intel.com> wrote:
> On Thu, 09 Mar 2023, Christian König <christian.koenig@amd.com> wrote:
>> Am 09.03.23 um 13:37 schrieb Jani Nikula:
>>> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
>>>
>>> Cc: Christian Koenig <christian.koenig@amd.com>
>>> Cc: Huang Rui <ray.huang@amd.com>
>>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>
>> Good idea, Reviewed-by: Christian König <christian.koenig@amd.com>
>
> Thanks!
>
>> Should I push it to drm-misc-next or do you need it on some other branch?
>
> Go ahead, I'm not urgently depending on it.

Christian, I guess this fell between the cracks? Can I just push it to
drm-misc-next?

BR,
Jani.


>
> BR,
> Jani.
>
>>
>> Christian.
>>
>>> ---
>>>   drivers/gpu/drm/ttm/ttm_device.c | 2 +-
>>>   include/drm/ttm/ttm_device.h     | 4 ++--
>>>   2 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
>>> index ae2f19dc9f81..a71bb1362de4 100644
>>> --- a/drivers/gpu/drm/ttm/ttm_device.c
>>> +++ b/drivers/gpu/drm/ttm/ttm_device.c
>>> @@ -190,7 +190,7 @@ EXPORT_SYMBOL(ttm_device_swapout);
>>>    * Returns:
>>>    * !0: Failure.
>>>    */
>>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
>>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>>>   		    struct device *dev, struct address_space *mapping,
>>>   		    struct drm_vma_offset_manager *vma_manager,
>>>   		    bool use_dma_alloc, bool use_dma32)
>>> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
>>> index 56e82ba2d046..c22f30535c84 100644
>>> --- a/include/drm/ttm/ttm_device.h
>>> +++ b/include/drm/ttm/ttm_device.h
>>> @@ -223,7 +223,7 @@ struct ttm_device {
>>>   	 * @funcs: Function table for the device.
>>>   	 * Constant after bo device init
>>>   	 */
>>> -	struct ttm_device_funcs *funcs;
>>> +	const struct ttm_device_funcs *funcs;
>>>   
>>>   	/**
>>>   	 * @sysman: Resource manager for the system domain.
>>> @@ -287,7 +287,7 @@ static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
>>>   	bdev->man_drv[type] = manager;
>>>   }
>>>   
>>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
>>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>>>   		    struct device *dev, struct address_space *mapping,
>>>   		    struct drm_vma_offset_manager *vma_manager,
>>>   		    bool use_dma_alloc, bool use_dma32);
>>
Thomas Zimmermann May 16, 2023, 4:08 p.m. UTC | #4
Am 09.03.23 um 13:37 schrieb Jani Nikula:
> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
> 
> Cc: Christian Koenig <christian.koenig@amd.com>
> Cc: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
>   drivers/gpu/drm/ttm/ttm_device.c | 2 +-
>   include/drm/ttm/ttm_device.h     | 4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
> index ae2f19dc9f81..a71bb1362de4 100644
> --- a/drivers/gpu/drm/ttm/ttm_device.c
> +++ b/drivers/gpu/drm/ttm/ttm_device.c
> @@ -190,7 +190,7 @@ EXPORT_SYMBOL(ttm_device_swapout);
>    * Returns:
>    * !0: Failure.
>    */
> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>   		    struct device *dev, struct address_space *mapping,
>   		    struct drm_vma_offset_manager *vma_manager,
>   		    bool use_dma_alloc, bool use_dma32)
> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
> index 56e82ba2d046..c22f30535c84 100644
> --- a/include/drm/ttm/ttm_device.h
> +++ b/include/drm/ttm/ttm_device.h
> @@ -223,7 +223,7 @@ struct ttm_device {
>   	 * @funcs: Function table for the device.
>   	 * Constant after bo device init
>   	 */
> -	struct ttm_device_funcs *funcs;
> +	const struct ttm_device_funcs *funcs;
>   
>   	/**
>   	 * @sysman: Resource manager for the system domain.
> @@ -287,7 +287,7 @@ static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
>   	bdev->man_drv[type] = manager;
>   }
>   
> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
>   		    struct device *dev, struct address_space *mapping,
>   		    struct drm_vma_offset_manager *vma_manager,
>   		    bool use_dma_alloc, bool use_dma32);
Alex Deucher May 16, 2023, 4:11 p.m. UTC | #5
On Tue, May 16, 2023 at 4:05 AM Jani Nikula <jani.nikula@intel.com> wrote:
>
> On Thu, 09 Mar 2023, Jani Nikula <jani.nikula@intel.com> wrote:
> > On Thu, 09 Mar 2023, Christian König <christian.koenig@amd.com> wrote:
> >> Am 09.03.23 um 13:37 schrieb Jani Nikula:
> >>> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
> >>>
> >>> Cc: Christian Koenig <christian.koenig@amd.com>
> >>> Cc: Huang Rui <ray.huang@amd.com>
> >>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >>
> >> Good idea, Reviewed-by: Christian König <christian.koenig@amd.com>
> >
> > Thanks!
> >
> >> Should I push it to drm-misc-next or do you need it on some other branch?
> >
> > Go ahead, I'm not urgently depending on it.
>
> Christian, I guess this fell between the cracks? Can I just push it to
> drm-misc-next?

Go ahead.  Christian is out of the office this week.

Alex

>
> BR,
> Jani.
>
>
> >
> > BR,
> > Jani.
> >
> >>
> >> Christian.
> >>
> >>> ---
> >>>   drivers/gpu/drm/ttm/ttm_device.c | 2 +-
> >>>   include/drm/ttm/ttm_device.h     | 4 ++--
> >>>   2 files changed, 3 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
> >>> index ae2f19dc9f81..a71bb1362de4 100644
> >>> --- a/drivers/gpu/drm/ttm/ttm_device.c
> >>> +++ b/drivers/gpu/drm/ttm/ttm_device.c
> >>> @@ -190,7 +190,7 @@ EXPORT_SYMBOL(ttm_device_swapout);
> >>>    * Returns:
> >>>    * !0: Failure.
> >>>    */
> >>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> >>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
> >>>                 struct device *dev, struct address_space *mapping,
> >>>                 struct drm_vma_offset_manager *vma_manager,
> >>>                 bool use_dma_alloc, bool use_dma32)
> >>> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
> >>> index 56e82ba2d046..c22f30535c84 100644
> >>> --- a/include/drm/ttm/ttm_device.h
> >>> +++ b/include/drm/ttm/ttm_device.h
> >>> @@ -223,7 +223,7 @@ struct ttm_device {
> >>>      * @funcs: Function table for the device.
> >>>      * Constant after bo device init
> >>>      */
> >>> -   struct ttm_device_funcs *funcs;
> >>> +   const struct ttm_device_funcs *funcs;
> >>>
> >>>     /**
> >>>      * @sysman: Resource manager for the system domain.
> >>> @@ -287,7 +287,7 @@ static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
> >>>     bdev->man_drv[type] = manager;
> >>>   }
> >>>
> >>> -int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
> >>> +int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
> >>>                 struct device *dev, struct address_space *mapping,
> >>>                 struct drm_vma_offset_manager *vma_manager,
> >>>                 bool use_dma_alloc, bool use_dma32);
> >>
>
> --
> Jani Nikula, Intel Open Source Graphics Center
Jani Nikula May 17, 2023, 9:26 a.m. UTC | #6
On Tue, 16 May 2023, Alex Deucher <alexdeucher@gmail.com> wrote:
> On Tue, May 16, 2023 at 4:05 AM Jani Nikula <jani.nikula@intel.com> wrote:
>>
>> On Thu, 09 Mar 2023, Jani Nikula <jani.nikula@intel.com> wrote:
>> > On Thu, 09 Mar 2023, Christian König <christian.koenig@amd.com> wrote:
>> >> Am 09.03.23 um 13:37 schrieb Jani Nikula:
>> >>> Make the struct ttm_device_funcs pointers const so the data can be placed in rodata.
>> >>>
>> >>> Cc: Christian Koenig <christian.koenig@amd.com>
>> >>> Cc: Huang Rui <ray.huang@amd.com>
>> >>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> >>
>> >> Good idea, Reviewed-by: Christian König <christian.koenig@amd.com>
>> >
>> > Thanks!
>> >
>> >> Should I push it to drm-misc-next or do you need it on some other branch?
>> >
>> > Go ahead, I'm not urgently depending on it.
>>
>> Christian, I guess this fell between the cracks? Can I just push it to
>> drm-misc-next?
>
> Go ahead.  Christian is out of the office this week.

Thanks, pushed to drm-misc-next.

BR,
Jani.
diff mbox series

Patch

diff --git a/drivers/gpu/drm/ttm/ttm_device.c b/drivers/gpu/drm/ttm/ttm_device.c
index ae2f19dc9f81..a71bb1362de4 100644
--- a/drivers/gpu/drm/ttm/ttm_device.c
+++ b/drivers/gpu/drm/ttm/ttm_device.c
@@ -190,7 +190,7 @@  EXPORT_SYMBOL(ttm_device_swapout);
  * Returns:
  * !0: Failure.
  */
-int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
+int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
 		    struct device *dev, struct address_space *mapping,
 		    struct drm_vma_offset_manager *vma_manager,
 		    bool use_dma_alloc, bool use_dma32)
diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
index 56e82ba2d046..c22f30535c84 100644
--- a/include/drm/ttm/ttm_device.h
+++ b/include/drm/ttm/ttm_device.h
@@ -223,7 +223,7 @@  struct ttm_device {
 	 * @funcs: Function table for the device.
 	 * Constant after bo device init
 	 */
-	struct ttm_device_funcs *funcs;
+	const struct ttm_device_funcs *funcs;
 
 	/**
 	 * @sysman: Resource manager for the system domain.
@@ -287,7 +287,7 @@  static inline void ttm_set_driver_manager(struct ttm_device *bdev, int type,
 	bdev->man_drv[type] = manager;
 }
 
-int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs,
+int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
 		    struct device *dev, struct address_space *mapping,
 		    struct drm_vma_offset_manager *vma_manager,
 		    bool use_dma_alloc, bool use_dma32);