Re: [PATCH] drm/i915: Push mm switch immediately to ring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes:

> On Mon, Mar 16, 2015 at 05:58:12PM +0200, Mika Kuoppala wrote:
>> Sometimes when first batch is run with blitter ring,
>> @@ -931,7 +931,6 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
>>  	intel_ring_emit(ring, RING_PP_DIR_BASE(ring));
>>  	intel_ring_emit(ring, get_pd_offset(ppgtt));
>>  	intel_ring_emit(ring, MI_NOOP);
>> -	intel_ring_advance(ring);
>>  
>>  	/* XXX: RCS is the only one to auto invalidate the TLBs? */
>>  	if (ring->id != RCS) {
>> @@ -940,6 +939,8 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
>>  			return ret;
>>  	}
>>  
>> +	__intel_ring_advance(ring);
>> +
>
> I really would like a comment before each of these, something like
> /* XXX This papers over a bug loading PD prior to batch execution */
>
> This last chunk is buggy. The earlier unadvanced return will break the
> ringbuffer state tracking. Do you have equal success just with the plain
> s/intel_ring_advance/__intel_ring_advance/ ?

I have managed to create a series that doesn't need this tail update
trickery at all. Please ignore this series.

-Mika
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux