Lines Matching refs:hwif
39 ide_hwif_t *hwif; member
96 bool ide_port_acpi(ide_hwif_t *hwif) in ide_port_acpi() argument
98 return ide_noacpi == 0 && hwif->acpidata; in ide_port_acpi()
180 static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif) in ide_acpi_hwif_get_handle() argument
182 struct device *dev = hwif->gendev.parent; in ide_acpi_hwif_get_handle()
188 DEBPRINT("ENTER: device %s\n", hwif->name); in ide_acpi_hwif_get_handle()
191 DEBPRINT("no PCI device for %s\n", hwif->name); in ide_acpi_hwif_get_handle()
204 chan_handle = acpi_get_child(dev_handle, hwif->channel); in ide_acpi_hwif_get_handle()
206 hwif->channel, chan_handle); in ide_acpi_hwif_get_handle()
397 void ide_acpi_get_timing(ide_hwif_t *hwif) in ide_acpi_get_timing() argument
408 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_GTM", in ide_acpi_get_timing()
448 memcpy(&hwif->acpidata->gtm, out_obj->buffer.pointer, in ide_acpi_get_timing()
456 hwif->acpidata->gtm.PIO_speed0, in ide_acpi_get_timing()
457 hwif->acpidata->gtm.DMA_speed0, in ide_acpi_get_timing()
458 hwif->acpidata->gtm.PIO_speed1, in ide_acpi_get_timing()
459 hwif->acpidata->gtm.DMA_speed1, in ide_acpi_get_timing()
460 hwif->acpidata->gtm.GTM_flags); in ide_acpi_get_timing()
475 void ide_acpi_push_timing(ide_hwif_t *hwif) in ide_acpi_push_timing() argument
480 struct ide_acpi_drive_link *master = &hwif->acpidata->master; in ide_acpi_push_timing()
481 struct ide_acpi_drive_link *slave = &hwif->acpidata->slave; in ide_acpi_push_timing()
490 in_params[0].buffer.pointer = (u8 *)&hwif->acpidata->gtm; in ide_acpi_push_timing()
499 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_STM", in ide_acpi_push_timing()
516 void ide_acpi_set_state(ide_hwif_t *hwif, int on) in ide_acpi_set_state() argument
528 acpi_bus_set_power(hwif->acpidata->obj_handle, ACPI_STATE_D0); in ide_acpi_set_state()
530 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_set_state()
537 acpi_bus_set_power(hwif->acpidata->obj_handle, in ide_acpi_set_state()
552 void ide_acpi_init_port(ide_hwif_t *hwif) in ide_acpi_init_port() argument
554 hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL); in ide_acpi_init_port()
555 if (!hwif->acpidata) in ide_acpi_init_port()
558 hwif->acpidata->obj_handle = ide_acpi_hwif_get_handle(hwif); in ide_acpi_init_port()
559 if (!hwif->acpidata->obj_handle) { in ide_acpi_init_port()
560 DEBPRINT("no ACPI object for %s found\n", hwif->name); in ide_acpi_init_port()
561 kfree(hwif->acpidata); in ide_acpi_init_port()
562 hwif->acpidata = NULL; in ide_acpi_init_port()
566 void ide_acpi_port_init_devices(ide_hwif_t *hwif) in ide_acpi_port_init_devices() argument
571 if (hwif->acpidata == NULL) in ide_acpi_port_init_devices()
579 hwif->devices[0]->acpidata = &hwif->acpidata->master; in ide_acpi_port_init_devices()
580 hwif->devices[1]->acpidata = &hwif->acpidata->slave; in ide_acpi_port_init_devices()
583 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()
587 drive->name, hwif->channel, drive->dn & 1); in ide_acpi_port_init_devices()
590 dev_handle = acpi_get_child(hwif->acpidata->obj_handle, in ide_acpi_port_init_devices()
599 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()
612 ide_acpi_set_state(hwif, 1); in ide_acpi_port_init_devices()
616 ide_acpi_get_timing(hwif); in ide_acpi_port_init_devices()
617 ide_acpi_push_timing(hwif); in ide_acpi_port_init_devices()
619 ide_port_for_each_present_dev(i, drive, hwif) { in ide_acpi_port_init_devices()