mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
[SCSI] libsas: sgpio write support
Add SFF-8485 v0.7 / SAS-1 smp-write-gpio register support to libsas. Defer SAS-2 support unless/until it defines an sgpio interface. Minimum implementation needed to get the lights blinking. try_test_sas_gpio_gp_bit() provides a common method to parse the incoming write data (raw bitstream), and the to_sas_gpio_gp_bit() helper routine can be used as a basis for the set/clear operations for the 'read' implementation. Host implementations parse as many bits (ODx.[012]) as are locally supported and report the number of registers successfully written. If the submitted data overruns the internal number of registers available report the write as a success with the number of bytes remaining reported in ->resid_len. Example (assuming an active backplane) set the "identify" pattern for the first 21 devices: smp_write_gpio --count=2 --data=92,49,24,92,24,92,49,24 -t 4 --index=1 /dev/bsg/sas_hostX Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
9c224ac215
commit
8ec6552f4a
3 changed files with 120 additions and 2 deletions
|
@ -195,6 +195,14 @@ enum sas_open_rej_reason {
|
|||
SAS_OREJ_RSVD_RETRY = 18,
|
||||
};
|
||||
|
||||
enum sas_gpio_reg_type {
|
||||
SAS_GPIO_REG_CFG = 0,
|
||||
SAS_GPIO_REG_RX = 1,
|
||||
SAS_GPIO_REG_RX_GP = 2,
|
||||
SAS_GPIO_REG_TX = 3,
|
||||
SAS_GPIO_REG_TX_GP = 4,
|
||||
};
|
||||
|
||||
struct dev_to_host_fis {
|
||||
u8 fis_type; /* 0x34 */
|
||||
u8 flags;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue