diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/drm/display/drm_dp_aux_bus.h | 1 | ||||
| -rw-r--r-- | include/drm/drm_atomic_state_helper.h | 3 | ||||
| -rw-r--r-- | include/drm/drm_connector.h | 12 | ||||
| -rw-r--r-- | include/drm/drm_gpusvm.h | 29 | ||||
| -rw-r--r-- | include/drm/drm_mipi_dbi.h | 2 | ||||
| -rw-r--r-- | include/uapi/drm/pvr_drm.h | 21 |
6 files changed, 51 insertions, 17 deletions
diff --git a/include/drm/display/drm_dp_aux_bus.h b/include/drm/display/drm_dp_aux_bus.h index 8a0a486383c5..ca8db8ccc1f9 100644 --- a/include/drm/display/drm_dp_aux_bus.h +++ b/include/drm/display/drm_dp_aux_bus.h @@ -11,7 +11,6 @@ #define _DP_AUX_BUS_H_ #include <linux/device.h> -#include <linux/mod_devicetable.h> /** * struct dp_aux_ep_device - Main dev structure for DP AUX endpoints diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h index 5e8619aeef21..1a822179f2ec 100644 --- a/include/drm/drm_atomic_state_helper.h +++ b/include/drm/drm_atomic_state_helper.h @@ -66,9 +66,6 @@ void drm_atomic_helper_plane_destroy_state(struct drm_plane *plane, void __drm_atomic_helper_connector_state_init(struct drm_connector_state *conn_state, struct drm_connector *connector); -void __drm_atomic_helper_connector_reset(struct drm_connector *connector, - struct drm_connector_state *conn_state); -void drm_atomic_helper_connector_reset(struct drm_connector *connector); struct drm_connector_state * drm_atomic_helper_connector_create_state(struct drm_connector *connector); void drm_atomic_helper_connector_tv_state_init(struct drm_connector_state *state, diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 2ee7c59329aa..f656ed8324d3 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1659,18 +1659,6 @@ struct drm_connector_funcs { int (*dpms)(struct drm_connector *connector, int mode); /** - * @reset: - * - * Reset connector hardware and software state to off. This function isn't - * called by the core directly, only through drm_mode_config_reset(). - * It's not a helper hook only for historical reasons. - * - * Atomic drivers can use drm_atomic_helper_connector_reset() to reset - * atomic state using this hook. - */ - void (*reset)(struct drm_connector *connector); - - /** * @detect: * * Check to see if anything is attached to the connector. The parameter diff --git a/include/drm/drm_gpusvm.h b/include/drm/drm_gpusvm.h index 4d31c6bba745..b43432af5637 100644 --- a/include/drm/drm_gpusvm.h +++ b/include/drm/drm_gpusvm.h @@ -349,6 +349,10 @@ void drm_gpusvm_range_set_unmapped(struct drm_gpusvm_range *range, unsigned int pages_count, const struct mmu_notifier_range *mmu_range); +void drm_gpusvm_pages_set_unmapped(struct drm_gpusvm *gpusvm, + struct drm_gpusvm_pages *pages, + unsigned int pages_count); + int drm_gpusvm_get_pages(struct drm_gpusvm *gpusvm, struct drm_gpusvm_pages *svm_pages, unsigned int num_pages, @@ -384,6 +388,31 @@ static inline void drm_gpusvm_init_pages(struct drm_gpusvm_pages *svm_pages, } /** + * drm_gpusvm_pages_read_retry() - Check whether GPU SVM pages went stale + * @gpusvm: Pointer to the GPU SVM structure. + * @svm_pages: Pointer to the drm_gpusvm_pages. + * @notifier: The notifier passed to drm_gpusvm_get_pages() for @svm_pages. + * + * Check whether @notifier was invalidated since the last successful + * drm_gpusvm_get_pages() for @svm_pages. This is the commit side check for + * pages faulted with &drm_gpusvm_ctx.no_dma_map, where no mapping state is + * tracked. Pages that were never faulted always report as stale. The caller + * must hold the notifier lock and keep holding it until its use of the pages + * is visible to the invalidation path. + * + * Return: True if the pages must be faulted again, false otherwise. + */ +static inline bool +drm_gpusvm_pages_read_retry(struct drm_gpusvm *gpusvm, + struct drm_gpusvm_pages *svm_pages, + struct mmu_interval_notifier *notifier) +{ + lockdep_assert_held(&gpusvm->notifier_lock); + + return mmu_interval_read_retry(notifier, svm_pages->notifier_seq); +} + +/** * drm_gpusvm_pages_first_dma() - Resolve the device address array * @svm_pages: Pointer to the drm_gpusvm_pages. * @contiguous: Where to store whether one entry spans the whole range, or NULL diff --git a/include/drm/drm_mipi_dbi.h b/include/drm/drm_mipi_dbi.h index d93e25fdc2e1..bb3296419910 100644 --- a/include/drm/drm_mipi_dbi.h +++ b/include/drm/drm_mipi_dbi.h @@ -257,8 +257,8 @@ void drm_mipi_dbi_crtc_helper_atomic_disable(struct drm_crtc *crtc, */ #define DRM_MIPI_DBI_CONNECTOR_FUNCS \ - .reset = drm_atomic_helper_connector_reset, \ .fill_modes = drm_helper_probe_single_connector_modes, \ + .atomic_create_state = drm_atomic_helper_connector_create_state, \ .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, \ .atomic_destroy_state = drm_atomic_helper_connector_destroy_state diff --git a/include/uapi/drm/pvr_drm.h b/include/uapi/drm/pvr_drm.h index ccf6c2112468..1179c1e7d92d 100644 --- a/include/uapi/drm/pvr_drm.h +++ b/include/uapi/drm/pvr_drm.h @@ -435,6 +435,21 @@ struct drm_pvr_dev_query_static_data_areas { }; /** + * struct drm_pvr_dev_query_fw_info - Container used to fetch information + * about the GPU Firmware like its version. + */ +struct drm_pvr_dev_query_fw_info { + /** @major_version: Major version of the Firmware. */ + __u16 major_version; + + /** @minor_version: Minor version of the Firmware. */ + __u16 minor_version; + + /** @_padding_4: Reserved. This field must be zeroed. */ + __u32 _padding_4; +}; + +/** * enum drm_pvr_dev_query - For use with &drm_pvr_ioctl_dev_query_args.type to * indicate the type of the receiving container. * @@ -476,6 +491,12 @@ enum drm_pvr_dev_query { * a pointer to &struct drm_pvr_dev_query_static_data_areas. */ DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET, + + /** + * @DRM_PVR_DEV_QUERY_FW_INFO_GET: The dev query args contain + * a pointer to &struct drm_pvr_dev_query_fw_info. + */ + DRM_PVR_DEV_QUERY_FW_INFO_GET, }; /** |
