Linux AHCI PRD allocation -
i hardware developer creating ahci interface embedded system. know prd dma data created , allocated prds. sata uses dwords assuming data aligned multiples of 4 bytes. dont have experience of linux grateful if can point me in right direction.
thanks
ahci controller acts data movement engine between system memory , sata devices. take read operation example, rough sequence follows:
- software "builds" command in memory(command header, command table, , corresponding prds)
- software issues command configuring port register, pxci(and pxsact if ncq)
- ahci controller fetch , process command(including data transfer...)
- software interrupt service called process command completion
- software read prds device content
prd entries created/allocated software(driver) , can located/retrieved via command table, is, hardware can locate command table retrieve prd entries. besides, ahci spec defines both prd address , byte count word-aligned(minimum)
Comments
Post a Comment