summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-11-13 16:01:31 +0000
committerMark Brown <broonie@kernel.org>2026-11-13 16:01:31 +0000
commit67f4c1938ac9221d75c78eaa44ca032d330a131b (patch)
treea7cb5a16f7ded61158a41999646d6349713dbf7e /include
parent504355ccb727295e5c77f351cf399d7c36e886e1 (diff)
parentc88084027d0e922dd925b96e5a0d184ba04a8f43 (diff)
downloadlinux-next-67f4c1938ac9221d75c78eaa44ca032d330a131b.tar.gz
linux-next-67f4c1938ac9221d75c78eaa44ca032d330a131b.zip
Merge branch 'for-linux-next' of https://gitlab.freedesktop.org/drm/misc/kernel.git
Diffstat (limited to 'include')
-rw-r--r--include/drm/display/drm_dp_aux_bus.h1
-rw-r--r--include/drm/drm_atomic_state_helper.h3
-rw-r--r--include/drm/drm_connector.h12
-rw-r--r--include/drm/drm_gpusvm.h29
-rw-r--r--include/drm/drm_mipi_dbi.h2
-rw-r--r--include/uapi/drm/pvr_drm.h21
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,
};
/**