[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