Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4305473ioa; Wed, 27 Apr 2022 00:12:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJ8euoUXHW3Rc/FbupmSWxvrvlnFDZXuG2+EHLxFtYb0FtD6L0VUcPNbvQhTNqZg1B2/Xd X-Received: by 2002:a05:6a00:140c:b0:4e1:530c:edc0 with SMTP id l12-20020a056a00140c00b004e1530cedc0mr28359450pfu.18.1651043544240; Wed, 27 Apr 2022 00:12:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1651043544; cv=pass; d=google.com; s=arc-20160816; b=K+0bHNjHfGAQWlcmHXMl8tcYBTKibtBSQUtDjaFwE+TfwvcNHt0b7R68gZJLRXzqcx LPUdxb66aGMRuX5fS3aIkbR/JXY5zoKh70yWwNFTmqcYhW6nX9kkfUpHW8Ic6c/120Qp 1BqR0NMCmoTQMarz7GtVdUgx7OtorajJ0FMtqvJ98VlepkOFlLtmAI6/qmh8l1Nk3scK v2qWh+7OO8zLpvAuZO+QXpPdIUr7kiLZ3LkfUfz3WvgCK0/ZHVFpfPcXIAgSGuPPLOOb seAut/V3G+vi2Z3Q98NL/hk10+kPaMl+gcvwBsKz39h1umzS5RrhPtpn1S7t32RTPfno E5Rw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :in-reply-to:from:references:cc:to:content-language:subject :user-agent:date:message-id:dkim-signature; bh=jtiqOw6JFXZTKbH8oLzY6VoOX6PzE5yThI9dgF9+/Fw=; b=NIiACRGGGKLlnfL3ILReTvCFDEqp0MfkUHkHwFEOzr6PF4bFBEUpSwXccGhJIjt0o1 pdzvR6lIywP2zJGwNr4ugYYo8wp0dnVjtQzw7jc8WEapDrcdAHwwpb2nJPFSM9XwiQWj VEQm1MTiGvgnFmdeBJc6bXI7ZvnTQ0lLKbh2QkyWuXOHlw7ZD/l39jbE5lKTB8L9GSSe ac2cY0Nu3ISDls/ieNVqUUIyAoWR2dNybbUHrUI7SbxYNZ9XFf42CaOj6s+nuPeoIZXj NbQ/C7DUfJRkSus6CXMPFYYVfKNjb/Rn/AAc91y+9jPyv32iI0IwUciUAaPHmCdkM97s xzTg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=0yTvZrPs; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pi7-20020a17090b1e4700b001cb710f3751si4954206pjb.127.2022.04.27.00.11.45; Wed, 27 Apr 2022 00:12:24 -0700 (PDT) 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=@amd.com header.s=selector1 header.b=0yTvZrPs; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345293AbiDZIsm (ORCPT + 99 others); Tue, 26 Apr 2022 04:48:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345484AbiDZIjK (ORCPT ); Tue, 26 Apr 2022 04:39:10 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2055.outbound.protection.outlook.com [40.107.94.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 573A813C66F; Tue, 26 Apr 2022 01:29:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YVKJrsaJ+WgThRoykibiKs0R9JJU8Uykdy85RxO/Ce86E8gB953giSTV7Q4S5oPXB9ntoTIdQM2s2I4j6yrxKk5KzMX+xbwE2DiZs0lHfN+wuHAMzNatNBnDit+iBcYgSGcWdfWFivLh1V4lkIagoqkvF6hbRNiXxblgVpEIyqQM4GIOopqsMaam1nACY5c4SLUfBnYJgsYIEblDifVW0wiWM2sM2RP2CG5X/adiBz2IZ/KOOfPZ/W3CrM4lp50hKopV9ZlPONL21YItT3cfqS6Ym3HWIZKN5v5/JzxiavN8QBCu94brRKTNQb63hXITIjpZ3GejLLQNZS8aSDGDqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jtiqOw6JFXZTKbH8oLzY6VoOX6PzE5yThI9dgF9+/Fw=; b=GxByBVLM7mRIhC9xGJY+qJXwtdQBK4hF4rCvWkwbyPm3FhWI3jVkKaWNUt2ceCM38tsVdNvATnmQQDwJm3QPw5E9VssUu5+vK8yw3sP6vZYSXC4Au64GddhXz2cY5zJ2dOhmJKzsu1tFIchpH1OSRBUVGzCKzIbgmEsLCgowwL2tut6Eff1tsIF/99Tol+HHf5niyTjACLYo5UEufWcwArnWc6y8sqbf6tiyUlY0NzNOA+uEeMpuq6a6/T5UdQT1BsS+aDwNMjQWhA+eV/tElXKMiesDL4yM7ON3OTWyEHZ8Go1eTLxks5gom8vFHFeIftCxjWBpQ5HLkheV4PADHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jtiqOw6JFXZTKbH8oLzY6VoOX6PzE5yThI9dgF9+/Fw=; b=0yTvZrPsCpbFo0WJUFxEmpGZlIJGkl17XYzO20gHiAIJS/3NDycZsAbbIiGBVVFXPHQtihTCGyqWtrCiXZgk2vSQmGxqaO+vqb7UEFK7TfDpp+eqw9vLwinpfRtN5gZaNcS4AkZLDiVPbpkPj2caoW9JnBgiGYXs9InsGgRhgXU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13) by BY5PR12MB4819.namprd12.prod.outlook.com (2603:10b6:a03:1fd::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Tue, 26 Apr 2022 08:29:50 +0000 Received: from BN8PR12MB3587.namprd12.prod.outlook.com ([fe80::a5fb:7137:5e64:cf8]) by BN8PR12MB3587.namprd12.prod.outlook.com ([fe80::a5fb:7137:5e64:cf8%5]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 08:29:50 +0000 Message-ID: Date: Tue, 26 Apr 2022 10:29:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v2 4/4] drm/nvdla/uapi: Add UAPI of NVDLA driver Content-Language: en-US To: Cai Huoqing Cc: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Sumit Semwal , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org References: <20220426060808.78225-1-cai.huoqing@linux.dev> <20220426060808.78225-5-cai.huoqing@linux.dev> <618a4f53-0998-1e6b-e32b-8bf2d3057cec@amd.com> <20220426082341.GA83596@chq-T47> From: =?UTF-8?Q?Christian_K=c3=b6nig?= In-Reply-To: <20220426082341.GA83596@chq-T47> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: AS9PR06CA0562.eurprd06.prod.outlook.com (2603:10a6:20b:485::32) To BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac33cb8e-dd95-43e1-595f-08da275eee38 X-MS-TrafficTypeDiagnostic: BY5PR12MB4819:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aUfYoCZUxxCee0kCk68dahd7W2LLM5s7UdqpsneAAQ4oooLdO8bHJWkKc2+C7ywQFm781BmTKF4QKWpGGpNa1iaKFuaNhG1rHW0REbBzXCoQVoO/3JpTgUALIwmuD8EDbZ+zqr3n82x6vseoWw9lJxnasJtTFdqVHRwQ0l1GhKOsK9CXee8Mz72J83bJgCgch++IFnCFOA5LYm9UU1qM5/VckxR1IU7u85T33zOTCEpvBDBi9/EdHgu2oWNGr0K7H3SmnSkx2STtzp2kFcZbdx5gWq/xF1mtWsVWkXQsygoz4usHyDjzXb9B7JHjcZT7DmQlehlAXtAvfaaJMQWO2z+TOkPGSMlsrOTyPF+n+aR0t+9QBYpgHhNNjZj7YTwIDi5eCjCBT8JA15J7Z4b+kglk1s/DTCDoH9LWprAoPOu4LaSY7r1mQWVnL51p/YLmEN0sKli1BZxvvDWzcz2WPrVSVkfH22CHxWDtKRcfooW+wXHdNaMmKOfu01E6U26MZ4yyahcMZpqj8g+4bzwY8kYQZlOQD4CAf/acENBcSG35l5ajauKiAfd93YWcQIOvv3rq34izPClhbJKsSBg65ANht322h/SW6RsPk0jgE9zj7lyvDk77NKPfJVjKWyFO4691umcDOe/E73jI3x3hTkwfGdnky4uLNd6gXzOCQtPmvyI85FslpJrZfNxiEAISvPNhr/+orZkS+csHEZZAyy2ESiIk1lfP72JJiA2/8DtpQuPtiUwTe/uPLaJYiMeD3QvgbPb3Wr4rKkL/LZxlJzixUmT6wqze0SkvsWpL4OEvYKUeHQ/fDGMK8t12ZiDY9dnaaGaqiXKxSWxrOHE7Mw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3587.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(38100700002)(26005)(86362001)(6512007)(6666004)(45080400002)(7416002)(31696002)(966005)(66556008)(6916009)(54906003)(316002)(8676002)(508600001)(66946007)(66476007)(2906002)(4326008)(5660300002)(6506007)(8936002)(6486002)(2616005)(66574015)(36756003)(186003)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bktNUDNOYndGRWxwSzdiaXhWaFVaR3NIWmEzVzFvUUFPVXJpaXJONmx0UnZL?= =?utf-8?B?NnAzM3FNNW5ONmx2MnJVL0o5dmxLZklnT0dlbTRpS1RjNW44WkY5QzIvcEJy?= =?utf-8?B?MkVJNmZkWjFjZHQwN0hqSFBCNTY1WS9uU0dwTldKdVdjWVJkNndua1JOM1Y2?= =?utf-8?B?bml3WmhEdWlhdWhoY0RNTGdFMHhUYS80TFdpUTJidVNPcDJsaFhTYlMzdktB?= =?utf-8?B?K3piYk0yeGtvRjNxQjl1cy9mUWtFMnlFakVJMlhob1BpaFdTSEtNY1V6cy9x?= =?utf-8?B?TFNzVDlGZEJMbEZEYXArQzNjTnFRV0VxWFRBVlR2S3J4TVpSMDRhblVpY0hG?= =?utf-8?B?Z3JyaUZrN2FJam5ETXpaTjRaWEs4Z1Z6Uk1TUkN6ZmRCL2pPeTJkWWNkY0Zo?= =?utf-8?B?NEJGTXR1NVNJdEpVWlN2NDgrblJHMm1UeDJETGlyOEorNHNqdlNnVnRSQ3VS?= =?utf-8?B?Vzd1ZTRKVG5KZC9GU2lDeXozUXpWeVhjbG10azVYMHdjeHEzdUhGVlk2Y0gz?= =?utf-8?B?WlhOTlpjNDh3Mm1lWHpMN3p2T28zOVQ1eVpZWjJ5NFNFc09iY3lJcGk0NWZl?= =?utf-8?B?NnNibE9kaWg0Qkt6VlNNbHRxRXphS3FEMGNqV1luNWVYY3JkRmZza056dlJi?= =?utf-8?B?NGNKWjZERTNmdXhxcHg0dzRaUnJsbFRRcEVFTG5MV2h6MjhPMDlDbDMyVE5l?= =?utf-8?B?cUlaUVM5S1N5bzJiaTI3MW1lNll4RGtkRC90TlJBYm1LOUNUSFE3dDlSaURu?= =?utf-8?B?bm9GcDVpbUlQS3NpcVlCRGxDTW0wNHlJTW9XS3ZEM3dUYXYzSGlnWFMvWnlG?= =?utf-8?B?V3ZnczBUOUZKRFB3aG9QSUxzdTBKNHQwK0VzRHBGWWpUaGRaQlMvZDhOcnVB?= =?utf-8?B?eGdwSTNYL2FaNzNqQVhmK3FhSFl0OERuamdqVHlCR3NDWVA2WEdna1dDZHU3?= =?utf-8?B?THc5MUhEWDVhdEZBMkh2anY1Uk51aU4vb1lMZjR6RU5rV2V5d2Q1UmRucG9w?= =?utf-8?B?Tm5xTDJyaFdPSWlWbWxueXFEZzZFQmtYblZVWVlZWjVYT0U4eUNDSmVsVisy?= =?utf-8?B?QUw3YXVSdUFtY1RDZGxZZWhSS3pWbWlKUWZxN0JBTmJtYmd2OU1tUWh1UEk4?= =?utf-8?B?NEhKdHRKZ0NuYkRuU3Y5Y3B6bDh5cFRFeW1KMzZZOWY2TGFsc0ZMSHZ0ekV5?= =?utf-8?B?ckNLYVY3dXpBL3lNd2JkeWYwK01nYVBrUkpSTE5HZXJ2VlpvbEVYc2pITzVo?= =?utf-8?B?NEVOZjBrRWhpUTNrdW1zLy9DVmdSVnNjMHJTaTQ0NGxicWRGVi94aDRyN0d4?= =?utf-8?B?M2l0d0hUQmhLcE1vYnEyMkMrV092N2hYcUNuV1B5SlA2aUZNUWszSFBlbE8x?= =?utf-8?B?S2puZzFOaXBpcmU2czBBUWtyWXFzbXNTZ1ZxRld1YXFnV3oxbDFhbkl2cCtD?= =?utf-8?B?TmtRbnd5WDFnelNENVk5ZlFsUHdMZmh6YXZIMy9zTm5nRldXcnJ4dUFxMThI?= =?utf-8?B?TlFaSlNZOE9scnJnenRVeGhlcHIyaTFKcjIzTjh3SFNid2taVW9ZZ3J6QzN0?= =?utf-8?B?allEakY5STF3U2tKbURyeC9sdGw0MkhCekNvZWw5YlZIZVcwNlNrTEQrcWVn?= =?utf-8?B?R3hUK0JPRW5qU3BhbUpLdG45VW4yOHk1SExJREtkaHh0L3Z1ZWVrVk9Bc2pK?= =?utf-8?B?YUJjbmtHOVRjbUV1OW9rQXRrdWJWOHI3Z3NRbXJDNjZsQUdmRzB0U3IvNG5M?= =?utf-8?B?QTllcktIeW56TGF4RFdROXNzVXFDNVRTejNXL3ovb3ZBcVY1aUdPRkx1WkNl?= =?utf-8?B?ZTZYTHhvUXh4YXpXV0lyaUwzTnF1Lzh5bXZGYnFCaHZCSUZYbzhLTFBTTGtE?= =?utf-8?B?SVNZdCtOVGM2QU4xSk01dzVpV0QveFd3eFNuZjZFZ3FGbzFjcU1NZnE1Z3Ex?= =?utf-8?B?dUcxVU9nWGNqcDhVZVRxRUJtTmx4MGVWVytiSzFpcTRod1RTSkVRUjZVS3Ux?= =?utf-8?B?SXgwMXhMTVpNRGYyeG02OVkzMmZmbGc5U0dRNllNWWxwZTJLQzN5ZldqWVBP?= =?utf-8?B?NnJXSjlWN2Rockp5SDZJYkdrWU9ZanBidlNINGRFTW5uV0p2VlZRZ2hCVEI1?= =?utf-8?B?UzBLWENzSm1HRWtzREVqQVpVYzZIOGt2T29KbWV6bnJzbnJMNkRrRUcyOEha?= =?utf-8?B?MGdQSmZ5dWlycHNMWjdiQ1dKVS9iRktySGlVcld0YWVwaUk2YmJFbzNpc21Z?= =?utf-8?B?bHQ3TEdhVSt6NFhyV1hrVFU2ajA3MVJmSzNDS2xSeFIxM1pBMDZ1TDFxS2Y5?= =?utf-8?B?cVgrdXVxbngrRGE5VGM2T3RMSnE5MGRJYjVZZTNyTGZ6N2ExK05RZz09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac33cb8e-dd95-43e1-595f-08da275eee38 X-MS-Exchange-CrossTenant-AuthSource: BN8PR12MB3587.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2022 08:29:50.6081 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: isHieWhYHdKv0S+KUVj4HIsvmmolzPnlzFS8jnJH+358mPtm9jdZHvDXMjaoBlPh X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4819 X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS 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 Am 26.04.22 um 10:23 schrieb Cai Huoqing: > On 26 4月 22 08:31:05, Christian König wrote: >> Am 26.04.22 um 08:08 schrieb Cai Huoqing: >>> The NVIDIA Deep Learning Accelerator (NVDLA) is an open source IP >>> which is integrated into NVIDIA Jetson AGX Xavier, >>> so add UAPI of this driver. >>> >>> Signed-off-by: Cai Huoqing >>> --- >>> v1->v2: >>> *Rename nvdla_drm.[ch] to nvdla_drv.[ch] and rename nvdla_ioctl.h to nvdla_drm.h, >>> move it to uapi. >>> comments link: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F20bac605-97e6-e5cd-c4e4-83a8121645d8%40amd.com%2F&data=05%7C01%7Cchristian.koenig%40amd.com%7C0777513b15b34d20c30e08da275e235c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637865582541002548%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ziQSwKxqhevOLDxq%2FvgfinF8BG3hiAwmUxsH3ZzZF4E%3D&reserved=0 >>> >>> include/uapi/drm/nvdla_drm.h | 99 ++++++++++++++++++++++++++++++++++++ >>> 1 file changed, 99 insertions(+) >>> create mode 100644 include/uapi/drm/nvdla_drm.h >>> >>> diff --git a/include/uapi/drm/nvdla_drm.h b/include/uapi/drm/nvdla_drm.h >>> new file mode 100644 >>> index 000000000000..984635285525 >>> --- /dev/null >>> +++ b/include/uapi/drm/nvdla_drm.h >>> @@ -0,0 +1,99 @@ >>> +/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ >>> +/* >>> + * Copyright (C) 2017-2018 NVIDIA CORPORATION. >>> + * Copyright (C) 2022 Cai Huoqing >>> + */ >>> + >>> +#ifndef __LINUX_NVDLA_IOCTL_H >>> +#define __LINUX_NVDLA_IOCTL_H >>> + >>> +#include >>> +#include >>> + >>> +#if !defined(__KERNEL__) >>> +#define __user >>> +#endif >>> + >>> +/** >>> + * struct nvdla_mem_handle structure for memory handles >>> + * >>> + * @handle handle to DMA buffer allocated in userspace >>> + * @reserved Reserved for padding >>> + * @offset offset in bytes from start address of buffer >>> + * >>> + */ >>> +struct nvdla_mem_handle { >>> + __u32 handle; >>> + __u32 reserved; >>> + __u64 offset; >>> +}; >>> + >>> +/** >>> + * struct nvdla_ioctl_submit_task structure for single task information >>> + * >>> + * @num_addresses total number of entries in address_list >>> + * @reserved Reserved for padding >>> + * @address_list pointer to array of struct nvdla_mem_handle >>> + * >>> + */ >>> +struct nvdla_ioctl_submit_task { >>> +#define NVDLA_MAX_BUFFERS_PER_TASK (6144) >>> + __u32 num_addresses; >>> +#define NVDLA_NO_TIMEOUT (0xffffffff) >>> + __u32 timeout; >> What format does that timeout value have? >> >> In general it is best practice to have absolute 64bit nanosecond timeouts >> (to be used with ktime inside the kernel) so that restarting interrupted >> IOCTLs works smooth. >> >>> + __u64 address_list; >> Maybe make the comments inline, cause I just wanted to write that you should >> note that this is pointing to an nvdla_mem_handle array until I saw the >> comment above. >> >>> +}; >>> + >>> +/** >>> + * struct nvdla_submit_args structure for task submit >>> + * >>> + * @tasks pointer to array of struct nvdla_ioctl_submit_task >>> + * @num_tasks number of entries in tasks >>> + * @flags flags for task submit, no flags defined yet >>> + * @version version of task structure >>> + * >>> + */ >>> +struct nvdla_submit_args { >>> + __u64 tasks; >>> + __u16 num_tasks; >>> +#define NVDLA_MAX_TASKS_PER_SUBMIT 24 >>> +#define NVDLA_SUBMIT_FLAGS_ATOMIC (1 << 0) >> Well that "no flags defined yet" from the comment above is probably outdated >> :) >> >> A comment what this flag means would also be nice to have. >> >> Apart from all those nit picks that looks pretty solid to me. Just one core >> functionality we usually have seems to be missing here: How is completion >> signaling implemented? > Hi,thank for your reply. > > Do you mean fence signal? In this driver, IOCTL_SUBMIT is a synchronous call > which do task submission & wait for done completion. This accerletor deal > with massive compute operator (Pooling, Conv...), that is different to > GPU. It's unnecessary to expose fence API to UMD for reducing such less time. You should probably add that as a comment somewhere here. Thanks, Christian. > > Thanks, > Cai >> Regards, >> Christian. >> >>> + __u16 flags; >>> + __u32 version; >>> +}; >>> + >>> +/** >>> + * struct nvdla_gem_create_args for allocating DMA buffer through GEM >>> + * >>> + * @handle handle updated by kernel after allocation >>> + * @flags implementation specific flags >>> + * @size size of buffer to allocate >>> + */ >>> +struct nvdla_gem_create_args { >>> + __u32 handle; >>> + __u32 flags; >>> + __u64 size; >>> +}; >>> + >>> +/** >>> + * struct nvdla_gem_map_offset_args for mapping DMA buffer >>> + * >>> + * @handle handle of the buffer >>> + * @reserved reserved for padding >>> + * @offset offset updated by kernel after mapping >>> + */ >>> +struct nvdla_gem_map_offset_args { >>> + __u32 handle; >>> + __u32 reserved; >>> + __u64 offset; >>> +}; >>> + >>> +#define DRM_NVDLA_SUBMIT 0x00 >>> +#define DRM_NVDLA_GEM_CREATE 0x01 >>> +#define DRM_NVDLA_GEM_MMAP 0x02 >>> + >>> +#define DRM_IOCTL_NVDLA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_NVDLA_SUBMIT, struct nvdla_submit_args) >>> +#define DRM_IOCTL_NVDLA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_NVDLA_GEM_CREATE, struct nvdla_gem_create_args) >>> +#define DRM_IOCTL_NVDLA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_NVDLA_GEM_MMAP, struct nvdla_gem_map_offset_args) >>> + >>> +#endif