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 E2B86C46CD3 for ; Tue, 26 Dec 2023 06:16:07 +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=7bQbqvU2VMxCIQpp7GzMJLFcHArC/t9W2ZLzzaaoU/s=; b=G2tHgSM5djKF6E mMzxU/k6r/oACmJFYC0dTnA4ouMb65pgsNrg3j4qQLvNaRqmR3/vuh1TNTcrtUaDLoUbsspwP6hw+ x3JY5Ss1mkVvcSEN8mJwr+45znr7VXo3i9wUmOTrAJm370jSEtr2lwWdEfYWvJ8dO6Hw4efUb1fQ3 YTs3iqwZZXxgb3t12hDql7QpP9rsNxeMJkF+EEj0qLdGtsFDNyBcepV+ZUfCi/2tpi4IgUc7LSGZl y1nfFfMyAZaztI462KpawpkFcb5JIfbm7TlGTtPKU89vCLUqjEm5pdJTQkTYZUykX18fi8md0VCvP hOwGBEGhfs3YjWATFcpw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rI0ix-00Bn17-2a; Tue, 26 Dec 2023 06:15:31 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rI0iu-00Bn0e-0R; Tue, 26 Dec 2023 06:15:29 +0000 X-UUID: 27c73a96a3b611eeafd70d0b34820190-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=buodGxTirniZEaDYoO0y/Sku3gxbfKp2OHhYm+eMq6A=; b=I7w7Jle9+MXLToI3ViUSGUw+Px2xESGXBM/8FwCiLYD+xhnM99vR8PvyjY+rYVxIIuuhksUFjPZXbMNSGzJ5YTFNllV2enda+nI8Ike1qP7t03iCxoV5WUn3ZJWsgzG2ZaIVBpZWCg4O2e+fD/51i7MM+VPV0KNWTDaVsEtPLco=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.35,REQID:ebfff5b3-6bc3-4d18-8084-78a6135a00fd,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:d9402c82-8d4f-477b-89d2-1e3bdbef96d1,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: 27c73a96a3b611eeafd70d0b34820190-20231225 Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 2004580597; Mon, 25 Dec 2023 23:15:24 -0700 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by MTKMBS14N2.mediatek.inc (172.21.101.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 26 Dec 2023 14:15:20 +0800 Received: from APC01-SG2-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; Tue, 26 Dec 2023 14:15:20 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2M+dZ1w+WBwS/Y0qp8CvtFlMhFDBalEs3TzzsqfzZWknfbtIPj9s7j3UzboL0KSG2QC6fUDAOuMN7U3IAt9wyyhDC1fa3iwns0O08xbvQAk3n8xouHcJ1KUeYbQVdx4X+fmf06p0mpgEf4SPeZ73R72JwPqdqBTc3s0GeV+9DJbclRMSYWdjnc8QnQpM4t8JhXr6PuufRr5ZZgsiPkpPARhnjFRW+naF2DYXuZg7dGHmowZVwkc99TABZfucd8hP7XHOT32v8S/odNOm926NiBIj1Gf4UX9xDFAR6OjOQv3XfdlcLO0DM4joYTrxaXimncI6lqDeIyEM+jSRjumFw== 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=buodGxTirniZEaDYoO0y/Sku3gxbfKp2OHhYm+eMq6A=; b=fP2pz+ZHA27BS7Osk1xUD0+pMpFLQKSD7olpfMqtw1hj7NfNC6TYcB+P1TgCVClR/N0N7Pk/nhBVmVWd4kTOnjU0VfmgpCQsYcw3IDYRAA68qUAXMT0u1s+BPHNJxo0DRR7rmvxxywZhCYi16fw0QyPKU5diqqPx1gy1IYQQGg6NxYLpY1IPMd0ukt0mPlCDZtKhpbZ4jHor05hMK+p4Cs7OD92TTP2XII5pzseUyWJ3lZeT8LRKIcYKKFDcCS94aEhp921Q5wUbEod3Z0FKBhGz1QIcR9r46K1amy4ywUwOH+RdB3Lb53FFswJK1o1kJpUrI+j6nXDR+SkywgWwbg== 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=buodGxTirniZEaDYoO0y/Sku3gxbfKp2OHhYm+eMq6A=; b=TAHEbQ6JN1u9Lg+yfDxqpz6m7yiLvnc3U1V3v/1s1D1488Axaynbbl5n+nJCpZm2/UA5LL+XT5FWFw/duuSjs7lvetUDJiTXoslxYr6yCQ3nhWE4G8yZ/PG0m2bXFBHQa5aFim+PIiTGhLB5oa5noWRisJ8DjdsvRF0WR1gGcwM= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by KL1PR03MB5537.apcprd03.prod.outlook.com (2603:1096:820:57::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.27; Tue, 26 Dec 2023 06:15:18 +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.027; Tue, 26 Dec 2023 06:15:18 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "jassisinghbrar@gmail.com" , "matthias.bgg@gmail.com" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "angelogioacchino.delregno@collabora.com" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "chunkuang.hu@kernel.org" CC: "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , =?utf-8?B?Sm9obnNvbiBXYW5nICjnjovogZbpkasp?= , "linux-media@vger.kernel.org" , "devicetree@vger.kernel.org" , =?utf-8?B?SmFzb24tY2ggQ2hlbiAo6Zmz5bu66LGqKQ==?= , =?utf-8?B?U2hhd24gU3VuZyAo5a6L5a2d6KyZKQ==?= , "mchehab@kernel.org" , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , "conor+dt@kernel.org" , Project_Global_Chrome_Upstream_Group , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v3 8/9] mailbox: mediatek: Add CMDQ secure mailbox driver Thread-Topic: [PATCH v3 8/9] mailbox: mediatek: Add CMDQ secure mailbox driver Thread-Index: AQHaNJMHlgU6p3MSPUCi0pus2NsH47C7HKSA Date: Tue, 26 Dec 2023 06:15:18 +0000 Message-ID: <8234222df9443008db31158bfb7f203da9d5b4f0.camel@mediatek.com> References: <20231222045228.27826-1-jason-jh.lin@mediatek.com> <20231222045228.27826-9-jason-jh.lin@mediatek.com> In-Reply-To: <20231222045228.27826-9-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_|KL1PR03MB5537:EE_ x-ms-office365-filtering-correlation-id: f1bb817c-759d-4046-14cb-08dc05da085b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DDAlFRFFIzGy3NOvqsYv4g4t1psM/y2Z171mtjLCwtorkEFHjPZ2n71LdgD8eJSYnAJgp1guL6Hucx1aiZS8Q8CSHQgUZ229OPkhD47pCaac0Nh0ixUF1rKnjPToXwhHGQV2Zpfp4T5wVvaFuKADwQC1lIyAqoyTFn+g/9fLO5MN77NR7m7w/jSaRYL+654nwWIAK9yQZOG4FAV65+o31MqGmKpQHbi6qdComvGCtfbo3u5nU2aDCv2zYNFEFdz5oGb4zaxZlOsYS+svKxdATcnCS+Gcc+MfBo/FWgFJzxkl7TZ4zwCo+nMGBLvrZTTJ5QMnNNVTa+Jri5Ss7G0pdHyu+Qdy7lbIQI5tIy19ddq9vIlLv7J1VFk5EaiscebHUEzxnT1CTtd6+oTl3TAhAUiTaZPHDmHp5nvaVx6cxeAp/2NOlQLiFYXacO9+A3s25cPl+C20Yygpne3XP0l3HoTfBOUx9jM/nov9vPCbnI66ccKISRG1uBdA0TerPrBe9N+HDrVoimPoebLRr8okX634ShYirneX9g2MmJ6od6KTq7uzhDIS121C6DoWH5yKdcT97l4Ky9FIs7z/I+2R8fq62H0o5xT7rruC5Tk37ZKKFTgsKUPzusaAmIT0VLmK25rHayXFAsrRi8+THff9Lq1c7AgNOtaacWT1LrZFsKs= 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)(396003)(376002)(366004)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(36756003)(85182001)(71200400001)(6512007)(6506007)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(6486002)(86362001)(38070700009)(26005)(38100700002)(122000001)(83380400001)(2616005)(41300700001)(2906002)(15650500001)(5660300002)(4001150100001)(8936002)(7416002)(8676002)(478600001)(316002)(54906003)(4326008)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEdGMmRaWCtRNXNrTU1HVXNRVmlpaWZxMmdvQ0xaR1pkdXZacXo1NUFXYWxS?= =?utf-8?B?dmhHMGRPRVpiV1gwVm91MU5SVzVUOVJyUVBLc2FwZ3doeGp0VnFzdU01S00w?= =?utf-8?B?TG1ENktDMnJndWFKL1E4K3VqTTVkaTFtSXNvaUEzU3ZLTFRqQnZ0U0VaVWtM?= =?utf-8?B?UnlXb3ZRWFdCWkgxYUw1enhHL3VLNHBJc2lTaGY3aGFPa25XQmVqYVV2STBU?= =?utf-8?B?VEhuV2lNSG9DRXdUUEpRUDNsVHc2TTJJUnV0U2FMWlE0N0lleXFjaHpTaWh5?= =?utf-8?B?ZU9nWk00SDJhV2ozMWFxbmpMWmYrS3dVUUh3RytDQWF2UnpvdTZiRG5LQXlF?= =?utf-8?B?SDJCOGFhVmNhaFNQcW1NYUFJaldEaldHVVZwWE9DdUxsTVdoQkZJd2V1citU?= =?utf-8?B?TFJ0U20raHdkcWlka0UwM2ZiVXRxajd1RnhEZjl4M1lUdWpQeElJNFpKYzNj?= =?utf-8?B?QTY2cjB5SjREVVFidjBMMU1wTHd5SklGeUZQWnRXemlid0VTNjMvMnBURytR?= =?utf-8?B?bXlOMnM2ZGxKQmNLaDZldzFJYzZpRDhoOEVXQVlocGdZNHk0L3JHVjJyWnQr?= =?utf-8?B?czBZQ1g5SlBCbXFoZEd1aXNoa2dmYnBZN0t0bERWbWdJTEJZRDdod0lGV3lC?= =?utf-8?B?QTFZSHVzWDBtTkYxTFhhN3AxK3JEOS84OTh6Qm1HSUVLbm9Pek5XeDYrcG5p?= =?utf-8?B?a2EzWjYybXpPeWhjMEU4c29mUHcxSWtxZ2RWU3JzQ0xPcXY4MFpuaVlxU3BZ?= =?utf-8?B?VW9GYmdqUWloWDZNTDJpT0U0UDdZdnMyWWwvTHU0QlJZRmFVbTdUZEJud0VY?= =?utf-8?B?Z0FZZzNqK3FBSytuNSt0MkZXN1RBb0kwMmlYMmFvYkg2N1ErcHJ5ejcyaFdO?= =?utf-8?B?TVVCMHphU1B4Rmd0dzE2QmpQZm15YkFvOHBsZGZ3ZE1CQkVkWXM4YUxzVWZ3?= =?utf-8?B?L1lGdlVLbFJ2K3RvOEp1dDgrNlFVWHpqQUt1RDRTUHl4OVZ5eHQ2WW1TdFJJ?= =?utf-8?B?MTlSeCtwWFJ5SlkwNnlBSWFpbVA3VTl4OEhSdnNWMGRqb2RtL1BHZnhUdld6?= =?utf-8?B?L3FmVUhzNFdhbE8wYUkwdmJ4aW1vejdaUm9aMXFOWTllU2RSNGwwSTRocGx3?= =?utf-8?B?RGd0UklWa1NhaEFqbHZvNXJuSVZ4aUQzWWkyS3E2aDZLK2JyQ1lvTFd6bHJS?= =?utf-8?B?RUcxWi9OaUwrWW0vZzRmempkZjU4czZjZHB6VVRaOFJlcSttMTJoaG1nREcx?= =?utf-8?B?R3JsWTUwcnZWNnJ4Q2s0Qlp6Y2JuQTJROVFqd09VcGh5VTZ4TjVZbCt3V1VG?= =?utf-8?B?UnlvNFBtZFl3aGx4dERmZkw1Z0VoSUMrM29WdEYwYzNYN3dIbkNBNDlEN1JH?= =?utf-8?B?RHptUEZ6bW81OU5kdzRVS1pDZDhPc3N0QlB5dkxzbkR3WHJTeWl2M1FST0Rs?= =?utf-8?B?L0FJcE1PWnhDSzdlalVDVTAyZFFjNzNQTFptNHBqVWtXRFh6dmphSDRzNXd3?= =?utf-8?B?QlJWZEpMV1pqUDk4WW1xc0U0NEp3VlJXS0JlVzNmRkx5OUNFemR4MDl2VGUv?= =?utf-8?B?b0kxanZIWXpIbStpYXpZVkZXZDRRL3pjWHZCTlorWjg4blZqVmM1WDA4RnVY?= =?utf-8?B?b3daWDV6Z1FrVEZxTGRRYWYxb0N2NWhwOC9NTVBsWmRkMWdmTEErOEViTnRh?= =?utf-8?B?b2s0T3o4K0poS0NzajVrWnI1aXdJc1dJMkdzWGVINkJZaWxsdlVsbllJSnZL?= =?utf-8?B?by93K1lxU015VEhXWlpoU0lkdlVpd2pRQUdTeHY5ZWc4eUxFVlphVDFhVDI3?= =?utf-8?B?VnZOOS96WVZpOE01VmVCcWQrdHZWYXFOVnptTDlBOU5OaDNjNCtvRWJib2Z6?= =?utf-8?B?aTZsQ2xsajV4dEhtRVZnTTNndXFtNkVoajIrNEE0L2poNXVYRzZxZnVKYS8x?= =?utf-8?B?L3VEQ0NhN0J6MUtlMWY3OUJzWmdKbnVEMm5nTU1KVVJWSkpBVTdOczhmZkJS?= =?utf-8?B?MHZhUmx6V2dRUWNhUk9ZV21PUW1zSmdMRS9qS3A5QWFTaDlVUGJ6b1UzU0d4?= =?utf-8?B?emJzQVlNalBVUlVrUVpNZjl2Q0tTVVVtYVZTekpNMlhxY3Vvb3VQY0VVSXFj?= =?utf-8?Q?U9eiKjNg3/bk0KCm35dviGT4o?= Content-ID: <10148BD1C239564B80D43E4C6FCD4D6A@apcprd03.prod.outlook.com> 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: f1bb817c-759d-4046-14cb-08dc05da085b X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Dec 2023 06:15:18.0495 (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: KEa7WHcTJ+ttatIX1nNhUeWt6nj1LZHUQ7s5GZ+PaAQUI2kofYjR+jqy8O//c0vy8DuDXoeIwPWEKugWYWb89g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR03MB5537 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--15.309400-8.000000 X-TMASE-MatchedRID: L8tZF6zWW2oOwH4pD14DsPHkpkyUphL9qQ9UezeTkThu4FknyqyshF1Q po5pNysMe29pTfBhqOY7b3Js3F6vVD1LciJB3541o65WJt1k1O8TbU1KYGoQp3vsbfoZixUT3oz JRX7b4NnONwCKwD2eBY7n73EIhmk2idh40yl3wZB05zsoB1UKTv+UEb65dgmQ4uxAgOavdLltgT FkLUu6pskF/UjPg4V5Vl+hnGukUcBAJLhqw2sfjfSG/+sPtZVkHIOuQjCOKFubKItl61J/yfmS+ aPr0Ve8oTCA5Efyn8CNo+PRbWqfRDsAVzN+Ov/se1bP9VgCQwhVMPihBnbeOcn78Wb/ZbDVsLh7 /pQVtq8Ke2M8Euargw== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--15.309400-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 2FAE85DF8F5ACC069546088BEEA9A7AEA27D6569B7F5FAC32D4DE8CE9B2592902000:8 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231225_221528_256258_93AB7FE2 X-CRM114-Status: GOOD ( 13.40 ) 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 Fri, 2023-12-22 at 12:52 +0800, Jason-JH.Lin wrote: > To support secure video path feature, GCE have to read/write > registgers > in the secure world. GCE will enable the secure access permission to > the > HW who wants to access the secure content buffer. > > Add CMDQ secure mailbox driver to make CMDQ client user is able to > sending their HW settings to the secure world. So that GCE can > execute > all instructions to configure HW in the secure world. > > Signed-off-by: Jason-JH.Lin > --- [snip] > + > +static void cmdq_sec_task_exec_work(struct work_struct *work_item) > +{ > + struct cmdq_sec_task *sec_task = container_of(work_item, > + struct > cmdq_sec_task, exec_work); > + struct cmdq_sec_thread *sec_thread = container_of(sec_task- > >task.thread, > + struct > cmdq_sec_thread, thread); > + struct cmdq_sec *cmdq = container_of(sec_thread->thread.chan- > >mbox, > + struct cmdq_sec, mbox); > + struct cmdq_sec_data *data; > + unsigned long flags; > + int err; > + > + dev_dbg(cmdq->mbox.dev, "%s gce:%#lx sec_task:%p pkt:%p > thread:%u", > + __func__, (unsigned long)cmdq->base_pa, > + sec_task, sec_task->task.pkt, sec_thread->idx); > + > + if (!sec_task->task.pkt->sec_data) { > + dev_err(cmdq->mbox.dev, "pkt:%p without sec_data", > sec_task->task.pkt); > + return; > + } > + data = (struct cmdq_sec_data *)sec_task->task.pkt->sec_data; > + > + mutex_lock(&cmdq->exec_lock); > + > + spin_lock_irqsave(&sec_thread->thread.chan->lock, flags); > + if (!sec_thread->task_cnt) { > + mod_timer(&sec_thread->timeout, jiffies + > + msecs_to_jiffies(sec_thread->timeout_ms)); > + sec_thread->wait_cookie = 1; > + sec_thread->next_cookie = 1; > + sec_thread->task_cnt = 0; > + __raw_writel(0, (void __iomem *)cmdq->shared_mem->va + > + CMDQ_SEC_SHARED_THR_CNT_OFFSET + > sec_thread->idx * sizeof(u32)); > + } > + > + sec_task->reset_exec = sec_thread->task_cnt ? false : true; > + sec_task->wait_cookie = sec_thread->next_cookie; > + sec_thread->next_cookie = (sec_thread->next_cookie + 1) % > CMDQ_MAX_COOKIE_VALUE; > + list_add_tail(&sec_task->task.list_entry, &sec_thread- > >thread.task_busy_list); > + sec_thread->task_cnt += 1; > + spin_unlock_irqrestore(&sec_thread->thread.chan->lock, flags); > + sec_task->trigger = sched_clock(); > + > + if (!atomic_cmpxchg(&cmdq_path_res, 0, 1)) { > + err = cmdq_sec_task_submit(cmdq, NULL, > CMD_CMDQ_IWC_PATH_RES_ALLOCATE, > + CMDQ_INVALID_THREAD, NULL); > + if (err) { > + atomic_set(&cmdq_path_res, 0); > + goto task_end; > + } > + } > + > + if (sec_thread->task_cnt > CMDQ_MAX_TASK_IN_SECURE_THREAD) { > + dev_err(cmdq->mbox.dev, "task_cnt:%u cannot more than > %u sec_task:%p thread:%u", > + sec_thread->task_cnt, > CMDQ_MAX_TASK_IN_SECURE_THREAD, > + sec_task, sec_thread->idx); > + err = -EMSGSIZE; > + goto task_end; > + } > + > + err = cmdq_sec_task_submit(cmdq, sec_task, > CMD_CMDQ_IWC_SUBMIT_TASK, > + sec_thread->idx, NULL); > + if (err) > + dev_err(cmdq->mbox.dev, "cmdq_sec_task_submit err:%d > sec_task:%p thread:%u", > + err, sec_task, sec_thread->idx); > + > +task_end: > + if (err) { > + struct cmdq_cb_data cb_data; > + > + cb_data.sta = err; > + cb_data.pkt = sec_task->task.pkt; > + mbox_chan_received_data(sec_thread->thread.chan, > &cb_data); > + > + spin_lock_irqsave(&sec_thread->thread.chan->lock, > flags); > + if (!sec_thread->task_cnt) > + dev_err(cmdq->mbox.dev, "thread:%u task_cnt:%u > cannot below zero", > + sec_thread->idx, sec_thread->task_cnt); > + else > + sec_thread->task_cnt -= 1; > + > + sec_thread->next_cookie = (sec_thread->next_cookie - 1 > + > + CMDQ_MAX_COOKIE_VALUE) % CMDQ_MAX_COOKIE_VALUE; > + list_del(&sec_task->task.list_entry); > + dev_dbg(cmdq->mbox.dev, "gce:%#lx err:%d sec_task:%p > pkt:%p", > + (unsigned long)cmdq->base_pa, err, sec_task, > sec_task->task.pkt); > + dev_dbg(cmdq->mbox.dev, "thread:%u task_cnt:%u > wait_cookie:%u next_cookie:%u", > + sec_thread->idx, sec_thread->task_cnt, > + sec_thread->wait_cookie, sec_thread- > >next_cookie); > + spin_unlock_irqrestore(&sec_thread->thread.chan->lock, > flags); > + > + kfree(sec_task); > + } > + > + mutex_unlock(&cmdq->exec_lock); > +} > + > +static int cmdq_sec_mbox_send_data(struct mbox_chan *chan, void > *data) > +{ > + struct cmdq_pkt *pkt = (struct cmdq_pkt *)data; > + struct cmdq_sec_data *sec_data = (struct cmdq_sec_data *)pkt- > >sec_data; > + struct cmdq_thread *thread = (struct cmdq_thread *)chan- > >con_priv; > + struct cmdq_sec_thread *sec_thread = container_of(thread, > struct cmdq_sec_thread, thread); > + struct cmdq_sec_task *sec_task; > + > + if (!sec_data) > + return -EINVAL; > + > + sec_task = kzalloc(sizeof(*sec_task), GFP_ATOMIC); > + if (!sec_task) > + return -ENOMEM; > + > + sec_task->task.pkt = pkt; > + sec_task->task.thread = thread; > + sec_task->scenario = sec_data->scenario; > + sec_task->engine_flag = sec_data->engs_need_dapc | sec_data- > >engs_need_sec_port; > + > + INIT_WORK(&sec_task->exec_work, cmdq_sec_task_exec_work); > + queue_work(sec_thread->task_exec_wq, &sec_task->exec_work); It's not necessary to queue a work here. Squash cmdq_sec_task_exec_work() into this function. Regards, CK > + return 0; > +} > + _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel