linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pintu Agarwal <pintu.ping@gmail.com>
To: Fabio Estevam <festevam@gmail.com>
Cc: open list <linux-kernel@vger.kernel.org>,
	"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" 
	<linux-arm-kernel@lists.infradead.org>,
	Kernelnewbies <kernelnewbies@kernelnewbies.org>,
	linux-pm@vger.kernel.org
Subject: Re: [IMX] [DRM]: suspend/resume support
Date: Wed, 19 Jun 2019 19:03:39 +0530	[thread overview]
Message-ID: <CAOuPNLjYhkP_kL+q-ZpiDZMMpOHrU88BFBc2agtnCzXt8dihOg@mail.gmail.com> (raw)
In-Reply-To: <CAOMZO5BY8JcLNMCRCC_d=emy8HR6kE=dB9f5qfZ=ci_c+Jak0w@mail.gmail.com>

On Tue, Jun 18, 2019 at 8:39 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> On Tue, Jun 18, 2019 at 11:46 AM Pintu Agarwal <pintu.ping@gmail.com> wrote:
>
> > Thank you so much for your reply.
> > Yes, I already checked the latest mainline kernel changes until 5.2-**.
> > I see that there are many cleanup related changes, but still I see
> > that suspend/resume functions are missing in dw_hdmi-imx driver.
>
> Please see this recently submitted patch:
> https://lore.kernel.org/patchwork/patch/1084057/
>
Okay. Thank you for this reference. This can be definitely helpful.
But a quick look may be feel, this is slightly different.
Anyways, I will have a deeper look.

> > So, I am trying to implement myself.
> > Also, I see that suspend/resume is missing even in :
> > drivers/gpu/drm/imx/ipuv3-crtc.c
> > I am trying this also (not sure if we need this as well).
> >
> > Can you point out some specific patches which can be helpful ?
> >
> > Currently, what I observed is that hdmi bind() functions are not getting called.
> > Not sure who is responsible for triggering this bind function.
> > Or, irq remains disabled after resume, and we need to enable it back
> > again (but how ?)
> > Or, we may need to enable vblank events and thus irqs can be enabled.
> >
> > So, I am exploring many possibilities.
> > If you have any suggestions please let me know.
>
> The suggestion I have is to try to use latest mainline kernel. If you
> see any issues with it, please report.
>
> The combination you mentioned in a prior thread (kernel 3.10 +
> backported drm patches 4.9) is not really something the community can
> help you.

You can think that the version I am using right now is almost 4.9 itself.
Upgrading again to higher kernel version is again difficult, also
customer does not want it.
BTW, I am not talking about runtime suspend/resume.
I know it works normally.

I just need some approach and pointers.
Like someone said rightly, I may need to re-implement bind() function
again in resume path.
I already tried doing hdmi_power_on/off and with that I could invoke
hdmi_setup() function, but the system hang after that.

Another approach I tried is, installing hdmi {dw-hdmi.ko,
dw_hdmi-imx.ko} as a module, just after the resume.
With this also system hangs during installation of dw_hdmi-imx.ko at
below location:

imx_drm_driver_load(..)
|
|--> component_bind_all(...)
     |
     |-> component_bind(ipu)
         |
         |
         ipu_drm_bind(..)
         |
         |-> ipu_crtc_init(..)
             |
             |-> ipu_plane_irq(..)
             |
             | ----> << __HANGS HERE__ >>
             |
             |-> devm_request_irq(ipu_irq_handler)

So, ipu_drm_bind() never returns, and hangs.
----------
So, my question is, which approach is better (as a first trial):
1) Installing hdmi as a module, after resume ?
2) Or, implementing the suspend/resume itself ?

  reply	other threads:[~2019-06-19 13:33 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-17 13:49 [IMX] [DRM]: suspend/resume support Pintu Agarwal
2019-06-18  7:01 ` Oliver Neukum
2019-06-18 14:02 ` Fabio Estevam
2019-06-18 14:45   ` Pintu Agarwal
2019-06-18 15:09     ` Fabio Estevam
2019-06-19 13:33       ` Pintu Agarwal [this message]
2019-06-19 13:44         ` Fabio Estevam
2019-06-19 15:04           ` Pintu Agarwal
2019-06-19 15:11             ` Fabio Estevam
2019-06-19 15:29               ` Pintu Agarwal
2019-06-21 15:12                 ` Pintu Agarwal
2019-06-21 15:40                   ` Fabio Estevam
2019-06-22  8:13                     ` Pintu Agarwal
2019-07-01 14:25                       ` Pintu Agarwal
2019-07-11 15:29                         ` [IMX] [DRM]: help in analyzing clock_summary rate difference Pintu Agarwal
2019-06-19 15:04         ` [IMX] [DRM]: suspend/resume support Greg KH
2019-06-19 15:17           ` Pintu Agarwal
2019-06-19 16:26             ` Valdis Klētnieks
2019-06-21 15:04               ` Pintu Agarwal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOuPNLjYhkP_kL+q-ZpiDZMMpOHrU88BFBc2agtnCzXt8dihOg@mail.gmail.com \
    --to=pintu.ping@gmail.com \
    --cc=festevam@gmail.com \
    --cc=kernelnewbies@kernelnewbies.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).