When a uevent only updates a single connector, add a CONNECTOR property
to the uevent. This allows user-space to ignore other connectors when
handling the uevent. This is purely an optimization, drivers can still
send a uevent without the CONNECTOR property.
The CONNECTOR property is already set when sending HDCP property update
uevents, see drm_sysfs_connector_status_event.
This has been tested with a wlroots patch [1].
amdgpu has been updated to use these new fine-grained uevents.
[1]: …
[View More]https://github.com/swaywm/wlroots/pull/2959
Simon Ser (4):
drm/sysfs: introduce drm_sysfs_connector_hotplug_event
drm/probe-helper: add drm_kms_helper_connector_hotplug_event
drm/connector: use drm_sysfs_connector_hotplug_event
amdgpu: use drm_kms_helper_connector_hotplug_event
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 +++---
.../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 4 +--
drivers/gpu/drm/drm_connector.c | 2 +-
drivers/gpu/drm/drm_probe_helper.c | 20 +++++++++++++++
drivers/gpu/drm/drm_sysfs.c | 25 +++++++++++++++++++
include/drm/drm_probe_helper.h | 1 +
include/drm/drm_sysfs.h | 1 +
7 files changed, 54 insertions(+), 7 deletions(-)
--
2.31.1
[View Less]
A couple of patches from Chris which implement pipelined migration and
clears by atomically writing the PTEs in place before performing the
actual blit.
Some ww utilities mainly for the accompanying selftests added by Thomas,
as well as modified the above patches for ww locking- and lmem support.
The actual hook up to the i915 ttm backend is being worked on and not
included yet, so this is considered to be an early review opportunity.
v2:
- A couple of minor style fixes pointed out by …
[View More]Matthew Auld
- Export and use intel_engine_destroy_pinned_context() to address a
CI warning / failure.
Chris Wilson (6):
drm/i915/gt: Add an insert_entry for gen8_ppgtt
drm/i915/gt: Add a routine to iterate over the pagetables of a GTT
drm/i915/gt: Export the pinned context constructor and destructor
drm/i915/gt: Pipelined page migration
drm/i915/gt: Pipelined clear
drm/i915/gt: Setup a default migration context on the GT
Thomas Hellström (3):
drm/i915: Reference objects on the ww object list
drm/i915: Break out dma_resv ww locking utilities to separate files
drm/i915: Introduce a ww transaction helper
drivers/gpu/drm/i915/Makefile | 2 +
drivers/gpu/drm/i915/gem/i915_gem_object.h | 9 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 68 ++
drivers/gpu/drm/i915/gt/intel_engine.h | 12 +
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 27 +-
drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 2 +
drivers/gpu/drm/i915/gt/intel_gt.c | 4 +
drivers/gpu/drm/i915/gt/intel_gt_types.h | 3 +
drivers/gpu/drm/i915/gt/intel_gtt.h | 7 +
drivers/gpu/drm/i915/gt/intel_migrate.c | 685 ++++++++++++++++++
drivers/gpu/drm/i915/gt/intel_migrate.h | 65 ++
drivers/gpu/drm/i915/gt/intel_migrate_types.h | 15 +
drivers/gpu/drm/i915/gt/intel_renderstate.h | 1 +
drivers/gpu/drm/i915/gt/intel_ring.h | 1 +
drivers/gpu/drm/i915/gt/selftest_migrate.c | 671 +++++++++++++++++
drivers/gpu/drm/i915/i915_gem.c | 52 --
drivers/gpu/drm/i915/i915_gem.h | 12 -
drivers/gpu/drm/i915/i915_gem_ww.c | 63 ++
drivers/gpu/drm/i915/i915_gem_ww.h | 50 ++
.../drm/i915/selftests/i915_live_selftests.h | 1 +
.../drm/i915/selftests/i915_perf_selftests.h | 1 +
21 files changed, 1675 insertions(+), 76 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.c
create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate.h
create mode 100644 drivers/gpu/drm/i915/gt/intel_migrate_types.h
create mode 100644 drivers/gpu/drm/i915/gt/selftest_migrate.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_ww.h
--
2.31.1
[View Less]
We have established previously we stop using relocations starting
from gen12 platforms with Tigerlake as an exception. We keep this
statement but we want to enable relocations conditionally for
Rocketlake and Alderlake under require_force_probe flag set.
Keeping relocations under require_force_probe flag is interim solution
until IGTs will be rewritten to use softpin.
v2: - remove inline from function definition (Jani)
- fix indentation
Signed-off-by: Zbigniew Kempczyński <zbigniew.…
[View More]kempczynski(a)intel.com>
Cc: Dave Airlie <airlied(a)redhat.com>
Cc: Daniel Vetter <daniel.vetter(a)intel.com>
Cc: Jason Ekstrand <jason(a)jlekstrand.net>
---
.../gpu/drm/i915/gem/i915_gem_execbuffer.c | 24 +++++++++++++++----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 297143511f99..78b86a7bc39a 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -491,16 +491,30 @@ eb_unreserve_vma(struct eb_vma *ev)
ev->flags &= ~__EXEC_OBJECT_RESERVED;
}
+static bool platform_has_relocs_enabled(const struct i915_execbuffer *eb)
+{
+ /*
+ * Relocations are disallowed starting from gen12 with Tigerlake
+ * as an exception. We allow temporarily use relocations for Rocketlake
+ * and Alderlake when require_force_probe flag is set.
+ */
+ if (INTEL_GEN(eb->i915) < 12 || IS_TIGERLAKE(eb->i915))
+ return true;
+
+ if (INTEL_INFO(eb->i915)->require_force_probe &&
+ (IS_ROCKETLAKE(eb->i915) || IS_ALDERLAKE_S(eb->i915) ||
+ IS_ALDERLAKE_P(eb->i915)))
+ return true;
+
+ return false;
+}
+
static int
eb_validate_vma(struct i915_execbuffer *eb,
struct drm_i915_gem_exec_object2 *entry,
struct i915_vma *vma)
{
- /* Relocations are disallowed for all platforms after TGL-LP. This
- * also covers all platforms with local memory.
- */
- if (entry->relocation_count &&
- INTEL_GEN(eb->i915) >= 12 && !IS_TIGERLAKE(eb->i915))
+ if (entry->relocation_count && !platform_has_relocs_enabled(eb))
return -EINVAL;
if (unlikely(entry->flags & eb->invalid_flags))
--
2.26.0
[View Less]
In drm_connector_register, use drm_sysfs_connector_hotplug_event
instead of drm_sysfs_hotplug_event, because the hotplug event
only updates a single connector.
Signed-off-by: Simon Ser <contact(a)emersion.fr>
---
drivers/gpu/drm/drm_connector.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index da39e7ff6965..76930e0b8949 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/…
[View More]drm_connector.c
@@ -530,7 +530,7 @@ int drm_connector_register(struct drm_connector *connector)
connector->registration_state = DRM_CONNECTOR_REGISTERED;
/* Let userspace know we have a new connector */
- drm_sysfs_hotplug_event(connector->dev);
+ drm_sysfs_connector_hotplug_event(connector);
goto unlock;
--
2.31.1
[View Less]