Lines Matching defs:hisi_sas_hw
308 struct hisi_sas_hw { struct
309 int (*hw_init)(struct hisi_hba *hisi_hba);
310 int (*interrupt_preinit)(struct hisi_hba *hisi_hba);
311 void (*setup_itct)(struct hisi_hba *hisi_hba,
313 int (*slot_index_alloc)(struct hisi_hba *hisi_hba,
315 struct hisi_sas_device *(*alloc_dev)(struct domain_device *device);
316 void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no);
317 void (*start_delivery)(struct hisi_sas_dq *dq);
318 void (*prep_ssp)(struct hisi_hba *hisi_hba,
320 void (*prep_smp)(struct hisi_hba *hisi_hba,
322 void (*prep_stp)(struct hisi_hba *hisi_hba,
324 void (*prep_abort)(struct hisi_hba *hisi_hba,
326 void (*phys_init)(struct hisi_hba *hisi_hba);
327 void (*phy_start)(struct hisi_hba *hisi_hba, int phy_no);
328 void (*phy_disable)(struct hisi_hba *hisi_hba, int phy_no);
329 void (*phy_hard_reset)(struct hisi_hba *hisi_hba, int phy_no);
330 void (*get_events)(struct hisi_hba *hisi_hba, int phy_no);
331 void (*phy_set_linkrate)(struct hisi_hba *hisi_hba, int phy_no,
333 enum sas_linkrate (*phy_get_max_linkrate)(void);
334 int (*clear_itct)(struct hisi_hba *hisi_hba,
336 void (*free_device)(struct hisi_sas_device *sas_dev);
337 int (*get_wideport_bitmap)(struct hisi_hba *hisi_hba, int port_id);
338 void (*dereg_device)(struct hisi_hba *hisi_hba,
340 int (*soft_reset)(struct hisi_hba *hisi_hba);
341 u32 (*get_phys_state)(struct hisi_hba *hisi_hba);
342 int (*write_gpio)(struct hisi_hba *hisi_hba, u8 reg_type,
344 void (*wait_cmds_complete_timeout)(struct hisi_hba *hisi_hba,
346 int (*debugfs_snapshot_regs)(struct hisi_hba *hisi_hba);
347 int complete_hdr_size;
348 const struct scsi_host_template *sht;