[PATCH v7 2/6] drm/i915: Unregister in-kernel clients
Jani Nikula
jani.nikula at linux.intel.com
Tue Mar 5 16:25:28 UTC 2024
On Tue, 05 Mar 2024, Rodrigo Vivi <rodrigo.vivi at intel.com> wrote:
> On Fri, Mar 01, 2024 at 02:42:55PM +0100, Thomas Zimmermann wrote:
>> Unregister all in-kernel clients before unloading the i915 driver. For
>> other drivers, drm_dev_unregister() does this automatically. As i915
>> does not use this helper, it has to perform the call by itself. For xe,
>> do the same in xe_device_remove()
>>
>> Note that there are currently no in-kernel clients in i915 or xe. The
>> patch prepares the drivers for a related update of their fbdev support.
>>
>> v7:
>> * update xe driver
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
>> ---
>> drivers/gpu/drm/i915/i915_driver.c | 3 +++
>> drivers/gpu/drm/xe/xe_device.c | 3 +++
>> 2 files changed, 6 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>> index 9ee902d5b72c4..97910a85e3917 100644
>> --- a/drivers/gpu/drm/i915/i915_driver.c
>> +++ b/drivers/gpu/drm/i915/i915_driver.c
>> @@ -41,6 +41,7 @@
>>
>> #include <drm/drm_aperture.h>
>> #include <drm/drm_atomic_helper.h>
>> +#include <drm/drm_client.h>
>> #include <drm/drm_ioctl.h>
>> #include <drm/drm_managed.h>
>> #include <drm/drm_probe_helper.h>
>> @@ -852,6 +853,8 @@ void i915_driver_remove(struct drm_i915_private *i915)
>> {
>> intel_wakeref_t wakeref;
>>
>> + drm_client_dev_unregister(&i915->drm);
>> +
>> wakeref = intel_runtime_pm_get(&i915->runtime_pm);
>>
>> i915_driver_unregister(i915);
>> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
>> index 919ad88f0495a..7f41f0ec819f0 100644
>> --- a/drivers/gpu/drm/xe/xe_device.c
>> +++ b/drivers/gpu/drm/xe/xe_device.c
>
> probably deserves a separate patch since this is one here is named 'drm/i915:'
Or do this for both in intel_display_driver_unregister()?
BR,
Jani.
>
>> @@ -9,6 +9,7 @@
>>
>> #include <drm/drm_aperture.h>
>> #include <drm/drm_atomic_helper.h>
>> +#include <drm/drm_client.h>
>> #include <drm/drm_gem_ttm_helper.h>
>> #include <drm/drm_ioctl.h>
>> #include <drm/drm_managed.h>
>> @@ -614,6 +615,8 @@ void xe_device_remove(struct xe_device *xe)
>> struct xe_gt *gt;
>> u8 id;
>>
>> + drm_client_dev_unregister(&xe->drm);
>> +
>> xe_device_remove_display(xe);
>>
>> xe_display_fini(xe);
>> --
>> 2.43.2
>>
--
Jani Nikula, Intel
More information about the dri-devel
mailing list