From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A9A21C3DA6E for ; Mon, 25 Dec 2023 09:07:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/8Jk1DB+V9W3mHJwIRNqMaoysPN6tnin/kfOMFCIRCg=; b=pfskundhrbRfBm M96ap6kAq5czLYHmA0YqNDR7xtkZ4p+7PjpO0hSMATGBzC/beGuBwUG4FT/wF16biFKd6QLOqZ2un iPLYiEEPy/0ZmvhNjF30hR5rt/PW4+2DY+4Z+bsNwuNG41s+3+/EWRHKrxU/GSSOqKMxwcehy1voF 4nR4BHHVJiN4+YHZcP4q/jm5f8A+ss70KDPg47Nx666nuHcl8Dx3e3L1ECnkBiJWHDnV55T1+zRDQ aT3RewQo0JqLenYYTGLgJy0XtzrUDJV2EVfLPGgNcI0UKqFZs4Msi3dYk9M+QFubhNjtuBhsedKWe snxqN/c1akXzGwF6PfoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rHgun-00ARHV-03; Mon, 25 Dec 2023 09:06:25 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rHguh-00ARGf-1k; Mon, 25 Dec 2023 09:06:22 +0000 X-UUID: d96032eca30411ee9b09ad09c76753c8-20231225 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=o4M4UfU4U+GUMFCQP/JcgkxVOS2rnjIid7voUQzLf4Y=; b=tFV50jgd8TfN1E4OHtopyAlmTerIyf8htynFTcDxa80iYs3jMRZB0/0EMKvNuLNOWI5klvyWAYYZmGPeNVloHfXR31TUaPXsjL712E+NqKnYDWa1ZSCveY3jgzZwfcH55A5PShLEpCUxx3N6bpwWE+x4Kimn0ZtJSu5XUWVivxA=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.35,REQID:08325057-6bf2-45bb-a81e-5b355f6323ff,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:5d391d7,CLOUDID:af218b8d-e2c0-40b0-a8fe-7c7e47299109,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR: NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULN X-UUID: d96032eca30411ee9b09ad09c76753c8-20231225 Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 2028213670; Mon, 25 Dec 2023 02:06:11 -0700 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Mon, 25 Dec 2023 17:05:38 +0800 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Mon, 25 Dec 2023 17:05:38 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k9ZRpxQEbB2eoahCo5xMHn2Y/Bj0RdZNqhwrGoXC7PZQ3P1NyhO7iimVS+tlhMO0VV7a3K5iKPcbIuu9Ksj6RPUM8czfwupU8O+TNg2M4fdTNYDp4r1gORLmlw4Muw2CowK2qGn7EdVmG55ocv5vQdzE2Bvf5OwZNNhLgs80b1kcoPZyRTqQrltim+FXDZTije8txsN3K80YXnAeOWKMSmf26TOJsBtsbKE4xtofk1UWgU2XdgyuNORTFPImtErB3XMa6QoazIXNQg2zYo8COryiZjYLlxML/q5BmDRYQSNeTiAMlM/4BJ43Mg7V76XA3JgpIrI86ZiGWK6cbDshig== 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=o4M4UfU4U+GUMFCQP/JcgkxVOS2rnjIid7voUQzLf4Y=; b=JAG1AFJ5o47Pvz1sPUSseCYyYLpDo8cfCtmrz4J0Z6FAoWF8mYyZZJZ5vAnT/ARx4l+6cwqLk9Yzl28tAsHSYKdhANQ8ALUpbJHpFVYcatUBZMHxwo8e/oZ287wnqnu2scHVouYjMQfa7iiRgc+yYuAr3RfXsyMC3SKUHs/GZOHQyG4C6yDequZmXSVHFfO0VPbk0vq/TYaehDI21X0oJ1eGfmy+NGTzS8NRCEPAwmNaKUtrXDGWaHhHZZU47cHmm/2WeQekP1ZtI+JQZ+iaPlWk7BljPjhzvVoexQLbNfCgqxA/JEOKIM47GXMz0DiAM3bfteeMpy56nl6qv+cZ3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=o4M4UfU4U+GUMFCQP/JcgkxVOS2rnjIid7voUQzLf4Y=; b=atyXWAcSc+XUKcQI3JbDHwO0lEn26JliXgPDkV8QoFjVLTRHoenGnm54/ooMXjgpEoLKP86Q53Ls7PdZXcVJ60Ds2lWtRe/i62kMKU2T8z5FpkAIiZ6gt1i600REC6wRPM9sfTiCmZGYGrD5i0QFeGsa8Wn+eX3uZv0S/oXuXjM= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by KL1PR03MB5475.apcprd03.prod.outlook.com (2603:1096:820:53::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.26; Mon, 25 Dec 2023 09:05:33 +0000 Received: from TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::eb43:57cb:edfd:3762]) by TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::eb43:57cb:edfd:3762%7]) with mapi id 15.20.7113.023; Mon, 25 Dec 2023 09:05:33 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "matthias.bgg@gmail.com" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "chunkuang.hu@kernel.org" , "conor+dt@kernel.org" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "angelogioacchino.delregno@collabora.com" CC: "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , =?utf-8?B?Sm9obnNvbiBXYW5nICjnjovogZbpkasp?= , "linaro-mm-sig@lists.linaro.org" , "linux-media@vger.kernel.org" , "devicetree@vger.kernel.org" , =?utf-8?B?SmFzb24tY2ggQ2hlbiAo6Zmz5bu66LGqKQ==?= , "drinkcat@chromium.org" , =?utf-8?B?U2hhd24gU3VuZyAo5a6L5a2d6KyZKQ==?= , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , "p.zabel@pengutronix.de" , "jkardatzke@google.com" , "dri-devel@lists.freedesktop.org" , Project_Global_Chrome_Upstream_Group , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v3 01/11] drm/mediatek: Add interface to allocate MediaTek GEM buffer. Thread-Topic: [PATCH v3 01/11] drm/mediatek: Add interface to allocate MediaTek GEM buffer. Thread-Index: AQHaNc3/z4g1rSJ0xkaYIVC2Y+hRprC5t2oA Date: Mon, 25 Dec 2023 09:05:33 +0000 Message-ID: <4169f943f6e82da50243d91614ab73d6b5f57c8a.camel@mediatek.com> References: <20231223182932.27683-1-jason-jh.lin@mediatek.com> <20231223182932.27683-2-jason-jh.lin@mediatek.com> In-Reply-To: <20231223182932.27683-2-jason-jh.lin@mediatek.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR03MB6624:EE_|KL1PR03MB5475:EE_ x-ms-office365-filtering-correlation-id: cf46818e-2e17-4d3f-fab7-08dc0528a6f5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tOgW/fq4ScVsA5ral3MOmnTv9Zmk6RIaCofLoR3HTt5NfVBqSh1LAodH4/0vq0cA4KOpa3VLBL81ywac1Z2RwzXPbYhRgNk+QO9xof2zJvMR5yqtWlVY42eP5LUjPaa4eJovqJwHdkrtsiKh9V+54zhY/hOlzmtCyQO2qclVGtEMZKHcXfhL8fuOxc3ThYAtLUvCqzE9Id2zbM0mLQdVV6vywjL1FnOWzRbQPT95/n3k8JcoylEjhU95RIrqkaxfN+jV+Bv6XH5I1eun5+ptVOIDdIj2CAweaK9afUibfHPoApT5Hr/aASUEtHLlAPj9zL9B8mXZWaad0wpxbY0VtDV+0jhBq1dHTHd8OcBpcBNrKABBN17L9jZpCNTGarJgAGRbMuko78apCXG2EZji+zm2WTor+7tvy9Rk+cvX4noSnc1kXt+zbggQtboVxoiNZiZq0VgVPbW/33UgcTC5xB9uV5nHivZ/lJPd4GV3RmBYuJt/K9IvT22XklLEye56kiwfoLXsBzPTjjerZv8ygFSRi2loE/7mijXPHuQMtrDnHa2UlZyLAWdD6K+YniHLG2TJiMOiErCdyl0++7C0kfOhAXQFMEnzq+dGcSHaoo4DJA9UoLoUQAVuSiGrWV6u/0JZWjFfWbgwNDAH2Yvm02rcrBH9i2uQsyXJgAR9ovIO7uta1UxCFT0UJeUkQWac x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR03MB6624.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(376002)(366004)(346002)(396003)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(83380400001)(6512007)(478600001)(71200400001)(6506007)(38100700002)(26005)(2616005)(122000001)(41300700001)(8676002)(8936002)(316002)(54906003)(110136005)(4326008)(6486002)(64756008)(66476007)(66946007)(66446008)(66556008)(76116006)(5660300002)(7416002)(4001150100001)(2906002)(85182001)(36756003)(38070700009)(86362001)(2004002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c1RrZm95N1U0NHRiNmoxcHdLTlR0WHVEdXdibDFlM2tKZXRGQ25Tam16OUtt?= =?utf-8?B?Y1VqYzhQU1JNMG5hVzZYTFFTNjhyTXlXSHB4My9JcXFTcDZVS1FFbm90SmRp?= =?utf-8?B?bFoweG9LVy82WTkxMmRQYVY4NENIaXZ5aXduQ3MrOTBVNDYyU1Q4NWFjejNP?= =?utf-8?B?WURvZ2Z2ZkhXVDBMMHpWcjhybTdORFpWU2dKTmQ3WGNJUDlOUlRxREU2Z01N?= =?utf-8?B?V3VBdU95cW0relNhbjVWdDVianVMYk1kc0ZRalltL0ZKQVlvbkg4R1RYYVFH?= =?utf-8?B?ajVOVXBFS1J3d2V6cVVwbG9KVnpFRjVHMzFCbDdPSDZHSDFlSVJIR3Y4bTNS?= =?utf-8?B?VEhjTStmb2g2bHNBVjNXR1N0dDhVQUR1NHR6OEgwaFQ4Lzl0RWJEKzVJYW42?= =?utf-8?B?V2VFYzZNR0Uza3RqV2lrc1UyN3dMcHJQQzNRUEFCdTRjR1FsaXMyeDRYdjRN?= =?utf-8?B?aHpTaGpEWnlPd2VxaUk0bUJMbGdxZTAralQ5NTZZUHRReDFpTU1xWkRwZGtZ?= =?utf-8?B?a094NlY5eFcyQXhXYXZaYmkzY2I0V1BqVGJVT2V0NktBRGxFNUNuZHcvTjJI?= =?utf-8?B?NjFqZ2NOZk9rOXhpVUFUUUlpUmxIUE1oRStzS01hZi9ZdHJBTTBlS2dOaWZt?= =?utf-8?B?MjRFNHY4Sk1oVjNpTkFYaklGNWRzRnliYWtNSWluaWdJbjU1d1Q1a1M4Z0lP?= =?utf-8?B?UHAyRkR4eEZqZ2pGRW1PRHNLanVZaS9hb282VUluL0xsdmR6NlBnS2FaaGFJ?= =?utf-8?B?cGtXc2hibU0xekFvektNWCt4MnFhWVZEKzFYdGloeG5ldUZJRDJrdHI2R1hR?= =?utf-8?B?ZEFBZHJNN0JFSW1vUXRNY2pQSTNmU1g0dWlzY2REQzdhVmRlQysrSWZMRXhS?= =?utf-8?B?dERKZngzSHRrQ1Q2bzRSUGRUMTFuZGo0cTNvN2h6WjZHYWpvL1hRV0wrY2xo?= =?utf-8?B?ZTViM1dRcjlKY1JkUGdscTlVZWJMUDh2YUM3NEdBU296c0xnZXRlNEE0Zmhm?= =?utf-8?B?WWJLb0NSRE4vZWEvSUx5R1haYWt3Q3VyU2Ivb3htQkp3YTdyREJRMDBaT2Fk?= =?utf-8?B?ZG9PUnVWWTJMM2xJMW5HSDB5d0hJS2J4ZEZKOVRpalRmSXZ3MWR1MEptK29l?= =?utf-8?B?Rmp5ZkRLQzZQbEx0T3YrVHU4bUpkZ2pwMlk4dktGaDVkVTQzbDNBYS9wNDho?= =?utf-8?B?UlVvcnljS0xzVzNheitMZ09WVGpvZW9STVhUeE1nUTV0MnJPNVUyOVhYYTI3?= =?utf-8?B?VWJBdkRQaGNIUjE5YnpDMGkwdDVLSk1OR2J6M04zWVA1WU9Va25RSURPcjJI?= =?utf-8?B?WTZockVFUzZsQy9VUUtIVERiMVFPU21JRkwyeGQyN2VhMFg5QjcvRHNhZis5?= =?utf-8?B?Ukt0Ly8vRW9yRGVUcnRMeUJGQjI3aUpCTUZjYTloMmRWcjBZSzN6K1l1cGJu?= =?utf-8?B?bklaZUQyUDhveDlTd0FPTnlqTTIrQ1hCZUFBVG83dlFtK2xFRkVGamJ5OTFt?= =?utf-8?B?Z042U1JReWV0SnlzSEJlZDBMV0taSHk3VUtMejIyUVQ2Y3VlbHZkMmxLd3Jv?= =?utf-8?B?d3R1UnQvMFZSY1NqdThPUkxBZUs3YnhEWnNKWWErV3M2a1VJbXV5R0ZHbEJx?= =?utf-8?B?RTcyLzhqeTRDcE1GdXdzbFE0MXoyK3Y1SytRZUQ2cEpwU3hiK1ZaYlNhK3hz?= =?utf-8?B?cXN1dEdmL3lJZkd1UEdxMGp6Ym5RMkdiQTJ0RTRHVTQ3R3phMzN4UGF5WVJC?= =?utf-8?B?MWR6citVUnV3STBnSE1qTnY5RnM3THpaMDRpSURqcW9EZkIxekJydUhHL1px?= =?utf-8?B?dFk5bS8zbU9IUlBhWFRPTG5aQ0kraUVuL3YvYU9jUzYrWlJuOEhCQVRCNHc5?= =?utf-8?B?TlNhMm5tdTAwdkRJRmlCejJIRUZ3TmQ1b1FPdjBkcmlUU3hqeHFIa0d5U3Rk?= =?utf-8?B?SkY3QWlWQW5UeGovdU9MV2FTeGJCMTdER1krcXJmdXJXYkhDS2JmeWF5Q0dS?= =?utf-8?B?eGhpb2Zkb2hkYWhSMlFYSXVCdGQycFdaQTdlNnN4ZjFKdWloc0xnWjBnbXRu?= =?utf-8?B?dGttVnF2eGViSlA4T0w4MzRCRVVMdGk5VThDU3kyK0JTbkxKWEMrYm95ZjNa?= =?utf-8?Q?nfrPdp848Gmz3zWYrY6cm9UUU?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR03MB6624.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf46818e-2e17-4d3f-fab7-08dc0528a6f5 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Dec 2023 09:05:33.7542 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: C6gDGy7ljgQEWohXyVpl7k3V9qvDY7wVgn88CXZq8ZvBvZNWd9L3KItiGenRzS3G7XQRIONUoy+P8ao99xJwIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR03MB5475 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--18.751200-8.000000 X-TMASE-MatchedRID: PL66URbwWA8OwH4pD14DsPHkpkyUphL9MZm0+sEE9mtpRtFovOTjTWeD iOVpb8s7N5zqN/saWGffDheQtmGHqTwij/SkStHmL/daYw3EVHyeEP0DdJruljUsHjosUACSmQJ 6sUxppuJOFu8ssjxG8/FjRYaB9JwD2WeQjW7v2UECNMj/7qB/gxyDrkIwjihb8EzvgHT9P5qIMV 4nweffzUKW569qkbFJhxfamrf2qxWbGHSBj+j5WYSvKOGqLLPK5Y0kb0hqatyM2ehTV+imiyb3O x4lhYcthjXRysqny34PHbXmBXByiNMsGRKm0bkEypeMiaCPnxvb4SkGdkTN9XOMCXNrYTWi1rfl znbz4mDsJbnEUDpZMnybR4oj90UAlh+IkeJQ88bYd2+/8wYTda19jpg9rDdhPPNQscfVdONnLsx vwfNLnUexP8F1neHmhwqZUMR8IWoryFHbNnBLG8nUTf2MoOKYKJfSpcAUv12XaPx34rRVKDQprF KxNRd04vM1YF6AJbY9l7H+TFQgdbew1twePJJB3QfwsVk0UbtuRXh7bFKB7gaftQpRRj0hCwQj/ SIpghKeORtFjCZevs/6To2Vbmc0lExlQIQeRG0= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--18.751200-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: B0CF683261263BB87C12E62A5EBDC1191EE71A0EF703962809E89A96C37561352000:8 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231225_010619_589415_1053DFEA X-CRM114-Status: GOOD ( 17.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Jason: On Sun, 2023-12-24 at 02:29 +0800, Jason-JH.Lin wrote: > From: CK Hu > > Add an interface to allocate MediaTek GEM buffers, allow the IOCTLs > to be used by render nodes. > This patch also sets the RENDER driver feature. > > Signed-off-by: CK Hu > Signed-off-by: Nicolas Boichat > Signed-off-by: Philipp Zabel > Signed-off-by: Jason-JH.Lin > Reviewed-by: Daniel Kurtz > Reviewed-by: Nicolas Boichat > Tested-by: Daniel Kurtz > Tested-by: Pi-Hsun Shih > --- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 13 ++++++ > drivers/gpu/drm/mediatek/mtk_drm_gem.c | 39 +++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_drm_gem.h | 12 ++++++ > include/uapi/drm/mediatek_drm.h | 58 > ++++++++++++++++++++++++++ > 4 files changed, 122 insertions(+) > create mode 100644 include/uapi/drm/mediatek_drm.h > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index 2b0c35cacbc6..5d2a39e491aa 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -24,6 +24,7 @@ > #include > #include > #include > +#include > > #include "mtk_drm_crtc.h" > #include "mtk_drm_ddp_comp.h" > @@ -569,6 +570,14 @@ static void mtk_drm_kms_deinit(struct drm_device > *drm) > component_unbind_all(drm->dev, drm); > } > > +static const struct drm_ioctl_desc mtk_ioctls[] = { > + DRM_IOCTL_DEF_DRV(MTK_GEM_CREATE, mtk_gem_create_ioctl, > + DRM_UNLOCKED | DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_IOCTL_DEF_DRV(MTK_GEM_MAP_OFFSET, > + mtk_gem_map_offset_ioctl, > + DRM_UNLOCKED | DRM_AUTH | DRM_RENDER_ALLOW), For secure buffer, we don't need map offset function. If you really need this function, separate this to another patch and describe why need this. Regards, CK > +}; > + > DEFINE_DRM_GEM_FOPS(mtk_drm_fops); > > /* > @@ -590,6 +599,10 @@ static const struct drm_driver mtk_drm_driver = > { > > .gem_prime_import = mtk_drm_gem_prime_import, > .gem_prime_import_sg_table = mtk_gem_prime_import_sg_table, > + > + .ioctls = mtk_ioctls, > + .num_ioctls = ARRAY_SIZE(mtk_ioctls), > + > .fops = &mtk_drm_fops, > > .name = DRIVER_NAME, > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c > b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > index 4f2e3feabc0f..30e347adcbe9 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > @@ -4,6 +4,7 @@ > */ > > #include > +#include > > #include > #include > @@ -283,3 +284,41 @@ void mtk_drm_gem_prime_vunmap(struct > drm_gem_object *obj, > mtk_gem->kvaddr = NULL; > kfree(mtk_gem->pages); > } > + > +int mtk_gem_map_offset_ioctl(struct drm_device *drm, void *data, > + struct drm_file *file_priv) > +{ > + struct drm_mtk_gem_map_off *args = data; > + > + return drm_gem_dumb_map_offset(file_priv, drm, args->handle, > + &args->offset); > +} > + > +int mtk_gem_create_ioctl(struct drm_device *dev, void *data, > + struct drm_file *file_priv) > +{ > + struct mtk_drm_gem_obj *mtk_gem; > + struct drm_mtk_gem_create *args = data; > + int ret; > + > + mtk_gem = mtk_drm_gem_create(dev, args->size, false); > + if (IS_ERR(mtk_gem)) > + return PTR_ERR(mtk_gem); > + > + /* > + * allocate a id of idr table where the obj is registered > + * and handle has the id what user can see. > + */ > + ret = drm_gem_handle_create(file_priv, &mtk_gem->base, &args- > >handle); > + if (ret) > + goto err_handle_create; > + > + /* drop reference from allocate - handle holds it now. */ > + drm_gem_object_put(&mtk_gem->base); > + > + return 0; > + > +err_handle_create: > + mtk_drm_gem_free_object(&mtk_gem->base); > + return ret; > +} > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.h > b/drivers/gpu/drm/mediatek/mtk_drm_gem.h > index 78f23b07a02e..90f3d2916ec5 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.h > +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.h > @@ -46,4 +46,16 @@ int mtk_drm_gem_prime_vmap(struct drm_gem_object > *obj, struct iosys_map *map); > void mtk_drm_gem_prime_vunmap(struct drm_gem_object *obj, > struct iosys_map *map); > > +/* > + * request gem object creation and buffer allocation as the size > + * that it is calculated with framebuffer information such as width, > + * height and bpp. > + */ > +int mtk_gem_create_ioctl(struct drm_device *dev, void *data, > + struct drm_file *file_priv); > + > +/* get buffer offset to map to user space. */ > +int mtk_gem_map_offset_ioctl(struct drm_device *dev, void *data, > + struct drm_file *file_priv); > + > #endif > diff --git a/include/uapi/drm/mediatek_drm.h > b/include/uapi/drm/mediatek_drm.h > new file mode 100644 > index 000000000000..f4d47577c94e > --- /dev/null > +++ b/include/uapi/drm/mediatek_drm.h > @@ -0,0 +1,58 @@ > +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ > +/* > + * Copyright (c) 2015 MediaTek Inc. > + * > + * This program is free software; you can redistribute it and/or > modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#ifndef _UAPI_MEDIATEK_DRM_H > +#define _UAPI_MEDIATEK_DRM_H > + > +#include > + > +/** > + * struct drm_mtk_gem_create - User-desired buffer creation > information structure. > + * > + * @size: user-desired memory allocation size. > + * - this size value would be page-aligned internally. > + * @flags: user request for setting memory type or cache attributes. > + * @handle: returned a handle to created gem object. > + * - this handle will be set by gem module of kernel side. > + */ > +struct drm_mtk_gem_create { > + uint64_t size; > + uint32_t flags; > + uint32_t handle; > +}; > + > +/** > + * struct drm_mtk_gem_map_off - A structure for getting buffer > offset. > + * > + * @handle: a pointer to gem object created. > + * @pad: just padding to be 64-bit aligned. > + * @offset: relatived offset value of the memory region allocated. > + * - this value should be set by user. > + */ > +struct drm_mtk_gem_map_off { > + uint32_t handle; > + uint32_t pad; > + uint64_t offset; > +}; > + > +#define DRM_MTK_GEM_CREATE 0x00 > +#define DRM_MTK_GEM_MAP_OFFSET 0x01 > + > +#define DRM_IOCTL_MTK_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + \ > + DRM_MTK_GEM_CREATE, struct drm_mtk_gem_create) > + > +#define DRM_IOCTL_MTK_GEM_MAP_OFFSET DRM_IOWR(DRM_COMMAND_BASE + \ > + DRM_MTK_GEM_MAP_OFFSET, struct drm_mtk_gem_map_off) > + > +#endif /* _UAPI_MEDIATEK_DRM_H */ _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel