From patchwork Fri Mar 3 21:34:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fenghua Yu X-Patchwork-Id: 64089 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp640545wrd; Fri, 3 Mar 2023 13:42:41 -0800 (PST) X-Google-Smtp-Source: AK7set/aGyrk3rlMOcaTlNt1wthE81zylXfCuc3Co3rIJ+In+xKPZAr7nYvDqNhYtaBGIKbl6Ae+ X-Received: by 2002:a17:903:25c2:b0:19c:b7da:a880 with SMTP id jc2-20020a17090325c200b0019cb7daa880mr2924961plb.11.1677879760775; Fri, 03 Mar 2023 13:42:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677879760; cv=none; d=google.com; s=arc-20160816; b=DSSdxGcLD5VsRjms9pqRfgVPqmsNcexO3M5PPhahIimW+zbUC7rY2WyjswEUMCxkv1 a4T+2+XAP73YGoEO9mI75hAX57CcfOO87y2FrmsDQVdGzUGw8FYyGQtImFZiNZwzJUsA illamZ/sh8CFkbObtePxIcOiJeSaHJx86S99LQhG9cnYXTYB+mmZyiOLxYANhOmts4MQ deav1FKsdyv5mf0rTufeJki5zOjF3rjizqNyBRwx/ffVa9WNbD4MWb0a2xEG8OdW1E5z 3E01CW4sZxJxP5fuLfIWxihEy/c8x0lze1HwYWnXBLENzjjzzJ4yDu4fTiyadGyGSFwr 8tPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cyXUHgG7JhfB9f8/dB0yFtRm1WqVcUl3g+XU/kfls/M=; b=IgyD0Ga61ycKxlpRadyz/TU8iz/zrPFyKpDSC+j8pvpnLsB4Mzn58WsgVu2WVfTE1s D96gcrIJJy348hJG7ZFSFG51Ek33mV49zmGZRwdGiZG4x+NAySxqJm7IXJAdx+bhW8jl 9/3cSNZgljBEOc0T622H/FlmaLl9aVe3toDroOj+wqBypXFrfZUZacxJ/uFPbIGTQtmc VNJyi2/u2xzA9oJwtLMsEbL0Ff/TwHIVbX6j/m3Oc3KjYRYL9T46VDMd03EPgcqnXSmI M4rctS35+bXoTh4W2VXcC79K3IO4XHdp1XAPp5ocoa4/gxuYUEyERmToLYDqHGO0LDJu Ezaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cYXU9zYu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jh21-20020a170903329500b0019b7766afdfsi2925233plb.626.2023.03.03.13.42.28; Fri, 03 Mar 2023 13:42:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cYXU9zYu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231845AbjCCVeb (ORCPT + 99 others); Fri, 3 Mar 2023 16:34:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231804AbjCCVeX (ORCPT ); Fri, 3 Mar 2023 16:34:23 -0500 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEAB211140; Fri, 3 Mar 2023 13:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677879261; x=1709415261; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2RUBN/hdK7Y3M237lPTg27d9QJ3VCdg0r/JSZ5wz68Y=; b=cYXU9zYuEw0MKaC5MD9lmUR2jZM+h+FXTl9NUWzJ+olhdTW0N7QZCC7F QC+cmNLhdMAPtA0vyUwwvwHINyAIOgnmaRoUZ0QZ3Yuizx+sJY7vvfaHq pvK6BhUR2nm1ouifktFkV8u9Ea9+EloIbCqhSgs4cRhpTURVtEFLedACN JLx0B0o61IBR9r8rZBVy5chugx8DlyPblvbQG9rGsz3bGiUJxqOy2PBZH zSWkgxW3dUoPN8QLXMw6PhZ/ZDK+23/sEFo7adJ2Y+q9C79ZWzULyb/v3 Y0blJc67GRKIwgdRaNNZumolY5FviGZWKi7DLQh0nWZMac3VYdDn8M4HU g==; X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="399976467" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="399976467" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2023 13:34:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="675508698" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="675508698" Received: from fyu1.sc.intel.com ([172.25.103.126]) by orsmga002.jf.intel.com with ESMTP; 03 Mar 2023 13:34:19 -0800 From: Fenghua Yu To: "Vinod Koul" , "Dave Jiang" Cc: dmaengine@vger.kernel.org, "linux-kernel" , Fenghua Yu Subject: [PATCH v2 1/3] dmaengine: idxd: Add descriptor definitions for 16 bytes of pattern in memory fill operation Date: Fri, 3 Mar 2023 13:34:11 -0800 Message-Id: <20230303213413.3357431-2-fenghua.yu@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230303213413.3357431-1-fenghua.yu@intel.com> References: <20230303213413.3357431-1-fenghua.yu@intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759384447666398508?= X-GMAIL-MSGID: =?utf-8?q?1759384447666398508?= The memory fill operation (0x04) can fill in memory with either 8 bytes or 16 bytes of pattern. To fill in memory with 16 bytes of pattern, the first 8 bytes are provided in pattern lower in bytes 16-23 and the next 8 bytes are in pattern upper in bytes 40-47 in the descriptor. Currently only 8 bytes of pattern is enabled. Add descriptor definitions for pattern lower and pattern upper so that user can use 16 bytes of pattern to fill memory. Signed-off-by: Fenghua Yu Reviewed-by: Dave Jiang --- v2: - Change anonymous struct to uint64_t for pattern_upper (Dave Jiang) include/uapi/linux/idxd.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h index 1d553bedbdb5..c43d7df5fc15 100644 --- a/include/uapi/linux/idxd.h +++ b/include/uapi/linux/idxd.h @@ -180,6 +180,7 @@ struct dsa_hw_desc { uint64_t rdback_addr; uint64_t pattern; uint64_t desc_list_addr; + uint64_t pattern_lower; }; union { uint64_t dst_addr; @@ -244,6 +245,9 @@ struct dsa_hw_desc { uint16_t dest_app_tag_seed; }; + /* Fill */ + uint64_t pattern_upper; + uint8_t op_specific[24]; }; } __attribute__((packed)); From patchwork Fri Mar 3 21:34:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fenghua Yu X-Patchwork-Id: 64086 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp640372wrd; Fri, 3 Mar 2023 13:42:13 -0800 (PST) X-Google-Smtp-Source: AK7set8vKbqTuEWiThn+p7zZ/i+q+RDSkjVibEawde4VEZ0yi9jLc3G4YIY6sM0dhQVHkOrjWPzB X-Received: by 2002:a17:902:f548:b0:19c:947c:8819 with SMTP id h8-20020a170902f54800b0019c947c8819mr4273636plf.59.1677879732761; Fri, 03 Mar 2023 13:42:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677879732; cv=none; d=google.com; s=arc-20160816; b=kwqx4QYWfW0yuEenr0iMLROHjwSQAbsAG0PGO1Sc5CNqBALuVNiduo7iScyZDNwwM6 2eiQV4bpSbUFbswPlLC2UYMfXsfZjiEdso8JhX3FNtLDm6uOSzmy2ZSXbH54fM9h+kfL tuw77HebtyahrwO9q1gvn+0erL0e8YVM+TYsynRBqwx8T0N7Eop7fr/uIpR0dsjshonC eUQogA1NDR/JUN4D9hAnNBfX6MSHOymWVTdMPIOxlrjrsNBzMt5pIxI5O+YjG2UoUqPv OXdW0KvmwXlTsNXoHp0rBWMFqrbIroHEApXocXotDfZ+XE873FFALIyMOGlO13HmZihD lWcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=y8SnDehiAj0kRxpyljn6Dpv4p1l1gdAR++KKenaBurQ=; b=AW3gKJoz8Q4n9oH0tCLdcG1K1sHTncaTN5tKPpfV1gh0XBHf8otfzXPYQHOD2E5V5s Ex6QJpm267z0KJe5LtQpmhIMay4SABT3r9Q0e1RIvmAKg7tDXp8UtOQz7H0d5FxXw+Hg FHnmSyH4pNfy/16i/lc7lii1UoDMQOLF40IOt21XXafOL4Xsq4WpzsNDkiyR7ophW54Y 60O+LhFFlLB9U5MwDqEQuLKG2UHNYgqBAiqgG7rowfUL6TtQPwl+DVQQrcFNCzaOIqi8 MCh8AZaGxxafO6klhQ2wBIFADqfGV11LcvoseBgQMJfeRAw3Br8MOfQtzGGJ803q3/Uy Qcpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J7pP2euV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jh21-20020a170903329500b0019b7766afdfsi2925233plb.626.2023.03.03.13.42.00; Fri, 03 Mar 2023 13:42:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J7pP2euV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231830AbjCCVe2 (ORCPT + 99 others); Fri, 3 Mar 2023 16:34:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231795AbjCCVeX (ORCPT ); Fri, 3 Mar 2023 16:34:23 -0500 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D83471027A; Fri, 3 Mar 2023 13:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677879261; x=1709415261; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UJz0pCiqK7oMKPy2pp6vBg4X2Osf4pLe4Lvm2wE5zaA=; b=J7pP2euV83o+8BV2QpNzhbRLhOUGLdRZDgyWFZfVwfBKbySHAbnSVDYZ FWozGu08KrvdK3TPxHx/0v7Aj1IqS9itYC36B2kFs/f0H5ppWa7JCFKTk 7GIGcDXqD+t106fd3ytNm7F/LZKF+aO5wSNKygAxodJ72cF05jqVx3U9o 9r8guOy12CvFjXwiU4Zj0s+9gcWsUMNBzDOrjAkr5NOovzpWhiTwCuOoD M+xzTrG9HFNg998N6l89sFp9h7MCHKoA+TIjfOlLVOyKVuAe36pooIgjm QBM9qtp0CQFuNzc9SICNsrEWJOsFaZ4xxMzCBTipQlYjBdhXwmyvlELxF A==; X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="399976469" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="399976469" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2023 13:34:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="675508701" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="675508701" Received: from fyu1.sc.intel.com ([172.25.103.126]) by orsmga002.jf.intel.com with ESMTP; 03 Mar 2023 13:34:19 -0800 From: Fenghua Yu To: "Vinod Koul" , "Dave Jiang" Cc: dmaengine@vger.kernel.org, "linux-kernel" , Fenghua Yu Subject: [PATCH v2 2/3] dmaengine: idxd: Add descriptor definitions for DIX generate operation Date: Fri, 3 Mar 2023 13:34:12 -0800 Message-Id: <20230303213413.3357431-3-fenghua.yu@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230303213413.3357431-1-fenghua.yu@intel.com> References: <20230303213413.3357431-1-fenghua.yu@intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759384419066858808?= X-GMAIL-MSGID: =?utf-8?q?1759384419066858808?= The Data Integrity Extension (DIX) generate operation (0x17) computes the Data Integrity Field (DIF) on the source data and writes only the computed DIF for each source block to the PI destination address. Add descriptor definitions for this operation so that user can use DSA to accelerate DIX generate operation. Signed-off-by: Fenghua Yu Reviewed-by: Dave Jiang --- include/uapi/linux/idxd.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h index c43d7df5fc15..4c12e93a6aa6 100644 --- a/include/uapi/linux/idxd.h +++ b/include/uapi/linux/idxd.h @@ -78,6 +78,7 @@ enum dsa_opcode { DSA_OPCODE_DIF_INS, DSA_OPCODE_DIF_STRP, DSA_OPCODE_DIF_UPDT, + DSA_OPCODE_DIX_GEN = 0x17, DSA_OPCODE_CFLUSH = 0x20, }; @@ -248,6 +249,17 @@ struct dsa_hw_desc { /* Fill */ uint64_t pattern_upper; + /* DIX generate */ + struct { + uint8_t dix_gen_res; + uint8_t dest_dif_flags; + uint8_t dif_flags; + uint8_t dix_gen_res2[13]; + uint32_t ref_tag_seed; + uint16_t app_tag_mask; + uint16_t app_tag_seed; + }; + uint8_t op_specific[24]; }; } __attribute__((packed)); @@ -326,6 +338,14 @@ struct dsa_completion_record { uint16_t dif_upd_dest_app_tag; }; + /* DIX generate */ + struct { + uint64_t dix_gen_res; + uint32_t dix_ref_tag; + uint16_t dix_app_tag_mask; + uint16_t dix_app_tag; + }; + uint8_t op_specific[16]; }; } __attribute__((packed)); From patchwork Fri Mar 3 21:34:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fenghua Yu X-Patchwork-Id: 64084 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp640260wrd; Fri, 3 Mar 2023 13:41:50 -0800 (PST) X-Google-Smtp-Source: AK7set8KP14rzbCst+8vFTUTLSsZM6jAA9PM1Oi5yRW6ojU6TeTr6KRr63wG9tHQi65G0viUvAhh X-Received: by 2002:a17:903:2452:b0:19d:1c6e:d31e with SMTP id l18-20020a170903245200b0019d1c6ed31emr3274901pls.60.1677879710132; Fri, 03 Mar 2023 13:41:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1677879710; cv=none; d=google.com; s=arc-20160816; b=eiYWVboTQ5HxrXKIwsAyuB15nJnRxILwi4VoFznqzQM31d7wKpNdBFvUQwf1T/nfwO IZi+5WstQ+jSIWVEkyUHLtPIkS1c1o+FnxbkcTeFOc9vsHt6NHiyVrMyc7xDwek4nK3G X7B6IKl16U4qq2iWYhMx8FWmAu/oF1ZnJHat1XcLVM9ghjHVcYv9KwJyakOmhw0sPEFO 9l7M8+6ERVwqTOAJr4aT243Wuq9iZGjhSNkbk2BWEIA9Teuf7R3mkGfMSDJ9uhm28YiM FVpiOwfHhUS8x/w0qE73P73ByUb40O67ZMFkObv05LJMQWN7zKwtqvP9anebhY72f2Pn XkTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LmhmUoKIWPIgq5/i5/hnq5Jlm1j3WBUy/AX0T+JFW7w=; b=OUWAtu2n1RxVKNWXr6z9Krs3h0sl4qMUfrF+g4MYQv2w8P+4cQaP6GLGkaee2jZ5OF gX7MmmX6iYPocxCejd0O6bkgsdhxSCofdF3fcNmvHCNNJkBH3BzD6/8NLgtC30DsWPL4 SBq9i4OglMTK8hDWytXMM7mGodvdTz5l2hO7d9kvvPiqHH5Pqw3gs1I1I1Q0uze1ZrB/ uGYTmJrUCQWtJg3l9M04nqatIeHiNOqW5cuATQnKX/SR9SNUTk+Qeu9qF8uPVQVvkYyj j7tJ9uMyPqaUpwSzjXT39FdfeQZe1qNPvbjsqweFIKxDTLT2Q0pKfBT95Dcn+yiA5X2l CJBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="AU/FbYYh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q4-20020a170902b10400b0019cd86735f1si2974037plr.481.2023.03.03.13.41.37; Fri, 03 Mar 2023 13:41:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="AU/FbYYh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231844AbjCCVef (ORCPT + 99 others); Fri, 3 Mar 2023 16:34:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44704 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231808AbjCCVeY (ORCPT ); Fri, 3 Mar 2023 16:34:24 -0500 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FD8C1A485; Fri, 3 Mar 2023 13:34:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677879263; x=1709415263; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yD3JIRnWO3O5QD2FW9PbHdj50CTjoVy/ibSII+27rM0=; b=AU/FbYYhH2mrcPY6INgLkUyDiKAMhClRfiuthwSH6LCU45Ll07NLm/fQ 26uY+UX+nHP6OnZtPH2PlaZYpMuEaO3KX80rgH0QYRQ1KNSkYn51dUwN2 hsi4xDPhaQpLiuY3ybqjx03v8l7VFPJGXg6FsM336cZXlSR4m5aImdr+s GsB8dROS7URRvGoWN2hKIqPtNJvxHx8Z9nFSULTmakaWd6AEoWgjOrTN7 IYzCszvfv3Ol6gJ74kxmf2LB59QDECnL0Mxv1evHCLfx8u7Ma8WKPo+Vl eaWBFzXFR5xMRD5pbvyXyRucwxkiMXA2DH0CH+gPBJUzfNO8ktDyi7CTJ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="399976472" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="399976472" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2023 13:34:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10638"; a="675508706" X-IronPort-AV: E=Sophos;i="5.98,231,1673942400"; d="scan'208";a="675508706" Received: from fyu1.sc.intel.com ([172.25.103.126]) by orsmga002.jf.intel.com with ESMTP; 03 Mar 2023 13:34:20 -0800 From: Fenghua Yu To: "Vinod Koul" , "Dave Jiang" Cc: dmaengine@vger.kernel.org, "linux-kernel" , Fenghua Yu Subject: [PATCH v2 3/3] dmaengine: idxd: Add descriptor definitions for translation fetch operation Date: Fri, 3 Mar 2023 13:34:13 -0800 Message-Id: <20230303213413.3357431-4-fenghua.yu@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230303213413.3357431-1-fenghua.yu@intel.com> References: <20230303213413.3357431-1-fenghua.yu@intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759384394477996685?= X-GMAIL-MSGID: =?utf-8?q?1759384394477996685?= The translation fetch operation (0x0A) fetches address translations for the address range specified in the descriptor by issuing address translation (ATS) requests to the IOMMU. Add descriptor definitions for the operation so that user can use DSA to accelerate translation fetch. Signed-off-by: Fenghua Yu Reviewed-by: Dave Jiang --- include/uapi/linux/idxd.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/uapi/linux/idxd.h b/include/uapi/linux/idxd.h index 4c12e93a6aa6..fc47635b57dc 100644 --- a/include/uapi/linux/idxd.h +++ b/include/uapi/linux/idxd.h @@ -72,6 +72,7 @@ enum dsa_opcode { DSA_OPCODE_CR_DELTA, DSA_OPCODE_AP_DELTA, DSA_OPCODE_DUALCAST, + DSA_OPCODE_TRANSL_FETCH, DSA_OPCODE_CRCGEN = 0x10, DSA_OPCODE_COPY_CRC, DSA_OPCODE_DIF_CHECK, @@ -182,6 +183,7 @@ struct dsa_hw_desc { uint64_t pattern; uint64_t desc_list_addr; uint64_t pattern_lower; + uint64_t transl_fetch_addr; }; union { uint64_t dst_addr; @@ -192,6 +194,7 @@ struct dsa_hw_desc { union { uint32_t xfer_size; uint32_t desc_count; + uint32_t region_size; }; uint16_t int_handle; uint16_t rsvd1; @@ -249,6 +252,12 @@ struct dsa_hw_desc { /* Fill */ uint64_t pattern_upper; + /* Translation fetch */ + struct { + uint64_t transl_fetch_res; + uint32_t region_stride; + }; + /* DIX generate */ struct { uint8_t dix_gen_res;