|
|
Log in / Subscribe / Register

kernel: add support for 256-bit IO access

From:  Rahul Lakkireddy <rahul.lakkireddy-AT-chelsio.com>
To:  x86-AT-kernel.org, linux-kernel-AT-vger.kernel.org, netdev-AT-vger.kernel.org
Subject:  [RFC PATCH 0/3] kernel: add support for 256-bit IO access
Date:  Mon, 19 Mar 2018 19:50:33 +0530
Message-ID:  <cover.1521469118.git.rahul.lakkireddy@chelsio.com>
Cc:  tglx-AT-linutronix.de, mingo-AT-redhat.com, hpa-AT-zytor.com, davem-AT-davemloft.net, akpm-AT-linux-foundation.org, torvalds-AT-linux-foundation.org, ganeshgr-AT-chelsio.com, nirranjan-AT-chelsio.com, indranil-AT-chelsio.com, Rahul Lakkireddy <rahul.lakkireddy-AT-chelsio.com>

This series of patches add support for 256-bit IO read and write.
The APIs are readqq and writeqq (quad quadword - 4 x 64), that read
and write 256-bits at a time from IO, respectively.

Patch 1 adds u256 type and adds necessary non-atomic accessors.  Also
adds byteorder conversion APIs.

Patch 2 adds 256-bit read and write to x86 via VMOVDQU AVX CPU
instructions.

Patch 3 updates cxgb4 driver to use the readqq API to speed up
reading on-chip memory 256-bits at a time.

Feedback and suggestions will be much appreciated.

Thanks,
Rahul

Rahul Lakkireddy (3):
  include/linux: add 256-bit IO accessors
  x86/io: implement 256-bit IO read and write
  cxgb4: read on-chip memory 256-bits at a time

 arch/x86/include/asm/io.h                      | 57 ++++++++++++++++++++++++-
 drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c | 16 +++----
 drivers/net/ethernet/chelsio/cxgb4/cxgb4.h     |  6 +++
 include/linux/byteorder/generic.h              | 48 +++++++++++++++++++++
 include/linux/io-64-nonatomic-hi-lo.h          | 59 ++++++++++++++++++++++++++
 include/linux/io-64-nonatomic-lo-hi.h          | 59 ++++++++++++++++++++++++++
 include/linux/types.h                          |  7 +++
 7 files changed, 243 insertions(+), 9 deletions(-)

-- 
2.14.1



Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds