linux/drivers/scsi/mvsas/mv_sas.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Marvell 88SE64xx/88SE94xx main function
 *
 * Copyright 2007 Red Hat, Inc.
 * Copyright 2008 Marvell. <[email protected]>
 * Copyright 2009-2011 Marvell. <[email protected]>
*/

#include "mv_sas.h"

static int mvs_find_tag(struct mvs_info *mvi, struct sas_task *task, u32 *tag)
{}

static void mvs_tag_clear(struct mvs_info *mvi, u32 tag)
{}

static void mvs_tag_free(struct mvs_info *mvi, u32 tag)
{}

static void mvs_tag_set(struct mvs_info *mvi, unsigned int tag)
{}

static int mvs_tag_alloc(struct mvs_info *mvi, u32 *tag_out)
{}

static struct mvs_info *mvs_find_dev_mvi(struct domain_device *dev)
{}

static int mvs_find_dev_phyno(struct domain_device *dev, int *phyno)
{}

struct mvs_device *mvs_find_dev_by_reg_set(struct mvs_info *mvi,
						u8 reg_set)
{}

static inline void mvs_free_reg_set(struct mvs_info *mvi,
				struct mvs_device *dev)
{}

static inline u8 mvs_assign_reg_set(struct mvs_info *mvi,
				struct mvs_device *dev)
{}

void mvs_phys_reset(struct mvs_info *mvi, u32 phy_mask, int hard)
{}

int mvs_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
			void *funcdata)
{}

void mvs_set_sas_addr(struct mvs_info *mvi, int port_id, u32 off_lo,
		      u32 off_hi, u64 sas_addr)
{}

static void mvs_bytes_dmaed(struct mvs_info *mvi, int i, gfp_t gfp_flags)
{}

void mvs_scan_start(struct Scsi_Host *shost)
{}

int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time)
{}

static int mvs_task_prep_smp(struct mvs_info *mvi,
			     struct mvs_task_exec_info *tei)
{}

static u32 mvs_get_ncq_tag(struct sas_task *task, u32 *tag)
{}

static int mvs_task_prep_ata(struct mvs_info *mvi,
			     struct mvs_task_exec_info *tei)
{}

static int mvs_task_prep_ssp(struct mvs_info *mvi,
			     struct mvs_task_exec_info *tei, int is_tmf,
			     struct sas_tmf_task *tmf)
{}

#define DEV_IS_GONE(mvi_dev)
static int mvs_task_prep(struct sas_task *task, struct mvs_info *mvi, int is_tmf,
				struct sas_tmf_task *tmf, int *pass)
{}

int mvs_queue_command(struct sas_task *task, gfp_t gfp_flags)
{}

static void mvs_slot_free(struct mvs_info *mvi, u32 rx_desc)
{}

static void mvs_slot_task_free(struct mvs_info *mvi, struct sas_task *task,
			  struct mvs_slot_info *slot, u32 slot_idx)
{}

static void mvs_update_wideport(struct mvs_info *mvi, int phy_no)
{}

static u32 mvs_is_phy_ready(struct mvs_info *mvi, int i)
{}

static void *mvs_get_d2h_reg(struct mvs_info *mvi, int i, void *buf)
{}

static u32 mvs_is_sig_fis_received(u32 irq_status)
{}

static void mvs_sig_remove_timer(struct mvs_phy *phy)
{}

void mvs_update_phyinfo(struct mvs_info *mvi, int i, int get_st)
{}

static void mvs_port_notify_formed(struct asd_sas_phy *sas_phy, int lock)
{}

static void mvs_port_notify_deformed(struct asd_sas_phy *sas_phy, int lock)
{}


void mvs_port_formed(struct asd_sas_phy *sas_phy)
{}

void mvs_port_deformed(struct asd_sas_phy *sas_phy)
{}

static struct mvs_device *mvs_alloc_dev(struct mvs_info *mvi)
{}

static void mvs_free_dev(struct mvs_device *mvi_dev)
{}

static int mvs_dev_found_notify(struct domain_device *dev, int lock)
{}

int mvs_dev_found(struct domain_device *dev)
{}

static void mvs_dev_gone_notify(struct domain_device *dev)
{}


void mvs_dev_gone(struct domain_device *dev)
{}

/*  Standard mandates link reset for ATA  (type 0)
    and hard reset for SSP (type 1) , only for RECOVERY */
static int mvs_debug_I_T_nexus_reset(struct domain_device *dev)
{}

/* mandatory SAM-3 */
int mvs_lu_reset(struct domain_device *dev, u8 *lun)
{}

int mvs_I_T_nexus_reset(struct domain_device *dev)
{}
/* optional SAM-3 */
int mvs_query_task(struct sas_task *task)
{}

/*  mandatory SAM-3, still need free task/slot info */
int mvs_abort_task(struct sas_task *task)
{}

static int mvs_sata_done(struct mvs_info *mvi, struct sas_task *task,
			u32 slot_idx, int err)
{}

static void mvs_set_sense(u8 *buffer, int len, int d_sense,
		int key, int asc, int ascq)
{}

static void mvs_fill_ssp_resp_iu(struct ssp_response_iu *iu,
				u8 key, u8 asc, u8 asc_q)
{}

static int mvs_slot_err(struct mvs_info *mvi, struct sas_task *task,
			 u32 slot_idx)
{}

int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
{}

void mvs_do_release_task(struct mvs_info *mvi,
		int phy_no, struct domain_device *dev)
{}

void mvs_release_task(struct mvs_info *mvi,
		      struct domain_device *dev)
{}

static void mvs_phy_disconnected(struct mvs_phy *phy)
{}

static void mvs_work_queue(struct work_struct *work)
{}

static int mvs_handle_event(struct mvs_info *mvi, void *data, int handler)
{}

static void mvs_sig_time_out(struct timer_list *t)
{}

void mvs_int_port(struct mvs_info *mvi, int phy_no, u32 events)
{}

int mvs_int_rx(struct mvs_info *mvi, bool self_clear)
{}

int mvs_gpio_write(struct sas_ha_struct *sha, u8 reg_type, u8 reg_index,
			u8 reg_count, u8 *write_data)
{}