| /kernel/linux/linux-4.19/drivers/ide/ |
| D | ide-disk.c | 56 static void ide_tf_set_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 dma) in ide_tf_set_cmd() argument 68 if (drive->mult_count) { in ide_tf_set_cmd() 82 static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq, in __ide_do_rw_disk() argument 85 ide_hwif_t *hwif = drive->hwif; in __ide_do_rw_disk() 87 u8 lba48 = !!(drive->dev_flags & IDE_DFLAG_LBA48); in __ide_do_rw_disk() 88 u8 dma = !!(drive->dev_flags & IDE_DFLAG_USING_DMA); in __ide_do_rw_disk() 104 if (drive->dev_flags & IDE_DFLAG_LBA) { in __ide_do_rw_disk() 106 pr_debug("%s: LBA=0x%012llx\n", drive->name, in __ide_do_rw_disk() 136 track = (int)block / drive->sect; in __ide_do_rw_disk() 137 sect = (int)block % drive->sect + 1; in __ide_do_rw_disk() [all …]
|
| D | ide-gd.c | 40 if (ide_device_get(idkp->drive)) in ide_disk_get() 51 ide_drive_t *drive = idkp->drive; in ide_disk_put() local 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 68 struct ide_disk_obj *idkp = drive->driver_data; in ide_gd_remove() 71 ide_proc_unregister_driver(drive, idkp->driver); in ide_gd_remove() 74 drive->disk_ops->flush(drive); in ide_gd_remove() 84 ide_drive_t *drive = idkp->drive; in ide_disk_release() local [all …]
|
| D | ide-atapi.c | 27 static inline int dev_is_idecd(ide_drive_t *drive) in dev_is_idecd() argument 29 return drive->media == ide_cdrom || drive->media == ide_optical; in dev_is_idecd() 36 int ide_check_atapi_device(ide_drive_t *drive, const char *s) in ide_check_atapi_device() argument 38 u16 *id = drive->id; in ide_check_atapi_device() 51 if (drive->media == ide_floppy && device_type == 5 && in ide_check_atapi_device() 59 s, drive->name, protocol); in ide_check_atapi_device() 60 else if ((drive->media == ide_floppy && device_type != 0) || in ide_check_atapi_device() 61 (drive->media == ide_tape && device_type != 1)) in ide_check_atapi_device() 63 s, drive->name, device_type); in ide_check_atapi_device() 66 s, drive->name); in ide_check_atapi_device() [all …]
|
| D | ide-dma.c | 28 * for supplying a Promise UDMA board & WD UDMA drive for this work! 70 { "CD-ROM Drive/F5A", NULL }, 74 { "ATAPI CD-ROM DRIVE 40X MAXIMUM", NULL }, 85 * @drive: the drive the interrupt is for 91 ide_startstop_t ide_dma_intr(ide_drive_t *drive) in ide_dma_intr() argument 93 ide_hwif_t *hwif = drive->hwif; in ide_dma_intr() 97 drive->waiting_for_dma = 0; in ide_dma_intr() 98 dma_stat = hwif->dma_ops->dma_end(drive); in ide_dma_intr() 99 ide_dma_unmap_sg(drive, cmd); in ide_dma_intr() 102 if (OK_STAT(stat, DRIVE_READY, drive->bad_wstat | ATA_DRQ)) { in ide_dma_intr() [all …]
|
| D | ide-eh.c | 7 static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, in ide_ata_error() argument 10 ide_hwif_t *hwif = drive->hwif; in ide_ata_error() 13 ((stat & ATA_DF) && (drive->dev_flags & IDE_DFLAG_NOWERR) == 0)) { in ide_ata_error() 19 if ((drive->dev_flags & IDE_DFLAG_LBA) && in ide_ata_error() 25 drive->crc_count++; in ide_ata_error() 37 int nsect = drive->mult_count ? drive->mult_count : 1; in ide_ata_error() 39 ide_pad_transfer(drive, READ, nsect * SECTOR_SIZE); in ide_ata_error() 43 ide_kill_rq(drive, rq); in ide_ata_error() 52 return ide_do_reset(drive); in ide_ata_error() 56 drive->special_flags |= IDE_SFLAG_RECALIBRATE; in ide_ata_error() [all …]
|
| D | ide-probe.c | 43 * generic_id - add a generic drive id 44 * @drive: drive to make an ID block for 46 * Add a fake id field to the drive we are passed. This allows 48 * and make drive properties unconditional outside of this file 51 static void generic_id(ide_drive_t *drive) in generic_id() argument 53 u16 *id = drive->id; in generic_id() 55 id[ATA_ID_CUR_CYLS] = id[ATA_ID_CYLS] = drive->cyl; in generic_id() 56 id[ATA_ID_CUR_HEADS] = id[ATA_ID_HEADS] = drive->head; in generic_id() 57 id[ATA_ID_CUR_SECTORS] = id[ATA_ID_SECTORS] = drive->sect; in generic_id() 60 static void ide_disk_init_chs(ide_drive_t *drive) in ide_disk_init_chs() argument [all …]
|
| D | ide-io.c | 57 int ide_end_rq(ide_drive_t *drive, struct request *rq, blk_status_t error, in ide_end_rq() argument 64 if ((drive->dev_flags & IDE_DFLAG_DMA_PIO_RETRY) && in ide_end_rq() 65 drive->retry_pio <= 3) { in ide_end_rq() 66 drive->dev_flags &= ~IDE_DFLAG_DMA_PIO_RETRY; in ide_end_rq() 67 ide_dma_on(drive); in ide_end_rq() 74 void ide_complete_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 stat, u8 err) in ide_complete_cmd() argument 76 const struct ide_tp_ops *tp_ops = drive->hwif->tp_ops; in ide_complete_cmd() 87 tp_ops->input_data(drive, cmd, data, 2); in ide_complete_cmd() 93 ide_tf_readback(drive, cmd); in ide_complete_cmd() 99 drive->name); in ide_complete_cmd() [all …]
|
| D | ide-floppy.c | 58 * The following delay solves a problem with ATAPI Zip 100 drive where BSY bit 63 static int ide_floppy_callback(ide_drive_t *drive, int dsc) in ide_floppy_callback() argument 65 struct ide_disk_obj *floppy = drive->driver_data; in ide_floppy_callback() 66 struct ide_atapi_pc *pc = drive->pc; in ide_floppy_callback() 72 if (drive->failed_pc == pc) in ide_floppy_callback() 73 drive->failed_pc = NULL; in ide_floppy_callback() 89 if (drive->failed_pc) in ide_floppy_callback() 91 drive->failed_pc->c[0]); in ide_floppy_callback() 118 floppy->drive->name, pc->c[0], floppy->sense_key, in ide_floppy_report_error() 123 static ide_startstop_t ide_floppy_issue_pc(ide_drive_t *drive, in ide_floppy_issue_pc() argument [all …]
|
| D | ide-xfer-mode.c | 50 * ide_get_best_pio_mode - get PIO mode from drive 51 * @drive: drive to consider 55 * This routine returns the recommended PIO settings for a given drive, 56 * based on the drive->id information and the ide_pio_blacklist[]. 58 * Drive PIO mode is auto-selected if 255 is passed as mode_wanted. 62 static u8 ide_get_best_pio_mode(ide_drive_t *drive, u8 mode_wanted, u8 max_mode) in ide_get_best_pio_mode() argument 64 u16 *id = drive->id; in ide_get_best_pio_mode() 70 if ((drive->hwif->host_flags & IDE_HFLAG_PIO_NO_BLACKLIST) == 0) in ide_get_best_pio_mode() 74 printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); in ide_get_best_pio_mode() 101 drive->name); in ide_get_best_pio_mode() [all …]
|
| D | ide-tape.c | 141 ide_drive_t *drive; member 244 if (ide_device_get(tape->drive)) in ide_tape_get() 256 ide_drive_t *drive = tape->drive; in ide_tape_put() local 260 ide_device_put(drive); in ide_tape_put() 268 static void idetape_analyze_error(ide_drive_t *drive) in idetape_analyze_error() argument 270 idetape_tape_t *tape = drive->driver_data; in idetape_analyze_error() 271 struct ide_atapi_pc *pc = drive->failed_pc; in idetape_analyze_error() 272 struct request *rq = drive->hwif->rq; in idetape_analyze_error() 326 static int ide_tape_callback(ide_drive_t *drive, int dsc) in ide_tape_callback() argument 328 idetape_tape_t *tape = drive->driver_data; in ide_tape_callback() [all …]
|
| D | ide-pm.c | 8 ide_drive_t *drive = to_ide_device(dev); in generic_ide_suspend() local 9 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_suspend() 10 ide_hwif_t *hwif = drive->hwif; in generic_ide_suspend() 17 if ((drive->dn & 1) == 0 || pair == NULL) in generic_ide_suspend() 22 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0); in generic_ide_suspend() 30 blk_execute_rq(drive->queue, NULL, rq, 0); in generic_ide_suspend() 36 if ((drive->dn & 1) || pair == NULL) in generic_ide_suspend() 75 ide_drive_t *drive = to_ide_device(dev); in generic_ide_resume() local 76 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_resume() 77 ide_hwif_t *hwif = drive->hwif; in generic_ide_resume() [all …]
|
| /kernel/linux/linux-5.10/drivers/ide/ |
| D | ide-disk.c | 56 static void ide_tf_set_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 dma) in ide_tf_set_cmd() argument 68 if (drive->mult_count) { in ide_tf_set_cmd() 82 static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq, in __ide_do_rw_disk() argument 85 ide_hwif_t *hwif = drive->hwif; in __ide_do_rw_disk() 87 u8 lba48 = !!(drive->dev_flags & IDE_DFLAG_LBA48); in __ide_do_rw_disk() 88 u8 dma = !!(drive->dev_flags & IDE_DFLAG_USING_DMA); in __ide_do_rw_disk() 104 if (drive->dev_flags & IDE_DFLAG_LBA) { in __ide_do_rw_disk() 106 pr_debug("%s: LBA=0x%012llx\n", drive->name, in __ide_do_rw_disk() 136 track = (int)block / drive->sect; in __ide_do_rw_disk() 137 sect = (int)block % drive->sect + 1; in __ide_do_rw_disk() [all …]
|
| D | ide-atapi.c | 28 static inline int dev_is_idecd(ide_drive_t *drive) in dev_is_idecd() argument 30 return drive->media == ide_cdrom || drive->media == ide_optical; in dev_is_idecd() 37 int ide_check_atapi_device(ide_drive_t *drive, const char *s) in ide_check_atapi_device() argument 39 u16 *id = drive->id; in ide_check_atapi_device() 52 if (drive->media == ide_floppy && device_type == 5 && in ide_check_atapi_device() 60 s, drive->name, protocol); in ide_check_atapi_device() 61 else if ((drive->media == ide_floppy && device_type != 0) || in ide_check_atapi_device() 62 (drive->media == ide_tape && device_type != 1)) in ide_check_atapi_device() 64 s, drive->name, device_type); in ide_check_atapi_device() 67 s, drive->name); in ide_check_atapi_device() [all …]
|
| D | ide-gd.c | 41 if (ide_device_get(idkp->drive)) in ide_disk_get() 52 ide_drive_t *drive = idkp->drive; in ide_disk_put() local 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() 67 static void ide_gd_remove(ide_drive_t *drive) in ide_gd_remove() argument 69 struct ide_disk_obj *idkp = drive->driver_data; in ide_gd_remove() 72 ide_proc_unregister_driver(drive, idkp->driver); in ide_gd_remove() 75 drive->disk_ops->flush(drive); in ide_gd_remove() 85 ide_drive_t *drive = idkp->drive; in ide_disk_release() local [all …]
|
| D | ide-dma.c | 28 * for supplying a Promise UDMA board & WD UDMA drive for this work! 70 { "CD-ROM Drive/F5A", NULL }, 74 { "ATAPI CD-ROM DRIVE 40X MAXIMUM", NULL }, 85 * @drive: the drive the interrupt is for 91 ide_startstop_t ide_dma_intr(ide_drive_t *drive) in ide_dma_intr() argument 93 ide_hwif_t *hwif = drive->hwif; in ide_dma_intr() 97 drive->waiting_for_dma = 0; in ide_dma_intr() 98 dma_stat = hwif->dma_ops->dma_end(drive); in ide_dma_intr() 99 ide_dma_unmap_sg(drive, cmd); in ide_dma_intr() 102 if (OK_STAT(stat, DRIVE_READY, drive->bad_wstat | ATA_DRQ)) { in ide_dma_intr() [all …]
|
| D | ide-eh.c | 8 static ide_startstop_t ide_ata_error(ide_drive_t *drive, struct request *rq, in ide_ata_error() argument 11 ide_hwif_t *hwif = drive->hwif; in ide_ata_error() 14 ((stat & ATA_DF) && (drive->dev_flags & IDE_DFLAG_NOWERR) == 0)) { in ide_ata_error() 20 if ((drive->dev_flags & IDE_DFLAG_LBA) && in ide_ata_error() 26 drive->crc_count++; in ide_ata_error() 38 int nsect = drive->mult_count ? drive->mult_count : 1; in ide_ata_error() 40 ide_pad_transfer(drive, READ, nsect * SECTOR_SIZE); in ide_ata_error() 44 ide_kill_rq(drive, rq); in ide_ata_error() 53 return ide_do_reset(drive); in ide_ata_error() 57 drive->special_flags |= IDE_SFLAG_RECALIBRATE; in ide_ata_error() [all …]
|
| D | ide-probe.c | 44 * generic_id - add a generic drive id 45 * @drive: drive to make an ID block for 47 * Add a fake id field to the drive we are passed. This allows 49 * and make drive properties unconditional outside of this file 52 static void generic_id(ide_drive_t *drive) in generic_id() argument 54 u16 *id = drive->id; in generic_id() 56 id[ATA_ID_CUR_CYLS] = id[ATA_ID_CYLS] = drive->cyl; in generic_id() 57 id[ATA_ID_CUR_HEADS] = id[ATA_ID_HEADS] = drive->head; in generic_id() 58 id[ATA_ID_CUR_SECTORS] = id[ATA_ID_SECTORS] = drive->sect; in generic_id() 61 static void ide_disk_init_chs(ide_drive_t *drive) in ide_disk_init_chs() argument [all …]
|
| D | ide-io.c | 57 int ide_end_rq(ide_drive_t *drive, struct request *rq, blk_status_t error, in ide_end_rq() argument 64 if ((drive->dev_flags & IDE_DFLAG_DMA_PIO_RETRY) && in ide_end_rq() 65 drive->retry_pio <= 3) { in ide_end_rq() 66 drive->dev_flags &= ~IDE_DFLAG_DMA_PIO_RETRY; in ide_end_rq() 67 ide_dma_on(drive); in ide_end_rq() 71 if (rq == drive->sense_rq) { in ide_end_rq() 72 drive->sense_rq = NULL; in ide_end_rq() 73 drive->sense_rq_active = false; in ide_end_rq() 84 void ide_complete_cmd(ide_drive_t *drive, struct ide_cmd *cmd, u8 stat, u8 err) in ide_complete_cmd() argument 86 const struct ide_tp_ops *tp_ops = drive->hwif->tp_ops; in ide_complete_cmd() [all …]
|
| D | ide-floppy.c | 59 * The following delay solves a problem with ATAPI Zip 100 drive where BSY bit 64 static int ide_floppy_callback(ide_drive_t *drive, int dsc) in ide_floppy_callback() argument 66 struct ide_disk_obj *floppy = drive->driver_data; in ide_floppy_callback() 67 struct ide_atapi_pc *pc = drive->pc; in ide_floppy_callback() 73 if (drive->failed_pc == pc) in ide_floppy_callback() 74 drive->failed_pc = NULL; in ide_floppy_callback() 90 if (drive->failed_pc) in ide_floppy_callback() 92 drive->failed_pc->c[0]); in ide_floppy_callback() 119 floppy->drive->name, pc->c[0], floppy->sense_key, in ide_floppy_report_error() 124 static ide_startstop_t ide_floppy_issue_pc(ide_drive_t *drive, in ide_floppy_issue_pc() argument [all …]
|
| D | ide-pm.c | 8 ide_drive_t *drive = to_ide_device(dev); in generic_ide_suspend() local 9 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_suspend() 10 ide_hwif_t *hwif = drive->hwif; in generic_ide_suspend() 17 if ((drive->dn & 1) == 0 || pair == NULL) in generic_ide_suspend() 22 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0); in generic_ide_suspend() 30 blk_execute_rq(drive->queue, NULL, rq, 0); in generic_ide_suspend() 36 if ((drive->dn & 1) || pair == NULL) in generic_ide_suspend() 60 ide_drive_t *drive = to_ide_device(dev); in generic_ide_resume() local 61 ide_drive_t *pair = ide_get_pair_dev(drive); in generic_ide_resume() 62 ide_hwif_t *hwif = drive->hwif; in generic_ide_resume() [all …]
|
| D | ide-xfer-mode.c | 51 * ide_get_best_pio_mode - get PIO mode from drive 52 * @drive: drive to consider 56 * This routine returns the recommended PIO settings for a given drive, 57 * based on the drive->id information and the ide_pio_blacklist[]. 59 * Drive PIO mode is auto-selected if 255 is passed as mode_wanted. 63 static u8 ide_get_best_pio_mode(ide_drive_t *drive, u8 mode_wanted, u8 max_mode) in ide_get_best_pio_mode() argument 65 u16 *id = drive->id; in ide_get_best_pio_mode() 71 if ((drive->hwif->host_flags & IDE_HFLAG_PIO_NO_BLACKLIST) == 0) in ide_get_best_pio_mode() 75 printk(KERN_INFO "%s: is on PIO blacklist\n", drive->name); in ide_get_best_pio_mode() 102 drive->name); in ide_get_best_pio_mode() [all …]
|
| D | ide-tape.c | 142 ide_drive_t *drive; member 245 if (ide_device_get(tape->drive)) in ide_tape_get() 257 ide_drive_t *drive = tape->drive; in ide_tape_put() local 261 ide_device_put(drive); in ide_tape_put() 269 static void idetape_analyze_error(ide_drive_t *drive) in idetape_analyze_error() argument 271 idetape_tape_t *tape = drive->driver_data; in idetape_analyze_error() 272 struct ide_atapi_pc *pc = drive->failed_pc; in idetape_analyze_error() 273 struct request *rq = drive->hwif->rq; in idetape_analyze_error() 327 static int ide_tape_callback(ide_drive_t *drive, int dsc) in ide_tape_callback() argument 329 idetape_tape_t *tape = drive->driver_data; in ide_tape_callback() [all …]
|
| D | ide-taskfile.c | 29 void ide_tf_readback(ide_drive_t *drive, struct ide_cmd *cmd) in ide_tf_readback() argument 31 ide_hwif_t *hwif = drive->hwif; in ide_tf_readback() 37 tp_ops->tf_read(drive, &cmd->tf, cmd->valid.in.tf); in ide_tf_readback() 42 tp_ops->tf_read(drive, &cmd->hob, cmd->valid.in.hob); in ide_tf_readback() 59 int taskfile_lib_get_identify(ide_drive_t *drive, u8 *buf) in taskfile_lib_get_identify() argument 65 if (drive->media == ide_disk) in taskfile_lib_get_identify() 73 return ide_raw_taskfile(drive, &cmd, buf, 1); in taskfile_lib_get_identify() 80 ide_startstop_t do_rw_taskfile(ide_drive_t *drive, struct ide_cmd *orig_cmd) in do_rw_taskfile() argument 82 ide_hwif_t *hwif = drive->hwif; in do_rw_taskfile() 91 drive->mult_count == 0) { in do_rw_taskfile() [all …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/ |
| D | msm8916-pins.dtsi | 13 drive-strength = <16>; 21 drive-strength = <2>; 29 drive-strength = <16>; 37 drive-strength = <2>; 45 drive-strength = <12>; 52 drive-strength = <16>; 62 drive-strength = <2>; 70 drive-strength = <12>; 77 drive-strength = <16>; 87 drive-strength = <2>; [all …]
|
| D | msm8996-pins.dtsi | 17 drive-strength = <2>; /* 2 mA */ 32 drive-strength = <16>; 44 drive-strength = <16>; 62 drive-strength = <12>; 67 drive-strength = <16>; 80 drive-strength = <2>; 92 drive-strength = <16>; 104 drive-strength = <2>; 116 drive-strength = <16>; 128 drive-strength = <2>; [all …]
|