Don Brace | 2cc37b1 | 2019-03-14 16:58:09 -0500 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 2 | /* |
| 3 | * driver for Microsemi PQI-based storage controllers |
Don Brace | 2a71268 | 2020-08-28 16:09:22 -0500 | [diff] [blame] | 4 | * Copyright (c) 2019-2020 Microchip Technology Inc. and its subsidiaries |
Don Brace | 2f4c4b9 | 2019-03-14 16:58:02 -0500 | [diff] [blame] | 5 | * Copyright (c) 2016-2018 Microsemi Corporation |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 6 | * Copyright (c) 2016 PMC-Sierra, Inc. |
| 7 | * |
Don Brace | 2f4c4b9 | 2019-03-14 16:58:02 -0500 | [diff] [blame] | 8 | * Questions/Comments/Bugfixes to storagedev@microchip.com |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 9 | * |
| 10 | */ |
| 11 | |
| 12 | #if !defined(_SMARTPQI_SIS_H) |
| 13 | #define _SMARTPQI_SIS_H |
| 14 | |
| 15 | int sis_wait_for_ctrl_ready(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 061ef06 | 2017-05-03 18:53:05 -0500 | [diff] [blame] | 16 | int sis_wait_for_ctrl_ready_resume(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 17 | bool sis_is_firmware_running(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 162d775 | 2017-05-03 18:52:46 -0500 | [diff] [blame] | 18 | bool sis_is_kernel_up(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 19 | int sis_get_ctrl_properties(struct pqi_ctrl_info *ctrl_info); |
| 20 | int sis_get_pqi_capabilities(struct pqi_ctrl_info *ctrl_info); |
| 21 | int sis_init_base_struct_addr(struct pqi_ctrl_info *ctrl_info); |
| 22 | void sis_enable_msix(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 061ef06 | 2017-05-03 18:53:05 -0500 | [diff] [blame] | 23 | void sis_enable_intx(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 5b0fba0 | 2017-05-03 18:52:40 -0500 | [diff] [blame] | 24 | void sis_shutdown_ctrl(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 336b681 | 2017-08-10 13:46:39 -0500 | [diff] [blame] | 25 | int sis_pqi_reset_quiesce(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 26 | int sis_reenable_sis_mode(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | ff6abb7 | 2016-08-31 14:54:41 -0500 | [diff] [blame] | 27 | void sis_write_driver_scratch(struct pqi_ctrl_info *ctrl_info, u32 value); |
| 28 | u32 sis_read_driver_scratch(struct pqi_ctrl_info *ctrl_info); |
Mahesh Rajashekhara | 4fd22c1 | 2018-12-18 17:39:07 -0600 | [diff] [blame] | 29 | void sis_soft_reset(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 2708a25 | 2021-03-11 14:15:09 -0600 | [diff] [blame] | 30 | u32 sis_get_product_id(struct pqi_ctrl_info *ctrl_info); |
Kevin Barnett | 6c22376 | 2016-06-27 16:41:00 -0500 | [diff] [blame] | 31 | |
| 32 | #endif /* _SMARTPQI_SIS_H */ |