Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/scsi/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  fdomain.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */

#define FDOMAIN_REGION_SIZE 0x10
#define FDOMAIN_BIOS_SIZE 0x2000

enum {
 in_arbitration = 0x02,
 in_selection = 0x04,
 in_other = 0x08,
 disconnect = 0x10,
 aborted  = 0x20,
 sent_ident = 0x40,
};

/* (@) = not present on TMC1800, (#) = not present on TMC1800 and TMC18C50 */
#define REG_SCSI_DATA  0 /* R/W: SCSI Data (with ACK) */
#define REG_BSTAT  1 /* R: SCSI Bus Status */
#define  BSTAT_BSY BIT(0)  /* Busy */
#define  BSTAT_MSG BIT(1)  /* Message */
#define  BSTAT_IO BIT(2)  /* Input/Output */
#define  BSTAT_CMD BIT(3)  /* Command/Data */
#define  BSTAT_REQ BIT(4)  /* Request and Not Ack */
#define  BSTAT_SEL BIT(5)  /* Select */
#define  BSTAT_ACK BIT(6)  /* Acknowledge and Request */
#define  BSTAT_ATN BIT(7)  /* Attention */
#define REG_BCTL  1 /* W: SCSI Bus Control */
#define  BCTL_RST BIT(0)  /* Bus Reset */
#define  BCTL_SEL BIT(1)  /* Select */
#define  BCTL_BSY BIT(2)  /* Busy */
#define  BCTL_ATN BIT(3)  /* Attention */
#define  BCTL_IO  BIT(4)  /* Input/Output */
#define  BCTL_CMD BIT(5)  /* Command/Data */
#define  BCTL_MSG BIT(6)  /* Message */
#define  BCTL_BUSEN BIT(7)  /* Enable bus drivers */
#define REG_ASTAT  2 /* R: Adapter Status 1 */
#define  ASTAT_IRQ BIT(0)  /* Interrupt active */
#define  ASTAT_ARB BIT(1)  /* Arbitration complete */
#define  ASTAT_PARERR BIT(2)  /* Parity error */
#define  ASTAT_RST BIT(3)  /* SCSI reset occurred */
#define  ASTAT_FIFODIR BIT(4)  /* FIFO direction */
#define  ASTAT_FIFOEN BIT(5)  /* FIFO enabled */
#define  ASTAT_PAREN BIT(6)  /* Parity enabled */
#define  ASTAT_BUSEN BIT(7)  /* Bus drivers enabled */
#define REG_ICTL  2 /* W: Interrupt Control */
#define  ICTL_FIFO_MASK 0x0f  /* FIFO threshold, 1/16 FIFO size */
#define  ICTL_FIFO BIT(4)  /* Int. on FIFO count */
#define  ICTL_ARB BIT(5)  /* Int. on Arbitration complete */
#define  ICTL_SEL BIT(6)  /* Int. on SCSI Select */
#define  ICTL_REQ BIT(7)  /* Int. on SCSI Request */
#define REG_FSTAT  3 /* R: Adapter Status 2 (FIFO) - (@) */
#define  FSTAT_ONOTEMPTY BIT(0)  /* Output FIFO not empty */
#define  FSTAT_INOTEMPTY BIT(1)  /* Input FIFO not empty */
#define  FSTAT_NOTEMPTY BIT(2)  /* Main FIFO not empty */
#define  FSTAT_NOTFULL BIT(3)  /* Main FIFO not full */
#define REG_MCTL  3 /* W: SCSI Data Mode Control */
#define  MCTL_ACK_MASK 0x0f  /* Acknowledge period */
#define  MCTL_ACTDEASS BIT(4)  /* Active deassert of REQ and ACK */
#define  MCTL_TARGET BIT(5)  /* Enable target mode */
#define  MCTL_FASTSYNC BIT(6)  /* Enable Fast Synchronous */
#define  MCTL_SYNC BIT(7)  /* Enable Synchronous */
#define REG_INTCOND  4 /* R: Interrupt Condition - (@) */
#define  IRQ_FIFO BIT(1)  /* FIFO interrupt */
#define  IRQ_REQ  BIT(2)  /* SCSI Request interrupt */
#define  IRQ_SEL  BIT(3)  /* SCSI Select interrupt */
#define  IRQ_ARB  BIT(4)  /* SCSI Arbitration interrupt */
#define  IRQ_RST  BIT(5)  /* SCSI Reset interrupt */
#define  IRQ_FORCED BIT(6)  /* Forced interrupt */
#define  IRQ_TIMEOUT BIT(7)  /* Bus timeout */
#define REG_ACTL  4 /* W: Adapter Control 1 */
#define  ACTL_RESET BIT(0)  /* Reset FIFO, parity, reset int. */
#define  ACTL_FIRQ BIT(1)  /* Set Forced interrupt */
#define  ACTL_ARB BIT(2)  /* Initiate Bus Arbitration */
#define  ACTL_PAREN BIT(3)  /* Enable SCSI Parity */
#define  ACTL_IRQEN BIT(4)  /* Enable interrupts */
#define  ACTL_CLRFIRQ BIT(5)  /* Clear Forced interrupt */
#define  ACTL_FIFOWR BIT(6)  /* FIFO Direction (1=write) */
#define  ACTL_FIFOEN BIT(7)  /* Enable FIFO */
#define REG_ID_LSB  5 /* R: ID Code (LSB) */
#define REG_ACTL2  5 /* Adapter Control 2 - (@) */
#define  ACTL2_RAMOVRLY BIT(0)  /* Enable RAM overlay */
#define  ACTL2_SLEEP BIT(7)  /* Sleep mode */
#define REG_ID_MSB  6 /* R: ID Code (MSB) */
#define REG_LOOPBACK  7 /* R/W: Loopback */
#define REG_SCSI_DATA_NOACK 8 /* R/W: SCSI Data (no ACK) */
#define REG_ASTAT3  9 /* R: Adapter Status 3 */
#define  ASTAT3_ACTDEASS BIT(0)  /* Active deassert enabled */
#define  ASTAT3_RAMOVRLY BIT(1)  /* RAM overlay enabled */
#define  ASTAT3_TARGERR BIT(2)  /* Target error */
#define  ASTAT3_IRQEN BIT(3)  /* Interrupts enabled */
#define  ASTAT3_IRQMASK 0xf0  /* Enabled interrupts mask */
#define REG_CFG1  10 /* R: Configuration Register 1 */
#define  CFG1_BUS BIT(0)  /* 0 = ISA */
#define  CFG1_IRQ_MASK 0x0e  /* IRQ jumpers */
#define  CFG1_IO_MASK 0x30  /* I/O base jumpers */
#define  CFG1_BIOS_MASK 0xc0  /* BIOS base jumpers */
#define REG_CFG2  11 /* R/W: Configuration Register 2 (@) */
#define  CFG2_ROMDIS BIT(0)  /* ROM disabled */
#define  CFG2_RAMDIS BIT(1)  /* RAM disabled */
#define  CFG2_IRQEDGE BIT(2)  /* Edge-triggered interrupts */
#define  CFG2_NOWS BIT(3)  /* No wait states */
#define  CFG2_32BIT BIT(7)  /* 32-bit mode */
#define REG_FIFO  12 /* R/W: FIFO */
#define REG_FIFO_COUNT  14 /* R: FIFO Data Count */

#ifdef CONFIG_PM_SLEEP
static const struct dev_pm_ops __maybe_unused fdomain_pm_ops;
#define FDOMAIN_PM_OPS (&fdomain_pm_ops)
#else
#define FDOMAIN_PM_OPS NULL
#endif /* CONFIG_PM_SLEEP */

struct Scsi_Host *fdomain_create(int base, int irq, int this_id,
     struct device *dev);
int fdomain_destroy(struct Scsi_Host *sh);

Messung V0.5
C=95 H=92 G=93

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.