cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sas_ata.h (2479B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Support for SATA devices on Serial Attached SCSI (SAS) controllers
      4 *
      5 * Copyright (C) 2006 IBM Corporation
      6 *
      7 * Written by: Darrick J. Wong <djwong@us.ibm.com>, IBM Corporation
      8 */
      9
     10#ifndef _SAS_ATA_H_
     11#define _SAS_ATA_H_
     12
     13#include <linux/libata.h>
     14#include <scsi/libsas.h>
     15
     16#ifdef CONFIG_SCSI_SAS_ATA
     17
     18static inline int dev_is_sata(struct domain_device *dev)
     19{
     20	return dev->dev_type == SAS_SATA_DEV || dev->dev_type == SAS_SATA_PM ||
     21	       dev->dev_type == SAS_SATA_PM_PORT || dev->dev_type == SAS_SATA_PENDING;
     22}
     23
     24int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy);
     25int sas_ata_init(struct domain_device *dev);
     26void sas_ata_task_abort(struct sas_task *task);
     27void sas_ata_strategy_handler(struct Scsi_Host *shost);
     28void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q);
     29void sas_ata_schedule_reset(struct domain_device *dev);
     30void sas_ata_wait_eh(struct domain_device *dev);
     31void sas_probe_sata(struct asd_sas_port *port);
     32void sas_suspend_sata(struct asd_sas_port *port);
     33void sas_resume_sata(struct asd_sas_port *port);
     34void sas_ata_end_eh(struct ata_port *ap);
     35int sas_execute_ata_cmd(struct domain_device *device, u8 *fis,
     36			int force_phy_id);
     37int sas_ata_wait_after_reset(struct domain_device *dev, unsigned long deadline);
     38#else
     39
     40
     41static inline int dev_is_sata(struct domain_device *dev)
     42{
     43	return 0;
     44}
     45static inline int sas_ata_init(struct domain_device *dev)
     46{
     47	return 0;
     48}
     49static inline void sas_ata_task_abort(struct sas_task *task)
     50{
     51}
     52
     53static inline void sas_ata_strategy_handler(struct Scsi_Host *shost)
     54{
     55}
     56
     57static inline void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q)
     58{
     59}
     60
     61static inline void sas_ata_schedule_reset(struct domain_device *dev)
     62{
     63}
     64
     65static inline void sas_ata_wait_eh(struct domain_device *dev)
     66{
     67}
     68
     69static inline void sas_probe_sata(struct asd_sas_port *port)
     70{
     71}
     72
     73static inline void sas_suspend_sata(struct asd_sas_port *port)
     74{
     75}
     76
     77static inline void sas_resume_sata(struct asd_sas_port *port)
     78{
     79}
     80
     81static inline int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy)
     82{
     83	return 0;
     84}
     85
     86static inline void sas_ata_end_eh(struct ata_port *ap)
     87{
     88}
     89
     90static inline int sas_execute_ata_cmd(struct domain_device *device, u8 *fis,
     91				      int force_phy_id)
     92{
     93	return 0;
     94}
     95
     96static inline int sas_ata_wait_after_reset(struct domain_device *dev,
     97					   unsigned long deadline)
     98{
     99	return -ETIMEDOUT;
    100}
    101#endif
    102
    103#endif /* _SAS_ATA_H_ */