[parisc-linux] Re: SCSI/MUX driver on E55, NDA for sorce code

Christoph Plattner christoph.plattner@gmx.at
Mon, 16 Sep 2002 01:37:59 +0200


Thanks for that !

But I think, my Linux code dose the same !!!

	info->iomem_base = (void *)(hpa + MUX_OFFSET + 
				    (line * MUX_LINE_OFFSET));

This info->iomem_base is used by all accesses, the 
registers of i/o are defined by Ryan as:

#define IO_COMMAND_REG_OFFSET 0x30
#define IO_STATUS_REG_OFFSET 0x34
#define IO_DATA_REG_OFFSET 0x3c
#define IO_DCOUNT_REG_OFFSET 0x40
#define IO_UCOUNT_REG_OFFSET 0x44
#define IO_FIFOS_REG_OFFSET 0x48

So the offset of 0x30 is inside those macros.

An example of an access:

		data = __raw_readl((unsigned long)info->iomem_base 
				   + IO_DATA_REG_OFFSET);

... reading characters from the input buffers.

Any further idea ?

Ryan, you mentioned problems concerning missing locks, but
I cannot think about this. Those devices should be controlled
independent, am I wrong ?

I hope, we will solve this all (all means including SPIFI
SCSI driver too !).

Christoph



Matthew Wilcox wrote:
> 
> On Sun, Sep 15, 2002 at 08:11:07PM +0200, Christoph Plattner wrote:
> > The status of MUX: It is not working to access to offset
> > 0x80 for the lines. The machine dies. I think this problem
> > can be solved very easy, looking in the HP-UX driver code.
> 
> Not so sure...
> 
> common/sio/mux2.c:
> 
> for (loop = 0; loop < ports; loop++, ttyp++) {
>         HW.hpa                  = MUX_DATA.hpa + 0x800 + (loop * 0x80);
>         HW.io_reg_ptr           = (io_reg_type *)(HW.hpa + 0x30);
> }
> 
> --
> Revolutions do not require corporate support.
> _______________________________________________
> parisc-linux mailing list
> parisc-linux@lists.parisc-linux.org
> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

-- 
-------------------------------------------------------
private:	christoph.plattner@gmx.at
company:	christoph.plattner@alcatel.at