From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Michal Simek <monstr@monstr.eu>, Arnd Bergmann <arnd@arndb.de>,
Vineet Gupta <Vineet.Gupta1@synopsys.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
<dahinds@users.sourceforge.net>
Subject: Re: [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be)
Date: Thu, 7 Feb 2013 21:22:42 +0400 [thread overview]
Message-ID: <5113E2E2.70706@synopsys.com> (raw)
In-Reply-To: <CACxGe6tMW_YpTfFn_gKu1YS9VzkOHfzJ1Ai6jVE7UiQQeZD-eg@mail.gmail.com>
On 02/07/2013 09:16 PM, Grant Likely wrote:
> On Thu, Feb 7, 2013 at 4:56 PM, Alexey Brodkin
> <Alexey.Brodkin@synopsys.com> wrote:
>> On 02/07/2013 08:44 PM, Grant Likely wrote:
>>> So, if I'm correct that means that for the data port (specifically
>>> copying between RAM and the data port) using ioread16/iowrite16 on the
>>> data port results in the correct behaviour. It also means that LE
>>> support in the current driver is broken.
>>
>> That matches my earlier note when I wrote that for correct work on LE (note
>> I'm on ARC, not PPC/MB) I needed to use "io{read|write}16" in
>> "ace_data{in|out}_le16".
>>
>> With original "io{read|write}16be" instead data was corrupted.
>
> In which case your bug-fix patch should drop the
> ace_datain_le16/ace_dataout_le16 variants entirely and use the be16
> ones for both (renaming appropriately).
>
> g.
>
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.
>
Sorry, do you mean to replace original lines:
=======
static void ace_datain_be16(struct ace_device *ace)
{
int i = ACE_FIFO_SIZE / 2;
u16 *dst = ace->data_ptr;
while (i--)
*dst++ = in_le16(ace->baseaddr + 0x40);
ace->data_ptr = dst;
}
static void ace_dataout_be16(struct ace_device *ace)
{
int i = ACE_FIFO_SIZE / 2;
u16 *src = ace->data_ptr;
while (i--)
ioread16(*src++, ace->baseaddr + 0x40);
ace->data_ptr = src;
}
=======
with something like:
=======
static void ace_datain_16(struct ace_device *ace)
{
int i = ACE_FIFO_SIZE / 2;
u16 *dst = ace->data_ptr;
while (i--)
*dst++ = in_le16(ace->baseaddr + 0x40);
ace->data_ptr = dst;
}
static void ace_dataout_16(struct ace_device *ace)
{
int i = ACE_FIFO_SIZE / 2;
u16 *src = ace->data_ptr;
while (i--)
iowrite16(*src++, ace->baseaddr + 0x40);
ace->data_ptr = src;
}
=======
and then the next patch should replace "io{read|write}16" with
"io{read|write}16_rep" I guess, correct?
-Alexey
next prev parent reply other threads:[~2013-02-07 17:22 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 16:02 [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be) Alexey Brodkin
2013-01-29 16:27 ` Arnd Bergmann
2013-01-30 11:03 ` Alexey Brodkin
2013-01-30 11:13 ` Michal Simek
2013-01-30 12:10 ` Vineet Gupta
2013-01-30 12:31 ` Michal Simek
2013-01-30 14:36 ` Arnd Bergmann
2013-02-04 9:26 ` Michal Simek
2013-02-04 17:24 ` Arnd Bergmann
2013-02-05 2:29 ` Benjamin Herrenschmidt
2013-02-05 10:54 ` Michal Simek
2013-02-05 12:09 ` Vineet Gupta
2013-02-05 12:29 ` Benjamin Herrenschmidt
2013-02-05 12:19 ` Benjamin Herrenschmidt
2013-02-05 12:38 ` Michal Simek
2013-02-05 14:03 ` Alexey Brodkin
2013-02-05 15:12 ` Arnd Bergmann
2013-02-05 21:01 ` Benjamin Herrenschmidt
2013-02-06 10:03 ` Grant Likely
2013-02-06 16:20 ` Arnd Bergmann
2013-02-06 16:21 ` Michal Simek
2013-02-07 0:34 ` Arnd Bergmann
2013-02-06 17:40 ` Michal Simek
2013-02-06 19:51 ` Geert Uytterhoeven
2013-02-07 7:23 ` Michal Simek
2013-02-07 7:38 ` Geert Uytterhoeven
2013-02-07 8:01 ` Michal Simek
2013-02-07 8:20 ` Geert Uytterhoeven
2013-02-07 8:33 ` Arnd Bergmann
2013-02-07 14:19 ` Michal Simek
2013-02-07 23:12 ` Arnd Bergmann
2013-02-11 10:38 ` Michal Simek
2013-02-11 15:26 ` Arnd Bergmann
2013-02-11 15:36 ` Michal Simek
2013-02-11 15:43 ` Arnd Bergmann
2013-02-11 15:57 ` Michal Simek
2013-02-11 16:08 ` Arnd Bergmann
2013-02-12 0:29 ` Benjamin Herrenschmidt
2013-02-12 11:29 ` Arnd Bergmann
2013-02-12 10:11 ` Michal Simek
2013-02-12 11:26 ` Arnd Bergmann
2013-02-12 12:14 ` Michal Simek
2013-02-12 13:55 ` Arnd Bergmann
2013-02-12 12:30 ` Benjamin Herrenschmidt
2013-02-12 0:25 ` Benjamin Herrenschmidt
2013-02-12 10:03 ` Michal Simek
2013-02-05 21:00 ` Benjamin Herrenschmidt
2013-02-05 21:25 ` Alexey Brodkin
2013-02-05 23:07 ` Benjamin Herrenschmidt
2013-02-06 10:14 ` Grant Likely
2013-02-06 16:27 ` Arnd Bergmann
2013-02-06 21:35 ` Benjamin Herrenschmidt
2013-02-07 12:09 ` Alexey Brodkin
2013-02-07 12:20 ` Benjamin Herrenschmidt
2013-02-07 12:23 ` Benjamin Herrenschmidt
2013-02-07 14:31 ` Michal Simek
2013-02-07 14:35 ` Alexey Brodkin
2013-02-07 14:39 ` Grant Likely
2013-02-07 14:51 ` Grant Likely
2013-02-07 15:12 ` Alexey Brodkin
2013-02-07 15:23 ` Grant Likely
2013-02-07 15:28 ` Alexey Brodkin
2013-02-07 16:44 ` Grant Likely
2013-02-07 16:56 ` Alexey Brodkin
2013-02-07 17:16 ` Grant Likely
2013-02-07 17:22 ` Alexey Brodkin [this message]
2013-02-08 7:45 ` Grant Likely
2013-02-07 21:18 ` Benjamin Herrenschmidt
2013-02-07 21:15 ` Benjamin Herrenschmidt
2013-02-07 23:05 ` Arnd Bergmann
2013-02-08 6:19 ` Geert Uytterhoeven
2013-02-08 7:14 ` Grant Likely
2013-02-07 21:09 ` Benjamin Herrenschmidt
2013-02-12 17:02 ` Michal Simek
2013-02-12 17:25 ` Arnd Bergmann
2013-03-21 17:01 ` Alexey Brodkin
2013-06-19 8:56 ` xsysace driver support on arches other than PPC/Microblaze Alexey Brodkin
2013-06-19 9:09 ` Alexey Brodkin
2013-06-19 12:13 ` Andy Shevchenko
2013-06-19 12:56 ` Alexey Brodkin
2013-06-19 14:51 ` Arnd Bergmann
2013-02-07 21:06 ` [PATCH] drivers/block/xsysace - replace in(out)_8/in(out)_be16/in(out)_le16 with generic iowrite(read)8/16(be) Benjamin Herrenschmidt
2013-02-05 23:03 ` Arnd Bergmann
2013-02-06 8:59 ` Geert Uytterhoeven
2013-02-06 16:18 ` Arnd Bergmann
2013-02-05 10:45 ` Michal Simek
-- strict thread matches above, loose matches on Subject: below --
2013-06-21 14:02 Alexey Brodkin
2013-06-21 14:23 ` Arnd Bergmann
2013-06-21 18:35 ` Alexey Brodkin
2013-06-21 18:40 ` Arnd Bergmann
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=5113E2E2.70706@synopsys.com \
--to=alexey.brodkin@synopsys.com \
--cc=Vineet.Gupta1@synopsys.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=dahinds@users.sourceforge.net \
--cc=geert@linux-m68k.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=monstr@monstr.eu \
/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.