Re: Regression found with link TRB activation patch

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

 



On Wed, Jun 09, 2010 at 03:01:51PM -0700, Sarah Sharp wrote:
> On Wed, Jun 09, 2010 at 02:26:00PM -0700, John Youn wrote:
> > Ok, I'll take a look.
> 
> John,
> 
> I think the issue is that the patch assumes that between calls to
> prepare_ring(), there will be only one TD queued to the ring.  But control
> transfers involve 2-3 TDs, and isochronous transfers may involve even
> more TDs.  So the code in inc_enq() sees a chain bit cleared on the
> control TX data TRB and does not give the link TRB back yet, which
> allows queue_trb() to write over it.
> 
> Since the link TRB activation is only an issue on bulk streams
> endpoints, can you make the patch revert to the old behavior on non-bulk
> endpoints?

Thinking about that suggestion further, it doesn't work well with my
plans for ring expansion.  If the xHCI driver unconditionally gives back
the link TRB for control, interrupt, and isochronous rings, I can't know
when the hardware is finished with the link TRB so I can modify it and
expand the ring.  Maybe some flag can be given to inc_enq() to let it
know more TDs are coming?  What do you think?

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux