Lines Matching defs:hisi_sas_hw
313 struct hisi_sas_hw { struct
314 int (*hw_init)(struct hisi_hba *hisi_hba);
315 int (*interrupt_preinit)(struct hisi_hba *hisi_hba);
316 void (*setup_itct)(struct hisi_hba *hisi_hba,
318 int (*slot_index_alloc)(struct hisi_hba *hisi_hba,
320 struct hisi_sas_device *(*alloc_dev)(struct domain_device *device);
321 void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no);
322 void (*start_delivery)(struct hisi_sas_dq *dq);
323 void (*prep_ssp)(struct hisi_hba *hisi_hba,
325 void (*prep_smp)(struct hisi_hba *hisi_hba,
327 void (*prep_stp)(struct hisi_hba *hisi_hba,
329 void (*prep_abort)(struct hisi_hba *hisi_hba,
332 void (*phys_init)(struct hisi_hba *hisi_hba);
333 void (*phy_start)(struct hisi_hba *hisi_hba, int phy_no);
334 void (*phy_disable)(struct hisi_hba *hisi_hba, int phy_no);
335 void (*phy_hard_reset)(struct hisi_hba *hisi_hba, int phy_no);
336 void (*get_events)(struct hisi_hba *hisi_hba, int phy_no);
337 void (*phy_set_linkrate)(struct hisi_hba *hisi_hba, int phy_no,
339 enum sas_linkrate (*phy_get_max_linkrate)(void);
340 int (*clear_itct)(struct hisi_hba *hisi_hba,
342 void (*free_device)(struct hisi_sas_device *sas_dev);
343 int (*get_wideport_bitmap)(struct hisi_hba *hisi_hba, int port_id);
344 void (*dereg_device)(struct hisi_hba *hisi_hba,
346 int (*soft_reset)(struct hisi_hba *hisi_hba);
347 u32 (*get_phys_state)(struct hisi_hba *hisi_hba);
348 int (*write_gpio)(struct hisi_hba *hisi_hba, u8 reg_type,
350 void (*wait_cmds_complete_timeout)(struct hisi_hba *hisi_hba,
352 void (*debugfs_snapshot_regs)(struct hisi_hba *hisi_hba);
353 int complete_hdr_size;
354 struct scsi_host_template *sht;