1###########################################################################
2# Kbuild fragment for nvidia-drm.ko
3###########################################################################
4
5#
6# Define NVIDIA_DRM_{SOURCES,OBJECTS}
7#
8
9NVIDIA_DRM_SOURCES =
10NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm.c
11NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-drv.c
12NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-utils.c
13NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-crtc.c
14NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-encoder.c
15NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-connector.c
16NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-gem.c
17NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-fb.c
18NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-modeset.c
19NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-fence.c
20NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-linux.c
21NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-helper.c
22NVIDIA_DRM_SOURCES += nvidia-drm/nv-pci-table.c
23NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-gem-nvkms-memory.c
24NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-gem-user-memory.c
25NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-gem-dma-buf.c
26NVIDIA_DRM_SOURCES += nvidia-drm/nvidia-drm-format.c
27
28NVIDIA_DRM_OBJECTS = $(patsubst %.c,%.o,$(NVIDIA_DRM_SOURCES))
29
30obj-m += nvidia-drm.o
31nvidia-drm-y := $(NVIDIA_DRM_OBJECTS)
32
33NVIDIA_DRM_KO = nvidia-drm/nvidia-drm.ko
34
35NV_KERNEL_MODULE_TARGETS += $(NVIDIA_DRM_KO)
36
37#
38# Define nvidia-drm.ko-specific CFLAGS.
39#
40
41NVIDIA_DRM_CFLAGS += -I$(src)/nvidia-drm
42NVIDIA_DRM_CFLAGS += -UDEBUG -U_DEBUG -DNDEBUG -DNV_BUILD_MODULE_INSTANCES=0
43
44$(call ASSIGN_PER_OBJ_CFLAGS, $(NVIDIA_DRM_OBJECTS), $(NVIDIA_DRM_CFLAGS))
45
46#
47# Register the conftests needed by nvidia-drm.ko
48#
49
50NV_OBJECTS_DEPEND_ON_CONFTEST += $(NVIDIA_DRM_OBJECTS)
51
52NV_CONFTEST_GENERIC_COMPILE_TESTS += drm_available
53NV_CONFTEST_GENERIC_COMPILE_TESTS += drm_atomic_available
54NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_gpl_refcount_inc
55NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_gpl_refcount_dec_and_test
56NV_CONFTEST_GENERIC_COMPILE_TESTS += drm_alpha_blending_available
57
58NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_dev_unref
59NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_reinit_primary_mode_group
60NV_CONFTEST_FUNCTION_COMPILE_TESTS += get_user_pages_remote
61NV_CONFTEST_FUNCTION_COMPILE_TESTS += get_user_pages
62NV_CONFTEST_FUNCTION_COMPILE_TESTS += pin_user_pages_remote
63NV_CONFTEST_FUNCTION_COMPILE_TESTS += pin_user_pages
64NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_gem_object_lookup
65NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_atomic_state_ref_counting
66NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_driver_has_gem_prime_res_obj
67NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_atomic_helper_connector_dpms
68NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_funcs_have_mode_in_name
69NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_has_vrr_capable_property
70NV_CONFTEST_FUNCTION_COMPILE_TESTS += vmf_insert_pfn
71NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_framebuffer_get
72NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_gem_object_get
73NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_dev_put
74NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_format_num_planes
75NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_connector_for_each_possible_encoder
76NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_rotation_available
77NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_vma_offset_exact_lookup_locked
78NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_gem_object_put_unlocked
79NV_CONFTEST_FUNCTION_COMPILE_TESTS += nvhost_dma_fence_unpack
80
81NV_CONFTEST_TYPE_COMPILE_TESTS += drm_bus_present
82NV_CONFTEST_TYPE_COMPILE_TESTS += drm_bus_has_bus_type
83NV_CONFTEST_TYPE_COMPILE_TESTS += drm_bus_has_get_irq
84NV_CONFTEST_TYPE_COMPILE_TESTS += drm_bus_has_get_name
85NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_device_list
86NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_legacy_dev_list
87NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_set_busid
88NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_state_has_connectors_changed
89NV_CONFTEST_TYPE_COMPILE_TESTS += drm_init_function_args
90NV_CONFTEST_TYPE_COMPILE_TESTS += drm_helper_mode_fill_fb_struct
91NV_CONFTEST_TYPE_COMPILE_TESTS += drm_master_drop_has_from_release_arg
92NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_unload_has_int_return_type
93NV_CONFTEST_TYPE_COMPILE_TESTS += vm_fault_has_address
94NV_CONFTEST_TYPE_COMPILE_TESTS += vm_ops_fault_removed_vma_arg
95NV_CONFTEST_TYPE_COMPILE_TESTS += drm_atomic_helper_crtc_destroy_state_has_crtc_arg
96NV_CONFTEST_TYPE_COMPILE_TESTS += drm_atomic_helper_plane_destroy_state_has_plane_arg
97NV_CONFTEST_TYPE_COMPILE_TESTS += drm_mode_object_find_has_file_priv_arg
98NV_CONFTEST_TYPE_COMPILE_TESTS += dma_buf_owner
99NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_list_iter
100NV_CONFTEST_TYPE_COMPILE_TESTS += drm_atomic_helper_swap_state_has_stall_arg
101NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_prime_flag_present
102NV_CONFTEST_TYPE_COMPILE_TESTS += vm_fault_t
103NV_CONFTEST_TYPE_COMPILE_TESTS += drm_gem_object_has_resv
104NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_state_has_async_flip
105NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_state_has_pageflip_flags
106NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_state_has_vrr_enabled
107NV_CONFTEST_TYPE_COMPILE_TESTS += drm_format_modifiers_present
108NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock
109NV_CONFTEST_TYPE_COMPILE_TESTS += drm_vma_node_is_allowed_has_tag_arg
110NV_CONFTEST_TYPE_COMPILE_TESTS += drm_vma_offset_node_has_readonly
111NV_CONFTEST_TYPE_COMPILE_TESTS += drm_display_mode_has_vrefresh
112NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_master_set_has_int_return_type
113NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_gem_free_object
114NV_CONFTEST_TYPE_COMPILE_TESTS += drm_prime_pages_to_sg_has_drm_device_arg
115NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_gem_prime_callbacks
116NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_atomic_check_has_atomic_state_arg
117NV_CONFTEST_TYPE_COMPILE_TESTS += drm_gem_object_vmap_has_map_arg
118NV_CONFTEST_TYPE_COMPILE_TESTS += drm_plane_atomic_check_has_atomic_state_arg
119NV_CONFTEST_TYPE_COMPILE_TESTS += drm_device_has_pdev
120NV_CONFTEST_TYPE_COMPILE_TESTS += drm_crtc_state_has_no_vblank
121NV_CONFTEST_TYPE_COMPILE_TESTS += drm_mode_config_has_allow_fb_modifiers
122NV_CONFTEST_TYPE_COMPILE_TESTS += drm_has_hdr_output_metadata
123NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_add_fence
124NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_reserve_fences
125NV_CONFTEST_TYPE_COMPILE_TESTS += reservation_object_reserve_shared_has_num_fences_arg
126NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_has_override_edid
127NV_CONFTEST_TYPE_COMPILE_TESTS += drm_master_has_leases
128NV_CONFTEST_TYPE_COMPILE_TESTS += drm_file_get_master
129NV_CONFTEST_TYPE_COMPILE_TESTS += drm_modeset_lock_all_end
130NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_lookup
131NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_put
132NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags
133