2019-03-15 00:58:09 +03:00
/* SPDX-License-Identifier: GPL-2.0 */
2016-06-28 00:41:00 +03:00
/*
* driver for Microsemi PQI - based storage controllers
2019-03-15 00:58:02 +03:00
* Copyright ( c ) 2019 Microchip Technology Inc . and its subsidiaries
* Copyright ( c ) 2016 - 2018 Microsemi Corporation
2016-06-28 00:41:00 +03:00
* Copyright ( c ) 2016 PMC - Sierra , Inc .
*
2019-03-15 00:58:02 +03:00
* Questions / Comments / Bugfixes to storagedev @ microchip . com
2016-06-28 00:41:00 +03:00
*
*/
# if !defined(_SMARTPQI_SIS_H)
# define _SMARTPQI_SIS_H
int sis_wait_for_ctrl_ready ( struct pqi_ctrl_info * ctrl_info ) ;
2017-05-04 02:53:05 +03:00
int sis_wait_for_ctrl_ready_resume ( struct pqi_ctrl_info * ctrl_info ) ;
2016-06-28 00:41:00 +03:00
bool sis_is_firmware_running ( struct pqi_ctrl_info * ctrl_info ) ;
2017-05-04 02:52:46 +03:00
bool sis_is_kernel_up ( struct pqi_ctrl_info * ctrl_info ) ;
2016-06-28 00:41:00 +03:00
int sis_get_ctrl_properties ( struct pqi_ctrl_info * ctrl_info ) ;
int sis_get_pqi_capabilities ( struct pqi_ctrl_info * ctrl_info ) ;
int sis_init_base_struct_addr ( struct pqi_ctrl_info * ctrl_info ) ;
void sis_enable_msix ( struct pqi_ctrl_info * ctrl_info ) ;
2017-05-04 02:53:05 +03:00
void sis_enable_intx ( struct pqi_ctrl_info * ctrl_info ) ;
2017-05-04 02:52:40 +03:00
void sis_shutdown_ctrl ( struct pqi_ctrl_info * ctrl_info ) ;
2017-08-10 21:46:39 +03:00
int sis_pqi_reset_quiesce ( struct pqi_ctrl_info * ctrl_info ) ;
2016-06-28 00:41:00 +03:00
int sis_reenable_sis_mode ( struct pqi_ctrl_info * ctrl_info ) ;
2016-08-31 22:54:41 +03:00
void sis_write_driver_scratch ( struct pqi_ctrl_info * ctrl_info , u32 value ) ;
u32 sis_read_driver_scratch ( struct pqi_ctrl_info * ctrl_info ) ;
2018-12-19 02:39:07 +03:00
void sis_soft_reset ( struct pqi_ctrl_info * ctrl_info ) ;
2016-06-28 00:41:00 +03:00
# endif /* _SMARTPQI_SIS_H */