Hi Fengguang, I think the original patch To+Cc (I added them) should receive these e-mails too even though they're for drm-next. Regards, Joonas Quoting kbuild test robot (2018-03-11 02:54:26) > tree: git://people.freedesktop.org/~airlied/linux.git drm-next > head: 128ccceaba8656573b8b0f86d3ab6e38094cc754 > commit: f073d78eeb8efd85718e611c15f9a78647751dea [8/10] Merge tag 'drm-intel-next-2018-02-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next > reproduce: make htmldocs > > All warnings (new ones prefixed by >>): > > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.prev_bssid' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' > include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' > include/net/mac80211.h:2259: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' > include/net/mac80211.h:2259: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' > include/net/mac80211.h:950: warning: Function parameter or member 'rates' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'status_driver_data' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' > include/net/mac80211.h:950: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu_retries' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu_failed' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' > net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu' not described in 'sta_info' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' > include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' > include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' > include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.sign' not described in 'iio_chan_spec' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.realbits' not described in 'iio_chan_spec' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.storagebits' not described in 'iio_chan_spec' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.shift' not described in 'iio_chan_spec' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.repeat' not described in 'iio_chan_spec' > include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.endianness' not described in 'iio_chan_spec' > include/linux/iio/hw-consumer.h:1: warning: no structured comments found > include/linux/device.h:294: warning: Function parameter or member 'coredump' not described in 'device_driver' > include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' > include/linux/mtd/rawnand.h:709: warning: Function parameter or member 'timings.sdr' not described in 'nand_data_interface' > include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf' not described in 'nand_op_data_instr' > include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.in' not described in 'nand_op_data_instr' > include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.out' not described in 'nand_op_data_instr' > include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx' not described in 'nand_op_instr' > include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.cmd' not described in 'nand_op_instr' > include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_instr' > include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.data' not described in 'nand_op_instr' > include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.waitrdy' not described in 'nand_op_instr' > include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx' not described in 'nand_op_parser_pattern_elem' > include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_parser_pattern_elem' > include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.data' not described in 'nand_op_parser_pattern_elem' > include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.desc' not described in 'nand_chip' > include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.priv' not described in 'nand_chip' > include/linux/regulator/driver.h:221: warning: Function parameter or member 'resume_early' not described in 'regulator_ops' > drivers/regulator/core.c:4299: warning: Excess function parameter 'state' description in 'regulator_suspend_late' > arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' > arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' > arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' > arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' > arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' > include/drm/drm_drv.h:609: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' > include/drm/drm_vblank.h:60: warning: Incorrect use of kernel-doc format: Documentation Makefile scripts source @event.base: DRM event base class. > include/drm/drm_vblank.h:65: warning: Incorrect use of kernel-doc format: Documentation Makefile scripts source @event.vbl: > include/drm/drm_vblank.h:75: warning: Incorrect use of kernel-doc format: Documentation Makefile scripts source @event.seq: Event payload for the MODE_QUEUEU_SEQUENCE IOCTL. > include/drm/drm_vblank.h:79: warning: Function parameter or member 'event.base' not described in 'drm_pending_vblank_event' > include/drm/drm_vblank.h:79: warning: Function parameter or member 'event.vbl' not described in 'drm_pending_vblank_event' > include/drm/drm_vblank.h:79: warning: Function parameter or member 'event.seq' not described in 'drm_pending_vblank_event' > >> drivers/gpu/drm/drm_vblank.c:1252: warning: Function parameter or member 'dev' not described in 'drm_vblank_restore' > >> drivers/gpu/drm/drm_vblank.c:1252: warning: Function parameter or member 'pipe' not described in 'drm_vblank_restore' > >> drivers/gpu/drm/drm_vblank.c:1295: warning: Function parameter or member 'crtc' not described in 'drm_crtc_vblank_restore' > drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'attach' not described in 'drm_gem_unmap_dma_buf' > drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'sgt' not described in 'drm_gem_unmap_dma_buf' > drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'dir' not described in 'drm_gem_unmap_dma_buf' > drivers/gpu/drm/drm_prime.c:438: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kmap_atomic' > drivers/gpu/drm/drm_prime.c:438: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kmap_atomic' > drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kunmap_atomic' > drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kunmap_atomic' > drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'addr' not described in 'drm_gem_dmabuf_kunmap_atomic' > drivers/gpu/drm/drm_prime.c:461: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kmap' > drivers/gpu/drm/drm_prime.c:461: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kmap' > drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kunmap' > drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kunmap' > drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'addr' not described in 'drm_gem_dmabuf_kunmap' > drivers/gpu/drm/i915/intel_dpio_phy.c:150: warning: Incorrect use of kernel-doc format: Documentation Makefile scripts source @channel.port: which port maps to this channel. > drivers/gpu/drm/tve200/tve200_drv.c:1: warning: no structured comments found > include/linux/skbuff.h:846: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'head_frag' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member '__unused' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'csum_level' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' > include/linux/skbuff.h:846: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' > include/net/sock.h:234: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_listener' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' > include/net/sock.h:234: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' > include/net/sock.h:487: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' > include/net/sock.h:487: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' > include/net/sock.h:487: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' > include/net/sock.h:487: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' > include/net/sock.h:487: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' > include/net/sock.h:487: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' > include/linux/netdevice.h:1940: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'l3mdev_ops' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'xfrmdev_ops' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'name_assign_type' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'ieee802154_ptr' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'mpls_ptr' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'xdp_prog' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'gro_flush_timeout' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'nf_hooks_ingress' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member '____cacheline_aligned_in_smp' not described in 'net_device' > include/linux/netdevice.h:1940: warning: Function parameter or member 'qdisc_hash' not described in 'net_device' > include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising' not described in 'phylink_link_state' > include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising' not described in 'phylink_link_state' > include/linux/rcupdate.h:570: ERROR: Unexpected indentation. > include/linux/rcupdate.h:574: ERROR: Unexpected indentation. > include/linux/rcupdate.h:578: WARNING: Block quote ends without a blank line; unexpected unindent. > include/linux/rcupdate.h:580: WARNING: Block quote ends without a blank line; unexpected unindent. > include/linux/rcupdate.h:580: WARNING: Inline literal start-string without end-string. > kernel/time/timer.c:1259: ERROR: Unexpected indentation. > kernel/time/timer.c:1261: ERROR: Unexpected indentation. > kernel/time/timer.c:1262: WARNING: Block quote ends without a blank line; unexpected unindent. > include/linux/wait.h:110: WARNING: Block quote ends without a blank line; unexpected unindent. > include/linux/wait.h:113: ERROR: Unexpected indentation. > include/linux/wait.h:115: WARNING: Block quote ends without a blank line; unexpected unindent. > kernel/time/hrtimer.c:1113: WARNING: Block quote ends without a blank line; unexpected unindent. > kernel/signal.c:327: WARNING: Inline literal start-string without end-string. > drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string. > drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string. > drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string. > drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string. > include/linux/iio/iio.h:191: ERROR: Unexpected indentation. > include/linux/iio/iio.h:192: WARNING: Block quote ends without a blank line; unexpected unindent. > include/linux/iio/iio.h:198: WARNING: Definition list ends without a blank line; unexpected unindent. > drivers/ata/libata-core.c:5920: ERROR: Unknown target name: "hw". > drivers/message/fusion/mptbase.c:5052: WARNING: Definition list ends without a blank line; unexpected unindent. > drivers/tty/serial/serial_core.c:1901: WARNING: Definition list ends without a blank line; unexpected unindent. > include/linux/mtd/rawnand.h:805: ERROR: Unexpected indentation. > include/linux/mtd/rawnand.h:1391: WARNING: Inline strong start-string without end-string. > include/linux/mtd/rawnand.h:1393: WARNING: Inline strong start-string without end-string. > include/linux/regulator/driver.h:273: ERROR: Unknown target name: "regulator_regmap_x_voltage". > Documentation/driver-api/slimbus.rst:93: WARNING: Title underline too short. > > vim +1252 drivers/gpu/drm/drm_vblank.c > > 3ed4351a Daniel Vetter 2017-05-31 1239 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1240 /** > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1241 * drm_vblank_restore - estimated vblanks using timestamps and update it. > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1242 * > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1243 * Power manamement features can cause frame counter resets between vblank > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1244 * disable and enable. Drivers can then use this function in their > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1245 * &drm_crtc_funcs.enable_vblank implementation to estimate the vblanks since > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1246 * the last &drm_crtc_funcs.disable_vblank. > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1247 * > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1248 * This function is the legacy version of drm_crtc_vblank_restore(). > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1249 */ > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1250 void drm_vblank_restore(struct drm_device *dev, unsigned int pipe) > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1251 { > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 @1252 ktime_t t_vblank; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1253 struct drm_vblank_crtc *vblank; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1254 int framedur_ns; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1255 u64 diff_ns; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1256 u32 cur_vblank, diff = 1; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1257 int count = DRM_TIMESTAMP_MAXRETRIES; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1258 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1259 if (WARN_ON(pipe >= dev->num_crtcs)) > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1260 return; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1261 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1262 assert_spin_locked(&dev->vbl_lock); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1263 assert_spin_locked(&dev->vblank_time_lock); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1264 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1265 vblank = &dev->vblank[pipe]; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1266 WARN_ONCE((drm_debug & DRM_UT_VBL) && !vblank->framedur_ns, > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1267 "Cannot compute missed vblanks without frame duration\n"); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1268 framedur_ns = vblank->framedur_ns; > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1269 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1270 do { > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1271 cur_vblank = __get_vblank_counter(dev, pipe); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1272 drm_get_last_vbltimestamp(dev, pipe, &t_vblank, false); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1273 } while (cur_vblank != __get_vblank_counter(dev, pipe) && --count > 0); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1274 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1275 diff_ns = ktime_to_ns(ktime_sub(t_vblank, vblank->time)); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1276 if (framedur_ns) > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1277 diff = DIV_ROUND_CLOSEST_ULL(diff_ns, framedur_ns); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1278 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1279 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1280 DRM_DEBUG_VBL("missed %d vblanks in %lld ns, frame duration=%d ns, hw_diff=%d\n", > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1281 diff, diff_ns, framedur_ns, cur_vblank - vblank->last); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1282 store_vblank(dev, pipe, diff, t_vblank, cur_vblank); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1283 } > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1284 EXPORT_SYMBOL(drm_vblank_restore); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1285 > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1286 /** > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1287 * drm_crtc_vblank_restore - estimate vblanks using timestamps and update it. > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1288 * Power manamement features can cause frame counter resets between vblank > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1289 * disable and enable. Drivers can then use this function in their > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1290 * &drm_crtc_funcs.enable_vblank implementation to estimate the vblanks since > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1291 * the last &drm_crtc_funcs.disable_vblank. > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1292 */ > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1293 void drm_crtc_vblank_restore(struct drm_crtc *crtc) > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1294 { > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 @1295 drm_vblank_restore(crtc->dev, drm_crtc_index(crtc)); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1296 } > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1297 EXPORT_SYMBOL(drm_crtc_vblank_restore); > d0bb96b4 Dhinakaran Pandiyan 2018-02-02 1298 > > :::::: The code at line 1252 was first introduced by commit > :::::: d0bb96b4be69feea97f16de5306c35e280658931 drm/vblank: Restoring vblank counts after device PM events. > > :::::: TO: Dhinakaran Pandiyan <dhinakaran.pandiyan@xxxxxxxxx> > :::::: CC: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel