Hi "José, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm-intel/for-linux-next] [cannot apply to drm-tip/drm-tip linus/master v5.5-rc2 next-20191213] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Jos-Roberto-de-Souza/drm-Add-__drm_atomic_helper_crtc_state_reset-co/20191211-182413 base: git://anongit.freedesktop.org/drm-intel for-linux-next reproduce: make htmldocs If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): WARNING: dot(1) not found, for better output quality install graphviz from http://www.graphviz.org WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/w1.h:277: warning: Function parameter or member 'of_match_table' not described in 'w1_family' include/linux/spi/spi.h:190: warning: Function parameter or member 'driver_override' not described in 'spi_device' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'quotactl' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'quota_on' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'sb_free_mnt_opts' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'sb_eat_lsm_opts' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'sb_kern_mount' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'sb_show_options' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'sb_add_mnt_opt' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'd_instantiate' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'getprocattr' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'setprocattr' not described in 'security_list_options' include/linux/lsm_hooks.h:1822: warning: Function parameter or member 'locked_down' not described in 'security_list_options' drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:1: warning: no structured comments found drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:1: warning: no structured comments found drivers/gpio/gpiolib-of.c:92: warning: Excess function parameter 'dev' description in 'of_gpio_need_valid_mask' include/linux/i2c.h:337: warning: Function parameter or member 'init_irq' not described in 'i2c_client' include/linux/regulator/machine.h:196: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:223: warning: Function parameter or member 'resume' not described in 'regulator_ops' drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found fs/posix_acl.c:647: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' kernel/dma/coherent.c:1: warning: no structured comments found include/linux/input/sparse-keymap.h:43: warning: Function parameter or member 'sw' not described in 'key_entry' include/linux/skbuff.h:888: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'skb_mstamp_ns' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_vlan_present_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'vlan_present' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:233: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:233: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:515: warning: Function parameter or member 'sk_rx_skb_cache' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_tx_skb_cache' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/net/sock.h:515: warning: Function parameter or member 'sk_bpf_storage' not described in 'sock' include/net/sock.h:2455: warning: Function parameter or member 'tcp_rx_skb_cache_key' not described in 'DECLARE_STATIC_KEY_FALSE' include/net/sock.h:2455: warning: Excess function parameter 'sk' description in 'DECLARE_STATIC_KEY_FALSE' include/net/sock.h:2455: warning: Excess function parameter 'skb' description in 'DECLARE_STATIC_KEY_FALSE' include/linux/netdevice.h:1765: warning: bad line: spinlock include/linux/netdevice.h:2063: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'l3mdev_ops' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'xfrmdev_ops' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'tlsdev_ops' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'name_assign_type' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'ieee802154_ptr' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'mpls_ptr' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'xdp_prog' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'gro_flush_timeout' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'nf_hooks_ingress' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member '____cacheline_aligned_in_smp' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'qdisc_hash' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'xps_cpus_map' not described in 'net_device' include/linux/netdevice.h:2063: warning: Function parameter or member 'xps_rxqs_map' 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' lib/genalloc.c:1: warning: 'gen_pool_add_virt' not found lib/genalloc.c:1: warning: 'gen_pool_alloc' not found lib/genalloc.c:1: warning: 'gen_pool_free' not found lib/genalloc.c:1: warning: 'gen_pool_alloc_algo' not found include/linux/rculist.h:374: warning: Excess function parameter 'cond' description in 'list_for_each_entry_rcu' include/linux/rculist.h:651: warning: Excess function parameter 'cond' description in 'hlist_for_each_entry_rcu' mm/util.c:1: warning: 'get_user_pages_fast' not found drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:254: warning: Function parameter or member 'hdcp_workqueue' not described in 'amdgpu_display_manager' include/drm/drm_modeset_helper_vtables.h:1052: warning: Function parameter or member 'prepare_writeback_job' not described in 'drm_connector_helper_funcs' include/drm/drm_modeset_helper_vtables.h:1052: warning: Function parameter or member 'cleanup_writeback_job' not described in 'drm_connector_helper_funcs' drivers/gpu/drm/drm_atomic_state_helper.c:240: warning: Excess function parameter 'plane_state' description in '__drm_atomic_helper_plane_state_reset' drivers/gpu/drm/drm_atomic_state_helper.c:385: warning: Excess function parameter 'conn__state' description in '__drm_atomic_helper_connector_state_reset' >> drivers/gpu/drm/drm_atomic_state_helper.c:241: warning: Function parameter or member 'state' not described in '__drm_atomic_helper_plane_state_reset' drivers/gpu/drm/drm_atomic_state_helper.c:241: warning: Excess function parameter 'plane_state' description in '__drm_atomic_helper_plane_state_reset' >> drivers/gpu/drm/drm_atomic_state_helper.c:386: warning: Function parameter or member 'conn_state' not described in '__drm_atomic_helper_connector_state_reset' drivers/gpu/drm/drm_atomic_state_helper.c:386: warning: Excess function parameter 'conn__state' description in '__drm_atomic_helper_connector_state_reset' include/net/cfg80211.h:1185: warning: Function parameter or member 'txpwr' not described in 'station_parameters' include/net/mac80211.h:4056: warning: Function parameter or member 'sta_set_txpwr' not described in 'ieee80211_ops' include/net/mac80211.h:2018: warning: Function parameter or member 'txpwr' not described in 'ieee80211_sta' Documentation/admin-guide/perf/imx-ddr.rst:21: WARNING: Unexpected indentation. Documentation/admin-guide/perf/imx-ddr.rst:34: WARNING: Unexpected indentation. Documentation/admin-guide/perf/imx-ddr.rst:40: WARNING: Unexpected indentation. Documentation/admin-guide/perf/imx-ddr.rst:45: WARNING: Unexpected indentation. Documentation/admin-guide/perf/imx-ddr.rst:52: WARNING: Unexpected indentation. Documentation/admin-guide/xfs.rst:257: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/trace/kprobetrace.rst:100: WARNING: Explicit markup ends without a blank line; unexpected unindent. drivers/message/fusion/mptbase.c:5057: WARNING: Definition list ends without a blank line; unexpected unindent. Documentation/filesystems/ubifs-authentication.rst:94: WARNING: Inline interpreted text or phrase reference start-string without end-string. include/uapi/linux/firewire-cdev.h:312: WARNING: Inline literal start-string without end-string. drivers/firewire/core-transaction.c:606: WARNING: Inline strong start-string without end-string. Documentation/usb/index.rst:5: WARNING: toctree contains reference to nonexisting document 'usb/rio' Documentation/usb/index.rst:5: WARNING: toctree contains reference to nonexisting document 'usb/wusb-design-overview' Documentation/usb/text_files.rst:22: WARNING: Include file 'Documentation/usb/wusb-cbaf' not found or reading it failed Documentation/translations/it_IT/process/maintainer-pgp-guide.rst:458: WARNING: Unknown target name: "nitrokey pro". include/linux/spi/spi.h:382: WARNING: Unexpected indentation. Documentation/security/keys/core.rst:1110: WARNING: Inline emphasis start-string without end-string. Documentation/security/keys/core.rst:1110: WARNING: Inline emphasis start-string without end-string. Documentation/security/keys/core.rst:1108: WARNING: Inline emphasis start-string without end-string. Documentation/security/keys/core.rst:1108: WARNING: Inline emphasis start-string without end-string. Documentation/security/keys/core.rst:1108: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:420: WARNING: Unexpected indentation. Documentation/driver-api/gpio/driver.rst:418: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:422: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/driver-api/gpio/driver.rst:424: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:424: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:424: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:428: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:441: WARNING: Unexpected indentation. Documentation/driver-api/gpio/driver.rst:435: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:435: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:442: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/driver-api/gpio/driver.rst:444: WARNING: Definition list ends without a blank line; unexpected unindent. Documentation/driver-api/gpio/driver.rst:455: WARNING: Unexpected indentation. Documentation/driver-api/gpio/driver.rst:453: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:455: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:458: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/driver-api/gpio/driver.rst:460: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:460: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:460: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:464: WARNING: Inline emphasis start-string without end-string. Documentation/driver-api/gpio/driver.rst:471: WARNING: Inline emphasis start-string without end-string. include/linux/i2c.h:522: WARNING: Inline strong start-string without end-string. Documentation/misc-devices/index.rst:14: WARNING: toctree contains reference to nonexisting document 'misc-devices/xilinx_sdfec' include/linux/regulator/driver.h:284: WARNING: Unknown target name: "regulator_regmap_x_voltage". fs/seq_file.c:40: WARNING: Inline strong start-string without end-string. fs/seq_file.c:40: WARNING: Inline strong start-string without end-string. fs/seq_file.c:40: WARNING: Inline strong start-string without end-string. fs/seq_file.c:40: WARNING: Inline strong start-string without end-string. fs/posix_acl.c:636: WARNING: Inline emphasis start-string without end-string. fs/debugfs/inode.c:427: WARNING: Inline literal start-string without end-string. fs/debugfs/inode.c:506: WARNING: Inline literal start-string without end-string. fs/debugfs/inode.c:538: WARNING: Inline literal start-string without end-string. fs/debugfs/inode.c:631: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:424: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:430: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:469: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:475: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:514: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:520: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:560: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:566: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:608: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:614: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:875: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:881: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:928: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:934: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:1120: WARNING: Inline literal start-string without end-string. fs/debugfs/file.c:1126: WARNING: Inline literal start-string without end-string. Documentation/driver-api/index.rst:14: WARNING: toctree contains reference to nonexisting document 'driver-api/sgi-ioc4' drivers/base/platform.c:160: WARNING: Unexpected indentation. drivers/base/platform.c:189: WARNING: Unexpected indentation. drivers/ata/libata-core.c:5945: WARNING: Unknown target name: "hw". include/linux/netdevice.h:3489: WARNING: Inline emphasis start-string without end-string. include/linux/netdevice.h:3489: WARNING: Inline emphasis start-string without end-string. net/core/dev.c:4938: WARNING: Unknown target name: "page_is". kernel/rcu/update.c:66: WARNING: Inline emphasis start-string without end-string. kernel/rcu/update.c:66: WARNING: Inline emphasis start-string without end-string. kernel/rcu/update.c:71: WARNING: Inline emphasis start-string without end-string. kernel/rcu/update.c:83: WARNING: Inline emphasis start-string without end-string. drivers/gpu/drm/mcde/mcde_drv.c:47: WARNING: Unexpected indentation. drivers/gpu/drm/mcde/mcde_drv.c:49: WARNING: Block quote ends without a blank line; unexpected unindent. Documentation/admin-guide/device-mapper/dm-clone.rst: WARNING: document isn't included in any toctree Documentation/admin-guide/perf/imx-ddr.rst: WARNING: document isn't included in any toctree include/linux/slab.h:504: WARNING: undefined label: memory-allocation (if the link has no caption the label must precede a section header) WARNING: LaTeX command 'latex' cannot be run (needed for math display), check the imgmath_latex setting WARNING: LaTeX command 'latex' cannot be run (needed for math display), check the imgmath_latex setting Documentation/networking/devlink-trap.rst:175: WARNING: unknown document: /devlink-trap-netdevsim Documentation/trace/kprobetrace.rst:69: WARNING: undefined label: user_mem_access (if the link has no caption the label must precede a section header) WARNING: LaTeX command 'latex' cannot be run (needed for math display), check the imgmath_latex setting vim +241 drivers/gpu/drm/drm_atomic_state_helper.c 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 229 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 230 /** 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 231 * __drm_atomic_helper_plane_state_reset - resets plane state to default values 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 232 * @plane_state: atomic plane state, must not be NULL 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 233 * @plane: plane object, must not be NULL 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 234 * 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 235 * Initializes the newly allocated @plane_state with default 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 236 * values. This is useful for drivers that subclass the CRTC state. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 237 */ 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 238 void __drm_atomic_helper_plane_state_reset(struct drm_plane_state *state, 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 239 struct drm_plane *plane) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 @240 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 @241 state->plane = plane; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 242 state->rotation = DRM_MODE_ROTATE_0; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 243 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 244 state->alpha = DRM_BLEND_ALPHA_OPAQUE; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 245 state->pixel_blend_mode = DRM_MODE_BLEND_PREMULTI; 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 246 } 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 247 EXPORT_SYMBOL(__drm_atomic_helper_plane_state_reset); 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 248 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 249 /** 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 250 * __drm_atomic_helper_plane_reset - reset state on plane 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 251 * @plane: drm plane 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 252 * @plane_state: plane state to assign 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 253 * 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 254 * Initializes the newly allocated @plane_state and assigns it to 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 255 * the &drm_crtc->state pointer of @plane, usually required when 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 256 * initializing the drivers or when called from the &drm_plane_funcs.reset 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 257 * hook. 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 258 * 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 259 * This is useful for drivers that subclass the plane state. 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 260 */ 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 261 void __drm_atomic_helper_plane_reset(struct drm_plane *plane, 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 262 struct drm_plane_state *plane_state) 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 263 { 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 264 if (plane_state) 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 265 __drm_atomic_helper_plane_state_reset(plane_state, plane); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 266 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 267 plane->state = plane_state; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 268 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 269 EXPORT_SYMBOL(__drm_atomic_helper_plane_reset); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 270 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 271 /** 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 272 * drm_atomic_helper_plane_reset - default &drm_plane_funcs.reset hook for planes 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 273 * @plane: drm plane 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 274 * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 275 * Resets the atomic state for @plane by freeing the state pointer (which might 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 276 * be NULL, e.g. at driver load time) and allocating a new empty state object. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 277 */ 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 278 void drm_atomic_helper_plane_reset(struct drm_plane *plane) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 279 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 280 if (plane->state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 281 __drm_atomic_helper_plane_destroy_state(plane->state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 282 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 283 kfree(plane->state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 284 plane->state = kzalloc(sizeof(*plane->state), GFP_KERNEL); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 285 if (plane->state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 286 __drm_atomic_helper_plane_reset(plane, plane->state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 287 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 288 EXPORT_SYMBOL(drm_atomic_helper_plane_reset); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 289 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 290 /** 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 291 * __drm_atomic_helper_plane_duplicate_state - copy atomic plane state 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 292 * @plane: plane object 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 293 * @state: atomic plane state 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 294 * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 295 * Copies atomic state from a plane's current state. This is useful for 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 296 * drivers that subclass the plane state. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 297 */ 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 298 void __drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane, 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 299 struct drm_plane_state *state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 300 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 301 memcpy(state, plane->state, sizeof(*state)); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 302 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 303 if (state->fb) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 304 drm_framebuffer_get(state->fb); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 305 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 306 state->fence = NULL; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 307 state->commit = NULL; c75ff001f4fe21 Deepak Rawat 2018-12-21 308 state->fb_damage_clips = NULL; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 309 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 310 EXPORT_SYMBOL(__drm_atomic_helper_plane_duplicate_state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 311 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 312 /** 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 313 * drm_atomic_helper_plane_duplicate_state - default state duplicate hook 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 314 * @plane: drm plane 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 315 * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 316 * Default plane state duplicate hook for drivers which don't have their own 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 317 * subclassed plane state structure. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 318 */ 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 319 struct drm_plane_state * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 320 drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 321 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 322 struct drm_plane_state *state; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 323 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 324 if (WARN_ON(!plane->state)) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 325 return NULL; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 326 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 327 state = kmalloc(sizeof(*state), GFP_KERNEL); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 328 if (state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 329 __drm_atomic_helper_plane_duplicate_state(plane, state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 330 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 331 return state; 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 332 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 333 EXPORT_SYMBOL(drm_atomic_helper_plane_duplicate_state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 334 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 335 /** 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 336 * __drm_atomic_helper_plane_destroy_state - release plane state 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 337 * @state: plane state object to release 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 338 * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 339 * Releases all resources stored in the plane state without actually freeing 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 340 * the memory of the plane state. This is useful for drivers that subclass the 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 341 * plane state. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 342 */ 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 343 void __drm_atomic_helper_plane_destroy_state(struct drm_plane_state *state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 344 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 345 if (state->fb) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 346 drm_framebuffer_put(state->fb); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 347 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 348 if (state->fence) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 349 dma_fence_put(state->fence); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 350 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 351 if (state->commit) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 352 drm_crtc_commit_put(state->commit); c75ff001f4fe21 Deepak Rawat 2018-12-21 353 c75ff001f4fe21 Deepak Rawat 2018-12-21 354 drm_property_blob_put(state->fb_damage_clips); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 355 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 356 EXPORT_SYMBOL(__drm_atomic_helper_plane_destroy_state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 357 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 358 /** 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 359 * drm_atomic_helper_plane_destroy_state - default state destroy hook 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 360 * @plane: drm plane 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 361 * @state: plane state object to release 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 362 * 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 363 * Default plane state destroy hook for drivers which don't have their own 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 364 * subclassed plane state structure. 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 365 */ 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 366 void drm_atomic_helper_plane_destroy_state(struct drm_plane *plane, 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 367 struct drm_plane_state *state) 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 368 { 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 369 __drm_atomic_helper_plane_destroy_state(state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 370 kfree(state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 371 } 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 372 EXPORT_SYMBOL(drm_atomic_helper_plane_destroy_state); 9ef8a9dc4b2182 Daniel Vetter 2018-10-04 373 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 374 /** 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 375 * __drm_atomic_helper_connector_state_reset - reset the connector state 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 376 * @conn__state: atomic connector state, must not be NULL 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 377 * @connector: connectotr object, must not be NULL 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 378 * 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 379 * Initializes the newly allocated @conn_state with default 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 380 * values. This is useful for drivers that subclass the connector state. 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 381 */ 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 382 void 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 383 __drm_atomic_helper_connector_state_reset(struct drm_connector_state *conn_state, 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 384 struct drm_connector *connector) 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 385 { 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 @386 conn_state->connector = connector; 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 387 } 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 388 EXPORT_SYMBOL(__drm_atomic_helper_connector_state_reset); 2b3ff8c804f9ee Ville Syrjälä 2019-12-10 389 :::::: The code at line 241 was first introduced by commit :::::: 9ef8a9dc4b21821d6c397186462fb5e571786b0a drm: Extract drm_atomic_state_helper.[hc] :::::: TO: Daniel Vetter :::::: CC: Daniel Vetter --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation