All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert Lee <albertcc@tw.ibm.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Mark Lord <mlord@pobox.com>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	Linux IDE <linux-ide@vger.kernel.org>,
	Doug Maxey <dwm@maxeymade.com>, Tejun Heo <htejun@gmail.com>,
	Brett Russ <russb@emc.com>, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH/RFC 4/4] irq-pio: add read/write multiple support
Date: Tue, 04 Oct 2005 20:00:25 +0800	[thread overview]
Message-ID: <43426ED9.8030004@tw.ibm.com> (raw)
In-Reply-To: <43424EC6.2040100@pobox.com>

Jeff,

> Mark Lord wrote:
>
>> Albert Lee wrote:
>>
>>> Patch 4/4: add read/write multiple support
>>>
>>
>> One "fine point" when programming the R/W MULT commands
>> is to remember that each register access is very costly
>> in terms of processor time.
>>
>> So whenever an access can be done with 28-bit LBA,
>> it should not use the EXT versions of the instructions,
>> even though the device may be LBA48 capable.
>>
>> The various drivers I have written for Linux and other OSs
>> that deal with this always logic equivalen to this somewhere:
>>
>> if (lba_sector < (1<<28) && sector_count <= 256) {
>>     use LBA28
>> } else if (device is lba48 capable) {
>>     use LBA48
>> } else {
>>     error
>> }
>
>
> Alan lists this on his PATA should-do list, too.
>
> Since this is legacy hardware, I am a bit skeptical about doing this 
> -- and also 32-bit PIO, which is in the same category -- because this 
> increases the amount of code we have to deal with, for the same basic 
> function.  For rarely-hit situations, I don't mind paying some 
> performance penalty if it reduces long term maintenance.  I am willing 
> to push some ancient platforms in the "slow but working" category, to 
> keep the code small and easier to review/debug/maintain.
>
> That said, it should be simple enough to push the logic into 
> libata-scsi.c, where it translates a SCSI READ/WRITE command into an 
> ATA read/write command.  Patches welcome...
>
I would like to work on the LBA28/LBA48 translation. Please withdraw the 
r/w multiple patch 4/4 for the moment since it might conflict with it.
Thanks.

Albert


  reply	other threads:[~2005-10-04 12:00 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-09 16:14 [PATCH RFC] libata: interrupt driven pio Albert Lee
2005-09-09 17:35 ` Jeff Garzik
2005-09-09 18:14   ` Doug Maxey
2005-09-22  4:00   ` [PATCH/RFC 0/3] libata: interrupt driven pio (revised) Albert Lee
2005-09-22  4:09     ` [PATCH/RFC 1/3] libata: interrupt driven pio for libata-core Albert Lee
2005-09-23  9:25       ` Albert Lee
2005-09-22  4:11     ` [PATCH/RFC 2/3] libata: rename task states/variables Albert Lee
2005-09-23  9:34       ` Albert Lee
2005-09-22  4:14     ` [PATCH/RFC 3/3] libata: interrupt driven pio for LLD Albert Lee
2005-09-22 12:56       ` Mark Lord
2005-09-23  2:40         ` Albert Lee
2005-09-23  9:46     ` [PATCH/RFC 0/3] libata: interrupt driven pio (revised) Jeff Garzik
2005-09-27  9:31       ` [PATCH/RFC 0/4] libata: interrupt driven pio (revised 2) Albert Lee
2005-09-27  9:34         ` [PATCH/RFC 1/4] libata: indent and whitespace change Albert Lee
2005-09-27  9:36         ` [PATCH/RFC 2/4] libata: rename host states Albert Lee
2005-09-28 15:59           ` Jeff Garzik
2005-09-27  9:38         ` [PATCH/RFC 3/4] libata: interrupt driven pio for libata-core Albert Lee
2005-09-28 16:09           ` Jeff Garzik
2005-09-29 10:08           ` Bartlomiej Zolnierkiewicz
2005-09-30  8:02             ` Albert Lee
2005-09-30  9:28               ` Bartlomiej Zolnierkiewicz
2005-09-30 11:28                 ` Albert Lee
2005-09-30 12:00                   ` Bartlomiej Zolnierkiewicz
2005-09-30 11:04             ` [PATCH/RFC 0/4] libata: irq driven pio follow-up patches Albert Lee
2005-09-30 11:07               ` [PATCH/RFC 1/4] irq-pio: add comments and cleanup Albert Lee
2005-09-30 11:09               ` [PATCH/RFC 2/4] irq-pio: rename atapi_packet_task() and comments Albert Lee
2005-09-30 11:11               ` [PATCH/RFC 3/4] irq-pio: simplify if condition in ata_dataout_task() Albert Lee
2005-09-30 11:14               ` [PATCH/RFC 4/4] irq-pio: cleanup ata_qc_issue_prot() Albert Lee
2005-09-30 11:21               ` [PATCH/RFC 0/4] libata: irq driven pio follow-up patches Jeff Garzik
2005-10-03 11:46                 ` [PATCH/RFC 0/4] libata: more " Albert Lee
2005-10-03 13:00                   ` [PATCH/RFC 1/4] irq-pio: move functions Albert Lee
2005-10-03 13:02                   ` [PATCH/RFC 2/4] irq-pio: remove ap->dataout_task Albert Lee
2005-10-04 10:09                     ` Jeff Garzik
2005-10-04 11:54                       ` Albert Lee
2005-10-03 13:18                   ` [PATCH/RFC 3/4] irq-pio: integrate ata_pio_first_block() with ata_pio_task() Albert Lee
2005-10-04 10:10                     ` Jeff Garzik
2005-10-03 13:19                   ` [PATCH/RFC 4/4] irq-pio: add read/write multiple support Albert Lee
2005-10-03 13:35                     ` Mark Lord
2005-10-04  9:43                       ` Jeff Garzik
2005-10-04 12:00                         ` Albert Lee [this message]
2005-10-04 12:07                           ` Jeff Garzik
2005-10-04 12:22                             ` [PATCH/RFC 0/4] libata: CHS follow-up patches Albert Lee
2005-10-04 12:27                               ` [PATCH/RFC 1/4] CHS: white space beautification Albert Lee
2005-10-04 12:49                                 ` Jeff Garzik
2005-10-04 12:29                               ` [PATCH/RFC 2/4] CHS: tidy up SCSI lba and transfer length calculation Albert Lee
2005-10-04 12:30                               ` [PATCH/RFC 3/4] CHS: add CHS support to ata_scsi_start_stop_xlat() Albert Lee
2005-10-04 12:34                               ` [PATCH/RFC 4/4] CHS: calculate LBA28/LBA48 commands and protocol on the fly Albert Lee
2005-10-04 12:52                                 ` Jeff Garzik
2005-10-05 11:16                                   ` [PATCH/RFC 0/4] libata: more CHS follow-up patches Albert Lee
2005-10-05 11:20                                     ` [PATCH/RFC 1/4] CHS: move the initialization of taskfile LBA flags Albert Lee
2005-10-05 11:23                                     ` [PATCH/RFC 2/4] CHS: calculate read/write commands and protocol on the fly Albert Lee
2005-10-05 11:25                                     ` [PATCH/RFC 3/4] CHS: support overriding the ata_rwcmd_protocol() function Albert Lee
2005-10-05 11:27                                     ` [PATCH/RFC 4/4] CHS: optimize LBA28/LBA48 usage Albert Lee
2005-10-05 11:59                                     ` [PATCH/RFC 1/4] CHS: move the initialization of taskfile LBA flags (resend) Albert Lee
2005-10-05 12:02                                     ` [PATCH/RFC 2/4] CHS: calculate read/write commands and protocol on the fly (resend) Albert Lee
2005-10-05 12:03                                     ` [PATCH/RFC 3/4] CHS: support overriding the ata_rwcmd_protocol() function (resend) Albert Lee
2005-10-05 12:04                                     ` [PATCH/RFC 4/4] CHS: optimize LBA28/LBA48 usage (resend) Albert Lee
2005-10-06 11:26                                     ` [PATCH/RFC 0/4] libata: more CHS follow-up patches Jeff Garzik
2005-10-07  6:53                                       ` [PATCH 0/3] libata: CHS follow-up patches (resend #2) Albert Lee
2005-10-07  6:58                                         ` [PATCH 1/3] CHS: move the initialization of taskfile LBA flags Albert Lee
2005-10-07  7:01                                         ` [PATCH 2/3] CHS: calculate read/write commands and protocol on the fly Albert Lee
2005-10-07  7:04                                         ` [PATCH 3/3] CHS: LBA28/LBA48 optimization Albert Lee
2005-10-07  8:32                                         ` [PATCH 0/3] libata: CHS follow-up patches (resend #4) Albert Lee
2005-10-07  8:34                                           ` [PATCH 1/3] CHS: move the initialization of taskfile LBA flags " Albert Lee
2005-10-07  8:36                                           ` [PATCH 2/3] CHS: calculate read/write commands and protocol on the fly " Albert Lee
2005-10-07  8:37                                           ` [PATCH 3/3] CHS: LBA28/LBA48 optimization " Albert Lee
2005-10-09 13:41                                           ` [PATCH 0/3] libata: CHS follow-up patches " Jeff Garzik
2005-10-11 11:05                                             ` [PATCH 0/4] libata: CHS follow-up patches (resend #5) Albert Lee
2005-10-11 11:09                                               ` [PATCH 1/4] CHS: move the initialization of taskfile LBA flags " Albert Lee
2005-10-11 11:11                                               ` [PATCH 2/4] CHS: calculate read/write commands and protocol on the fly " Albert Lee
2005-10-11 11:21                                               ` [PATCH 4/4] CHS: LBA28/LBA48 optimization " Albert Lee
2005-10-11 13:09                                                 ` Mark Lord
2005-10-11 13:12                                                 ` Mark Lord
2005-10-12  5:05                                                   ` Albert Lee
2005-10-04 15:48                                 ` [PATCH/RFC 4/4] CHS: calculate LBA28/LBA48 commands and protocol on the fly Alan Cox
2005-10-04 10:19                     ` [PATCH/RFC 4/4] irq-pio: add read/write multiple support Jeff Garzik
2005-09-27  9:39         ` [PATCH/RFC 4/4] libata: interrupt driven pio for LLD Albert Lee
  -- strict thread matches above, loose matches on Subject: below --
2005-11-01 11:12 [PATCH/RFC 0/4] libata: more irq driven pio follow-up patches Albert Lee
2005-11-01 11:33 ` [PATCH/RFC 4/4] irq-pio: add read/write multiple support Albert Lee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43426ED9.8030004@tw.ibm.com \
    --to=albertcc@tw.ibm.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=dwm@maxeymade.com \
    --cc=htejun@gmail.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=mlord@pobox.com \
    --cc=russb@emc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.