| /kernel/linux/linux-5.10/drivers/ide/ |
| D | ide-xfer-mode.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 * ide_xfer_verbose - return IDE mode names 22 * @mode: transfer mode 24 * Returns a constant string giving the name of the mode 28 const char *ide_xfer_verbose(u8 mode) in ide_xfer_verbose() argument 31 u8 i = mode & 0xf; in ide_xfer_verbose() 33 if (mode >= XFER_UDMA_0 && mode <= XFER_UDMA_7) in ide_xfer_verbose() 35 else if (mode >= XFER_MW_DMA_0 && mode <= XFER_MW_DMA_4) in ide_xfer_verbose() 37 else if (mode >= XFER_SW_DMA_0 && mode <= XFER_SW_DMA_2) in ide_xfer_verbose() 39 else if (mode >= XFER_PIO_0 && mode <= XFER_PIO_6) in ide_xfer_verbose() [all …]
|
| D | ide-dma.c | 2 * IDE DMA support (including IDE PCI BM-DMA). 4 * Copyright (C) 1995-1998 Mark Lord 5 * Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org> 21 * Thanks to "Benoit Poulot-Cazajous" <poulot@chorus.fr> for testing 25 * at generic DMA -- his patches were referred to when preparing this code. 28 * for supplying a Promise UDMA board & WD UDMA drive for this work! 37 #include <linux/dma-mapping.h> 42 { "CONNER CTT8000-A" , NULL }, 55 { "Compaq CRD-8241B" , NULL }, 56 { "CRD-8400B" , NULL }, [all …]
|
| D | it821x.c | 12 * modes. In pass through mode then it is an IDE controller. In its smart 13 * mode its actually quite a capable hardware raid controller disguised 14 * as an IDE controller. Smart mode only understands DMA read/write and 16 * in other respects but lacks the raid mode. 24 * o If you write LBA48 sized I/O's (ie > 256 sector) in smart mode 26 * o Smart mode without RAID doesn't clear all the necessary identify 30 * - In pass through mode we do all the work you would expect 31 * - In smart mode the clocking set up is done by the controller generally 33 * - There are a few extra vendor commands that actually talk to the 36 * Vendor areas of the identify block in smart mode are used for the [all …]
|
| D | ide-gd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #include "ide-disk.h" 21 #include "ide-floppy.h" 41 if (ide_device_get(idkp->drive)) in ide_disk_get() 44 get_device(&idkp->dev); in ide_disk_get() 52 ide_drive_t *drive = idkp->drive; in ide_disk_put() local 55 put_device(&idkp->dev); in ide_disk_put() 56 ide_device_put(drive); in ide_disk_put() 60 sector_t ide_gd_capacity(ide_drive_t *drive) in ide_gd_capacity() argument 62 return drive->capacity64; in ide_gd_capacity() [all …]
|
| D | ide-floppy_ioctl.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ide-floppy IOCTLs handling. 16 #include "ide-floppy.h" 38 static int ide_floppy_get_format_capacities(ide_drive_t *drive, in ide_floppy_get_format_capacities() argument 42 struct ide_disk_obj *floppy = drive->driver_data; in ide_floppy_get_format_capacities() 48 return -EFAULT; in ide_floppy_get_format_capacities() 51 return -EINVAL; in ide_floppy_get_format_capacities() 55 if (ide_queue_pc_tail(drive, floppy->disk, pc, pc_buf, pc->req_xfer)) { in ide_floppy_get_format_capacities() 56 printk(KERN_ERR "ide-floppy: Can't get floppy parameters\n"); in ide_floppy_get_format_capacities() 57 return -EIO; in ide_floppy_get_format_capacities() [all …]
|
| D | sc1200.c | 2 * Copyright (C) 2000-2002 Mark Lord <mlord@pobox.com> 66 * Here are the standard PIO mode 0-4 timings for each "format". 67 * Format-0 uses fast data reg timings, with slower command reg timings. 68 * Format-1 uses fast timings for all registers, but won't work with all drives. 81 static void sc1200_tunepio(ide_drive_t *drive, u8 pio) in sc1200_tunepio() argument 83 ide_hwif_t *hwif = drive->hwif; in sc1200_tunepio() 84 struct pci_dev *pdev = to_pci_dev(hwif->dev); in sc1200_tunepio() 85 unsigned int basereg = hwif->channel ? 0x50 : 0x40, format = 0; in sc1200_tunepio() 91 pci_write_config_dword(pdev, basereg + ((drive->dn & 1) << 3), in sc1200_tunepio() 98 * different timings can still be chosen for each drive. We could [all …]
|
| D | sis5513.c | 2 * Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org> 5 * Copyright (C) 2007-2009 Bartlomiej Zolnierkiewicz 32 * or SiS5596, we can assume we see the first MWDMA-16 capable SiS5513 chip. 41 * ID, while the now ATA-133 capable 5513 still has the same PCI ID. 43 * bits, changing its device id to the true one - 5517 for 961 and 5518 for 110 Indexed by chipset_family and (dma_mode - XFER_UDMA_0) */ 115 static u8 cycle_time_value[][XFER_UDMA_6 - XFER_UDMA_0 + 1] = { 128 static u8 cvs_time_value[][XFER_UDMA_6 - XFER_UDMA_0 + 1] = { 140 for PIO0/1/2/3/4 and DMA0/1/2 mode in order */ 187 static u8 sis_ata133_get_base(ide_drive_t *drive) in sis_ata133_get_base() argument [all …]
|
| D | tc86c001.c | 3 * Copyright (C) 2005-2006 MontaVista Software, Inc. <source@mvista.com> 17 static void tc86c001_set_mode(ide_hwif_t *hwif, ide_drive_t *drive) in tc86c001_set_mode() argument 19 unsigned long scr_port = hwif->config_data + (drive->dn ? 0x02 : 0x00); in tc86c001_set_mode() 20 u16 mode, scr = inw(scr_port); in tc86c001_set_mode() local 21 const u8 speed = drive->dma_mode; in tc86c001_set_mode() 24 case XFER_UDMA_4: mode = 0x00c0; break; in tc86c001_set_mode() 25 case XFER_UDMA_3: mode = 0x00b0; break; in tc86c001_set_mode() 26 case XFER_UDMA_2: mode = 0x00a0; break; in tc86c001_set_mode() 27 case XFER_UDMA_1: mode = 0x0090; break; in tc86c001_set_mode() 28 case XFER_UDMA_0: mode = 0x0080; break; in tc86c001_set_mode() [all …]
|
| D | siimage.c | 2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 4 * Copyright (C) 2007-2008 MontaVista Software, Inc. 5 * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz 10 * http://gkernel.sourceforge.net/specs/sii/sii-0680a-v1.31.pdf.bz2 13 * http://gkernel.sourceforge.net/specs/sii/3112A_SiI-DS-0095-B2.pdf.bz2 19 * If you are using Marvell SATA-IDE adapters with Maxtor drives 23 * drive to "Single". "Master" will hang. 35 * - VDMA support 48 * pdev_is_sata - check if device is SATA 57 switch (pdev->device) { in pdev_is_sata() [all …]
|
| D | ht6560b.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 1995-2000 Linus Torvalds & author (see below) 7 * HT-6560B EIDE-controller support 9 * Use hdparm utility to enable PIO mode support. 11 * Author: Mikko Ala-Fossi <maf@iki.fi> 35 * The special i/o-port that HT-6560B uses to configuration: 40 * The special i/o-port that HT-6560A uses to configuration: 43 * bit2 (0x04): "0" enables multi-master system (?) 48 static inline u8 HT_CONFIG(ide_drive_t *drive) in HT_CONFIG() argument 50 return ((unsigned long)ide_get_drivedata(drive) & 0xff00) >> 8; in HT_CONFIG() [all …]
|
| D | sl82c105.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Drive tuning added from Rebel.com's kernel sources 8 * -- Russell King (15/11/98) linux@arm.linux.org.uk 12 * -- Benjamin Herrenschmidt (01/11/03) benh@kernel.crashing.org 14 * Copyright (C) 2006-2007,2009 MontaVista Software, Inc. <source@mvista.com> 40 * Convert a PIO mode and cycle time to the required on/off times 43 static unsigned int get_pio_timings(ide_drive_t *drive, u8 pio) in get_pio_timings() argument 49 cmd_on = (t->active + 29) / 30; in get_pio_timings() 50 cmd_off = (ide_pio_cycle_time(drive, pio) - 30 * cmd_on + 29) / 30; in get_pio_timings() 58 if (ide_pio_need_iordy(drive, pio)) in get_pio_timings() [all …]
|
| /kernel/linux/linux-4.19/drivers/ide/ |
| D | ide-xfer-mode.c | 20 * ide_xfer_verbose - return IDE mode names 21 * @mode: transfer mode 23 * Returns a constant string giving the name of the mode 27 const char *ide_xfer_verbose(u8 mode) in ide_xfer_verbose() argument 30 u8 i = mode & 0xf; in ide_xfer_verbose() 32 if (mode >= XFER_UDMA_0 && mode <= XFER_UDMA_7) in ide_xfer_verbose() 34 else if (mode >= XFER_MW_DMA_0 && mode <= XFER_MW_DMA_4) in ide_xfer_verbose() 36 else if (mode >= XFER_SW_DMA_0 && mode <= XFER_SW_DMA_2) in ide_xfer_verbose() 38 else if (mode >= XFER_PIO_0 && mode <= XFER_PIO_6) in ide_xfer_verbose() 40 else if (mode == XFER_PIO_SLOW) in ide_xfer_verbose() [all …]
|
| D | ide-dma.c | 2 * IDE DMA support (including IDE PCI BM-DMA). 4 * Copyright (C) 1995-1998 Mark Lord 5 * Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org> 21 * Thanks to "Benoit Poulot-Cazajous" <poulot@chorus.fr> for testing 25 * at generic DMA -- his patches were referred to when preparing this code. 28 * for supplying a Promise UDMA board & WD UDMA drive for this work! 37 #include <linux/dma-mapping.h> 42 { "CONNER CTT8000-A" , NULL }, 55 { "Compaq CRD-8241B" , NULL }, 56 { "CRD-8400B" , NULL }, [all …]
|
| D | it821x.c | 12 * modes. In pass through mode then it is an IDE controller. In its smart 13 * mode its actually quite a capable hardware raid controller disguised 14 * as an IDE controller. Smart mode only understands DMA read/write and 16 * in other respects but lacks the raid mode. 24 * o If you write LBA48 sized I/O's (ie > 256 sector) in smart mode 26 * o Smart mode without RAID doesn't clear all the necessary identify 30 * - In pass through mode we do all the work you would expect 31 * - In smart mode the clocking set up is done by the controller generally 33 * - There are a few extra vendor commands that actually talk to the 36 * Vendor areas of the identify block in smart mode are used for the [all …]
|
| D | ide-gd.c | 19 #include "ide-disk.h" 20 #include "ide-floppy.h" 40 if (ide_device_get(idkp->drive)) in ide_disk_get() 43 get_device(&idkp->dev); in ide_disk_get() 51 ide_drive_t *drive = idkp->drive; in ide_disk_put() local 54 put_device(&idkp->dev); in ide_disk_put() 55 ide_device_put(drive); in ide_disk_put() 59 sector_t ide_gd_capacity(ide_drive_t *drive) in ide_gd_capacity() argument 61 return drive->capacity64; in ide_gd_capacity() 66 static void ide_gd_remove(ide_drive_t *drive) in ide_gd_remove() argument [all …]
|
| D | sc1200.c | 2 * Copyright (C) 2000-2002 Mark Lord <mlord@pobox.com> 66 * Here are the standard PIO mode 0-4 timings for each "format". 67 * Format-0 uses fast data reg timings, with slower command reg timings. 68 * Format-1 uses fast timings for all registers, but won't work with all drives. 81 static void sc1200_tunepio(ide_drive_t *drive, u8 pio) in sc1200_tunepio() argument 83 ide_hwif_t *hwif = drive->hwif; in sc1200_tunepio() 84 struct pci_dev *pdev = to_pci_dev(hwif->dev); in sc1200_tunepio() 85 unsigned int basereg = hwif->channel ? 0x50 : 0x40, format = 0; in sc1200_tunepio() 91 pci_write_config_dword(pdev, basereg + ((drive->dn & 1) << 3), in sc1200_tunepio() 98 * different timings can still be chosen for each drive. We could [all …]
|
| D | sis5513.c | 2 * Copyright (C) 1999-2000 Andre Hedrick <andre@linux-ide.org> 5 * Copyright (C) 2007-2009 Bartlomiej Zolnierkiewicz 32 * or SiS5596, we can assume we see the first MWDMA-16 capable SiS5513 chip. 41 * ID, while the now ATA-133 capable 5513 still has the same PCI ID. 43 * bits, changing its device id to the true one - 5517 for 961 and 5518 for 110 Indexed by chipset_family and (dma_mode - XFER_UDMA_0) */ 115 static u8 cycle_time_value[][XFER_UDMA_6 - XFER_UDMA_0 + 1] = { 128 static u8 cvs_time_value[][XFER_UDMA_6 - XFER_UDMA_0 + 1] = { 140 for PIO0/1/2/3/4 and DMA0/1/2 mode in order */ 187 static u8 sis_ata133_get_base(ide_drive_t *drive) in sis_ata133_get_base() argument [all …]
|
| D | tc86c001.c | 3 * Copyright (C) 2005-2006 MontaVista Software, Inc. <source@mvista.com> 17 static void tc86c001_set_mode(ide_hwif_t *hwif, ide_drive_t *drive) in tc86c001_set_mode() argument 19 unsigned long scr_port = hwif->config_data + (drive->dn ? 0x02 : 0x00); in tc86c001_set_mode() 20 u16 mode, scr = inw(scr_port); in tc86c001_set_mode() local 21 const u8 speed = drive->dma_mode; in tc86c001_set_mode() 24 case XFER_UDMA_4: mode = 0x00c0; break; in tc86c001_set_mode() 25 case XFER_UDMA_3: mode = 0x00b0; break; in tc86c001_set_mode() 26 case XFER_UDMA_2: mode = 0x00a0; break; in tc86c001_set_mode() 27 case XFER_UDMA_1: mode = 0x0090; break; in tc86c001_set_mode() 28 case XFER_UDMA_0: mode = 0x0080; break; in tc86c001_set_mode() [all …]
|
| D | siimage.c | 2 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> 4 * Copyright (C) 2007-2008 MontaVista Software, Inc. 5 * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz 10 * http://gkernel.sourceforge.net/specs/sii/sii-0680a-v1.31.pdf.bz2 13 * http://gkernel.sourceforge.net/specs/sii/3112A_SiI-DS-0095-B2.pdf.bz2 19 * If you are using Marvell SATA-IDE adapters with Maxtor drives 23 * drive to "Single". "Master" will hang. 35 * - VDMA support 48 * pdev_is_sata - check if device is SATA 57 switch (pdev->device) { in pdev_is_sata() [all …]
|
| D | ht6560b.c | 2 * Copyright (C) 1995-2000 Linus Torvalds & author (see below) 6 * HT-6560B EIDE-controller support 8 * Use hdparm utility to enable PIO mode support. 10 * Author: Mikko Ala-Fossi <maf@iki.fi> 34 * The special i/o-port that HT-6560B uses to configuration: 39 * The special i/o-port that HT-6560A uses to configuration: 42 * bit2 (0x04): "0" enables multi-master system (?) 47 static inline u8 HT_CONFIG(ide_drive_t *drive) in HT_CONFIG() argument 49 return ((unsigned long)ide_get_drivedata(drive) & 0xff00) >> 8; in HT_CONFIG() 53 * FIFO + PREFETCH (both a/b-model) [all …]
|
| D | ide-floppy_ioctl.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ide-floppy IOCTLs handling. 15 #include "ide-floppy.h" 37 static int ide_floppy_get_format_capacities(ide_drive_t *drive, in ide_floppy_get_format_capacities() argument 41 struct ide_disk_obj *floppy = drive->driver_data; in ide_floppy_get_format_capacities() 47 return -EFAULT; in ide_floppy_get_format_capacities() 50 return -EINVAL; in ide_floppy_get_format_capacities() 54 if (ide_queue_pc_tail(drive, floppy->disk, pc, pc_buf, pc->req_xfer)) { in ide_floppy_get_format_capacities() 55 printk(KERN_ERR "ide-floppy: Can't get floppy parameters\n"); in ide_floppy_get_format_capacities() 56 return -EIO; in ide_floppy_get_format_capacities() [all …]
|
| D | sl82c105.c | 6 * Drive tuning added from Rebel.com's kernel sources 7 * -- Russell King (15/11/98) linux@arm.linux.org.uk 11 * -- Benjamin Herrenschmidt (01/11/03) benh@kernel.crashing.org 13 * Copyright (C) 2006-2007,2009 MontaVista Software, Inc. <source@mvista.com> 39 * Convert a PIO mode and cycle time to the required on/off times 42 static unsigned int get_pio_timings(ide_drive_t *drive, u8 pio) in get_pio_timings() argument 48 cmd_on = (t->active + 29) / 30; in get_pio_timings() 49 cmd_off = (ide_pio_cycle_time(drive, pio) - 30 * cmd_on + 29) / 30; in get_pio_timings() 57 if (ide_pio_need_iordy(drive, pio)) in get_pio_timings() 60 return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy; in get_pio_timings() [all …]
|
| /kernel/linux/linux-4.19/Documentation/scsi/ |
| D | st.txt | 11 to any specific tape drive. The tape parameters can be specified with 16 flexible method and applicable to single-user workstations. However, 23 new tape is loaded into the drive or if writing begins at the 25 drive performs auto-detection of the tape format well (like some 26 QIC-drives). The result is that any tape can be read, writing can be 29 for the first time). The first method is applicable if the drive 30 does not perform auto-detection well enough and there is a single 31 "sensible" mode for the device. An example is a DAT drive that is 32 used only in variable block mode (I don't know if this is sensible 33 or not :-). [all …]
|
| /kernel/linux/linux-5.10/Documentation/scsi/ |
| D | st.rst | 1 .. SPDX-License-Identifier: GPL-2.0 18 to any specific tape drive. The tape parameters can be specified with 23 flexible method and applicable to single-user workstations. However, 30 new tape is loaded into the drive or if writing begins at the 32 drive performs auto-detection of the tape format well (like some 33 QIC-drives). The result is that any tape can be read, writing can be 36 for the first time). The first method is applicable if the drive 37 does not perform auto-detection well enough and there is a single 38 "sensible" mode for the device. An example is a DAT drive that is 39 used only in variable block mode (I don't know if this is sensible [all …]
|
| /kernel/linux/linux-4.19/Documentation/ioctl/ |
| D | hdio.txt | 9 the HD/IDE layer. These are by-and-large implemented (as of Linux 2.6) 20 HDIO_GET_QDMA get use-qdma flag 23 HDIO_GET_KEEPSETTINGS get keep-settings-on-reset flag 25 HDIO_GET_NOWERR get ignore-write-error flag 26 HDIO_GET_DMA get use-dma flag 29 HDIO_GET_WCACHE get write cache mode on|off 31 HDIO_GET_ADDRESS get sector addressing mode 36 HDIO_DRIVE_TASK execute task and special drive command 37 HDIO_DRIVE_CMD execute a special drive command 40 ioctls that pass non-pointer values: [all …]
|