mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.
PATCH 7/10 mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.
Added new callbacks phy_enable and set_phy_speed in the mpt2sas_transport_functions template. This will allow end user to enable/disable phys and change links rates using the SysFS interface. Current implementation only supports direct attached phys, but we could in the future add support for expander based phys.
A new subroutine mpt2sas_config_set_sas_iounit_pg1 was added; this wrapper function used to send request to controller firmware to modify the phys and link rates. A new subroutine _transport_find_local_phy was added; a function for easly obtaining the local phy object for direct attached.
Example to disable a phy
echo 0 > /sys/class/phy3:0/enable
Example to enable the same phy
echo 1 > /sys/class/phy3:0/enable
Example to change the link rate to 1.5
#echo "1.5 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 1.5 Gbit
Example to change the link rate to 3.0
#echo "3.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 3.0 Gbit
Example to change the link rate to 6.0
#echo "6.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 6.0 Gbit
---
drivers/scsi/mpt2sas/mpt2sas_base.h +2 -0
@@ -853,6 +853,8 @@ int mpt2sas_config_set_iounit_pg1(struct MPT2SAS_ADAPTER *ioc, Mpi2ConfigReply_t *mpi_reply, Mpi2IOUnitPage1_t *config_page);int mpt2sas_config_get_sas_iounit_pg1 (struct MPT2SAS_ADAPTER *ioc,Mpi2ConfigReply_t *mpi_reply,Mpi2SasIOUnitPage1_t *config_page,u16 sz); +int mpt2sas_config_set_sas_iounit_pg1 (struct MPT2SAS_ADAPTER *ioc, +Mpi2ConfigReply_t *mpi_reply,Mpi2SasIOUnitPage1_t *config_page,u16 sz);int mpt2sas_config_get_ioc_pg8 (struct MPT2SAS_ADAPTER *ioc,Mpi2ConfigReply_t *mpi_reply,Mpi2IOCPage8_t *config_page); int mpt2sas_config_get_expander_pg0(struct MPT2SAS_ADAPTER *ioc, Mpi2ConfigReply_t
drivers/scsi/mpt2sas/mpt2sas_config.c +48 -3
75 lines not on this page · raw message
drivers/scsi/mpt2sas/mpt2sas_transport.c +182 -14
228 lines not on this page · raw message