Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3416194ybi; Tue, 18 Jun 2019 00:02:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqwz65qJHEDwyVjiUzoyhG77cWQyrJh7YZh9Ct4bWPVDuY2L2tGwkqVol0CjywklriwK4dRM X-Received: by 2002:aa7:8d98:: with SMTP id i24mr50478101pfr.199.1560841347729; Tue, 18 Jun 2019 00:02:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560841347; cv=none; d=google.com; s=arc-20160816; b=Jj4LaSXW1pOampsZAh8nxLqtsoZiL9TpgMYmqQuSfAjeJIypWbgNpwsmxDwVBIeoxG sYLVKhamEtf7pUTmJv8bVI6dxEKAJ4/NGe7T3jNMnyuOxmOxi/Iw8W6Idf36e/Xjs43e shjZl4926/ZXZNRM9WRDHsGfCYMYxTMWI13/6EY4j5I75Q+RrsIsA7hAukyUSaLVYbOo rc3mY6r114a7FcNAF1Fod7XpnoUwM8Dd5UjM+0J67hNYXmvp6+zhKg/YbyxnGjXBpcgG Lg+YviEUPk6cLZwExP5+Lkl//0ceIHYMK2Y/qern/INZZUHTrqrFvTbkS3hfi/v5Q+UF D3AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:to:from:subject:message-id; bh=1UPaihzC+AlK6dYhi2ktxJlFix78Le2Zk4iOXlUQDFY=; b=lCdMWj8iuguDpoTK4WOu2XXW7z+Ygp8Jdm82YjkbNBOB7jb+ASGQAOp/RtcII0N3qh m4ERqiprUBvIA16VnPJOKl61IDaB0olQYjJgAlZOhFyQsRDqypdXhEJ1Mos+nl0Acu4J gjM5Z8WyOPhb8519PCMSjQdqKZOnFyNBaDSGoHkLnTTHQHvTfFl5ETA4jrO4M/5Nhx8Z Hbckq4PkQggBiDkdLaX2M/DW1uMZbdB9SA4K3R4jAxyOPExajXibixsJOGBpo4gK6mZG UkcijsFRfUoe9OvXtMjOYKaHljsXUMiLjaZ3dblVgatdYuvlhTGmeNRvZMzGtjh7Eg2h 5W1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i3si12440975pgs.317.2019.06.18.00.02.10; Tue, 18 Jun 2019 00:02:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728625AbfFRHBx (ORCPT + 99 others); Tue, 18 Jun 2019 03:01:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:45076 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725829AbfFRHBx (ORCPT ); Tue, 18 Jun 2019 03:01:53 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id C7B4FB040; Tue, 18 Jun 2019 07:01:51 +0000 (UTC) Message-ID: <1560841301.21660.9.camel@suse.com> Subject: Re: [IMX] [DRM]: suspend/resume support From: Oliver Neukum To: Pintu Agarwal , open list , linux-arm-kernel@lists.infradead.org, Kernelnewbies , linux-pm@vger.kernel.org Date: Tue, 18 Jun 2019 09:01:41 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Montag, den 17.06.2019, 19:19 +0530 schrieb Pintu Agarwal: > Currently, I am trying to understand what needs to be taken care > during suspend/resume. You need to take care of * wakeup sources * not requiring services of devices higher up in the tree. > With some reference, I figured out that hdmi power off/on needs to be > done during suspend/resume. That would make sense. First of all you need to understand that the generic model is, well, generic. Now this may look like a tautology, so let me explain. A generic model cannot tell you how to save power on a specific hardware. It exists to model dependencies among subsystems and to help you. The suspend() call is a notification which tells you that the rest of the system will not require your services until resume() is called(). That means that after resume() your driver must be functional again. And it means that between suspend() and resume() you cannot touch your device because what is above you in the tree need not be functional. > But after resume, system is hanging. > It seems like vblank events are not getting triggered after the resume. > May be irq remains disabled after resume, I need to figure out some > way to enable the all the irqs again. In your case it looks like parts of dw_hdmi_imx_bind() need to be redone in resume(). HTH Oliver