Subject: Re: Any news about old problems?
To: None <rmk@rmkhome.com>
From: Matthew Jacob <mjacob@feral.com>
List: port-sparc
Date: 10/06/2002 23:07:48
On Sun, 6 Oct 2002, Rick Kelly wrote:

> Martin Husemann said:
> 
> >The tagged queueing issue has been verified to be a controller or driver
> >problem, not a disk problem. So a quirk table will not help. Very likely
> >it is just a driver bug, but it has not yet been found.
> 
> Just to add to what I already wrote:
> 
> Solaris 2.6
> 
> Sparc IPX boot message:
> 
> esp0:   esp-options=0x4c
> esp0 at sbus0: SBus slot 0 0x800000 SBus level 3 sparc ipl 3
> esp0 is /sbus@1,f8000000/esp@0,800000
> 
> SS5 boot message:
> 
> esp0:   esp-options=0x46
> esp0 at espdma0: SBus slot 5 0x8800000 sparc ipl 4
> esp0 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000
> 
> It would be nice to know what the esp-options values mean. :-)

Hunt a little or ask the original author... from espvar.h:

/*
 * define for e_options
 */
#define ESP_OPT_SBUS_RERUNS     0x0001  /* ESC has rerun problem */
#define ESP_OPT_FAS             0x0002  /* FAS type */
#define ESP_OPT_DMA_OUT_TAG     0x0004  /* can dma out tags */
#define ESP_OPT_MASK_OFF_STAT   0x0008  /* mask off status reserved bit */
#define ESP_OPT_DIFFERENTIAL    0x0010  /* differential scsi */
#define ESP_OPT_STACKED_CMDS    0x0020  /* use stacked cmd for MSG_ACPT */
#define ESP_OPT_ACCEPT_STEP567  0x0040  /* step register may report 5,6,7 */
                                        /* instead of 4 */
#define ESP_OPT_SLOW_FIFO_FLUSH 0x0080  /* wait for fifo empty after flush */


These aren't useful to change.

The issue as to whether or not tagged qing is enabled in solaris depends
on the target driver (sd, in this case) deciding, based on INQUIRY data
whether to try or not.

Then it usses the SCSA interface (scsa_ifsetcap/scsa_ifgetcap) to
determine whether tags are enabled at all and to enable them.

In any case, tags in aren't supported in esp on solaris except when the
chip is a FAS variant.