Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 1997 13:07:52 +0930 (CST)
From:      Michael Smith <msmith@atrad.adelaide.edu.au>
To:        ggm@connect.com.au (George Michaelson)
Cc:        msmith@atrad.adelaide.edu.au, current@freebsd.org
Subject:   Re: canonical issue wrt DMA & wd/wdc
Message-ID:  <199708060337.NAA03311@genesis.atrad.adelaide.edu.au>
In-Reply-To: <19569.870837339@connect.com.au> from George Michaelson at "Aug 6, 97 01:15:39 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
George Michaelson stands accused of saying:
>   
>   This is nonsense; you can't put flags on 'wd' instances, and it works
>   fine on 'wdc' (the only place you _can_ put it).
> 
> Goest thou and read LINT. I'm afraid you can flag wd0 as well as wdc0 
> and as I said, flag wdc0 broke for me. Its highly position specific and
> by adding said word, config blew up at me.

# ST-506, ESDI, and IDE hard disks: `wdc' and `wd'
#
# NB: ``Enhanced IDE'' is NOT supported at this time.
#
# The flags fields are used to enable the multi-sector I/O and
# the 32BIT I/O modes.  The flags may be used in either the controller
# definition or in the individual disk definitions.  The controller
# definition is supported for the boot configuration stuff.
#
# Each drive has a 16 bit flags value defined:
#       The low 8 bits are the maximum value for the multi-sector I/O,
#       where 0xff defaults to the maximum that the drive can handle.
#       The high bit of the 16 bit flags (0x8000) allows probing for
#       32 bit transfers.
#
# The flags field for the drives can be specified in the controller
# specification with the low 16 bits for drive 0, and the high 16 bits
# for drive 1.
# e.g.:
#controller     wdc0    at isa? port "IO_WD1" bio irq 14 flags 0x00ff8004 vector wdintr
#
# specifies that drive 0 will be allowed to probe for 32 bit transfers and
# a maximum multi-sector transfer of 4 sectors, and drive 1 will not be
# allowed to probe for 32 bit transfers, but will allow multi-sector
# transfers up to the maximum that the drive supports.
#

#
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1
controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
disk            wd2     at wdc1 drive 0
disk            wd3     at wdc1 drive 1

I'd have to say I can't see any flags on the 'wdX' entries there, and 
the syntax given for 'wdc' has worked fine for me ever since it was
introduced.

>   Which flags?  The 80ff flags for each channel are required for 32-bit
>   and multi-block mode to be used, yes.
> 
> Yes, but in the absence of any guidance, what does it buy me? I'm down-speeding
> from SPARCland where its all moot. I am not clue-dense with respect to the
> advantages one way or another. 

What more do you need to know that's not covered above?  Ifyou know
understand, can you encapsulate the information you obtained in a
fashion that could be presented to other people in the uninformed
state?

> Bit concerned you abjure flags can't on devices and can on
> controllers. Tain't what I see since cvsup last night.

Flags can go on devices and controllers, but not disks.  I suspect you
are looking at the wrong entry in LINT.  (Note the above excerpt is
from version 1.356, dated four days ago with my name on it...)

-- 
]] Mike Smith, Software Engineer        msmith@gsoft.com.au             [[
]] Genesis Software                     genesis@gsoft.com.au            [[
]] High-speed data acquisition and      (GSM mobile)     0411-222-496   [[
]] realtime instrument control.         (ph)          +61-8-8267-3493   [[
]] Unix hardware collector.             "Where are your PEZ?" The Tick  [[



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708060337.NAA03311>