Skip to contentSkip to conversation

libata: separate out ata_dev_read_id()

PATCH Jeff Garzik 2 participants 3 messages Feb 21, 2006 – Feb 28, 2006 1 message not in the archive libata

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 15 lines · Tejun Heo

Separate out ata_dev_read_id() from ata_dev_identify(). This is the first half of splitting ata_dev_identify(). ata_dev_read_id() will also be used for revalidation. This patch does not make any behavior change.

ata_dev_read_id() doesn't modify any of libata-internal data structures. It simply reads IDENTIFY page and returns error code on failure. INIT_DEV_PARAMS and EDD wrong class code are also handled by this function.

Re-reading IDENTIFY after INIT_DEV_PARAMS is performed by jumping to
retry: instead of calling ata_dev_reread_id(). This is done because
1. there's retry label anyway 2. ata_dev_reread_id() cannot be used anywhere else so there's no reason to keep it.

Quoted 7 lines

This function is probably the place to set transfer mode to PIO0 before IDENTIFY. However, reset -> identify -> init_dev_params order should be kept for pre-ATA4 devices so we cannot set transfer mode before IDENTIFY for them. How do we know if a device is post-ATA4 before IDENTIFY?

applied 1-2, will get to the rest a bit later, after other work and some testing of this work.

Jeff

#2 lore raw
Quoted 23 lines · Jeff Garzik
Quoted 21 lines · Tejun Heo

Separate out ata_dev_read_id() from ata_dev_identify(). This is the first half of splitting ata_dev_identify(). ata_dev_read_id() will also be used for revalidation. This patch does not make any behavior change.

ata_dev_read_id() doesn't modify any of libata-internal data structures. It simply reads IDENTIFY page and returns error code on failure. INIT_DEV_PARAMS and EDD wrong class code are also handled by this function.

Re-reading IDENTIFY after INIT_DEV_PARAMS is performed by jumping to
retry: instead of calling ata_dev_reread_id(). This is done because
1. there's retry label anyway 2. ata_dev_reread_id() cannot be used anywhere else so there's no reason to keep it.

This function is probably the place to set transfer mode to PIO0 before IDENTIFY. However, reset -> identify -> init_dev_params order should be kept for pre-ATA4 devices so we cannot set transfer mode before IDENTIFY for them. How do we know if a device is post-ATA4 before IDENTIFY?

Quoted 4 lines
Quoted 1 line

applied 1-2, will get to the rest a bit later, after other work and some testing of this work.

Hello, Jeff.

How is this going? Just checking as it's been more than a week.

Signature · 1 line
tejun
#3 lore raw
Quoted 1 line · Tejun Heo

How is this going? Just checking as it's been more than a week.

Broken FUA etc has taken precedence... 2.6.16-rc is far more important than 2.6.17.

Jeff