USB 3.0 is discussed here among other topics. I'm not aware of any other discussion forums specifically for USB 3.
The link layer is largely independent of software. From the host driver perspective, the links take care of themselves and there's not much software can do about this.
The protocol layer is largely also taken care of in hardware, but is directed by software. The protocol layer is driven by software in that the hardware doesn't do anything on the bus, unless the software has asked for it to happen. This is different from the link layer where the links will be constantly chatting among themselves doing whatever they do and then telling the software about anything interesting that happened.
For an XHCI host the protocol layer doesn't do anything unless the XHCI driver has put a transfer descriptor (TD) on a transfer ring. The TD is a high level command to the hardware, it tells the hardware where the data is in memory, and how big it is, and some control information. The hardware then goes and does the requested transfer and then tells software about the results by putting an event TRB on the event ring.
Software has no control over what happens in hardware between requesting the transfer and receiving the event. The XHCI spec explicitly says the TDs belong to the host controller during that time, and the host software is not allowed to touch them.
This is all from the host perspective, you might find that a device has a different model.