All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: jayakumar ide <jayakumar.ide@gmail.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: eighty_ninty_three
Date: Thu, 22 Sep 2005 11:36:20 +0200	[thread overview]
Message-ID: <58cb370e05092202364ddf0e5f@mail.gmail.com> (raw)
In-Reply-To: <ed723e8205092200315d6d1f2a@mail.gmail.com>

On 9/22/05, jayakumar ide <jayakumar.ide@gmail.com> wrote:
> quick question:
>
> 598 /*
> 599  *  All hosts that use the 80c ribbon must use!
> 600  *  The name is derived from upper byte of word 93 and the 80c ribbon.
> 601  */
> 602 u8 eighty_ninty_three (ide_drive_t *drive)
> 603 {
> 604         if(HWIF(drive)->udma_four == 0)
> 605                 return 0;
> 606         if (!(drive->id->hw_config & 0x6000))
> 607                 return 0;
> 608 #ifndef CONFIG_IDEDMA_IVB
> 609         if(!(drive->id->hw_config & 0x4000))
> 610                 return 0;
> 611 #endif /* CONFIG_IDEDMA_IVB */
> 612         return 1;
> 613 }
>
> does that mean that 893() will return 0 if the drive is not udma4

No, hwif->udma_four is 1 if host detects 80-wires cable
(0 otherwise except when forced by "ide?=ata66" kernel parameter).

> capable? what's the rest of the stuff about 0x6000 and 0x4000? i took
> a quick look at a diamondmax spec and it says:
>
> http://www.maxtor.com/_files/maxtor/en_us/documentation/manuals/diamondmax_plus_9_manual.pdf
>
> Word 93 Hardware reset result. The contents of bits (12:0) of this
> word shall change only
> during the execution of a hardware reset
> 15: Shall be cleared to zero.
> 14: Shall be set to one.
> 13: 1 = device detected CBLID- above ViH. 0 = device detected CBLID- below
> ViL
> 12-8: Device 1 hardware reset result. Device 0 shall clear these bits to zero.
> Device shall set these bits as follows:
> 12: Reserved.
> 11: 0 = Device 1 did not assert PDIAG
>
> So I'm not sure I understand what the 0x6000 and 0x4000 check does. I

Drive side cable detection, some older drives get it wrong.

> was kind of hoping it would be some way to detect whether the cable
> was 40 core or 80 core. The reason I'm asking is because I'm trying to
> figure out the appropriate usage for eighty_ninty_three, ratemask and
> ide_rate_filter. I think I should call eighty93 in ratemask() and then
> use that to decide what the maximum mode should be. so if eighty93
> returned 0, then I would set max mode to 3 if my device spec claimed
> it was UDMA66 0-4 capable. Actually, I'm not sure about the UDMA66 0-4

Values returned by ->ratemask() are of internal use of IDE layer
so for UDMA66 capable host (not device!) ->ratemask() should return
2 if eighty_ninty_three() returns true and 1 otherwise.

Could you explain what exactly are you trying to do?

> stuff. I haven't yet understood the relationship between the
> XFER_UDMA_n and the UDMA/33/66/100 0-4 modes. If anyone has advice,
> I'm all ears.

XFER_UDMA_n is used for SETFEATURES command
(which is described in ATA spec - http://www.t13.org).

Bartlomiej

      reply	other threads:[~2005-09-22  9:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-22  7:31 eighty_ninty_three jayakumar ide
2005-09-22  9:36 ` Bartlomiej Zolnierkiewicz [this message]

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=58cb370e05092202364ddf0e5f@mail.gmail.com \
    --to=bzolnier@gmail.com \
    --cc=jayakumar.ide@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 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.