Why CCC(Command Completion Coalescing) test failed ?
Posted: Thu Sep 06, 2012 2:40 am
Dear all,
I have one question about the testing of AHCI's CCC(Command Completion Coalescing) function...
According to AHCI spec v1.3, chapter 11:
My expected results will be:
I want to know if this scenario is correct or not
I have one question about the testing of AHCI's CCC(Command Completion Coalescing) function...
According to AHCI spec v1.3, chapter 11:
After reading the doc I setup a testing scenario:Command Completion Coalescing (CCC) is a feature designed to reduce the interrupt and command completion overhead in a heavily loaded system. The feature enables the number of interrupts taken per completion to be reduced significantly, while ensuring a minimum quality of service for command completions.
- 1. Disable CCC_CTL.EN first(to update CCC_CTL.CC field)
- 2. Set CCC_PORTS = 0x00000001, indicating Port0 is part of the CCC feature
- 3. Set CCC_CTL.CC = 5, indicating the number of command completions that are necessary to cause a CCC interrupt
- 4. Set CCC_CTL.EN = 1 to enable this feature
- 5. Issue 5 FPDMA Write Queued commands to device and observe the IS.IPS(32bits)
My expected results will be:
- Issue 1st command to device...
- After command complete IS.IPS[6] = 0
- Issue 2nd command to device...
- After command complete IS.IPS[6] = 0
- Issue 3rd command to device...
- After command complete IS.IPS[6] = 0
- Issue 4th command to device...
- After command complete IS.IPS[6] = 0
- Issue 5th command to device...
- After command complete IS.IPS[6] = 1
I want to know if this scenario is correct or not