Message ID | 20161216074718.32500-5-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Dec 16, 2016 at 07:46:42AM +0000, Chris Wilson wrote: > Mark up the pointers as constant through the API where appropriate. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Ok merged this and the patch right before, then Chris told me on irc that I need to stop because he's mixing a v3 of this series. -Daniel > --- > drivers/gpu/drm/drm_mm.c | 24 ++++++++++++------------ > drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- > include/drm/drm_mm.h | 27 +++++++++++++-------------- > 3 files changed, 26 insertions(+), 27 deletions(-) > > diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c > index 6e0735539545..7573661302a4 100644 > --- a/drivers/gpu/drm/drm_mm.c > +++ b/drivers/gpu/drm/drm_mm.c > @@ -174,9 +174,9 @@ INTERVAL_TREE_DEFINE(struct drm_mm_node, rb, > START, LAST, static inline, drm_mm_interval_tree) > > struct drm_mm_node * > -__drm_mm_interval_first(struct drm_mm *mm, u64 start, u64 last) > +__drm_mm_interval_first(const struct drm_mm *mm, u64 start, u64 last) > { > - return drm_mm_interval_tree_iter_first(&mm->interval_tree, > + return drm_mm_interval_tree_iter_first((struct rb_root *)&mm->interval_tree, > start, last); > } > EXPORT_SYMBOL(__drm_mm_interval_first); > @@ -881,9 +881,9 @@ EXPORT_SYMBOL(drm_mm_scan_remove_block); > * True if the allocator is completely free, false if there's still a node > * allocated in it. > */ > -bool drm_mm_clean(struct drm_mm * mm) > +bool drm_mm_clean(const struct drm_mm *mm) > { > - struct list_head *head = __drm_mm_nodes(mm); > + const struct list_head *head = __drm_mm_nodes(mm); > > return (head->next->next == head); > } > @@ -897,7 +897,7 @@ EXPORT_SYMBOL(drm_mm_clean); > * > * Note that @mm must be cleared to 0 before calling this function. > */ > -void drm_mm_init(struct drm_mm * mm, u64 start, u64 size) > +void drm_mm_init(struct drm_mm *mm, u64 start, u64 size) > { > INIT_LIST_HEAD(&mm->hole_stack); > mm->scanned_blocks = 0; > @@ -936,8 +936,8 @@ void drm_mm_takedown(struct drm_mm *mm) > } > EXPORT_SYMBOL(drm_mm_takedown); > > -static u64 drm_mm_debug_hole(struct drm_mm_node *entry, > - const char *prefix) > +static u64 drm_mm_debug_hole(const struct drm_mm_node *entry, > + const char *prefix) > { > u64 hole_start, hole_end, hole_size; > > @@ -958,9 +958,9 @@ static u64 drm_mm_debug_hole(struct drm_mm_node *entry, > * @mm: drm_mm allocator to dump > * @prefix: prefix to use for dumping to dmesg > */ > -void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) > +void drm_mm_debug_table(const struct drm_mm *mm, const char *prefix) > { > - struct drm_mm_node *entry; > + const struct drm_mm_node *entry; > u64 total_used = 0, total_free = 0, total = 0; > > total_free += drm_mm_debug_hole(&mm->head_node, prefix); > @@ -979,7 +979,7 @@ void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) > EXPORT_SYMBOL(drm_mm_debug_table); > > #if defined(CONFIG_DEBUG_FS) > -static u64 drm_mm_dump_hole(struct seq_file *m, struct drm_mm_node *entry) > +static u64 drm_mm_dump_hole(struct seq_file *m, const struct drm_mm_node *entry) > { > u64 hole_start, hole_end, hole_size; > > @@ -1000,9 +1000,9 @@ static u64 drm_mm_dump_hole(struct seq_file *m, struct drm_mm_node *entry) > * @m: seq_file to dump to > * @mm: drm_mm allocator to dump > */ > -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm) > +int drm_mm_dump_table(struct seq_file *m, const struct drm_mm *mm) > { > - struct drm_mm_node *entry; > + const struct drm_mm_node *entry; > u64 total_used = 0, total_free = 0, total = 0; > > total_free += drm_mm_dump_hole(m, &mm->head_node); > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 4d82f38a000b..97fd66e4e3d0 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -2699,7 +2699,7 @@ void i915_gem_gtt_finish_pages(struct drm_i915_gem_object *obj, > dma_unmap_sg(kdev, pages->sgl, pages->nents, PCI_DMA_BIDIRECTIONAL); > } > > -static void i915_gtt_color_adjust(struct drm_mm_node *node, > +static void i915_gtt_color_adjust(const struct drm_mm_node *node, > unsigned long color, > u64 *start, > u64 *end) > diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h > index 0cc1b78c9ec2..5c7f15875b6a 100644 > --- a/include/drm/drm_mm.h > +++ b/include/drm/drm_mm.h > @@ -102,7 +102,8 @@ struct drm_mm { > u64 scan_end; > struct drm_mm_node *prev_scanned_node; > > - void (*color_adjust)(struct drm_mm_node *node, unsigned long color, > + void (*color_adjust)(const struct drm_mm_node *node, > + unsigned long color, > u64 *start, u64 *end); > }; > > @@ -116,7 +117,7 @@ struct drm_mm { > * Returns: > * True if the @node is allocated. > */ > -static inline bool drm_mm_node_allocated(struct drm_mm_node *node) > +static inline bool drm_mm_node_allocated(const struct drm_mm_node *node) > { > return node->allocated; > } > @@ -131,12 +132,12 @@ static inline bool drm_mm_node_allocated(struct drm_mm_node *node) > * Returns: > * True if the @mm is initialized. > */ > -static inline bool drm_mm_initialized(struct drm_mm *mm) > +static inline bool drm_mm_initialized(const struct drm_mm *mm) > { > return mm->hole_stack.next; > } > > -static inline u64 __drm_mm_hole_node_start(struct drm_mm_node *hole_node) > +static inline u64 __drm_mm_hole_node_start(const struct drm_mm_node *hole_node) > { > return hole_node->start + hole_node->size; > } > @@ -152,13 +153,13 @@ static inline u64 __drm_mm_hole_node_start(struct drm_mm_node *hole_node) > * Returns: > * Start of the subsequent hole. > */ > -static inline u64 drm_mm_hole_node_start(struct drm_mm_node *hole_node) > +static inline u64 drm_mm_hole_node_start(const struct drm_mm_node *hole_node) > { > BUG_ON(!hole_node->hole_follows); > return __drm_mm_hole_node_start(hole_node); > } > > -static inline u64 __drm_mm_hole_node_end(struct drm_mm_node *hole_node) > +static inline u64 __drm_mm_hole_node_end(const struct drm_mm_node *hole_node) > { > return list_next_entry(hole_node, node_list)->start; > } > @@ -174,7 +175,7 @@ static inline u64 __drm_mm_hole_node_end(struct drm_mm_node *hole_node) > * Returns: > * End of the subsequent hole. > */ > -static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) > +static inline u64 drm_mm_hole_node_end(const struct drm_mm_node *hole_node) > { > return __drm_mm_hole_node_end(hole_node); > } > @@ -314,14 +315,12 @@ static inline int drm_mm_insert_node_in_range(struct drm_mm *mm, > > void drm_mm_remove_node(struct drm_mm_node *node); > void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); > -void drm_mm_init(struct drm_mm *mm, > - u64 start, > - u64 size); > +void drm_mm_init(struct drm_mm *mm, u64 start, u64 size); > void drm_mm_takedown(struct drm_mm *mm); > -bool drm_mm_clean(struct drm_mm *mm); > +bool drm_mm_clean(const struct drm_mm *mm); > > struct drm_mm_node * > -__drm_mm_interval_first(struct drm_mm *mm, u64 start, u64 last); > +__drm_mm_interval_first(const struct drm_mm *mm, u64 start, u64 last); > > /** > * drm_mm_for_each_node_in_range - iterator to walk over a range of > @@ -355,9 +354,9 @@ void drm_mm_init_scan_with_range(struct drm_mm *mm, > bool drm_mm_scan_add_block(struct drm_mm_node *node); > bool drm_mm_scan_remove_block(struct drm_mm_node *node); > > -void drm_mm_debug_table(struct drm_mm *mm, const char *prefix); > +void drm_mm_debug_table(const struct drm_mm *mm, const char *prefix); > #ifdef CONFIG_DEBUG_FS > -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm); > +int drm_mm_dump_table(struct seq_file *m, const struct drm_mm *mm); > #endif > > #endif > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c index 6e0735539545..7573661302a4 100644 --- a/drivers/gpu/drm/drm_mm.c +++ b/drivers/gpu/drm/drm_mm.c @@ -174,9 +174,9 @@ INTERVAL_TREE_DEFINE(struct drm_mm_node, rb, START, LAST, static inline, drm_mm_interval_tree) struct drm_mm_node * -__drm_mm_interval_first(struct drm_mm *mm, u64 start, u64 last) +__drm_mm_interval_first(const struct drm_mm *mm, u64 start, u64 last) { - return drm_mm_interval_tree_iter_first(&mm->interval_tree, + return drm_mm_interval_tree_iter_first((struct rb_root *)&mm->interval_tree, start, last); } EXPORT_SYMBOL(__drm_mm_interval_first); @@ -881,9 +881,9 @@ EXPORT_SYMBOL(drm_mm_scan_remove_block); * True if the allocator is completely free, false if there's still a node * allocated in it. */ -bool drm_mm_clean(struct drm_mm * mm) +bool drm_mm_clean(const struct drm_mm *mm) { - struct list_head *head = __drm_mm_nodes(mm); + const struct list_head *head = __drm_mm_nodes(mm); return (head->next->next == head); } @@ -897,7 +897,7 @@ EXPORT_SYMBOL(drm_mm_clean); * * Note that @mm must be cleared to 0 before calling this function. */ -void drm_mm_init(struct drm_mm * mm, u64 start, u64 size) +void drm_mm_init(struct drm_mm *mm, u64 start, u64 size) { INIT_LIST_HEAD(&mm->hole_stack); mm->scanned_blocks = 0; @@ -936,8 +936,8 @@ void drm_mm_takedown(struct drm_mm *mm) } EXPORT_SYMBOL(drm_mm_takedown); -static u64 drm_mm_debug_hole(struct drm_mm_node *entry, - const char *prefix) +static u64 drm_mm_debug_hole(const struct drm_mm_node *entry, + const char *prefix) { u64 hole_start, hole_end, hole_size; @@ -958,9 +958,9 @@ static u64 drm_mm_debug_hole(struct drm_mm_node *entry, * @mm: drm_mm allocator to dump * @prefix: prefix to use for dumping to dmesg */ -void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) +void drm_mm_debug_table(const struct drm_mm *mm, const char *prefix) { - struct drm_mm_node *entry; + const struct drm_mm_node *entry; u64 total_used = 0, total_free = 0, total = 0; total_free += drm_mm_debug_hole(&mm->head_node, prefix); @@ -979,7 +979,7 @@ void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) EXPORT_SYMBOL(drm_mm_debug_table); #if defined(CONFIG_DEBUG_FS) -static u64 drm_mm_dump_hole(struct seq_file *m, struct drm_mm_node *entry) +static u64 drm_mm_dump_hole(struct seq_file *m, const struct drm_mm_node *entry) { u64 hole_start, hole_end, hole_size; @@ -1000,9 +1000,9 @@ static u64 drm_mm_dump_hole(struct seq_file *m, struct drm_mm_node *entry) * @m: seq_file to dump to * @mm: drm_mm allocator to dump */ -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm) +int drm_mm_dump_table(struct seq_file *m, const struct drm_mm *mm) { - struct drm_mm_node *entry; + const struct drm_mm_node *entry; u64 total_used = 0, total_free = 0, total = 0; total_free += drm_mm_dump_hole(m, &mm->head_node); diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 4d82f38a000b..97fd66e4e3d0 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -2699,7 +2699,7 @@ void i915_gem_gtt_finish_pages(struct drm_i915_gem_object *obj, dma_unmap_sg(kdev, pages->sgl, pages->nents, PCI_DMA_BIDIRECTIONAL); } -static void i915_gtt_color_adjust(struct drm_mm_node *node, +static void i915_gtt_color_adjust(const struct drm_mm_node *node, unsigned long color, u64 *start, u64 *end) diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index 0cc1b78c9ec2..5c7f15875b6a 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h @@ -102,7 +102,8 @@ struct drm_mm { u64 scan_end; struct drm_mm_node *prev_scanned_node; - void (*color_adjust)(struct drm_mm_node *node, unsigned long color, + void (*color_adjust)(const struct drm_mm_node *node, + unsigned long color, u64 *start, u64 *end); }; @@ -116,7 +117,7 @@ struct drm_mm { * Returns: * True if the @node is allocated. */ -static inline bool drm_mm_node_allocated(struct drm_mm_node *node) +static inline bool drm_mm_node_allocated(const struct drm_mm_node *node) { return node->allocated; } @@ -131,12 +132,12 @@ static inline bool drm_mm_node_allocated(struct drm_mm_node *node) * Returns: * True if the @mm is initialized. */ -static inline bool drm_mm_initialized(struct drm_mm *mm) +static inline bool drm_mm_initialized(const struct drm_mm *mm) { return mm->hole_stack.next; } -static inline u64 __drm_mm_hole_node_start(struct drm_mm_node *hole_node) +static inline u64 __drm_mm_hole_node_start(const struct drm_mm_node *hole_node) { return hole_node->start + hole_node->size; } @@ -152,13 +153,13 @@ static inline u64 __drm_mm_hole_node_start(struct drm_mm_node *hole_node) * Returns: * Start of the subsequent hole. */ -static inline u64 drm_mm_hole_node_start(struct drm_mm_node *hole_node) +static inline u64 drm_mm_hole_node_start(const struct drm_mm_node *hole_node) { BUG_ON(!hole_node->hole_follows); return __drm_mm_hole_node_start(hole_node); } -static inline u64 __drm_mm_hole_node_end(struct drm_mm_node *hole_node) +static inline u64 __drm_mm_hole_node_end(const struct drm_mm_node *hole_node) { return list_next_entry(hole_node, node_list)->start; } @@ -174,7 +175,7 @@ static inline u64 __drm_mm_hole_node_end(struct drm_mm_node *hole_node) * Returns: * End of the subsequent hole. */ -static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) +static inline u64 drm_mm_hole_node_end(const struct drm_mm_node *hole_node) { return __drm_mm_hole_node_end(hole_node); } @@ -314,14 +315,12 @@ static inline int drm_mm_insert_node_in_range(struct drm_mm *mm, void drm_mm_remove_node(struct drm_mm_node *node); void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); -void drm_mm_init(struct drm_mm *mm, - u64 start, - u64 size); +void drm_mm_init(struct drm_mm *mm, u64 start, u64 size); void drm_mm_takedown(struct drm_mm *mm); -bool drm_mm_clean(struct drm_mm *mm); +bool drm_mm_clean(const struct drm_mm *mm); struct drm_mm_node * -__drm_mm_interval_first(struct drm_mm *mm, u64 start, u64 last); +__drm_mm_interval_first(const struct drm_mm *mm, u64 start, u64 last); /** * drm_mm_for_each_node_in_range - iterator to walk over a range of @@ -355,9 +354,9 @@ void drm_mm_init_scan_with_range(struct drm_mm *mm, bool drm_mm_scan_add_block(struct drm_mm_node *node); bool drm_mm_scan_remove_block(struct drm_mm_node *node); -void drm_mm_debug_table(struct drm_mm *mm, const char *prefix); +void drm_mm_debug_table(const struct drm_mm *mm, const char *prefix); #ifdef CONFIG_DEBUG_FS -int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm); +int drm_mm_dump_table(struct seq_file *m, const struct drm_mm *mm); #endif #endif
Mark up the pointers as constant through the API where appropriate. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/drm_mm.c | 24 ++++++++++++------------ drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- include/drm/drm_mm.h | 27 +++++++++++++-------------- 3 files changed, 26 insertions(+), 27 deletions(-)