> I think that I may have found what the issue is.
> The specs from the drive is:
> - Read/Write 7.50 Watts
> - Idle             4.00 Watts
> - Standby    0.97 Watts
> - Sleep            0.97 Watts
> 
> Reading through
> usr/src/uts/intel/io/dktp/controller/ata/ata_cmd.h
> and 
> src/uts/intel/io/dktp/controller/ata/ata_disk.c I see
> that the actual command is ATC_IDLE (line 742).

Yes, and I think ATC_IDLE is correct...


> reading through page 135 
> http://www.seagate.com/support/disc/manuals/ata/d1153r17.pdf
> I see that Idle also could mean standby ... right? Or not?

The way I understand it: 

There are two ATA commands, IDLE (E3h) and STANDBY (E2h).

Each of those two commands does two things:  
1. transition the device to either idle (E3h command) or standby mode (E2h)
2. (optional:) set the drive's "standby timer"

There is only one timer, the standby timer (i.e. there is no
"idle timer"), and both the E3 and E2 command can be used
to set that standby timer.

All the ata_disk_set_standby_timer() function is trying to do
is change the "standby timer", 2. above.  During system boot,
when the standby timer is set we don't want the drive to enter
standby mode immediately [*], so the IDLE (ATC_IDLE E3h)
command is used.


[*] With the snv_77 putback for 6455736 "ata/dadk/cmdk should support
DDI_SUSPEND/DDI_RESUME" ATA HDDs do in fact enter idle mode
during boot, but that should be fixed in snv_93 with the putback for
6706366 "ata: ata_power() needlessly dampens the enthusiasm of
some disk drives" (or the duplicate 6622965 "ata_power(PM_LEVEL_D0)
stops ata disks, instead of changing to D0 fully on")
--
This message posted from opensolaris.org

Reply via email to