Lines Matching defs:hisi_sas_hw
313 struct hisi_sas_hw { struct
314 int (*hw_init)(struct hisi_hba *hisi_hba);
315 void (*setup_itct)(struct hisi_hba *hisi_hba,
317 int (*slot_index_alloc)(struct hisi_hba *hisi_hba,
319 struct hisi_sas_device *(*alloc_dev)(struct domain_device *device);
320 void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no);
321 void (*start_delivery)(struct hisi_sas_dq *dq);
322 void (*prep_ssp)(struct hisi_hba *hisi_hba,
324 void (*prep_smp)(struct hisi_hba *hisi_hba,
326 void (*prep_stp)(struct hisi_hba *hisi_hba,
328 void (*prep_abort)(struct hisi_hba *hisi_hba,
331 void (*phys_init)(struct hisi_hba *hisi_hba);
332 void (*phy_start)(struct hisi_hba *hisi_hba, int phy_no);
333 void (*phy_disable)(struct hisi_hba *hisi_hba, int phy_no);
334 void (*phy_hard_reset)(struct hisi_hba *hisi_hba, int phy_no);
335 void (*get_events)(struct hisi_hba *hisi_hba, int phy_no);
336 void (*phy_set_linkrate)(struct hisi_hba *hisi_hba, int phy_no,
338 enum sas_linkrate (*phy_get_max_linkrate)(void);
339 int (*clear_itct)(struct hisi_hba *hisi_hba,
341 void (*free_device)(struct hisi_sas_device *sas_dev);
342 int (*get_wideport_bitmap)(struct hisi_hba *hisi_hba, int port_id);
343 void (*dereg_device)(struct hisi_hba *hisi_hba,
345 int (*soft_reset)(struct hisi_hba *hisi_hba);
346 u32 (*get_phys_state)(struct hisi_hba *hisi_hba);
347 int (*write_gpio)(struct hisi_hba *hisi_hba, u8 reg_type,
349 void (*wait_cmds_complete_timeout)(struct hisi_hba *hisi_hba,
351 void (*snapshot_prepare)(struct hisi_hba *hisi_hba);
352 void (*snapshot_restore)(struct hisi_hba *hisi_hba);
353 int (*set_bist)(struct hisi_hba *hisi_hba, bool enable);
354 void (*read_iost_itct_cache)(struct hisi_hba *hisi_hba,
357 int complete_hdr_size;
358 struct scsi_host_template *sht;
360 const struct hisi_sas_debugfs_reg *debugfs_reg_array[DEBUGFS_REGS_NUM];
361 const struct hisi_sas_debugfs_reg *debugfs_reg_port;