From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: linux-ide@vger.kernel.org,
Linux Kernel Development <linux-kernel@vger.kernel.org>,
Linux/m68k <linux-m68k@vger.kernel.org>,
Michael Schmitz <schmitz@debian.org>
Subject: Re: [PATCH 5/5] falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods
Date: Sun, 30 Mar 2008 20:18:40 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0803302012560.16372@anakin> (raw)
In-Reply-To: <200803301714.04527.bzolnier@gmail.com>
Hi Bart,
On Sun, 30 Mar 2008, Bartlomiej Zolnierkiewicz wrote:
> * Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to
> falconide and q40ide host drivers (->ata_* methods are implemented on
> top of ->atapi_* methods so they also do byte-swapping now).
>
> * Cleanup atapi_{in,out}put_bytes().
Thanks!
One remaining issue (for which the fix has never been submitted upstream so
far) with Atari and Q40 is that due to the byteswapped interface, the driveid
is also byteswapped, so it has to be unswapped again in ide_fix_driveid().
Here's a very old and unclean but working patch:
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -284,6 +284,23 @@ void ide_fix_driveid (struct hd_driveid
int i;
u16 *stringcast;
+#ifdef __mc68000__
+ if (!MACH_IS_AMIGA && !MACH_IS_MAC && !MACH_IS_Q40 && !MACH_IS_ATARI)
+ return;
+
+#ifdef M68K_IDE_SWAPW
+ if (M68K_IDE_SWAPW) { /* fix bus byteorder first */
+ u_char *p = (u_char *)id;
+ u_char t;
+ for (i = 0; i < 512; i += 2) {
+ t = p[i];
+ p[i] = p[i+1];
+ p[i+1] = t;
+ }
+ }
+#endif
+#endif /* __mc68000__ */
+
id->config = __le16_to_cpu(id->config);
id->cyls = __le16_to_cpu(id->cyls);
id->reserved2 = __le16_to_cpu(id->reserved2);
Note that include/asm-m68k/ide.h has
#define M68K_IDE_SWAPW (MACH_IS_Q40 || MACH_IS_ATARI)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2008-03-30 18:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-30 15:14 [PATCH 5/5] falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods Bartlomiej Zolnierkiewicz
2008-03-30 18:18 ` Geert Uytterhoeven [this message]
2008-03-30 19:34 ` Bartlomiej Zolnierkiewicz
2008-03-31 5:53 ` Geert Uytterhoeven
2008-03-31 6:04 ` Geert Uytterhoeven
2008-03-31 9:37 ` Alan Cox
2008-04-07 19:13 ` Bartlomiej Zolnierkiewicz
2008-04-08 9:40 ` Richard Zidlicky
2008-04-09 1:40 ` Michael Schmitz
2008-04-09 18:13 ` Richard Zidlicky
2008-04-09 18:49 ` Bartlomiej Zolnierkiewicz
-- strict thread matches above, loose matches on Subject: below --
2008-03-31 21:41 Roman Zippel
2008-03-31 21:43 ` Alan Cox
2008-03-31 22:02 ` Roman Zippel
2008-04-01 3:20 ` Michael Schmitz
2008-04-01 8:12 ` Alan Cox
2008-04-01 8:32 ` Mikael Pettersson
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=Pine.LNX.4.64.0803302012560.16372@anakin \
--to=geert@linux-m68k.org \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=schmitz@debian.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).