• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/ide/

Lines Matching refs:hwif

39 	ide_hwif_t			*hwif;
96 bool ide_port_acpi(ide_hwif_t *hwif)
98 return ide_noacpi == 0 && hwif->acpidata;
162 * ide_acpi_hwif_get_handle - Get ACPI object handle for a given hwif
163 * @hwif: device to locate
165 * Retrieves the object handle for a given hwif.
169 static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif)
171 struct device *dev = hwif->gendev.parent;
177 DEBPRINT("ENTER: device %s\n", hwif->name);
180 DEBPRINT("no PCI device for %s\n", hwif->name);
192 /* channel is hwif->channel */
193 chan_handle = acpi_get_child(dev_handle, hwif->channel);
195 hwif->channel, chan_handle);
381 * @hwif: target IDE interface (channel)
386 void ide_acpi_get_timing(ide_hwif_t *hwif)
397 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_GTM",
437 memcpy(&hwif->acpidata->gtm, out_obj->buffer.pointer,
445 hwif->acpidata->gtm.PIO_speed0,
446 hwif->acpidata->gtm.DMA_speed0,
447 hwif->acpidata->gtm.PIO_speed1,
448 hwif->acpidata->gtm.DMA_speed1,
449 hwif->acpidata->gtm.GTM_flags);
456 * @hwif: target IDE interface (channel)
464 void ide_acpi_push_timing(ide_hwif_t *hwif)
469 struct ide_acpi_drive_link *master = &hwif->acpidata->master;
470 struct ide_acpi_drive_link *slave = &hwif->acpidata->slave;
479 in_params[0].buffer.pointer = (u8 *)&hwif->acpidata->gtm;
488 status = acpi_evaluate_object(hwif->acpidata->obj_handle, "_STM",
499 * @hwif: target IDE interface
505 void ide_acpi_set_state(ide_hwif_t *hwif, int on)
517 acpi_bus_set_power(hwif->acpidata->obj_handle, ACPI_STATE_D0);
519 ide_port_for_each_present_dev(i, drive, hwif) {
526 acpi_bus_set_power(hwif->acpidata->obj_handle, ACPI_STATE_D3);
531 * @hwif: target IDE interface (channel)
540 void ide_acpi_init_port(ide_hwif_t *hwif)
542 hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL);
543 if (!hwif->acpidata)
546 hwif->acpidata->obj_handle = ide_acpi_hwif_get_handle(hwif);
547 if (!hwif->acpidata->obj_handle) {
548 DEBPRINT("no ACPI object for %s found\n", hwif->name);
549 kfree(hwif->acpidata);
550 hwif->acpidata = NULL;
554 void ide_acpi_port_init_devices(ide_hwif_t *hwif)
559 if (hwif->acpidata == NULL)
567 hwif->devices[0]->acpidata = &hwif->acpidata->master;
568 hwif->devices[1]->acpidata = &hwif->acpidata->slave;
571 ide_port_for_each_present_dev(i, drive, hwif) {
575 drive->name, hwif->channel, drive->dn & 1);
578 dev_handle = acpi_get_child(hwif->acpidata->obj_handle,
587 ide_port_for_each_present_dev(i, drive, hwif) {
600 ide_acpi_set_state(hwif, 1);
604 ide_acpi_get_timing(hwif);
605 ide_acpi_push_timing(hwif);
607 ide_port_for_each_present_dev(i, drive, hwif) {