Lines Matching refs:hwif

38 	ide_hwif_t			*hwif;  member
95 bool ide_port_acpi(ide_hwif_t *hwif) in ide_port_acpi() argument
97 return ide_noacpi == 0 && hwif->acpidata; in ide_port_acpi()
179 static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif) in ide_acpi_hwif_get_handle() argument
181 struct device *dev = hwif->gendev.parent; in ide_acpi_hwif_get_handle()
187 DEBPRINT("ENTER: device %s\n", hwif->name); in ide_acpi_hwif_get_handle()
190 DEBPRINT("no PCI device for %s\n", hwif->name); in ide_acpi_hwif_get_handle()
203 chan_handle = acpi_get_child(dev_handle, hwif->channel); in ide_acpi_hwif_get_handle()
205 hwif->channel, chan_handle); in ide_acpi_hwif_get_handle()
396 void ide_acpi_get_timing(ide_hwif_t *hwif) in ide_acpi_get_timing() argument
407 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_GTM", in ide_acpi_get_timing()
447 memcpy(&hwif->acpidata->gtm, out_obj->buffer.pointer, in ide_acpi_get_timing()
455 hwif->acpidata->gtm.PIO_speed0, in ide_acpi_get_timing()
456 hwif->acpidata->gtm.DMA_speed0, in ide_acpi_get_timing()
457 hwif->acpidata->gtm.PIO_speed1, in ide_acpi_get_timing()
458 hwif->acpidata->gtm.DMA_speed1, in ide_acpi_get_timing()
459 hwif->acpidata->gtm.GTM_flags); in ide_acpi_get_timing()
474 void ide_acpi_push_timing(ide_hwif_t *hwif) in ide_acpi_push_timing() argument
479 struct ide_acpi_drive_link *master = &hwif->acpidata->master; in ide_acpi_push_timing()
480 struct ide_acpi_drive_link *slave = &hwif->acpidata->slave; in ide_acpi_push_timing()
489 in_params[0].buffer.pointer = (u8 *)&hwif->acpidata->gtm; in ide_acpi_push_timing()
498 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_STM", in ide_acpi_push_timing()
515 void ide_acpi_set_state(ide_hwif_t *hwif, int on) in ide_acpi_set_state() argument
527 acpi_bus_set_power(hwif->acpidata->obj_handle, ACPI_STATE_D0); in ide_acpi_set_state()
529 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_set_state()
536 acpi_bus_set_power(hwif->acpidata->obj_handle, in ide_acpi_set_state()
551 void ide_acpi_init_port(ide_hwif_t *hwif) in ide_acpi_init_port() argument
553 hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL); in ide_acpi_init_port()
554 if (!hwif->acpidata) in ide_acpi_init_port()
557 hwif->acpidata->obj_handle = ide_acpi_hwif_get_handle(hwif); in ide_acpi_init_port()
558 if (!hwif->acpidata->obj_handle) { in ide_acpi_init_port()
559 DEBPRINT("no ACPI object for %s found\n", hwif->name); in ide_acpi_init_port()
560 kfree(hwif->acpidata); in ide_acpi_init_port()
561 hwif->acpidata = NULL; in ide_acpi_init_port()
565 void ide_acpi_port_init_devices(ide_hwif_t *hwif) in ide_acpi_port_init_devices() argument
570 if (hwif->acpidata == NULL) in ide_acpi_port_init_devices()
578 hwif->devices[0]->acpidata = &hwif->acpidata->master; in ide_acpi_port_init_devices()
579 hwif->devices[1]->acpidata = &hwif->acpidata->slave; in ide_acpi_port_init_devices()
582 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()
586 drive->name, hwif->channel, drive->dn & 1); in ide_acpi_port_init_devices()
589 dev_handle = acpi_get_child(hwif->acpidata->obj_handle, in ide_acpi_port_init_devices()
598 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()
611 ide_acpi_set_state(hwif, 1); in ide_acpi_port_init_devices()
615 ide_acpi_get_timing(hwif); in ide_acpi_port_init_devices()
616 ide_acpi_push_timing(hwif); in ide_acpi_port_init_devices()
618 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()