[Intel-gfx] [PATCH 06/20] drm/i915: Handle log buffer flush interrupt event from GuC

Goel, Akash akash.goel at intel.com
Fri Aug 12 06:44:28 UTC 2016



On 8/12/2016 11:58 AM, Chris Wilson wrote:
> On Fri, Aug 12, 2016 at 11:55:09AM +0530, akash.goel at intel.com wrote:
>> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>> index 0fcd1c0..fc2da32 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.c
>> +++ b/drivers/gpu/drm/i915/i915_drv.c
>>  static void i915_workqueues_cleanup(struct drm_i915_private *dev_priv)
>>  {
>> +	if (HAS_GUC_SCHED(dev_priv))
>> +		destroy_workqueue(dev_priv->guc.log.wq);
>
> if (dev_priv->guc.log.wq)
> 	destroy_workqueue(dev_priv->guc.log.wq);
>
> This shouldn't be here, but in guc teardown.
>
> Likewise this is
>
Fine will move it to GuC teardown.

>> @@ -770,8 +770,20 @@ static int i915_workqueues_init(struct drm_i915_private *dev_priv)
>>  	if (dev_priv->hotplug.dp_wq == NULL)
>>  		goto out_free_wq;
>>
>> +	if (HAS_GUC_SCHED(dev_priv)) {
>> +		/* Need a dedicated wq to process log buffer flush interrupts
>> +		 * from GuC without much delay so as to avoid any loss of logs.
>> +		 */
>> +		dev_priv->guc.log.wq =
>
> creating guc specific wq, not drm_i915_private's. They can even be
> managed by guc.log?
Sorry for the inconsistency here, but didn't get your question.
	dev_priv->guc.log.wq

	dev_priv->guc.events_work

Best regards
Akash

> -Chris
>


More information about the Intel-gfx mailing list