From patchwork Mon Mar 19 12:23:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kumar, Ravi1" X-Patchwork-Id: 36254 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 78D3812008; Mon, 19 Mar 2018 13:24:39 +0100 (CET) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0055.outbound.protection.outlook.com [104.47.33.55]) by dpdk.org (Postfix) with ESMTP id DD81AAAEC for ; Mon, 19 Mar 2018 13:24:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=uqD3MRJyI6xjpGmSIFpYiJEoNclk3mo0poVe2HepFqY=; b=ulkzz+s/1u3orCrB0o/X8ia4TbbICuCD7+Vod629414hIS4RlJMCA1EB5Dh64NI38iK/vx8JTcaoxpxtAXX/p3EHUGRUnxwU/Zx/bnB186NhOwTa9igvmxhJwbfppAcdI8IE8+psscKkqUwFJFeM05zn7pmKt5nWfdwy4TJ96ag= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Ravi1.Kumar@amd.com; Received: from wallaby-smavila.amd.com (202.56.249.162) by BN6PR12MB1505.namprd12.prod.outlook.com (10.172.24.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.588.14; Mon, 19 Mar 2018 12:24:32 +0000 From: Ravi Kumar To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, hemant.agrawal@nxp.com Date: Mon, 19 Mar 2018 08:23:43 -0400 Message-Id: <1521462233-13590-9-git-send-email-Ravi1.kumar@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521462233-13590-1-git-send-email-Ravi1.kumar@amd.com> References: <1520584520-130522-1-git-send-email-Ravi1.kumar@amd.com> <1521462233-13590-1-git-send-email-Ravi1.kumar@amd.com> MIME-Version: 1.0 X-Originating-IP: [202.56.249.162] X-ClientProxiedBy: MAXPR0101CA0025.INDPRD01.PROD.OUTLOOK.COM (10.174.62.139) To BN6PR12MB1505.namprd12.prod.outlook.com (10.172.24.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 81ad1644-6e61-4966-7f54-08d58d945f3b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN6PR12MB1505; X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1505; 3:SXVEzRYnrhnCU8B07nQ0vQgjZaEk2be7LbioymtsjOj/9jnf4qFONplgHEPCHQqJkGQdRYHRi9kqT+kW4CPI/FsdIJ8faW+qzHAjY2Adz7ERoSUsX1UkpxXLiYSwyoLu2X57H5u/H4OPvS1aaDEvaCBXvNUy2Cni3hyBfL3Ri0pZ+MsUbtM8nrQvFxkmVi2IwcM9jBjMzlNhVc+95PUXehB3qreEjKMQwAm2N4JvLpCE6FiyGMrg5sP/p7+fQkyE; 25:x1zN9K7tXd3kfmLA5Oi5R6WSwc/0n+IUnjJ5jCr2srnrceSf/svrG2j3QzNsLGfAGFG/OEFfMzE1JO25A/NBGo7lA6MfPvekQOKR6npVrplwLQRIyM/RUqMSH9v5u7bA0mOS84yyWCWUsUyMY4+sDXv+2W9bGPJiu2soRkcKhYR53Q1VQXMIqdUpAxfGAB2/P5+7Smex4+T7rnanR+yvzMZe6vDLzDsoSmzhSBzCYmjh101wNSd95+x0D+uiXXidd9xoyRXeneBFzHynly5LINYKJ7itGbCXMQqLjjEznD4pM7Q5W0TWgLVAKSL/sBYXLt1gAQFxGLl+eC4g7Ram/Q==; 31:8LEqSpB3hyEiXYGTZy1BTGO3I6IikI+SSbC66+CKmdDGuoWmY68TM8T/QOQtzdODrua+4fjdH5y20Lc70ElDSYJvbB77kA5B4crTXvOeW3+A7YaMGtY/D9BYSp8aCqO+L7fiL29w2iHr2wGPms5nwCIEm/dAzYa4OjDJA73LRHwTJYR6mlgJeWSmHC1r112mKoeBzTHLoSiFM7AwRQeXJASIVzlsjEzyTSZuQHPyC6Y= X-MS-TrafficTypeDiagnostic: BN6PR12MB1505: X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1505; 20:TZoLmUL48kVBKADxK8XsR324/KVfOeEBcF4W34PtnFpSrLUUs0OdVAc1exU/TKqp0FlGnv5RQz0btEa8RaQRHHaJTsU828oUWvQ28k9ic8E3KEPqfpoahN1y/Rm6qjmAp++0raBkAu0YVfWm6/Tt1ZaggO+rpKEFLBK96p/vswpbt4L0Kp2fcWSSlfbtcYgXFv+OSRFtdMNXnvP5D8tmWT3mxUEHXifPZbayD3JBOE+9LY9BxE/wZHC5QJ6UUSG0RzHcdZjQ2wLm2qLWCVwtQpof1OF7CBT5m2jWpSW2aLFw2ew95CTaIaTpRR6lsObkxiZp3AIUugyClOdQzs3VrW9YQoXd2dFzxF1wQ403bTdTjQVyLliGLPRS0CHHNZDFm4LeLDXK2aDpE26X9yP4IycIqcRWq+/1z8bKxtgkyhwkUQ+KmFC9CnVDZUcliPVak2ZfPw8bTeGOYb54zliP2KniHiZpUV5PuV7OJTgD1BFtFb0SN8wzzTg3hEOYnJl4; 4:TTi+jEwYgeysznp+NkH5htiC8QOLwkPwgkO9av+FHGEaB9BUT0yaB67G+/uqQDtk+B30Q8aqobnPxcpCqceQ/dd7ApPFJMb1Jx/CAfxWfG00C9smf65rghOJSRzj5eg21eG6UVhhDWJsWBKsvORRVm1zoBjVL8+cNd8cR+CjJkJWtczw7z3wO6OJee5SOJEAi8vfaoa1kwm0B8c2QHf4WZWNxYpMPLVLnvt3bOeV4T6vQDdqkYqdPWF4y2ajF1jUxhR14pbI6bk2gQR9SmtI0rz31SQw3HTq1/UvAUZcAvnHuNgLUM/RblhUXnMQfU6Y X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501300)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:BN6PR12MB1505; BCL:0; PCL:0; RULEID:; SRVR:BN6PR12MB1505; X-Forefront-PRVS: 06167FAD59 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(39380400002)(39860400002)(346002)(376002)(366004)(199004)(189003)(97736004)(105586002)(2361001)(2351001)(72206003)(48376002)(4326008)(50226002)(76176011)(8676002)(26005)(316002)(8936002)(53936002)(106356001)(16586007)(186003)(7696005)(51416003)(16526019)(52116002)(386003)(81166006)(81156014)(8656006)(25786009)(66066001)(68736007)(86362001)(47776003)(6486002)(5660300001)(6666003)(7736002)(53416004)(6116002)(305945005)(3846002)(478600001)(2950100002)(36756003)(6916009)(2906002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR12MB1505; H:wallaby-smavila.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR12MB1505; 23:9eho9JnfLzoHq3nrG4TreXzekdLJ/MAFFF8LOLjaV?= r6guLPjVp59VR+c4FSTgtUimZ9YvKffJ/eBp1JYE6XNsgJH9Ph75lb9aWmyy4kgqiyOzchYV7Vd/rQiGeHbapSrpjKkuufGi228Q6OHjAKUn+1DiUSY80y4/SPQNTaeoY3bwbWTK8ALgeS6PkoVw/LF+o8+RfhKS/Iza3F48OWMJPwGURANqJZMOdrGY0wlkTIVjN9qUymtDyRdkBn1k1KDaDgyjru53rZxU7mSewdcKaYQPjSTxmWBgEEN2LTIcp9BVqKjUp9d4A1AGMpqwOMKujLG6LxbMdmRlfx0x6zK/8soIcRPNx154s9SK6hDPzPz11MNrwhMrsTCuIuS5AQ1iJdX9itrxbnMVYrTc1WSf2ltMbQBzQYsTWbrGllDE+6hgjYUzG6QSBiV+ub/6GdKgf0ZbEJHlqQoFkUJ9P/naVbWZU7NrnlseMZ24cB0C6DN9JQbGjA4F9CNiArb0JuadZgvbFCKZa5x9Hxl+996x7eR8vAq2k/ERpBsf+h7oRnaTmvoHoyMkn3tkSGy3mKMv+jQ8/Qt4MUsUqGDqnAQysPw/dj6hQroJCz0lmyyrWUsB79veM7qpvFe+cxLWqeAShc4h5bjkQOpTgdPa1rEPicjmDX5allzJYy8Vmy5xCRMUjjCYltFwK/kQGYn/i6XBPi6ubq0K6kQjlHfzchD4MSe9IIQ+fVSvSmwT5K/Y/529Rx8t+2go88Q9Vwx0ZvsYfPj/6t7HDzlPIcFaX6SBvVvSxfvI8/FMfW4TV568p768qxUZxlK0fHaHyfVbMKTgNEnp1n7BVxuFLn+nAixwHlYaBItTk4dGG+godNt15B3QxJFBeb9RW47uKwamy04SLQo9uWxDXE8A3MktGtk4b0SQ4nQKZypa7FMNULth5xpHtd2S7bGvNcWVdOm1wzTQqPt0ExkkFcnmTtLn7myl6WH1G/slzlcNjGVtACdichVXV35LdVo+C59xkCI/3AOm2Ed6mbQ4UkR1od+SPu68/+cO7uT1IFTUER/6XO36ZjXSBlyYl5gigNnmb/3rBXgOm+w7ej47Wy39FXjiWdfW6sdAV51hJEymxiN6liqYYwnE9YeTCwIXeLyS6qDFK+RYpOVTNd++WhCYK1MMSAvctoJgkggQRHUfXuEb+O6seY= X-Microsoft-Antispam-Message-Info: BPNZMbr4Bru5OS5uzCNV2OosIVqAEdqa9DSnJMJ2iWGy92FglrH0+qhwH2Nm8hVKF9b3fCU/SPcbn/ucPARVn/HkpJ7sYxKqilBBvDPRy3HTIP4W6twJVoq+DdiMRhrFf5YahwuHi0Qk1yYulpxGkBuZhx+B/VUJRphYCs8w+eXy4Iq7Y1FzvtXuAE1q8oVo X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1505; 6:HVU01Oi5SmA5gTfeQSrm5HyxECraVVpckuspkDIQranusnSrx7/5s88CtTRKTD6CIDuBk6tSX41KAxuqq4oHapor1hG8uTNKMYnOBYK0z9ibqEzazyiMKuZJppoKZXYuPMXBl2RIrMtYS+whAdzmqOIPfPvUk0NI5B0EkqwN5d68DkSxJf4YAF/Nm6VwaMeTKAQRspiPsmHV6j6aFj8KMR2+GYoFTAN3Gt6imumapDnc0HrcMiWF8rQsVo1O2nuIUr6yBw3MlJS4YBROKff+WOtxDki6S52pBrr0uiQi5KBYSa/ugQDZawsCtoh4Yy4V3SnyNXFcY9tkrTaOvAY9e57Be+7MK5BvBmGs0XTnWV0=; 5:vDQJ8Hv4NHFx17ILYlqnMSCDpjnlwj/fgTguJL8fgSDXzKbfOqMN4wcorxgrlShC9YN7rlCnD437eLNS8WuCRGq4XUKLgZ/xWPmAdrWAiUHhfXShZfrajWpf0atUfNpSfJym5RieOV/NvnxdYC5Gq46LKgUI8W4Z6rnaslA+Bf4=; 24:ttTsBIOBuCXaN/c+anRiwZiE0YVNXSNRFx+hVTly4xYt8p+z5apL4+F/ZzOvKZ5QOXhhLCcF/ifEiBvW/8dJAyLc7oi3wJPKmYfczsNk6RE=; 7:5KEgJP+kiIfy2lSXuTWqQh1F5tmucMP+LxOtZJ8stsyI6pTsnXHmR9duTd4HHPU00qQH/BnT2fi4Yp2qiLrSD/rIOeQZEkwjEhOxQJ5ckZWqGFA5nprZ+YchTRNYQd4/J04GsAzPnzVfo0ig8EJH6NX9vaucQsouEDZ8dZzyhMQ+4wmoT5bl9zm9FxTzXpWkOZdju8RHvAy2sZqvnep4nSjS7TeS8z7C5iHgKw0/A6XcImYnhJ9uDu/79l7gLDAa SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR12MB1505; 20:ZnkSkccQIatffyJzXs+UhdaDAVcROmRZu5VnRS3LXj6teFsMRdlY6YkwPvNV3R8vMnPsl6B+uM/aLmejsOoOpMHGYtJDsVvDWLdnCiQUPa+N/i+b9+GzDLc+epY1zflBAtEfdTnWrneQnB78FTXHTkXD3xTkU1weTTz/ZAqmEZ6IFPVRgWCj1U7ADRUpJuuOpZZTmRwFD1MoIe7BBjNnFg43UoRMe1DZNp/VAsmy/tT65Vyf/4nUe/HDvRuWKAsi X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2018 12:24:32.2353 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81ad1644-6e61-4966-7f54-08d58d945f3b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1505 Subject: [dpdk-dev] [PATCH v5 09/19] crypto/ccp: support ccp hwrng feature X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Ravi Kumar --- drivers/crypto/ccp/ccp_dev.c | 20 ++++++++++++++++++++ drivers/crypto/ccp/ccp_dev.h | 11 +++++++++++ 2 files changed, 31 insertions(+) diff --git a/drivers/crypto/ccp/ccp_dev.c b/drivers/crypto/ccp/ccp_dev.c index 2e702de..55cfcdd 100644 --- a/drivers/crypto/ccp/ccp_dev.c +++ b/drivers/crypto/ccp/ccp_dev.c @@ -62,6 +62,26 @@ ccp_allot_queue(struct rte_cryptodev *cdev, int slot_req) return NULL; } +int +ccp_read_hwrng(uint32_t *value) +{ + struct ccp_device *dev; + + TAILQ_FOREACH(dev, &ccp_list, next) { + void *vaddr = (void *)(dev->pci.mem_resource[2].addr); + + while (dev->hwrng_retries++ < CCP_MAX_TRNG_RETRIES) { + *value = CCP_READ_REG(vaddr, TRNG_OUT_REG); + if (*value) { + dev->hwrng_retries = 0; + return 0; + } + } + dev->hwrng_retries = 0; + } + return -1; +} + static const struct rte_memzone * ccp_queue_dma_zone_reserve(const char *queue_name, uint32_t queue_size, diff --git a/drivers/crypto/ccp/ccp_dev.h b/drivers/crypto/ccp/ccp_dev.h index abc788c..de375ee 100644 --- a/drivers/crypto/ccp/ccp_dev.h +++ b/drivers/crypto/ccp/ccp_dev.h @@ -21,6 +21,7 @@ /**< CCP sspecific */ #define MAX_HW_QUEUES 5 +#define CCP_MAX_TRNG_RETRIES 10 /**< CCP Register Mappings */ #define Q_MASK_REG 0x000 @@ -197,6 +198,8 @@ struct ccp_device { /**< protection for shared lsb region allocation */ int qidx; /**< current queue index */ + int hwrng_retries; + /**< retry counter for CCP TRNG */ } __rte_cache_aligned; /**< CCP H/W engine related */ @@ -428,4 +431,12 @@ int ccp_probe_devices(const struct rte_pci_id *ccp_id); */ struct ccp_queue *ccp_allot_queue(struct rte_cryptodev *dev, int slot_req); +/** + * read hwrng value + * + * @param trng_value data pointer to write RNG value + * @return 0 on success otherwise -1 + */ +int ccp_read_hwrng(uint32_t *trng_value); + #endif /* _CCP_DEV_H_ */