Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1274616 > unrolled thread
| Started by | Geliang Tang <geliangtang@163.com> |
|---|---|
| First post | 2015-11-21 10:20 +0100 |
| Last post | 2015-11-23 10:10 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] drm/mm: rewrite drm_mm_for_each_hole Geliang Tang <geliangtang@163.com> - 2015-11-21 10:20 +0100
Re: [PATCH] drm/mm: rewrite drm_mm_for_each_hole kbuild test robot <lkp@intel.com> - 2015-11-21 11:30 +0100
[PATCH v2] drm/mm: rewrite drm_mm_for_each_hole Geliang Tang <geliangtang@163.com> - 2015-11-21 15:10 +0100
Re: [PATCH v2] drm/mm: rewrite drm_mm_for_each_hole Daniel Vetter <daniel@ffwll.ch> - 2015-11-23 10:10 +0100
| From | Geliang Tang <geliangtang@163.com> |
|---|---|
| Date | 2015-11-21 10:20 +0100 |
| Subject | [PATCH] drm/mm: rewrite drm_mm_for_each_hole |
| Message-ID | <qxcuR-3hZ-1@gated-at.bofh.it> |
When backwards is 0, __drm_mm_for_each_hole is same as drm_mm_for_each_hole. So I rewrite drm_mm_for_each_hole by using __drm_mm_for_each_hole. Signed-off-by: Geliang Tang <geliangtang@163.com> --- include/drm/drm_mm.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index 0de6290..ef52fcf 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h @@ -199,14 +199,6 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) * The __drm_mm_for_each_hole version is similar, but with added support for * going backwards. */ -#define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \ - for (entry = list_entry((mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ - &entry->hole_stack != &(mm)->hole_stack ? \ - hole_start = drm_mm_hole_node_start(entry), \ - hole_end = drm_mm_hole_node_end(entry), \ - 1 : 0; \ - entry = list_entry(entry->hole_stack.next, struct drm_mm_node, hole_stack)) - #define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ &entry->hole_stack != &(mm)->hole_stack ? \ @@ -215,6 +207,9 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) 1 : 0; \ entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) +#define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \ + __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0) + /* * Basic range manager support (drm_mm.c) */ -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2015-11-21 11:30 +0100 |
| Message-ID | <qxdAC-3Y1-19@gated-at.bofh.it> |
| In reply to | #1274616 |
[Multipart message — attachments visible in raw view] — view raw
Hi Geliang, [auto build test WARNING on drm/drm-next] [also build test WARNING on v4.4-rc1 next-20151120] url: https://github.com/0day-ci/linux/commits/Geliang-Tang/drm-mm-rewrite-drm_mm_for_each_hole/20151121-171903 base: git://people.freedesktop.org/~airlied/linux.git drm-next reproduce: make htmldocs All warnings (new ones prefixed by >>): drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt' >> include/drm/drm_mm.h:208: warning: No description found for parameter 'backwards' include/drm/drm_crtc.h:310: warning: No description found for parameter 'mode_blob' include/drm/drm_crtc.h:737: warning: No description found for parameter 'tile_blob_ptr' include/drm/drm_crtc.h:776: warning: No description found for parameter 'rotation' include/drm/drm_crtc.h:872: warning: No description found for parameter 'mutex' include/drm/drm_crtc.h:872: warning: No description found for parameter 'helper_private' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tile_idr' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'delayed_event' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'edid_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dpms_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'path_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tile_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'plane_type_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'rotation_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_x' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_y' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_w' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_src_h' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_x' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_y' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_w' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_h' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_fb_id' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_crtc_id' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_active' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'prop_mode_id' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dvi_i_subconnector_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dvi_i_select_subconnector_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_subconnector_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_select_subconnector_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_mode_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_left_margin_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_right_margin_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_top_margin_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_bottom_margin_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_brightness_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_contrast_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_flicker_reduction_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_overscan_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_saturation_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'tv_hue_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'scaling_mode_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'aspect_ratio_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'dirty_info_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'suggested_x_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'suggested_y_property' include/drm/drm_crtc.h:1157: warning: No description found for parameter 'allow_fb_modifiers' include/drm/drm_fb_helper.h:148: warning: No description found for parameter 'connector_info' include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_nack_count' include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_defer_count' drivers/gpu/drm/drm_dp_mst_topology.c:2227: warning: No description found for parameter 'connector' include/drm/drm_dp_mst_helper.h:97: warning: No description found for parameter 'cached_edid' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'max_dpcd_transaction_bytes' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'sink_count' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'total_slots' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'avail_slots' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'total_pbn' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'qlock' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_msg_downq' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_msg_upq' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_down_in_progress' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_up_in_progress' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payload_lock' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'proposed_vcpis' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payloads' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'payload_mask' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'vcpi_mask' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_waitq' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'work' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'tx_work' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_list' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_lock' include/drm/drm_dp_mst_helper.h:472: warning: No description found for parameter 'destroy_connector_work' drivers/gpu/drm/drm_dp_mst_topology.c:2227: warning: No description found for parameter 'connector' drivers/gpu/drm/drm_irq.c:173: warning: No description found for parameter 'flags' include/drm/drmP.h:168: warning: No description found for parameter 'fmt' include/drm/drmP.h:184: warning: No description found for parameter 'fmt' include/drm/drmP.h:202: warning: No description found for parameter 'fmt' include/drm/drmP.h:247: warning: No description found for parameter 'dev' include/drm/drmP.h:247: warning: No description found for parameter 'data' include/drm/drmP.h:247: warning: No description found for parameter 'file_priv' include/drm/drmP.h:280: warning: No description found for parameter 'ioctl' include/drm/drmP.h:280: warning: No description found for parameter '_func' include/drm/drmP.h:280: warning: No description found for parameter '_flags' include/drm/drmP.h:353: warning: cannot understand function prototype: 'struct drm_lock_data ' include/drm/drmP.h:406: warning: cannot understand function prototype: 'struct drm_driver ' include/drm/drmP.h:656: warning: cannot understand function prototype: 'struct drm_info_list ' include/drm/drmP.h:666: warning: cannot understand function prototype: 'struct drm_info_node ' include/drm/drmP.h:676: warning: cannot understand function prototype: 'struct drm_minor ' include/drm/drmP.h:724: warning: cannot understand function prototype: 'struct drm_device ' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged' drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt' drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'dev' drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'data' drivers/gpu/drm/i915/i915_gem.c:421: warning: No description found for parameter 'file' vim +/backwards +208 include/drm/drm_mm.h e18c0412 Daniel Vetter 2014-01-23 192 * internally and will not reflect a real drm_mm_node for the very first hole. e18c0412 Daniel Vetter 2014-01-23 193 * Hence users of this iterator may not access it. e18c0412 Daniel Vetter 2014-01-23 194 * e18c0412 Daniel Vetter 2014-01-23 195 * Implementation Note: e18c0412 Daniel Vetter 2014-01-23 196 * We need to inline list_for_each_entry in order to be able to set hole_start e18c0412 Daniel Vetter 2014-01-23 197 * and hole_end on each iteration while keeping the macro sane. 62347f9e Lauri Kasanen 2014-04-02 198 * 62347f9e Lauri Kasanen 2014-04-02 199 * The __drm_mm_for_each_hole version is similar, but with added support for 62347f9e Lauri Kasanen 2014-04-02 200 * going backwards. 9e8944ab Chris Wilson 2012-11-15 201 */ 62347f9e Lauri Kasanen 2014-04-02 202 #define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ 62347f9e Lauri Kasanen 2014-04-02 203 for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ 62347f9e Lauri Kasanen 2014-04-02 204 &entry->hole_stack != &(mm)->hole_stack ? \ 62347f9e Lauri Kasanen 2014-04-02 205 hole_start = drm_mm_hole_node_start(entry), \ 62347f9e Lauri Kasanen 2014-04-02 206 hole_end = drm_mm_hole_node_end(entry), \ 62347f9e Lauri Kasanen 2014-04-02 207 1 : 0; \ 62347f9e Lauri Kasanen 2014-04-02 @208 entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) 62347f9e Lauri Kasanen 2014-04-02 209 59c70d8d Geliang Tang 2015-11-21 210 #define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \ 59c70d8d Geliang Tang 2015-11-21 211 __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0) 59c70d8d Geliang Tang 2015-11-21 212 249d6048 Jerome Glisse 2009-04-08 213 /* 249d6048 Jerome Glisse 2009-04-08 214 * Basic range manager support (drm_mm.c) 249d6048 Jerome Glisse 2009-04-08 215 */ e18c0412 Daniel Vetter 2014-01-23 216 int drm_mm_reserve_node(struct drm_mm *mm, struct drm_mm_node *node); :::::: The code at line 208 was first introduced by commit :::::: 62347f9e0f81d50e9b0923ec8a192f60ab7a1801 drm: Add support for two-ended allocation, v3 :::::: TO: Lauri Kasanen <cand@gmx.com> :::::: CC: Dave Airlie <airlied@redhat.com> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [next] | [standalone]
| From | Geliang Tang <geliangtang@163.com> |
|---|---|
| Date | 2015-11-21 15:10 +0100 |
| Subject | [PATCH v2] drm/mm: rewrite drm_mm_for_each_hole |
| Message-ID | <qxh1v-6kL-1@gated-at.bofh.it> |
| In reply to | #1274626 |
When backwards is 0, __drm_mm_for_each_hole is same as drm_mm_for_each_hole. So I rewrite drm_mm_for_each_hole by using __drm_mm_for_each_hole. Signed-off-by: Geliang Tang <geliangtang@163.com> --- Changes in v2: - fix make htmldocs warning --- include/drm/drm_mm.h | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index 0de6290..a58cc6c 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h @@ -180,6 +180,14 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) &(mm)->head_node.node_list, \ node_list) +#define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ + for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ + &entry->hole_stack != &(mm)->hole_stack ? \ + hole_start = drm_mm_hole_node_start(entry), \ + hole_end = drm_mm_hole_node_end(entry), \ + 1 : 0; \ + entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) + /** * drm_mm_for_each_hole - iterator to walk over all holes * @entry: drm_mm_node used internally to track progress @@ -200,20 +208,7 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) * going backwards. */ #define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \ - for (entry = list_entry((mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ - &entry->hole_stack != &(mm)->hole_stack ? \ - hole_start = drm_mm_hole_node_start(entry), \ - hole_end = drm_mm_hole_node_end(entry), \ - 1 : 0; \ - entry = list_entry(entry->hole_stack.next, struct drm_mm_node, hole_stack)) - -#define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ - for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ - &entry->hole_stack != &(mm)->hole_stack ? \ - hole_start = drm_mm_hole_node_start(entry), \ - hole_end = drm_mm_hole_node_end(entry), \ - 1 : 0; \ - entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) + __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0) /* * Basic range manager support (drm_mm.c) -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2015-11-23 10:10 +0100 |
| Subject | Re: [PATCH v2] drm/mm: rewrite drm_mm_for_each_hole |
| Message-ID | <qxVih-8cY-7@gated-at.bofh.it> |
| In reply to | #1274660 |
On Sat, Nov 21, 2015 at 10:04:04PM +0800, Geliang Tang wrote: > When backwards is 0, __drm_mm_for_each_hole is same as > drm_mm_for_each_hole. So I rewrite drm_mm_for_each_hole > by using __drm_mm_for_each_hole. > > Signed-off-by: Geliang Tang <geliangtang@163.com> Applied to drm-misc, thanks. -Daniel > --- > Changes in v2: > - fix make htmldocs warning > --- > include/drm/drm_mm.h | 23 +++++++++-------------- > 1 file changed, 9 insertions(+), 14 deletions(-) > > diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h > index 0de6290..a58cc6c 100644 > --- a/include/drm/drm_mm.h > +++ b/include/drm/drm_mm.h > @@ -180,6 +180,14 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) > &(mm)->head_node.node_list, \ > node_list) > > +#define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ > + for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ > + &entry->hole_stack != &(mm)->hole_stack ? \ > + hole_start = drm_mm_hole_node_start(entry), \ > + hole_end = drm_mm_hole_node_end(entry), \ > + 1 : 0; \ > + entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) > + > /** > * drm_mm_for_each_hole - iterator to walk over all holes > * @entry: drm_mm_node used internally to track progress > @@ -200,20 +208,7 @@ static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) > * going backwards. > */ > #define drm_mm_for_each_hole(entry, mm, hole_start, hole_end) \ > - for (entry = list_entry((mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ > - &entry->hole_stack != &(mm)->hole_stack ? \ > - hole_start = drm_mm_hole_node_start(entry), \ > - hole_end = drm_mm_hole_node_end(entry), \ > - 1 : 0; \ > - entry = list_entry(entry->hole_stack.next, struct drm_mm_node, hole_stack)) > - > -#define __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, backwards) \ > - for (entry = list_entry((backwards) ? (mm)->hole_stack.prev : (mm)->hole_stack.next, struct drm_mm_node, hole_stack); \ > - &entry->hole_stack != &(mm)->hole_stack ? \ > - hole_start = drm_mm_hole_node_start(entry), \ > - hole_end = drm_mm_hole_node_end(entry), \ > - 1 : 0; \ > - entry = list_entry((backwards) ? entry->hole_stack.prev : entry->hole_stack.next, struct drm_mm_node, hole_stack)) > + __drm_mm_for_each_hole(entry, mm, hole_start, hole_end, 0) > > /* > * Basic range manager support (drm_mm.c) > -- > 2.5.0 > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web