Patrick Georgi ([email protected]) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/192
-gerrit commit c6906e35334a7383706cb5933d688292f39c8de8 Author: Patrick Georgi <[email protected]> Date: Tue Aug 24 11:07:21 2010 +0200 Unlock ATAPI devices on boot This makes CD/DVD drives accessible that were locked prior to a reboot. Change-Id: I4f2a0ddafac2debe0a1564904f37025850cc519e Signed-off-by: Patrick Georgi <[email protected]> --- drivers/ide_new.c | 13 +++++++++++++ drivers/ide_new.h | 1 + 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/drivers/ide_new.c b/drivers/ide_new.c index 4f612be..e034d6e 100644 --- a/drivers/ide_new.c +++ b/drivers/ide_new.c @@ -658,6 +658,19 @@ ob_ide_atapi_drive_ready(struct ide_drive *drive) return 1; } + /* clear Persistent Prevent State */ + memset (cmd, 0, sizeof(*cmd)); + cmd->cdb[0] = ATAPI_PREVENT_ALLOW_MEDIUM_REMOVAL; + cmd->cdb[2] = 2; + if (ob_ide_atapi_packet(drive, cmd)) + printf("could not persistently unlock device\n"); + + /* clear Prevent State */ + memset (cmd, 0, sizeof(*cmd)); + cmd->cdb[0] = ATAPI_PREVENT_ALLOW_MEDIUM_REMOVAL; + if (ob_ide_atapi_packet(drive, cmd)) + printf("could not unlock device\n"); + /* * finally, get capacity and block size */ diff --git a/drivers/ide_new.h b/drivers/ide_new.h index 8d3979a..f667e41 100644 --- a/drivers/ide_new.h +++ b/drivers/ide_new.h @@ -70,6 +70,7 @@ #define ATAPI_READ_10 0x28 #define ATAPI_REQ_SENSE 0x03 #define ATAPI_START_STOP_UNIT 0x1b +#define ATAPI_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e #define ATAPI_READ_CAPACITY 0x25 /* -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

