Re: [PATCH 0/1] [RFC][NOT WORKING] amiga: pcmcia: inb()/inw() on GAYLE_IO space

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paolo,

Am 27.10.2024 um 04:42 schrieb Paolo Pisati:
Hi there,

attached is a driver for the pcmcia side of C='s gayle - it's a WIP, as such
there are many dev_dbg()/pr_err()/pr_dbg() scattered around, you've been warned.

It recognize all pcmcia cards i tried (IOW gayle's attribute space is read and
parsed correctly), socket's interrupt work (IOW you can plug & unplug cards),
but *it seems* any I/O read operation return bogus data (e.g. 0xff or 0xfff).

Here's a dmesg dealing with with a 3Com 3c589 ethernet card:
http://dpaste.com//84TPTPLNV - notice the "hw_addr ff:ff:ff:ff:ff:ff" or
"exiting interrupt, status ffff".

AFAIK inb()/inw() already add the GAYLE_IO offset (

Correct.

AG_ISA_IO_B and AG_ISA_IO_W in arch/m68k/include/asm/io_mm.h), and i didn't know
if i could read directly (without an ioremap() first), so i tried both cases:

AFAIK the Gayle MMIO region is already mapped in head.S, and does not need ioremap() at all.

1) ioreamp() sock->phys_io, and subtract the GAYLE_IO offset (see
sock->socket.io_offset).

or

2) set Amiga base IO port to 0x0 and patch
drivers/pcmcia/rsrc_mgr.c::static_find_io() (see https://dpaste.com//B75LTFF3V)

In both case the 3c589_cs driver request an I/O aperture at 0x0300, large
0x0010, receives it, but all read operations return 0xff or 0xffff.

Can you post your .config? I wonder whether the CONFIG_ATARI_ROM_ISA option is set, because that would mess up inb()/outb() for ports < 0x400.

Cheers,

	Michael


Any idea? Any guess is welcome since i'm running out of ideas ATM.

Paolo Pisati (1):
  pcmcia: gayle: initial support

 arch/m68k/amiga/pcmcia.c          |   5 +
 arch/m68k/amiga/platform.c        |  29 +++
 arch/m68k/include/asm/amipcmcia.h |  11 ++
 drivers/pcmcia/Kconfig            |   8 +
 drivers/pcmcia/Makefile           |   1 +
 drivers/pcmcia/gayle.c            | 307 ++++++++++++++++++++++++++++++
 6 files changed, 361 insertions(+)
 create mode 100644 drivers/pcmcia/gayle.c





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux