All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: linux-m68k@vger.kernel.org, geert@linux-m68k.org
Cc: linux-ide@vger.kernel.org, fthain@linux-m68k.org, alex@kazik.de,
	Michael Schmitz <schmitzmic@gmail.com>
Subject: [PATCH v1 1/2] m68k: io_mm.h - add APNE 100 MBit support
Date: Wed,  9 Jun 2021 19:36:53 +1200	[thread overview]
Message-ID: <1623224214-4836-2-git-send-email-schmitzmic@gmail.com> (raw)
In-Reply-To: <1623224214-4836-1-git-send-email-schmitzmic@gmail.com>

Add code to support 10 Mbit and 100 Mbit mode for APNE driver.

A new ISA type ISA_TYPE_AG16 dynamically switches the Amiga
ISA inb accessor to word access as required by the 100 Mbit cards.

Patch modified after patch "[PATCH RFC net-next] Amiga PCMCIA
100 MBit card support" submitted to netdev 2018/09/16 by Alex
Kazik <alex@kazik.de>.

Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>

--
Changes from RFC:

Geert Uytterhoeven:
- rename ISA_TYPE_AG100 to ISA_TYPE_AG16 (16 bit cards)
- move ISA_TYPE_AG16 case inside #ifdef CONFIG_AMIGA_PCMCIA
- change #if defined(CONFIG_APNE_100MBIT) to #ifdef
- fix parentheses in isa_inb() define
- omit comment about compiler optimization

- add ISA_TYPE_AG16 case to isa_delay()
---
 arch/m68k/include/asm/io_mm.h | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/arch/m68k/include/asm/io_mm.h b/arch/m68k/include/asm/io_mm.h
index 6eae9ec..a965a0e 100644
--- a/arch/m68k/include/asm/io_mm.h
+++ b/arch/m68k/include/asm/io_mm.h
@@ -101,6 +101,11 @@
 #define ISA_TYPE_Q40  (1)
 #define ISA_TYPE_AG   (2)
 #define ISA_TYPE_ENEC (3)
+#define ISA_TYPE_AG16 (4)	/* for 100 MBit APNE card */
+
+#if defined(CONFIG_APNE100MBIT)
+#define MULTI_ISA 1
+#endif
 
 #if defined(CONFIG_Q40) && !defined(MULTI_ISA)
 #define ISA_TYPE ISA_TYPE_Q40
@@ -136,6 +141,9 @@ static inline u8 __iomem *isa_itb(unsigned long addr)
     case ISA_TYPE_Q40: return (u8 __iomem *)Q40_ISA_IO_B(addr);
 #endif
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: fallthrough;
+#endif
     case ISA_TYPE_AG: return (u8 __iomem *)AG_ISA_IO_B(addr);
 #endif
 #ifdef CONFIG_ATARI_ROM_ISA
@@ -155,6 +163,9 @@ static inline u16 __iomem *isa_itw(unsigned long addr)
     case ISA_TYPE_Q40: return (u16 __iomem *)Q40_ISA_IO_W(addr);
 #endif
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: fallthrough;
+#endif
     case ISA_TYPE_AG: return (u16 __iomem *)AG_ISA_IO_W(addr);
 #endif
 #ifdef CONFIG_ATARI_ROM_ISA
@@ -171,6 +182,9 @@ static inline u32 __iomem *isa_itl(unsigned long addr)
   switch(ISA_TYPE)
     {
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: fallthrough;
+#endif
     case ISA_TYPE_AG: return (u32 __iomem *)AG_ISA_IO_W(addr);
 #endif
     }
@@ -184,6 +198,9 @@ static inline u8 __iomem *isa_mtb(unsigned long addr)
     case ISA_TYPE_Q40: return (u8 __iomem *)Q40_ISA_MEM_B(addr);
 #endif
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: fallthrough;
+#endif
     case ISA_TYPE_AG: return (u8 __iomem *)addr;
 #endif
 #ifdef CONFIG_ATARI_ROM_ISA
@@ -203,6 +220,9 @@ static inline u16 __iomem *isa_mtw(unsigned long addr)
     case ISA_TYPE_Q40: return (u16 __iomem *)Q40_ISA_MEM_W(addr);
 #endif
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: fallthrough;
+#endif
     case ISA_TYPE_AG: return (u16 __iomem *)addr;
 #endif
 #ifdef CONFIG_ATARI_ROM_ISA
@@ -216,13 +236,14 @@ static inline u16 __iomem *isa_mtw(unsigned long addr)
 }
 
 
-#define isa_inb(port)      in_8(isa_itb(port))
 #define isa_inw(port)      (ISA_SEX ? in_be16(isa_itw(port)) : in_le16(isa_itw(port)))
 #define isa_inl(port)      (ISA_SEX ? in_be32(isa_itl(port)) : in_le32(isa_itl(port)))
 #define isa_outb(val,port) out_8(isa_itb(port),(val))
 #define isa_outw(val,port) (ISA_SEX ? out_be16(isa_itw(port),(val)) : out_le16(isa_itw(port),(val)))
 #define isa_outl(val,port) (ISA_SEX ? out_be32(isa_itl(port),(val)) : out_le32(isa_itl(port),(val)))
 
+#define isa_inb(port)      ((ISA_TYPE == ISA_TYPE_AG16) ? ((port) & 1 ? isa_inw((port) - 1) & 0xff : isa_inw(port) >> 8) : in_8(isa_itb(port)))
+
 #define isa_readb(p)       in_8(isa_mtb((unsigned long)(p)))
 #define isa_readw(p)       \
 	(ISA_SEX ? in_be16(isa_mtw((unsigned long)(p)))	\
@@ -270,6 +291,9 @@ static inline void isa_delay(void)
     case ISA_TYPE_Q40: isa_outb(0,0x80); break;
 #endif
 #ifdef CONFIG_AMIGA_PCMCIA
+#ifdef CONFIG_APNE100MBIT
+    case ISA_TYPE_AG16: break;
+#endif
     case ISA_TYPE_AG: break;
 #endif
 #ifdef CONFIG_ATARI_ROM_ISA
-- 
2.7.4


  reply	other threads:[~2021-06-09  7:38 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-25  9:06 [PATCH] m68k/mac: Replace macide driver with generic platform driver Finn Thain
2021-04-25 10:25 ` John Paul Adrian Glaubitz
2021-04-26  7:37   ` Finn Thain
2021-04-26  7:48     ` John Paul Adrian Glaubitz
2021-04-27  1:51     ` Michael Schmitz
2021-04-27  3:47       ` Finn Thain
2021-04-27 19:54         ` Michael Schmitz
2021-04-28  6:53           ` Geert Uytterhoeven
2021-06-01  3:32             ` Michael Schmitz
2021-06-01  7:55               ` Michael Schmitz
2021-06-01  8:43                 ` Geert Uytterhoeven
2021-06-01 21:05                   ` Michael Schmitz
2021-06-02  5:21                   ` [PATCH RFC 0/2] Fix m68k multiplatform ISA support Michael Schmitz
2021-06-02  5:21                     ` [PATCH RFC 1/2] m68k: io_mm.h: conditionalize ISA address translation on Atari Michael Schmitz
2021-06-03  8:23                       ` Finn Thain
2021-06-04  0:19                         ` Michael Schmitz
2021-06-04  5:55                           ` Finn Thain
2021-06-04  7:30                             ` Michael Schmitz
2021-06-04 22:49                               ` Brad Boyer
2021-06-05  1:41                                 ` Michael Schmitz
2021-06-05  6:04                                   ` Brad Boyer
2021-06-05 22:05                                     ` Michael Schmitz
2021-06-06  2:18                                     ` Michael Schmitz
2021-06-06  4:53                                       ` Finn Thain
2021-06-06  5:42                                         ` Michael Schmitz
2021-06-06 23:51                                           ` Brad Boyer
2021-06-06  5:54                                     ` [PATCH RFC 0/2] Add APNE PCMCIA 100 Mbit support Michael Schmitz
2021-06-06  5:54                                       ` [PATCH RFC 1/2] m68k: io_mm.h - add APNE 100 MBit support Michael Schmitz
2021-06-07  8:01                                         ` Geert Uytterhoeven
2021-06-07  8:20                                           ` Michael Schmitz
2021-06-07 11:15                                         ` Geert Uytterhoeven
2021-06-07 19:57                                           ` Michael Schmitz
2021-06-08  6:42                                             ` Geert Uytterhoeven
2021-06-08 21:55                                               ` Michael Schmitz
2021-06-09  6:33                                                 ` Geert Uytterhoeven
2021-06-08 21:56                                               ` Michael Schmitz
2021-06-06  5:54                                       ` [PATCH RFC 2/2] net/8390: apne.c - add 100 Mbit support to apne.c driver Michael Schmitz
2021-06-06 12:42                                         ` kernel test robot
2021-06-07  8:08                                         ` Geert Uytterhoeven
2021-06-07  8:40                                           ` Michael Schmitz
2021-06-07  8:46                                             ` ALeX Kazik
2021-06-08  3:10                                               ` Michael Schmitz
2021-06-07  8:37                                         ` Geert Uytterhoeven
2021-06-07 12:56                                         ` Geert Uytterhoeven
2021-06-13 21:53                                           ` Michael Schmitz
2021-06-09  7:36                                       ` [PATCH v1 0/2] Add APNE PCMCIA 100 Mbit support Michael Schmitz
2021-06-09  7:36                                         ` Michael Schmitz [this message]
2021-06-09  8:04                                           ` [PATCH v1 1/2] m68k: io_mm.h - add APNE 100 MBit support Andreas Schwab
2021-06-09 21:54                                             ` Michael Schmitz
2021-06-10  1:09                                               ` Finn Thain
2021-06-10  7:32                                                 ` Geert Uytterhoeven
2021-06-11  2:15                                                   ` Michael Schmitz
2021-06-10  8:53                                               ` Andreas Schwab
2021-06-09  7:36                                         ` [PATCH v1 2/2] net/8390: apne.c - add 100 Mbit support to apne.c driver Michael Schmitz
2021-06-10  2:09                                         ` [PATCH v2 0/2] Add APNE PCMCIA 100 Mbit support Michael Schmitz
2021-06-10  2:09                                           ` [PATCH v2 1/2] m68k: io_mm.h - add APNE 100 MBit support Michael Schmitz
2021-06-10  2:09                                           ` [PATCH v2 2/2] net/8390: apne.c - add 100 Mbit support to apne.c driver Michael Schmitz
2021-06-16 21:11                                           ` [PATCH v2 0/2] Add APNE PCMCIA 100 Mbit support ALeX Kazik
2021-06-17  1:10                                             ` Michael Schmitz
2021-06-04  7:54                           ` [PATCH RFC 1/2] m68k: io_mm.h: conditionalize ISA address translation on Atari Geert Uytterhoeven
2021-06-04 21:36                             ` Michael Schmitz
2021-06-04 23:31                               ` Finn Thain
2021-06-05  0:24                                 ` Finn Thain
2021-06-05  3:48                                 ` Michael Schmitz
2021-06-09  6:35                       ` Geert Uytterhoeven
2021-06-09  7:20                         ` Michael Schmitz
2021-06-02  5:21                     ` [PATCH RFC 2/2] m68k: setup_mm.c: set isa_sex for Atari if ATARI_ROM_ISA not used Michael Schmitz
2021-06-02  7:09                       ` Geert Uytterhoeven
2021-06-02  8:21                         ` Michael Schmitz
2021-06-03  8:29                           ` Finn Thain
2021-06-04  3:02                             ` Michael Schmitz
2021-06-03  3:43                     ` [PATCH RFC 0/2] Fix m68k multiplatform ISA support Michael Schmitz
2021-06-03  7:09                       ` Geert Uytterhoeven
2021-06-04  0:22                         ` Michael Schmitz
2021-06-06  5:28                     ` [PATCH] m68k: Fix " Michael Schmitz
2021-06-07  7:49                       ` Geert Uytterhoeven
2021-06-07  8:17                         ` Michael Schmitz
2021-06-09  7:22                       ` [PATCH v2] m68k: io_mm.h: conditionalize ISA address translation on Atari Michael Schmitz
2021-06-09  7:57                         ` Andreas Schwab
2021-06-09 21:43                           ` Michael Schmitz
2021-06-10  2:04                         ` [PATCH v3] " Michael Schmitz
2021-04-27  8:11       ` [PATCH] m68k/mac: Replace macide driver with generic platform driver Sergei Shtylyov
2021-04-27  8:36         ` John Paul Adrian Glaubitz
2021-04-27 19:29         ` Michael Schmitz
2021-04-25 22:24 ` Michael Schmitz
2021-04-26  7:35   ` Finn Thain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1623224214-4836-2-git-send-email-schmitzmic@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=alex@kazik.de \
    --cc=fthain@linux-m68k.org \
    --cc=geert@linux-m68k.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.