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.retry_count' 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
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel