㥳ޥȯԡ
wdc_exec_command
	ata_exec_xfer
		atastart
			c_start = __wdccommand_start
				__wdccommand_intr
					datain_pio = wdc_datain_pio
					__wdccommand_done

㥳ޥȯԳߡ
wdcintr
	xfer->c_intr = __wdccommand_intr
		__wdccommand_done
			__wdccommand_done_end

DMA
atabusconfig
	atac_set_modes = piix3_4_setup_channel
		pciide_channel_dma_setup
			pciide_dma_table_setup
				bus_dmamem_alloc = _bus_dmamem_alloc
				bus_dmamem_map = _bus_dmamem_map

IOϡ
wdstrategy
	__wdstart
		ata_bio = wdc_ata_bio
			ata_exec_xfer
				atastart
					c_start = wdc_ata_bio_start
						_wdc_ata_bio_start
							wdc->dma_init = pciide_dma_init
								pciide_dma_dmamap_setup
							wdc->dma_start = pciide_dma_start
							wdc_wait_for_ready = wdcwait

IOλߡ
pciide_compat_intr
	wdcintr
		wdc->dma_finish = pciide_dma_finish
			bus_dmamap_sync
			bus_dmamap_unload
		xfer->c_intr = wdc_ata_bio_intr
			wdc_ata_bio_done
				chp->ch_drive[drive].drv_done = wddone
			atastart

ATAPI
wdc_atapibus_attach
	atapibusattach
		atapi_probe_bus
			atapi_probe_device = wdc_atapi_probe_device
				scsipi_lookup_periph

ATAPI IOϡ
cdstrategy
	cdstart
		scsipi_execute_xs
			scsipi_run_queue
				scsipi_adapter_reques (adapt_request = wdc_atapi_scsipi_request)
					ata_exec_xfer
						atastart
							c_start = wdc_atapi_start
