On Mon, 2022-11-28 at 16:31 -0800, Alan Previn wrote:
> Starting with MTL, there will be two GT-tiles, a render and media
> tile. PXP as a service for supporting workloads with protected
> contexts and protected buffers can be subscribed by process
> 
> 
Alan: [snip]


> diff --git a/drivers/gpu/drm/i915/i915_driver.c 
> b/drivers/gpu/drm/i915/i915_driver.c
> index 69103ae37779..3be3c53437e9 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -73,6 +73,8 @@
>  #include "gt/intel_gt_pm.h"
>  #include "gt/intel_rc6.h"
>  
> +#include "pxp/intel_pxp.h"
> +#include "pxp/intel_pxp_debugfs.h"
>  #include "pxp/intel_pxp_pm.h"
>  
>  #include "i915_file_private.h"
> @@ -763,6 +765,8 @@ static void i915_driver_register(struct drm_i915_private 
> *dev_priv)
>       for_each_gt(gt, dev_priv, i)
>               intel_gt_driver_register(gt);
>  
> +     intel_pxp_debugfs_register(dev_priv->pxp);
> +
>       i915_hwmon_register(dev_priv);
>  
>       intel_display_driver_register(dev_priv);
> @@ -794,6 +798,8 @@ static void i915_driver_unregister(struct 
> drm_i915_private *dev_priv)
>  
>       intel_display_driver_unregister(dev_priv);
>  
> +             (&dev_priv->pxp);
> +
>       for_each_gt(gt, dev_priv, i)
>               intel_gt_driver_unregister(gt);
>  
> @@ -937,6 +943,8 @@ int i915_driver_probe(struct pci_dev *pdev, const struct 
> pci_device_id *ent)
>       if (ret)
>               goto out_cleanup_modeset2;
>  
> +     intel_pxp_init(&i915->pxp);
> +
>       ret = intel_modeset_init(i915);
>       if (ret)
>               goto out_cleanup_gem;
> @@ -996,6 +1004,8 @@ void i915_driver_remove(struct drm_i915_private *i915)
>       /* Flush any external code that still may be under the RCU lock */
>       synchronize_rcu();
>  
> +     intel_pxp_fini(&i915->pxp);
> +
>  
> 
This is a bug that is causing the regression on BAT - will post a new rev ASAP.
(intel_pxp_fini should only be called during unregister, not again during 
remove).

Alan:[snip]

Reply via email to