From: Dan Williams
> It's confusing (to me at least) to keep on remembering the differences
> between event rings (managed by the hardware) and non-event rings
> managed by the host. Replace "if (ring->type == FOO)" branches with
> ring ops that are specific to the type of ring.
>
> This is a tradeoff of direct code readability vs isolation and better
> readability of diffs (i.e. diff-context will now explicitly identify the
> ring type).
I think it would be better to completely separate the event/cmd rings
calls at their call sites.
IIRC there is almost no overlap because the operations are different.
Using common code must have seemed a good idea at the start.
> It promotes "quirky" rings to their own type in that they have their own
> distinct ring ops, as a result we no longer need to pass 'xhci' to
> queue_trb().
>
> Finally, this is a preparation for xhci1.0+ ring handling which will
> have it's own ring ops.
Do you need to worry?
I suspect the 0.9 hardware will be happy with the 1.0 ring handling.
Maybe even the setting for the residual number of transfer buffers.
David
N�����r��y����b�X��ǧv�^�){.n�+����{������^n�r���z���h�����&���G���h�(�階�ݢj"���m������z�ޖ���f���h���~�m�