• Sreekanth Reddy's avatar
    scsi: mpt3sas: Update hba_port's sas_address & phy_mask · e2f0cdf7
    Sreekanth Reddy authored
    Update hba_port's sas_address & phy_mask fields whenever a direct expander
    or sas/sata target devices are added or removed.
    
    When any direct attached device is discovered then driver:
    
     - Gets the hba_port object corresponding to device's PhysicalPort
       number;
    
     - Updates the hba_port's sas_address field with device's SAS
       Address;
    
     - Updates the hba_port's phy_mask filed with device's narrow/wide
       port Phy number bits;
    
     - If a sas/sata end device (not only direct-attached devices) is added
       then corresponding sas_device object's port variable is assigned with
       hba_port object's address whose port_id matches the device's
       PhysicalPort number.
    
     - If an expander device is added then corresponding sas_expander object's
       port variable is assigned with hba_port object's address whose port_id
       matches the expander device's PhysicalPort number.
    
    When any direct attached device is detached then driver will delete the
    hba_port object corresponding to device's PhysicalPort number.
    
    Whenever any HBA phy's link (of direct attached device's port) comes up
    then update the phy_mask field of corresponding hba_port object.
    
    Link: https://lore.kernel.org/r/20201027130847.9962-5-sreekanth.reddy@broadcom.comSigned-off-by: default avatarSreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    e2f0cdf7
mpt3sas_scsih.c 337 KB