> -----Original Message----- > From: Sarah Sharp [mailto:sarah.a.sharp@xxxxxxxxxxxxxxx] > Sent: Tuesday, June 15, 2010 1:16 AM > To: Xu, Andiry > Cc: linux-usb@xxxxxxxxxxxxxxx; Yang, Libin; Nguyen, Dong > Subject: Re: Regression found with link TRB activation patch > > Shoot, I wish you had told me this particular patch was causing you > trouble sooner. In the future, can you tell me if this sort of thing > happens? If you hit the bug, other users are also likely to hit the > bug, and I'd like to fix it sooner. > Sure. > > It turns out that I also have some urgent work that needs to be done > before I leave, so I may not be able to fully review and test your code > before June 25th. So no need to rush on the patches. > OK. > I have some notes on what will need to be done to the xHCI driver to be > compliant with the xHCI 1.0 specification. I'll try to post them in the > next couple of days. > > I'm most concerned about the TD fragments change because TD fragments > cannot span segment boundaries, so having only a link TRB at the end of > the segment will not suffice. (We can't insert no-ops before the link > TRB because no-ops cannot be chained.) I think the solution is to end > the segment early with a link TRB, and make the dequeue pointer function > change the link TRB back into a normal TRB once the hardware is done > with that TD. But the room_on_ring() function is going to have to > calculate where to break the transfer into TD fragments and allocate new > segments if needed. I think that will be the most complex change for > the 1.0 xHCI specification. > Yes. TD fragment is the most difficult part as I see. I'm afraid there will be some judgments in the future code such as "if (HC_VERSION(reg) == 0x0100)" to maintain compatibility. I wonder if you have some good solutions to avoid this. Also, Section 4.9.4 states driver should maximize the number of Events processed before writing the ERDP, not write ERDP for every event. Do I need to modify handle_tx_event() to comply with this statement? Thanks, Andiry -- 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