initialise inteldrm device params from module params
authorjsg <jsg@openbsd.org>
Thu, 8 Sep 2022 11:30:32 +0000 (11:30 +0000)
committerjsg <jsg@openbsd.org>
Thu, 8 Sep 2022 11:30:32 +0000 (11:30 +0000)
In inteldrm_attach() we need to call i915_params_copy().
Matching the changes made to i915_driver_create() in
linux 8a25c4be583d8a9e38fbadcc49d4de32b1aa8906 (5.10)
drm/i915/params: switch to device specific parameters

This makes DisplayPort MST work again as the value of
enable_dp_mst changes from false to true.

Set enable_guc as 0 as I suspect that needs more work.
Set request_timeout_ms to 0 as otherwise I see
"Fence expiration time out" running Xorg on Broadwell.

Problem reported and debugged by Paul Kelly.

sys/dev/pci/drm/i915/i915_drv.c

index e8c07f4..6d4bb89 100644 (file)
@@ -2410,6 +2410,11 @@ inteldrm_attach(struct device *parent, struct device *self, void *aux)
        dev_priv->id = id;
        info = (struct intel_device_info *)id->driver_data;
 
+       /* Device parameters start as a copy of module parameters. */
+       i915_params_copy(&dev_priv->params, &i915_modparams);
+       dev_priv->params.enable_guc = 0;
+       dev_priv->params.request_timeout_ms = 0;
+
        /* Setup the write-once "constant" device info */
        device_info = mkwrite_device_info(dev_priv);
        memcpy(device_info, info, sizeof(*device_info));