[dpdk-dev] [PATCH 3/4] crypto/qat: move common qat files to common dir

Bruce Richardson bruce.richardson at intel.com
Tue May 22 11:20:52 CEST 2018


On Tue, May 22, 2018 at 08:51:40AM +0200, Tomasz Jozwiak wrote:
>   -  moved common qat files to common/qat dir.
>   -  changed common/qat/Makefile, common/qat/meson.build,
>      drivers/meson.build, drivers/Makefile, crypto/Makefile
>      to add possibility of using new files locations
>   -  added common/qat/qat dir for meson build
>   -  added README file into crypto/qat to clarify where
>      the build is made from
> 
> Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak at intel.com>
> Acked-by: Fiona Trahe <fiona.trahe at intel.com>
> ---
>  drivers/Makefile                                   |  2 ++
>  drivers/{crypto => common}/qat/Makefile            | 13 ++++++++----
>  drivers/common/qat/meson.build                     |  8 ++++++++
>  drivers/common/qat/qat/meson.build                 | 24 ++++++++++++++++++++++
>  .../qat}/qat/rte_pmd_qat_version.map               |  0
>  .../qat/qat_adf/adf_transport_access_macros.h      |  0
>  .../{crypto => common}/qat/qat_adf/icp_qat_fw.h    |  0
>  .../{crypto => common}/qat/qat_adf/icp_qat_fw_la.h |  0
>  .../{crypto => common}/qat/qat_adf/icp_qat_hw.h    |  0
>  drivers/{crypto => common}/qat/qat_common.c        |  0
>  drivers/{crypto => common}/qat/qat_common.h        |  0
>  drivers/{crypto => common}/qat/qat_device.c        |  0
>  drivers/{crypto => common}/qat/qat_device.h        |  0
>  drivers/{crypto => common}/qat/qat_logs.c          |  0
>  drivers/{crypto => common}/qat/qat_logs.h          |  0
>  drivers/{crypto => common}/qat/qat_qp.c            |  0
>  drivers/{crypto => common}/qat/qat_qp.h            |  0
>  drivers/crypto/Makefile                            |  1 -
>  drivers/crypto/meson.build                         |  2 +-
>  drivers/crypto/qat/README                          |  7 +++++++
>  drivers/crypto/qat/meson.build                     | 19 -----------------
>  drivers/meson.build                                |  1 +
>  22 files changed, 52 insertions(+), 25 deletions(-)
>  rename drivers/{crypto => common}/qat/Makefile (73%)
>  create mode 100644 drivers/common/qat/meson.build
>  create mode 100644 drivers/common/qat/qat/meson.build
>  rename drivers/{crypto => common/qat}/qat/rte_pmd_qat_version.map (100%)
>  rename drivers/{crypto => common}/qat/qat_adf/adf_transport_access_macros.h (100%)
>  rename drivers/{crypto => common}/qat/qat_adf/icp_qat_fw.h (100%)
>  rename drivers/{crypto => common}/qat/qat_adf/icp_qat_fw_la.h (100%)
>  rename drivers/{crypto => common}/qat/qat_adf/icp_qat_hw.h (100%)
>  rename drivers/{crypto => common}/qat/qat_common.c (100%)
>  rename drivers/{crypto => common}/qat/qat_common.h (100%)
>  rename drivers/{crypto => common}/qat/qat_device.c (100%)
>  rename drivers/{crypto => common}/qat/qat_device.h (100%)
>  rename drivers/{crypto => common}/qat/qat_logs.c (100%)
>  rename drivers/{crypto => common}/qat/qat_logs.h (100%)
>  rename drivers/{crypto => common}/qat/qat_qp.c (100%)
>  rename drivers/{crypto => common}/qat/qat_qp.h (100%)
>  create mode 100644 drivers/crypto/qat/README
>  delete mode 100644 drivers/crypto/qat/meson.build
> 
> diff --git a/drivers/Makefile b/drivers/Makefile
> index c88638c..7566076 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -13,6 +13,8 @@ DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += baseband
>  DEPDIRS-baseband := common bus mempool
>  DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
>  DEPDIRS-crypto := common bus mempool
> +DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
> +DEPDIRS-common/qat := bus mempool
>  DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
>  DEPDIRS-compress := bus mempool
>  DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
> diff --git a/drivers/crypto/qat/Makefile b/drivers/common/qat/Makefile
> similarity index 73%
> rename from drivers/crypto/qat/Makefile
> rename to drivers/common/qat/Makefile
> index 77700b4..c023c34 100644
> --- a/drivers/crypto/qat/Makefile
> +++ b/drivers/common/qat/Makefile
> @@ -16,8 +16,13 @@ LIBABIVER := 1
>  CFLAGS += $(WERROR_FLAGS)
>  CFLAGS += -O3
>  
> +# build directories
> +QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
> +
>  # external library include paths
>  CFLAGS += -I$(SRCDIR)/qat_adf
> +CFLAGS += -I$(SRCDIR)
> +CFLAGS += -I$(QAT_CRYPTO_DIR)
>  
>  # library common source files
>  SRCS-y += qat_device.c
> @@ -29,9 +34,9 @@ ifeq ($(LIBCRYPTO),0)
>  	LDLIBS += -lrte_cryptodev
>  	LDLIBS += -lcrypto
>  	CFLAGS += -DCONFIG_LIBCRYPTO_QAT
> -	SRCS-y += qat_sym.c
> -	SRCS-y += qat_sym_session.c
> -	SRCS-y += qat_sym_pmd.c
> +	SRCS-y += $(QAT_CRYPTO_DIR)/qat_sym.c
> +	SRCS-y += $(QAT_CRYPTO_DIR)/qat_sym_session.c
> +	SRCS-y += $(QAT_CRYPTO_DIR)/qat_sym_pmd.c
>  endif
>  
>  LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
> @@ -41,6 +46,6 @@ LDLIBS += -lrte_pci -lrte_bus_pci
>  SYMLINK-y-include +=
>  
>  # versioning export map
> -EXPORT_MAP := rte_pmd_qat_version.map
> +EXPORT_MAP := qat/rte_pmd_qat_version.map
>  
>  include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/drivers/common/qat/meson.build b/drivers/common/qat/meson.build
> new file mode 100644
> index 0000000..8eed6c8
> --- /dev/null
> +++ b/drivers/common/qat/meson.build
> @@ -0,0 +1,8 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Intel Corporation
> +
> +drivers = ['qat']
> +
> +std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps
> +config_flag_fmt = 'RTE_LIBRTE_PMD_ at 0@'
> +driver_name_fmt = 'rte_pmd_ at 0@'
> diff --git a/drivers/common/qat/qat/meson.build b/drivers/common/qat/qat/meson.build
> new file mode 100644
> index 0000000..fb1055c
> --- /dev/null
> +++ b/drivers/common/qat/qat/meson.build
> @@ -0,0 +1,24 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2017-2018 Intel Corporation
> +
> +dep = dependency('libcrypto', required: false)
> +
> +sources = files('../qat_common.c',
> +		'../qat_qp.c',
> +		'../qat_device.c',
> +		'../qat_logs.c')
> +
> +if dep.found()
> +	sources += files('../../../crypto/qat/qat_sym_pmd.c',
> +		'../../../crypto/qat/qat_sym.c',
> +		'../../../crypto/qat/qat_sym_session.c')
> +
> +	pkgconfig_extra_libs += '-lcrypto'
> +	cflags += '-DCONFIG_LIBCRYPTO_QAT'
> +endif
> +
> +includes += include_directories('../')
> +includes += include_directories('../qat_adf')
> +includes += include_directories('../../../crypto/qat')
> +deps += ['bus_pci']
> +ext_deps += dep
> diff --git a/drivers/crypto/qat/rte_pmd_qat_version.map b/drivers/common/qat/qat/rte_pmd_qat_version.map
> similarity index 100%
> rename from drivers/crypto/qat/rte_pmd_qat_version.map
> rename to drivers/common/qat/qat/rte_pmd_qat_version.map
> diff --git a/drivers/crypto/qat/qat_adf/adf_transport_access_macros.h b/drivers/common/qat/qat_adf/adf_transport_access_macros.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_adf/adf_transport_access_macros.h
> rename to drivers/common/qat/qat_adf/adf_transport_access_macros.h
> diff --git a/drivers/crypto/qat/qat_adf/icp_qat_fw.h b/drivers/common/qat/qat_adf/icp_qat_fw.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_adf/icp_qat_fw.h
> rename to drivers/common/qat/qat_adf/icp_qat_fw.h
> diff --git a/drivers/crypto/qat/qat_adf/icp_qat_fw_la.h b/drivers/common/qat/qat_adf/icp_qat_fw_la.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_adf/icp_qat_fw_la.h
> rename to drivers/common/qat/qat_adf/icp_qat_fw_la.h
> diff --git a/drivers/crypto/qat/qat_adf/icp_qat_hw.h b/drivers/common/qat/qat_adf/icp_qat_hw.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_adf/icp_qat_hw.h
> rename to drivers/common/qat/qat_adf/icp_qat_hw.h
> diff --git a/drivers/crypto/qat/qat_common.c b/drivers/common/qat/qat_common.c
> similarity index 100%
> rename from drivers/crypto/qat/qat_common.c
> rename to drivers/common/qat/qat_common.c
> diff --git a/drivers/crypto/qat/qat_common.h b/drivers/common/qat/qat_common.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_common.h
> rename to drivers/common/qat/qat_common.h
> diff --git a/drivers/crypto/qat/qat_device.c b/drivers/common/qat/qat_device.c
> similarity index 100%
> rename from drivers/crypto/qat/qat_device.c
> rename to drivers/common/qat/qat_device.c
> diff --git a/drivers/crypto/qat/qat_device.h b/drivers/common/qat/qat_device.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_device.h
> rename to drivers/common/qat/qat_device.h
> diff --git a/drivers/crypto/qat/qat_logs.c b/drivers/common/qat/qat_logs.c
> similarity index 100%
> rename from drivers/crypto/qat/qat_logs.c
> rename to drivers/common/qat/qat_logs.c
> diff --git a/drivers/crypto/qat/qat_logs.h b/drivers/common/qat/qat_logs.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_logs.h
> rename to drivers/common/qat/qat_logs.h
> diff --git a/drivers/crypto/qat/qat_qp.c b/drivers/common/qat/qat_qp.c
> similarity index 100%
> rename from drivers/crypto/qat/qat_qp.c
> rename to drivers/common/qat/qat_qp.c
> diff --git a/drivers/crypto/qat/qat_qp.h b/drivers/common/qat/qat_qp.h
> similarity index 100%
> rename from drivers/crypto/qat/qat_qp.h
> rename to drivers/common/qat/qat_qp.h
> diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
> index 1d0c88e..c480cbd 100644
> --- a/drivers/crypto/Makefile
> +++ b/drivers/crypto/Makefile
> @@ -8,7 +8,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl
> -DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += qat
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
> diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build
> index 7b3ec13..0d98ea1 100644
> --- a/drivers/crypto/meson.build
> +++ b/drivers/crypto/meson.build
> @@ -2,7 +2,7 @@
>  # Copyright(c) 2017 Intel Corporation
>  
>  drivers = ['dpaa_sec', 'dpaa2_sec', 'mvsam',
> -	'null', 'openssl', 'qat', 'virtio']
> +	'null', 'openssl', 'virtio']
>  
>  std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps
>  config_flag_fmt = 'RTE_LIBRTE_ at 0@_PMD'
> diff --git a/drivers/crypto/qat/README b/drivers/crypto/qat/README
> new file mode 100644
> index 0000000..ae68c08
> --- /dev/null
> +++ b/drivers/crypto/qat/README
> @@ -0,0 +1,7 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2015-2018 Intel Corporation
> +
> +Makefile and meson.build files for crypto QAT PMD are in common/qat directory.
> +The build for the QAT driver is done from there as only one library is built for the
> +whole QAT pci device and that library includes all the services (crypto, compression)
> +which are enabled on the device.
> diff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build
> deleted file mode 100644
> index c96486a..0000000
> --- a/drivers/crypto/qat/meson.build
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -# SPDX-License-Identifier: BSD-3-Clause
> -# Copyright(c) 2017-2018 Intel Corporation
> -
> -dep = dependency('libcrypto', required: false)
> -
> -sources = files('qat_common.c',
> -		'qat_qp.c',
> -		'qat_device.c',
> -		'qat_logs.c')
> -
> -if dep.found()
> -	sources += files('qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c')
> -	pkgconfig_extra_libs += '-lcrypto'
> -	cflags += '-DCONFIG_LIBCRYPTO_QAT'
> -endif
> -
> -includes += include_directories('qat_adf')
> -deps += ['bus_pci']
> -ext_deps += dep
> diff --git a/drivers/meson.build b/drivers/meson.build
> index ac6c972..606d11f 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -5,6 +5,7 @@
>  driver_classes = ['common',
>  	       'bus',
>  	       'mempool', # depends on common and bus.
> +	       'common/qat', # depends on bus, mempool.
>  	       'net',     # depends on common, bus and mempool.
>  	       'crypto',  # depends on common, bus and mempool (net in future).
>  	       'compress', # depends on common, bus, mempool.
> -- 
Just on the meson parts of this patch, I dislike this approach of having a
common/qat/qat directory as though it were another device class.
Instead, I think a better solution is to build up the list of QAT files and
include paths etc. in the common and crypto directories as they are
processed, and use those to build the driver in the last QAT driver
directory processed.

/Bruce


More information about the dev mailing list