Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1700191

Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo}

From Logan Gunthorpe <logang@deltatee.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo}
Date 2017-07-31 18:40 +0200
Message-ID <u9lTA-6F-35@gated-at.bofh.it> (permalink)
References <u7DKV-6Kh-1@gated-at.bofh.it> <u7DUB-6Ny-11@gated-at.bofh.it> <u8YX0-2wy-5@gated-at.bofh.it> <u9lgR-85O-1@gated-at.bofh.it> <u9lAd-8rv-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 31/07/17 10:10 AM, Andy Shevchenko wrote:
> Some drivers (hardware) would like to have non-atomic MMIO accesses
> when readq() defined

Huh? But that's the whole point of the io64-nonatomic header. If a
driver wants a specific non-atomic access they should just code two 32
bit accesses.

> In case of readq() / writeq() it's defined by the order of inclusion:
> 
> 1)
> include <...non-atomic...>
> include <linux/io.h>
> 
> Always non-atomic will be used.

I'm afraid you're wrong about this. The io-64-nonatomic-xx header
includes linux/io.h. Thus the order of the includes doesn't matter and
it will always auto switch. In any case, making an interface do
different things depending on the order of include files is *completely*
insane.

> P.S. I have done a table of comparison between IO accessors in Linux
> kernel and it looks hell out of being consistent.

There are a few corner oddities but it's really not that bad. Most
things are done for a reason if you dig into them.

Logan

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v5 0/6] make io{read|write}64 globally usable Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:20 +0200
  [PATCH v5 1/6] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:20 +0200
  [PATCH v5 2/6] powerpc: iomap.c: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:30 +0200
  [PATCH v5 5/6] ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:30 +0200
    Re: [PATCH v5 5/6] ntb: ntb_hw_intel: use io-64-nonatomic instead of  in-driver hacks Jon Mason <jdmason@kudzu.us> - 2017-08-01 19:50 +0200
  [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:30 +0200
    Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-07-30 18:10 +0200
      Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-31 18:00 +0200
        Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-07-31 18:20 +0200
          Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-31 18:40 +0200
            Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-07-31 20:00 +0200
              Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-31 20:10 +0200
                Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe <logang@deltatee.com> - 2017-07-31 20:10 +0200
                Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-07-31 20:20 +0200
                Re: [PATCH v5 3/6] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-07-31 20:10 +0200
  [PATCH v5 4/6] io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:30 +0200
  [PATCH v5 6/6] crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe <logang@deltatee.com> - 2017-07-27 01:30 +0200
  Re: [PATCH v5 0/6] make io{read|write}64 globally usable Horia Geantă <horia.geanta@nxp.com> - 2017-07-31 12:30 +0200

csiph-web