Home
last modified time | relevance | path

Searched refs:pm8001_ha (Results 1 – 7 of 7) sorted by relevance

/kernel/linux/linux-5.10/drivers/scsi/pm8001/
Dpm8001_init.c138 static void pm8001_phy_init(struct pm8001_hba_info *pm8001_ha, int phy_id) in pm8001_phy_init() argument
140 struct pm8001_phy *phy = &pm8001_ha->phy[phy_id]; in pm8001_phy_init()
143 phy->pm8001_ha = pm8001_ha; in pm8001_phy_init()
144 sas_phy->enabled = (phy_id < pm8001_ha->chip->n_phy) ? 1 : 0; in pm8001_phy_init()
155 sas_phy->ha = (struct sas_ha_struct *)pm8001_ha->shost->hostdata; in pm8001_phy_init()
163 static void pm8001_free(struct pm8001_hba_info *pm8001_ha) in pm8001_free() argument
167 if (!pm8001_ha) in pm8001_free()
171 if (pm8001_ha->memoryMap.region[i].virt_ptr != NULL) { in pm8001_free()
172 dma_free_coherent(&pm8001_ha->pdev->dev, in pm8001_free()
173 (pm8001_ha->memoryMap.region[i].total_len + in pm8001_free()
[all …]
Dpm80xx_hwi.c50 int pm80xx_bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shift_value) in pm80xx_bar4_shift() argument
54 pm8001_cw32(pm8001_ha, 0, MEMBASE_II_SHIFT_REGISTER, shift_value); in pm80xx_bar4_shift()
58 reg_val = pm8001_cr32(pm8001_ha, 0, MEMBASE_II_SHIFT_REGISTER); in pm80xx_bar4_shift()
61 pm8001_dbg(pm8001_ha, FAIL, "TIMEOUT:MEMBASE_II_SHIFT_REGISTER = 0x%x\n", in pm80xx_bar4_shift()
68 static void pm80xx_pci_mem_copy(struct pm8001_hba_info *pm8001_ha, u32 soffset, in pm80xx_pci_mem_copy() argument
79 value = pm8001_cr32(pm8001_ha, bus_base_number, offset); in pm80xx_pci_mem_copy()
91 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm80xx_get_fatal_dump() local
92 void __iomem *fatal_table_address = pm8001_ha->fatal_tbl_addr; in pm80xx_get_fatal_dump()
101 pm8001_ha->forensic_info.data_buf.direct_data = buf; in pm80xx_get_fatal_dump()
102 if (pm8001_ha->chip_id == chip_8001) { in pm80xx_get_fatal_dump()
[all …]
Dpm8001_hwi.c50 static void read_main_config_table(struct pm8001_hba_info *pm8001_ha) in read_main_config_table() argument
52 void __iomem *address = pm8001_ha->main_cfg_tbl_addr; in read_main_config_table()
53 pm8001_ha->main_cfg_tbl.pm8001_tbl.signature = in read_main_config_table()
55 pm8001_ha->main_cfg_tbl.pm8001_tbl.interface_rev = in read_main_config_table()
57 pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev = in read_main_config_table()
59 pm8001_ha->main_cfg_tbl.pm8001_tbl.max_out_io = in read_main_config_table()
61 pm8001_ha->main_cfg_tbl.pm8001_tbl.max_sgl = in read_main_config_table()
63 pm8001_ha->main_cfg_tbl.pm8001_tbl.ctrl_cap_flag = in read_main_config_table()
65 pm8001_ha->main_cfg_tbl.pm8001_tbl.gst_offset = in read_main_config_table()
67 pm8001_ha->main_cfg_tbl.pm8001_tbl.inbound_queue_offset = in read_main_config_table()
[all …]
Dpm8001_sas.c65 void pm8001_tag_free(struct pm8001_hba_info *pm8001_ha, u32 tag) in pm8001_tag_free() argument
67 void *bitmap = pm8001_ha->tags; in pm8001_tag_free()
76 inline int pm8001_tag_alloc(struct pm8001_hba_info *pm8001_ha, u32 *tag_out) in pm8001_tag_alloc() argument
79 void *bitmap = pm8001_ha->tags; in pm8001_tag_alloc()
82 spin_lock_irqsave(&pm8001_ha->bitmap_lock, flags); in pm8001_tag_alloc()
83 tag = find_first_zero_bit(bitmap, pm8001_ha->tags_num); in pm8001_tag_alloc()
84 if (tag >= pm8001_ha->tags_num) { in pm8001_tag_alloc()
85 spin_unlock_irqrestore(&pm8001_ha->bitmap_lock, flags); in pm8001_tag_alloc()
89 spin_unlock_irqrestore(&pm8001_ha->bitmap_lock, flags); in pm8001_tag_alloc()
94 void pm8001_tag_init(struct pm8001_hba_info *pm8001_ha) in pm8001_tag_init() argument
[all …]
Dpm8001_ctl.c60 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_mpi_interface_rev_show() local
62 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_mpi_interface_rev_show()
64 pm8001_ha->main_cfg_tbl.pm8001_tbl.interface_rev); in pm8001_ctl_mpi_interface_rev_show()
67 pm8001_ha->main_cfg_tbl.pm80xx_tbl.interface_rev); in pm8001_ctl_mpi_interface_rev_show()
86 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in controller_fatal_error_show() local
89 pm8001_ha->controller_fatal_error); in controller_fatal_error_show()
106 struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; in pm8001_ctl_fw_version_show() local
108 if (pm8001_ha->chip_id == chip_8001) { in pm8001_ctl_fw_version_show()
110 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev >> 24), in pm8001_ctl_fw_version_show()
111 (u8)(pm8001_ha->main_cfg_tbl.pm8001_tbl.firmware_rev >> 16), in pm8001_ctl_fw_version_show()
[all …]
Dpm8001_sas.h75 pm8001_ha->name, __func__, __LINE__, ##__VA_ARGS__)
178 int (*chip_init)(struct pm8001_hba_info *pm8001_ha);
179 int (*chip_soft_rst)(struct pm8001_hba_info *pm8001_ha);
180 void (*chip_rst)(struct pm8001_hba_info *pm8001_ha);
181 int (*chip_ioremap)(struct pm8001_hba_info *pm8001_ha);
182 void (*chip_iounmap)(struct pm8001_hba_info *pm8001_ha);
183 irqreturn_t (*isr)(struct pm8001_hba_info *pm8001_ha, u8 vec);
184 u32 (*is_our_interrupt)(struct pm8001_hba_info *pm8001_ha);
185 int (*isr_process_oq)(struct pm8001_hba_info *pm8001_ha, u8 vec);
186 void (*interrupt_enable)(struct pm8001_hba_info *pm8001_ha, u8 vec);
[all …]
Dpm8001_chips.h54 static inline u32 pm8001_cr32(struct pm8001_hba_info *pm8001_ha, u32 bar, in pm8001_cr32() argument
57 return readl(pm8001_ha->io_mem[bar].memvirtaddr + offset); in pm8001_cr32()
60 static inline void pm8001_cw32(struct pm8001_hba_info *pm8001_ha, u32 bar, in pm8001_cw32() argument
63 writel(val, pm8001_ha->io_mem[bar].memvirtaddr + addr); in pm8001_cw32()