John, now I'm curious, do you know why hisi_sas_v1_hw.c is implemented as a libsas driver (instead of a regular SCSI driver), if it doesn't support SATA?
Using libsas is not really dependent on whether the HW supports SATA/STP or not. It's a protocol layer thing. Considering the SAS protocol stack, HW for drivers using libsas have implemented only the lower protocol layers, and SW, i.e. libsas, is required to manage upper layers, like Port layer and above.
BTW, IIRC, v1 hw did support SATA, but not STP, i.e. directly attached SATA only, but the SATA support was even more broken than v2 hw (which is quite broken), so never bothered supporting in SW.
Was perhaps v2_hw and v3_hw implemented as a libsas driver first (since they support SATA), and v1_hw support was added later, so that it could reuse much of the parts of the existing driver?
v1 driver support came first. Thanks, John