From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.pangeatech.com (pxofc151-phx1.pangeatech.com [63.110.32.151]) by dsl2.external.hp.com (Postfix) with ESMTP id 02C79482B for ; Tue, 15 Jan 2002 18:24:01 -0700 (MST) Received: from [65.192.22.133] by mail.pangeatech.com (NTMail 7.00.0018/NU8172.00.e2123c13) with ESMTP id yzcjkaaa for parisc-linux@lists.parisc-linux.org; Tue, 15 Jan 2002 18:24:06 -0700 Date: Tue, 15 Jan 2002 17:23:43 -0800 From: Randolph Chung To: Daniel Engstrom <5116@telia.com> Cc: Jochen Friedrich , linux-tr@linuxtr.net, HP900 PARISC mailing list Subject: Re: [parisc-linux] IBM TR patch Message-ID: <20020116012343.GV3247@tausq.org> Reply-To: Randolph Chung References: <20020115231052.A4018@zaphod.halden.lillfab.se> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <20020115231052.A4018@zaphod.halden.lillfab.se> Sender: parisc-linux-admin@lists.parisc-linux.org Errors-To: parisc-linux-admin@lists.parisc-linux.org List-Help: List-Post: List-Subscribe: , List-Id: parisc-linux developers list List-Unsubscribe: , List-Archive: > I think the driver was correct. The i/o layer should not try to byteswap > the io requests, because it can not second-guess what the driver is doing. For reference, you may wish to read http://lists.parisc-linux.org/pipermail/parisc-linux/2001-November/014606.html Originally the parisc {read,write}[wl] macros did not swap, but this breaks many PCI drivers. For example, we used to have hppa specific code in the sym53c8xx driver that did the swapping.... > And in the case of the tr driver it now does two swaps for each word it tranfers on > big endian platforms instad of zero. I agree this is not optimal, altho, as Alan Cox pointed out in http://lists.parisc-linux.org/pipermail/parisc-linux/2001-November/014527.html double swaps may be optimized out by the compiler. > > The ne2000 driver had the same problem, but I removed the swaps from the parisc i/o code > instad of touching the driver. for parisc we follow the ppc convention of defining __raw_{read,write}[wl] that are host-endian. perhaps the drivers can use this instead? randolph -- @..@ http://www.TauSq.org/ (----) ( >__< ) ^^ ~~ ^^