All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Maxime Ripard <maxime@cerno.tech>, Emma Anholt <emma@anholt.net>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Regression with mainline kernel on rpi4
Date: Wed, 22 Sep 2021 21:19:06 +0100	[thread overview]
Message-ID: <CADVatmPDeSxeY3GTZyC6+G0N76su0E6Y3LF_h6BOcBf5QAtjvg@mail.gmail.com> (raw)
In-Reply-To: <CAHk-=wh+y=C5hVhE1X=AvZz+OM5Yp8eLHYGth31pfoJVF7UKKQ@mail.gmail.com>

On Wed, Sep 22, 2021 at 7:23 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Wed, Sep 22, 2021 at 10:02 AM Sudip Mukherjee
> <sudipm.mukherjee@gmail.com> wrote:
> >
> >
> > Attached is a complete dmesg and also the decoded trace.
> > This is done on 4357f03d6611 ("Merge tag 'pm-5.15-rc2' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm")
>
> drivers/gpu/drm/vc4/vc4_hdmi.c:1214 is
>
>         tmp = (u64)(mode->clock * 1000) * n;
>
> in vc4_hdmi_set_n_cts(), which has apparently been inlined from
> vc4_hdmi_audio_prepare() in vc4_hdmi.c:1398.
>
> So it looks like 'mode' is some offset off a NULL pointer.
>
> Which looks not impossible:
>
>   1207          struct drm_connector *connector = &vc4_hdmi->connector;
>   1208          struct drm_crtc *crtc = connector->state->crtc;
>   1209          const struct drm_display_mode *mode =
> &crtc->state->adjusted_mode;
>
> looks like crtc->state perhaps might be NULL.

I added some debugs to print the addresses, and I am getting:
[   38.813809] sudip crtc 0000000000000000

This is from struct drm_crtc *crtc = connector->state->crtc;

connector and connector->state had valid addresses.
[   38.805302] sudip connector ffff000040bac578
[   38.809779] sudip state ffff000057eb5400

This is the diff of the debug I added:
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 4a1115043114..2a8f06948094 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1205,11 +1205,20 @@ static void
vc4_hdmi_audio_set_mai_clock(struct vc4_hdmi *vc4_hdmi,
 static void vc4_hdmi_set_n_cts(struct vc4_hdmi *vc4_hdmi, unsigned
int samplerate)
 {
        struct drm_connector *connector = &vc4_hdmi->connector;
-       struct drm_crtc *crtc = connector->state->crtc;
-       const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
+       struct drm_crtc *crtc;
+       struct drm_display_mode *mode;
        u32 n, cts;
        u64 tmp;

+
+       pr_err("sudip connector %px\n", connector);
+       pr_err("sudip state %px\n", connector->state);
+       crtc = connector->state->crtc;
+
+       pr_err("sudip crtc %px\n", crtc);
+       pr_err("sudip state %px\n", crtc->state);
+       pr_err("state mode %px\n", &crtc->state->adjusted_mode);
+       mode = &crtc->state->adjusted_mode;
        n = 128 * samplerate / 1000;
        tmp = (u64)(mode->clock * 1000) * n;
        do_div(tmp, 128 * samplerate);


-- 
Regards
Sudip

  reply	other threads:[~2021-09-22 20:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-02  9:08 Regression with mainline kernel on rpi4 Sudip Mukherjee
2021-09-02  9:08 ` Sudip Mukherjee
2021-09-03 16:03 ` Maxime Ripard
2021-09-03 20:09   ` Sudip Mukherjee
2021-09-03 20:09     ` Sudip Mukherjee
2021-09-04  9:10     ` Maxime Ripard
2021-09-04  9:40       ` Sudip Mukherjee
2021-09-04  9:40         ` Sudip Mukherjee
2021-09-20 14:47         ` Maxime Ripard
2021-09-20 15:43           ` Maxime Ripard
2021-09-20 15:53             ` Maxime Ripard
2021-09-20 16:35               ` Sudip Mukherjee
2021-09-20 16:35                 ` Sudip Mukherjee
2021-09-20 17:10                 ` Maxime Ripard
2021-09-20 17:21                   ` Sudip Mukherjee
2021-09-20 17:21                     ` Sudip Mukherjee
2021-09-22  9:57                     ` Maxime Ripard
2021-09-22 10:10                       ` Sudip Mukherjee
2021-09-22 10:10                         ` Sudip Mukherjee
2021-09-22 11:28                         ` Maxime Ripard
2021-09-22 17:18                           ` Sudip Mukherjee
2021-09-22 17:18                             ` Sudip Mukherjee
2021-09-22 15:22                         ` Linus Torvalds
2021-09-22 15:22                           ` Linus Torvalds
2021-09-22 17:02                           ` Sudip Mukherjee
2021-09-22 17:02                             ` Sudip Mukherjee
2021-09-22 18:23                             ` Linus Torvalds
2021-09-22 18:23                               ` Linus Torvalds
2021-09-22 20:19                               ` Sudip Mukherjee [this message]
2021-09-22 20:19                                 ` Sudip Mukherjee
2021-09-22 20:25                                 ` Linus Torvalds
2021-09-22 20:25                                   ` Linus Torvalds
2021-09-24 13:30                                   ` Maxime Ripard
2021-09-24 22:50                                     ` Daniel Vetter
2021-09-24 22:50                                       ` Daniel Vetter
2021-09-28  8:34                                       ` Maxime Ripard
2021-09-30  9:19                                         ` Daniel Vetter
2021-10-13 15:01                                           ` Maxime Ripard
2021-10-14 13:15                                             ` Daniel Vetter
2021-10-25 14:15                                               ` Maxime Ripard

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=CADVatmPDeSxeY3GTZyC6+G0N76su0E6Y3LF_h6BOcBf5QAtjvg@mail.gmail.com \
    --to=sudipm.mukherjee@gmail.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime@cerno.tech \
    --cc=p.zabel@pengutronix.de \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.