linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Linux IDE <linux-ide@vger.kernel.org>, Jens Axboe <axboe@suse.de>
Subject: Re: libata vs ATAPI
Date: Tue, 12 Oct 2004 17:45:55 -0400	[thread overview]
Message-ID: <416C5093.7050304@pobox.com> (raw)
In-Reply-To: <58cb370e0410121436749e2bfb@mail.gmail.com>

Bartlomiej Zolnierkiewicz wrote:
> INQUIRY is done in PIO in ide-scsi and it works for this device

I wouldn't mind doing non-read/write commands with PIO.  As long as the 
"fast path" commands are done via DMA...


>>>>>Unfortunately it doesn't help because atapi_pio_sector() assumes
>>>>>transfer length to be % SECTOR_SIZE and transfer length for INQUIRY
>>>>>is mere 36 bytes so this fails.
>>>>
>>>>Yes, you are welcome to fix this assumption.  :)
>>>
>>>Another bug in this area: bcount is set to 64 * 1024 (0xFFFF) but
>>>ATA/ATAPI spec defines max bcount as 0xFFFE and there must
>>>be some reason why ide-scsi limits it to 63 * 1024 and ide-cd to
>>>32 * 1024.
>>
>>bcount should be set to 8K (one SATA FIS) for PIO,
>>and 0xFFFF for DMA.  It's not used for DMA.
> 
> 
> According to ATA/ATAPI-5 spec bcount is ignored for
> non-PIO transfers.

Right.  In practice for some host controllers it should be set to 
0xffff.  It looks like I should change atapi_xlat() to do that.


> It sets bcount also for no-data which seems wrong.

well some "non-data" commands could still return sense, so I preferred 
to err on the side of caution.


>>Where is this code in libata?
> 
> atapi_xlat() in libata-scsi.c

I do not see code in atapi_xlat() that sets bcount to 0xffff?

	Jeff



  reply	other threads:[~2004-10-12 21:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-12 20:21 libata vs ATAPI Bartlomiej Zolnierkiewicz
2004-10-12 20:50 ` Jeff Garzik
2004-10-12 21:17   ` Bartlomiej Zolnierkiewicz
2004-10-12 21:22     ` Jeff Garzik
2004-10-12 21:36       ` Bartlomiej Zolnierkiewicz
2004-10-12 21:45         ` Jeff Garzik [this message]
2004-10-12 23:03           ` Bartlomiej Zolnierkiewicz
2004-10-15 13:13           ` Jens Axboe
2004-10-15 17:17             ` Jeff Garzik
2004-10-12 21:30     ` Jeff Garzik
2004-10-12 21:39       ` Bartlomiej Zolnierkiewicz
2004-10-12 21:46         ` Jeff Garzik
2004-10-14  7:13     ` Jens Axboe
2004-10-14 19:19       ` Bartlomiej Zolnierkiewicz
2004-10-14 21:15         ` Bartlomiej Zolnierkiewicz
2004-10-15  5:00           ` Jeff Garzik

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=416C5093.7050304@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=axboe@suse.de \
    --cc=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).