Lines Matching defs:hisi_sas_hw

273 struct hisi_sas_hw {  struct
274 int (*hw_init)(struct hisi_hba *hisi_hba);
275 void (*setup_itct)(struct hisi_hba *hisi_hba,
277 int (*slot_index_alloc)(struct hisi_hba *hisi_hba,
279 struct hisi_sas_device *(*alloc_dev)(struct domain_device *device);
280 void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no);
281 void (*start_delivery)(struct hisi_sas_dq *dq);
282 void (*prep_ssp)(struct hisi_hba *hisi_hba,
284 void (*prep_smp)(struct hisi_hba *hisi_hba,
286 void (*prep_stp)(struct hisi_hba *hisi_hba,
288 void (*prep_abort)(struct hisi_hba *hisi_hba,
291 void (*phys_init)(struct hisi_hba *hisi_hba);
292 void (*phy_start)(struct hisi_hba *hisi_hba, int phy_no);
293 void (*phy_disable)(struct hisi_hba *hisi_hba, int phy_no);
294 void (*phy_hard_reset)(struct hisi_hba *hisi_hba, int phy_no);
295 void (*get_events)(struct hisi_hba *hisi_hba, int phy_no);
296 void (*phy_set_linkrate)(struct hisi_hba *hisi_hba, int phy_no,
298 enum sas_linkrate (*phy_get_max_linkrate)(void);
299 void (*clear_itct)(struct hisi_hba *hisi_hba,
301 void (*free_device)(struct hisi_sas_device *sas_dev);
302 int (*get_wideport_bitmap)(struct hisi_hba *hisi_hba, int port_id);
303 void (*dereg_device)(struct hisi_hba *hisi_hba,
305 int (*soft_reset)(struct hisi_hba *hisi_hba);
306 u32 (*get_phys_state)(struct hisi_hba *hisi_hba);
307 int (*write_gpio)(struct hisi_hba *hisi_hba, u8 reg_type,
309 void (*wait_cmds_complete_timeout)(struct hisi_hba *hisi_hba,
311 void (*snapshot_prepare)(struct hisi_hba *hisi_hba);
312 void (*snapshot_restore)(struct hisi_hba *hisi_hba);
313 int (*set_bist)(struct hisi_hba *hisi_hba, bool enable);
314 void (*read_iost_itct_cache)(struct hisi_hba *hisi_hba,
317 int complete_hdr_size;
318 struct scsi_host_template *sht;
320 const struct hisi_sas_debugfs_reg *debugfs_reg_array[DEBUGFS_REGS_NUM];
321 const struct hisi_sas_debugfs_reg *debugfs_reg_port;