Lines Matching refs:index

178 static uint8_t ide_read_reg8(struct device *dev, int index);
179 static uint16_t ide_read_reg16(struct device *dev, int index);
180 static uint32_t ide_read_reg32(struct device *dev, int index);
182 static void ide_write_reg8(struct device *dev, int index, uint8_t value);
183 static void ide_write_reg16(struct device *dev, int index, uint16_t value);
184 static void ide_write_reg32(struct device *dev, int index, uint32_t value);
186 static void ide_read_reg8_array(struct device *dev, int index, void *buf, size_t count);
187 static void ide_read_reg16_array(struct device *dev, int index, void *buf, size_t count);
188 static void ide_read_reg32_array(struct device *dev, int index, void *buf, size_t count);
190 static void ide_write_reg8_array(struct device *dev, int index, const void *buf, size_t count);
191 static void ide_write_reg16_array(struct device *dev, int index, const void *buf, size_t count);
192 static void ide_write_reg32_array(struct device *dev, int index, const void *buf, size_t count);
194 static void ide_device_select(struct device *dev, int index);
201 static int ide_detect_ata(struct device *dev, int index);
202 static void ide_lba_setup(struct device *dev, uint32_t addr, int index);
331 int index = 0; // hard code drive for now in ide_write() local
335 ide_device_select(dev, index); in ide_write()
360 ide_lba_setup(dev, offset, index); in ide_write()
415 int index = 0; // hard code drive for now in ide_read() local
419 ide_device_select(dev, index); in ide_read()
444 ide_lba_setup(dev, offset, index); in ide_read()
491 static uint8_t ide_read_reg8(struct device *dev, int index) { in ide_read_reg8() argument
492 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg8()
496 return inp(state->regs[index]); in ide_read_reg8()
499 static uint16_t ide_read_reg16(struct device *dev, int index) { in ide_read_reg16() argument
500 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg16()
504 return inpw(state->regs[index]); in ide_read_reg16()
507 static uint32_t ide_read_reg32(struct device *dev, int index) { in ide_read_reg32() argument
508 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg32()
512 return inpd(state->regs[index]); in ide_read_reg32()
515 static void ide_read_reg8_array(struct device *dev, int index, void *buf, size_t count) { in ide_read_reg8_array() argument
516 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg8_array()
520 inprep(state->regs[index], (uint8_t *) buf, count); in ide_read_reg8_array()
523 static void ide_read_reg16_array(struct device *dev, int index, void *buf, size_t count) { in ide_read_reg16_array() argument
524 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg16_array()
528 inpwrep(state->regs[index], (uint16_t *) buf, count); in ide_read_reg16_array()
531 static void ide_read_reg32_array(struct device *dev, int index, void *buf, size_t count) { in ide_read_reg32_array() argument
532 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_read_reg32_array()
536 inpdrep(state->regs[index], (uint32_t *) buf, count); in ide_read_reg32_array()
539 static void ide_write_reg8_array(struct device *dev, int index, const void *buf, size_t count) { in ide_write_reg8_array() argument
540 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg8_array()
544 outprep(state->regs[index], (uint8_t *) buf, count); in ide_write_reg8_array()
547 static void ide_write_reg16_array(struct device *dev, int index, const void *buf, size_t count) { in ide_write_reg16_array() argument
548 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg16_array()
552 outpwrep(state->regs[index], (uint16_t *) buf, count); in ide_write_reg16_array()
555 static void ide_write_reg32_array(struct device *dev, int index, const void *buf, size_t count) { in ide_write_reg32_array() argument
556 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg32_array()
560 outpdrep(state->regs[index], (uint32_t *) buf, count); in ide_write_reg32_array()
563 static void ide_write_reg8(struct device *dev, int index, uint8_t value) { in ide_write_reg8() argument
564 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg8()
568 outp(state->regs[index], value); in ide_write_reg8()
571 static void ide_write_reg16(struct device *dev, int index, uint16_t value) { in ide_write_reg16() argument
572 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg16()
576 outpw(state->regs[index], value); in ide_write_reg16()
579 static void ide_write_reg32(struct device *dev, int index, uint32_t value) { in ide_write_reg32() argument
580 DEBUG_ASSERT(index >= 0 && index < IDE_REG_NUM); in ide_write_reg32()
584 outpd(state->regs[index], value); in ide_write_reg32()
587 static void ide_device_select(struct device *dev, int index) { in ide_device_select() argument
588 ide_write_reg8(dev, IDE_REG_DRIVE_HEAD, (index & 1) << 4); in ide_device_select()
826 static status_t ide_detect_ata(struct device *dev, int index) { in ide_detect_ata() argument
832 ide_device_select(dev, index); in ide_detect_ata()
837 LTRACEF("Error while detecting drive %d: %s\n", index, ide_error_str[err]); in ide_detect_ata()
842 ide_device_select(dev, index); in ide_detect_ata()
847 LTRACEF("Error while detecting drive %d: %s\n", index, ide_error_str[err]); in ide_detect_ata()
873 LTRACEF("Found ATA hard disk on channel %d!\n", index); in ide_detect_ata()
879 state->drive[index].sectors = lba28_sectors; in ide_detect_ata()
880 state->drive[index].sector_size = 512; in ide_detect_ata()
895 state->drive[index].sectors = cyls * heads * sectors; in ide_detect_ata()
896 state->drive[index].sector_size = 512; in ide_detect_ata()
899 …, "ide: Disk %d supports %u sectors for a total of %u bytes\n", index, state->drive[index].sectors, in ide_detect_ata()
900 state->drive[index].sectors * 512); in ide_detect_ata()