From: Maxime Ripard <maxime@cerno.tech>
To: Kevin Tang <kevin3.tang@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>,
Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Orson Zhai <orsonzhai@gmail.com>,
Chunyan Zhang <zhang.lyra@gmail.com>,
"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
ML dri-devel <dri-devel@lists.freedesktop.org>,
devicetree@vger.kernel.org
Subject: Re: [PATCH v4 4/6] drm/sprd: add Unisoc's drm display controller driver
Date: Thu, 15 Apr 2021 11:09:08 +0200 [thread overview]
Message-ID: <20210415090908.lmu372lzzjb5hz2b@gilmour> (raw)
In-Reply-To: <CAFPSGXa3xsxmfVquN_pTyBJ4+kL4jQAj6sK+86G3SA2OhB7Jtg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1799 bytes --]
Hi,
On Fri, Apr 09, 2021 at 09:35:07PM +0800, Kevin Tang wrote:
> > > > > + }
> > > > > +
> > > > > + return MODE_OK;
> > > > > +}
> > > > > +
> > > > > +static void sprd_crtc_atomic_enable(struct drm_crtc *crtc,
> > > > > + struct drm_atomic_state *state)
> > > > > +{
> > > > > + struct sprd_dpu *dpu = to_sprd_crtc(crtc);
> > > > > +
> > > > > + sprd_dpu_init(dpu);
> > > > > +
> > > > > + sprd_dpi_init(dpu);
> > > > > +
> > > > > + enable_irq(dpu->ctx.irq);
> > > >
> > > > Shouldn't this be in enable_vblank? And I would assume that you would
> > > > have the interrupts enabled all the time, but disabled in your device?
> > > >
> > > It seems better to put in enable_vblank, i will try and test it... Thks
> > >
> > > And I would assume that you would
> > > have the interrupts enabled all the time, but disabled in your device?
> > > [kevin]I don’t quite understand this, can you help me explain it in
> > > detail?
> >
> > You seem to have a register that enables and disables the interrupt in
> > that device. The way we usually deal with them in this case is just to
> > call request_irq in your bind/probe with the interrupts enabled at the
> > controller level, and mask them when needed at the device level by
> > clearing / setting that bit.
> >
> Yeah, we have display controller interrupts setting and clear register.
> But the interrupts all been enabled in bootloader(eg, lk or uboot),
> if the interrupt handler is active in the probe/bind phase by request_irq,
> but the whole display pipeline is not ready, there maybe have some problems.
It's fairly common to clear / ack the interrupts from the device before
calling request_irq precisely to avoid that issue.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2021-04-15 9:09 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-22 13:28 [PATCH v4 0/6] Add Unisoc's drm kms module Kevin Tang
2021-02-22 13:28 ` [PATCH v4 1/6] dt-bindings: display: add Unisoc's drm master bindings Kevin Tang
2021-02-22 13:28 ` [PATCH v4 2/6] drm/sprd: add Unisoc's drm kms master Kevin Tang
2021-02-22 20:55 ` Orson Zhai
2021-03-24 10:53 ` Maxime Ripard
2021-04-08 10:21 ` Thomas Zimmermann
[not found] ` <CAFPSGXZ2o9YRAMax3ZeiyQ5bMtqOsSODMW8V7dXHZSD3gyzbQw@mail.gmail.com>
2021-04-09 13:57 ` Thomas Zimmermann
2021-02-22 13:28 ` [PATCH v4 3/6] dt-bindings: display: add Unisoc's dpu bindings Kevin Tang
2021-02-22 13:28 ` [PATCH v4 4/6] drm/sprd: add Unisoc's drm display controller driver Kevin Tang
2021-03-24 11:10 ` Maxime Ripard
[not found] ` <CAFPSGXZ3DjKt87Kc=wc9YKVzTjkQ38Ok6HnHm+VEdqXyHv54Eg@mail.gmail.com>
2021-04-07 10:45 ` Maxime Ripard
2021-04-08 3:05 ` Chunyan Zhang
[not found] ` <CAFPSGXa3xsxmfVquN_pTyBJ4+kL4jQAj6sK+86G3SA2OhB7Jtg@mail.gmail.com>
2021-04-15 9:09 ` Maxime Ripard [this message]
2021-04-15 0:18 ` Kevin Tang
2021-04-15 9:03 ` Maxime Ripard
2021-04-18 23:01 ` Kevin Tang
2021-04-21 10:00 ` Maxime Ripard
2021-04-08 10:53 ` Thomas Zimmermann
2021-02-22 13:28 ` [PATCH v4 5/6] dt-bindings: display: add Unisoc's mipi dsi controller bindings Kevin Tang
2021-03-24 11:13 ` Maxime Ripard
[not found] ` <CAFPSGXah3gKKHXhukRAPT=RjQZTnvDznG+619+8tah-hfFrUzA@mail.gmail.com>
2021-04-07 10:46 ` Maxime Ripard
[not found] ` <CAFPSGXaQKeKMKC7MGXhxQErB_yh_eE8khk1hOrjHnuOH20Gg4Q@mail.gmail.com>
2021-04-15 8:42 ` Maxime Ripard
2021-04-18 16:33 ` Kevin Tang
2021-04-21 9:38 ` Maxime Ripard
2021-02-22 13:28 ` [PATCH v4 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver Kevin Tang
[not found] ` <20210324112745.n76qhrbhzyfunmkd@gilmour>
[not found] ` <CAFPSGXYK0Hi2-eYkukO2pNhHrJVZ=f79sj_hjXnGBZ_meVmkFg@mail.gmail.com>
2021-04-07 10:48 ` Maxime Ripard
2021-04-15 0:19 ` Kevin Tang
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=20210415090908.lmu372lzzjb5hz2b@gilmour \
--to=maxime@cerno.tech \
--cc=airlied@linux.ie \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=kevin3.tang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mark.rutland@arm.com \
--cc=orsonzhai@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sean@poorly.run \
--cc=zhang.lyra@gmail.com \
/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).