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 75BE0CDB46E for ; Thu, 12 Oct 2023 08:02: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=WrBUJaqtS3pu5I/+SeSNg1uYvn4ZmLMAAmQ56iWavCc=; b=BrV/DZRoWfeBmn 3m1I91AyNPYWtBUkrZvP0/xYlPTiSKEowplm60pGL6SfHukbCW+4i0V2JmDkF0pZEDZLPKxZ94bH1 +BtTi+VQJRq9bIPwNEIchxPZz3Ja0n8nukX7UhxjK1/DauMzyfoF1WtieOi/5P6NikusCNwHIfvCw Yb96rWuNw4IEFadsz3REBD7kkp3L2YsoUY1RcznxC39akuGlrjifB04JkoQdbc+6rtx7KRGQBw8WC 4MCiorb8HOsF6MVgcKyOFPb2Nrlq33dhYkUuacthY/u9E/R8TT99AfCO0+xj1MCvIy4SJRGocV4va b/AignCn/+M1x0iUW2sA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qqqdQ-0007fv-05; Thu, 12 Oct 2023 08:01:32 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qqqdM-0007eH-0d; Thu, 12 Oct 2023 08:01:29 +0000 X-UUID: 865ae5f668d511ee9b7791016c24628a-20231012 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=VgD3HGCiERswddVcYoCpCx8/lLOgDuYE8Z2tQsbm7R8=; b=tbYRHFgHSMJXdaJ8tECSQW2W/Sj2KZuLU9DA+HuH3UjPxqHNiHfQzkD6ATj7QK2NvMZy4i6INWaU3vahaAomR4AonoRWWO50mLlYmbtLQ/M8v1RBufch2TOZpnJVC5V5obAVoVxi9zdV2O+oaUhhjvB2gaBX+5LF8Is8hAOHlpo=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.32,REQID:021687e0-c303-4169-a1f5-f3658c5487be,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:5f78ec9,CLOUDID:167409c4-1e57-4345-9d31-31ad9818b39f,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: 865ae5f668d511ee9b7791016c24628a-20231012 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1598762379; Thu, 12 Oct 2023 01:01:18 -0700 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Thu, 12 Oct 2023 16:00:43 +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; Thu, 12 Oct 2023 16:00:43 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lE4uXmENIWBv1Wt+1bDxgW3XcTlUTHW1iTdqDiFGjzJn98SCNBrZt7DVWSfBfCABKV/I5dTxOiMD/NoUCbZ+8l2ct6mQJe6zLS5NqyWRdbc6tSZDhQJOZwW1xN3I8jTz7LsngFC/qFFKieuMvGnvPooubHOq9nYnqlbvIZ8B0pOLVZc5ncA1XGkIt8720RgoNoQbi3Xoe6WowGoxFPhPkMfN3/zO3EW/zw+uzmZ1XwDOZdSBJsBDKRrDQKUxzUO0fey3uAA6FWZ6y803fbbZrdEQi0dINPrx2YiT4aarvzhmbD1Z4LYsiGzH6PmQ1LLo/F082t9QcY4QZvcPOPkJSg== 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=VgD3HGCiERswddVcYoCpCx8/lLOgDuYE8Z2tQsbm7R8=; b=g4nHmD50wJBDLRLhjssvJ4Mr7BCtYgDLOb81QR8cNq5Hfp6z0+hDczYks+PS7xzAEl6JREHNFgltN0txnyTRpkrx4Lvdk7kVGVPyeL/jsRVCRnOE0lu0XfJWQnEHd6jWnDufJVshzXGvqBO9eTe8unPzmqt2jVlZwSIBtWS14BZ/3KP1SO3GvsxIc7RHzWnK13GukODv4KlxvzuGZQOYwrrAJaRZKNQNPpFzVJowu1FK6U3BKkG6qdGz8fJfDeVo7NbMrl0nTt0HMbmtgNnK3s8Kcn+CILFAc35ke31Cyv12ebECTOak3IRDI794qYAYM/MuUVivLqDugYMqGbQnkg== 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=VgD3HGCiERswddVcYoCpCx8/lLOgDuYE8Z2tQsbm7R8=; b=mdobzUzNDvK5nkMI3RjdhtNsAWZDNYWUJK5ydOtMXPjZfve2XN9UJLfjCyB3WOuCoX1SnBQ8SFateZAc/LU59DJK85DPeKw+WK3JeeyYN17uyjQA+0XSaFaDq3QM2l6dL10WZAAh4Cls5Is6DVlxRj5CArRfAyRs6yzh0+muUOA= Received: from SEYPR03MB7682.apcprd03.prod.outlook.com (2603:1096:101:149::11) by TYZPR03MB5311.apcprd03.prod.outlook.com (2603:1096:400:3b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Thu, 12 Oct 2023 08:00:40 +0000 Received: from SEYPR03MB7682.apcprd03.prod.outlook.com ([fe80::8c0:a8fa:8e5:159d]) by SEYPR03MB7682.apcprd03.prod.outlook.com ([fe80::8c0:a8fa:8e5:159d%6]) with mapi id 15.20.6863.032; Thu, 12 Oct 2023 08:00:39 +0000 From: =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= To: "jassisinghbrar@gmail.com" , "angelogioacchino.delregno@collabora.com" CC: "linux-arm-kernel@lists.infradead.org" , "matthias.bgg@gmail.com" , "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "wenst@chromium.org" , "linux@roeck-us.net" , "kernel@collabora.com" Subject: Re: [PATCH] mailbox: mtk-cmdq-mailbox: Implement Runtime PM with autosuspend Thread-Topic: [PATCH] mailbox: mtk-cmdq-mailbox: Implement Runtime PM with autosuspend Thread-Index: AQHZ/DKqS+K8cf06yk+hsFpE4I+hCLBFy/oA Date: Thu, 12 Oct 2023 08:00:39 +0000 Message-ID: <33104b25f0430aba4be9fe1060a02f94e1c9d3d7.camel@mediatek.com> References: <20231011110309.164657-1-angelogioacchino.delregno@collabora.com> In-Reply-To: <20231011110309.164657-1-angelogioacchino.delregno@collabora.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: SEYPR03MB7682:EE_|TYZPR03MB5311:EE_ x-ms-office365-filtering-correlation-id: ca21e687-7725-47fc-3ee4-08dbcaf9532f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 20fIiy1qCWa453AAPpH4K/s2L1V6xQS7DVAQQH5jUDnxfW25seXfuHA7uxxI7X3xq9EdsgsVfOyMtjWY3rhMtUBVt60j6HwTGJh6lx/ou3IzJR0HDjNE/iDJpeHMCS8JWDUIR7oghtYT/Pfc05LnlduceVfO1luLdeVNf9jrb29jw8XckKc4/J+k0FM6dtIUGE3CM5j/8R4psi3cORaeOpXdsZYWSG9XgYCzg7dEMTEXM/mJ++9NXaQrzLgPE4aPHayGopOLtV1/pgUeRvKH5rQQbk5Tx9nLiSIKiL1L/Dqcm3iRVT+RqDuTSTOtlMLSht6PHvM/R18/sUU/2hvwxFQmRzZxOyjJsSYr3Iud5sZO1Ppkq3vXiR/IOzk+642DLAm8uJhvTKadYdtim2ZuF0Tw5MdwUSYKsq65Xl/shS34Qo5AYl2VsUIeodKob7YNQ3lnLsS8MrZSqm90CnEvABd0f/+3UzyPBWYf37KYKUVzE2DNfTiZ/WADTt0QuKb2l5D6wfolMKmSTIFr+dBC+FyeVqSpJSM7ABrqML5FkGI0btxif7VOss9rW+DDrNTNAu4DGp9K2Go0lp9ORX1yd4/VIgm16VPEYSl2CVZSx+3AkEx+tkCtEN5pDjCHm0W9unbulm6tt4oUUzQ7rtsJS6yJZNaa2AAsZFETqKVV7ZM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEYPR03MB7682.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(366004)(136003)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(6486002)(36756003)(38100700002)(85182001)(83380400001)(64756008)(6512007)(38070700005)(26005)(6506007)(2906002)(76116006)(66476007)(66946007)(316002)(66556008)(66446008)(478600001)(54906003)(2616005)(110136005)(91956017)(71200400001)(4001150100001)(15650500001)(5660300002)(122000001)(86362001)(8936002)(8676002)(4326008)(41300700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d1NoK1FDMU9BbkY1NnN0aGpBVW5EakpKUlRiNU1QTnBSS1V6RFNpdnVFbW8x?= =?utf-8?B?SHJRR0FXb0VXQkZtL0pjaE8vSzJ6dXpLT2ZMdGthMmdIaS9MSk9BTVNsOTVT?= =?utf-8?B?VzNZYmlNQXllUGNTdGhsTlZoZ0lmZnEyclEvMXFkM2dwWHZVMmVMcUFYK3V5?= =?utf-8?B?bXZIUDBYd0xhYVQwVzIvVTZRWHBsZ0JSUm53bDd0Y0xRYTFPYXlXOU5KVUtv?= =?utf-8?B?NWY5Q05SQTgxb3I3KzdIUStubG5Jc0VaZHUrK3licWFDRVE2SjQ1TXlDNEEr?= =?utf-8?B?MThueDVKclpzeW1mV3VWYUcxY21sSFdIV0tFbGIwdFhaaEdzTCswV2syZ1Jz?= =?utf-8?B?Y0NOWkRCaWx5VmpOSXVhNmxUTjJKbyt3aHprVHNEcXRrQXFMaTZieWlrVkRT?= =?utf-8?B?UG00SXlyT2ttUUphdThiVlcxNzRVRWd5VlhuWVNwajhCaExXbjJZTktVQ1VV?= =?utf-8?B?ZVdvOXVpZ01aNDVqc041Mk02NG12NmVmcVdKRVpwRTlNclh0bEUydEt2YllV?= =?utf-8?B?RWRUUlR1TUZDOWFXbUZXcWE4ZlFodVllWUZuMVFsTkt2SGx1V2tDTFdvcisv?= =?utf-8?B?OE5jRG15VmhmTmlaNjB0TDhieUI5VjU2YkEwMzRvM1krOCtaWE5RMVk2M2Y0?= =?utf-8?B?Y2k2OEpybUFZVGZWRjE3MnphYVRhZ1dZb2craG1ZOUpxMzJ3cjlERHU5NmN3?= =?utf-8?B?T0dVZTJwWWtTQjZ2Wmc4ZVRXRG9XQnpSOXJxbXdpV21yVGtjbjQ1eEF1eEhv?= =?utf-8?B?NG9sWjVEeWlkR0hHSUk4azRMR0lLa1BScnJ3Zkh6ZWQyRnd0enlRTld6WEZG?= =?utf-8?B?VVZicTlneHZuNzdDeFpRb2pwWE1RN0NqZ1BsTEQ5WDY1cU9VaUV4NHBZMGRl?= =?utf-8?B?aFdaTEJ1SEl4clhXeHcvMWtTYTVVR2RtMWpCdnVDcjlaZDYzZzZUTmZXVWhq?= =?utf-8?B?Zm5neXZqS0paWGh0azhtMkI1L21GWnovTWpMcWNxS2Q2SFhyam5WaHZ3dGxG?= =?utf-8?B?VllVOFJZWk5Hakl0Y2gwak5odVh4OUdFcHBNRG1uN3dsRXkvVDNyVnBqOCsz?= =?utf-8?B?bnJKazcrWFhBRDByQmw0aVZ0SlJ1czh1ZWcrV1pOYTZ5NFBQWTdVQ1k4Rlh6?= =?utf-8?B?T2I4ZkJtT1dCMnA4VDBKOVVwRHVHUVdEOW92RW4xM2FxRng2Q2ZRUWh3empQ?= =?utf-8?B?NkV0NVg2TTl5RkhRZ1ZjU0hTYkZQVE0rK1VwZTZBZ0w4d2FoL1gwZkZ1Mjla?= =?utf-8?B?Ykc2VUFNeHNsd2RZeDVtLzkzQmRldTVwK0ZuSGR0b3dTQU1HQyt5T2ZQQjBF?= =?utf-8?B?QURRQk9hOXdOc0ViTVNqOXVteGdITHZlZW9sMlIzOGFpcHF5UXpadWtUMGMx?= =?utf-8?B?R0xjcE11Tm10Rkx0U0VpNDVoeldEcDBIS016Yjg5bW1UWkdJZGxLRGkrKzY5?= =?utf-8?B?MEhLb1pvMzI1aEttVkxSL0JOczRTN2FDSXNnWlFuRVZlVW0rOWhCV1hnV3kr?= =?utf-8?B?bnFoSWtmRUI2eWlZNnc1eDFTZjdMOC9wRkxUTGRuVlpOQmU5R3o5SG1kQjBI?= =?utf-8?B?V25xcEFJaFpPY3Y5bVM4R05LSTBZODZWUTVpM00zWUtsczJXUmRmR3d0cDU3?= =?utf-8?B?bjVDZzlHQ0RjMGtIRCs1TkhYWE02V1QwdnA0U1VCM1hUcjNXTVpsUlhUbGw4?= =?utf-8?B?aVdWSHdlWjIweDZNTllFZGlXdkIzbHdRQjBQLyttMTRjd2d0SzhRcjlOSHg3?= =?utf-8?B?TXlWbGFmNS9YbkZ0U2pzdDRSdk1oZnhOVlJQczljN01tTVJVdkpJV0VuKzdZ?= =?utf-8?B?OWFqQlEyUmplKzF3Ui84Y3pjZGcySk5vYnhsTzVzTnFITStpUmQ5eTlHaXhD?= =?utf-8?B?QVVCclVrenBjaGJlbFBuZWdzWmRPSmx6Q0JNVnhlaUxpVUE1alkzb3NXdEJh?= =?utf-8?B?d0lXZUs4TVUrRlVXUXhKWUtzSStDMFovUEM0YldpbG9HdDArMmFyeWVkeWZM?= =?utf-8?B?MnR6MGw1OFlpSHdkK3FmWW1USkgvdW9GSmU5VFNpbnR2L0NJanRSRlQ4U1pM?= =?utf-8?B?M3hKaXdCdko3ZkNkenYzdURMUlU3YURoeHg1dWw5cVJYZ1ozR0xqUlVRWm92?= =?utf-8?B?VDZERjFydGFRbkFYd0Y4QjMrZ1VLdllncVhqeE9HRUpReHJmNjFmeHRjUnlM?= =?utf-8?B?SHc9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SEYPR03MB7682.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca21e687-7725-47fc-3ee4-08dbcaf9532f X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2023 08:00:39.4000 (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: dr6l/5q5q39AmwHxByZhd9kg+cifm+uSaH1/FlahEu6VRLEreWbbHINnajNvmg03O0wiONYt4QflYihUjnl37qCL//O8pPahqKy1sRaSOIM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR03MB5311 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231012_010128_244631_03CF812E X-CRM114-Status: GOOD ( 31.06 ) 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 Angelo, Thanks for your help! On Wed, 2023-10-11 at 13:03 +0200, AngeloGioacchino Del Regno wrote: > MediaTek found an issue with display HW registers configuration, and > located the reason in the CMDQ Mailbox driver; reporting the original > comment with the analysis of this problem by Jason-JH Lin: > > GCE should config HW in every vblanking duration. > The stream done event is the start signal of vblanking. > > If stream done event is sent between GCE clk_disable > and clk_enable. After GCE clk_enable the stream done event > may not appear immediately and have about 3us delay. > > Normal case: > clk_disable -> get EventA -> clk_enable -> clear EventA > -> wait EventB -> get EventB -> config HW > > Abnormal case: > clk_disable -> get EventA -> clk_enable -> EventA delay appear > -> clear EventA fail -> wait EventB but get EventA -> config HW Please also help to add this comment here: This abnormal case may configure display HW in the vactive or non-vblanking duration. > > From his analysis we get that the GCE may finish its event processing > after some amount of time (and not immediately after sending commands > to it); since the GCE is used for more than just display, and it gets > used frequently, solve this issue by implementing Runtime PM handlers > with autosuspend: this allows us to overcome to the remote processor > delay issues and reduce the clock enable()/disable() calls, while > also > still managing to save some power, which is something that we > wouldn't > be able to do if we just enable the GCE clocks at probe. > > Speaking of which: if Runtime PM is not available there will > obviously > be no way to get this power saving action so, in this case, the > clocks > will be enabled at probe() time, kept enabled for the entire driver's > life and disabled at remove(). > > Reported-by: Jason-JH.Lin > Signed-off-by: AngeloGioacchino Del Regno < > angelogioacchino.delregno@collabora.com> > --- > > The 100ms autosuspend delay was estimated in a worst-case scenario > and > was tested on MT8192 and MT8195 Chromebooks, with internal display > and > external display running to maximize the number of CMDQ messages > being > sent through. > That value can probably be decreased to half of what I've set, but on > that I prefer being cautious and keep it at 100ms. > > P.S.: This also solves microstuttering issues that I've randomly seen > on all MediaTek Chromebooks. > > drivers/mailbox/mtk-cmdq-mailbox.c | 80 +++++++++++++++++++++++++--- > -- > 1 file changed, 68 insertions(+), 12 deletions(-) > > diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c > b/drivers/mailbox/mtk-cmdq-mailbox.c > index 4d62b07c1411..de862e9137d5 100644 > --- a/drivers/mailbox/mtk-cmdq-mailbox.c > +++ b/drivers/mailbox/mtk-cmdq-mailbox.c > @@ -13,10 +13,13 @@ > #include > #include > #include > +#include > #include > #include > #include > > +#define CMDQ_MBOX_AUTOSUSPEND_DELAY_MS 100 > + > #define CMDQ_OP_CODE_MASK (0xff << CMDQ_OP_CODE_SHIFT) > #define CMDQ_NUM_CMD(t) (t->cmd_buf_size / > CMDQ_INST_SIZE) > #define CMDQ_GCE_NUM_MAX (2) > @@ -283,10 +286,8 @@ static void cmdq_thread_irq_handler(struct cmdq > *cmdq, > break; > } > > - if (list_empty(&thread->task_busy_list)) { > + if (list_empty(&thread->task_busy_list)) > cmdq_thread_disable(cmdq, thread); > - clk_bulk_disable(cmdq->pdata->gce_num, cmdq->clocks); > - } > } > > static irqreturn_t cmdq_irq_handler(int irq, void *dev) > @@ -307,9 +308,26 @@ static irqreturn_t cmdq_irq_handler(int irq, > void *dev) > spin_unlock_irqrestore(&thread->chan->lock, flags); > } > > + pm_runtime_mark_last_busy(cmdq->mbox.dev); Should we add this pm_runtime_put_autosuspend(cmdq->mbox.dev); here? > + > return IRQ_HANDLED; > } > > +static int cmdq_runtime_resume(struct device *dev) > +{ > + struct cmdq *cmdq = dev_get_drvdata(dev); > + > + return clk_bulk_enable(cmdq->pdata->gce_num, cmdq->clocks); > +} > + > +static int cmdq_runtime_suspend(struct device *dev) > +{ > + struct cmdq *cmdq = dev_get_drvdata(dev); > + > + clk_bulk_disable(cmdq->pdata->gce_num, cmdq->clocks); > + return 0; > +} > + We can use them to replace the clk_bulk_enable() and clk_bulk_disable() in cmdq_init(). Thanks for your improvement patch again! and Tested-by: Jason-JH.Lin Regards, Jason-JH.Lin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel