All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: John Whitney <johnw@sands-edge.com>
Cc: linuxppc-dev list <linuxppc-dev@lists.linuxppc.org>
Subject: Re: Proposed changes to io.h
Date: Thu, 01 Apr 2004 12:52:23 +1000	[thread overview]
Message-ID: <1080787943.1434.47.camel@gaston> (raw)
In-Reply-To: <49B568CB-832A-11D8-9FF0-000A95A07384@sands-edge.com>


On Thu, 2004-04-01 at 01:44, John Whitney wrote:
> I've made few changes to include/asm-ppc/io.h that might want to be
> incorporated into the mainline tree.  These changes include:
>
> 1. Modifications to virt_to_bus, bus_to_virt, virt_to_phys, and
> phys_to_virt.  With the use of fully virtual addresses for
> cache-coherent allocations (consistent_alloc(), etc.), just subracting
> KERNELBASE from the virtual address is no longer sufficient.  Because
> of this, I have modified virt_to_phys and phys_to_virt to look like:

Those functions are deprecated actually (the _bus_ ones at least,
the _phys_ one can still be used by some internal arch code, though
it's well known that they will only work with the linear mapping,
thus a simple substraction is enough).

> This simplifies the "bus" routines, and makes sure that they use the
> standard virtual/physical translations.

The proper simplification is to kill them
>
> 2. I'd like to add 64-bit __raw_readll and __raw_writell routines to
> io.h, done using floating-point registers.  Currently, modules such as
> MTD (when writing to 64-bit buses) perform two 32-bit, non-atomic
> writes, which can cause problems.  Using a floating-point register to
> guarantee a 64-bit write is ugly, but it works.  Code for these inlined
> routines is as follows:

First, the proper name is readq/writeq ;) Then, most machines may
not have a 64 bits IO bus anyway, I don't think we need to provide
those functions for ppc32 and the MSR munging will cost you more
than the benefit of doing a 64 bits access.

So unless you have a specific need for those, I don't think we
need that in the kernel. Note about your implementation: you could
probably clear MSR:EE at the same time as you set MSR:FP instead
of using local_irq_save outside of the asm block ;)

Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2004-04-01  2:52 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-31 15:44 Proposed changes to io.h John Whitney
2004-03-31 16:44 ` Eugene Surovegin
2004-03-31 16:58   ` Dan Malek
2004-03-31 17:30     ` Matt Porter
2004-03-31 17:32     ` John Whitney
2004-03-31 17:40       ` Dan Malek
2004-03-31 17:03   ` Matt Porter
2004-03-31 19:57     ` John Whitney
2004-03-31 22:07       ` Matt Porter
2004-03-31 22:25         ` John Whitney
2004-03-31 22:52         ` Dan Malek
2004-04-01  5:30           ` Kumar Gala
2004-03-31 17:01 ` Matt Porter
2004-03-31 17:29   ` Dan Malek
2004-03-31 18:18 ` Christoph Hellwig
2004-03-31 18:40   ` John Whitney
2004-03-31 18:43     ` Christoph Hellwig
2004-03-31 18:50       ` John Whitney
2004-03-31 21:09   ` John Whitney
2004-03-31 21:49     ` Dan Malek
2004-03-31 21:52     ` Eugene Surovegin
2004-03-31 22:07       ` John Whitney
2004-04-01  2:52 ` Benjamin Herrenschmidt [this message]
     [not found]   ` <209F76E4-838B-11D8-9FF0-000A95A07384@sands-edge.com>
     [not found]     ` <1080790433.1433.59.camel@gaston>
     [not found]       ` <43B0E668-84BC-11D8-9FF0-000A95A07384@sands-edge.com>
2004-04-03  3:04         ` Benjamin Herrenschmidt
2004-04-03  3:40           ` John Whitney

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=1080787943.1434.47.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=johnw@sands-edge.com \
    --cc=linuxppc-dev@lists.linuxppc.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.