From: marex@denx.de (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/7] ARM i.MX51 babbage: Add display support
Date: Tue, 8 Jan 2013 18:29:06 +0100 [thread overview]
Message-ID: <201301081829.06441.marex@denx.de> (raw)
In-Reply-To: <1357665800.2527.17.camel@pizza.hi.pengutronix.de>
Dear Philipp Zabel,
> Am Dienstag, den 08.01.2013, 18:09 +0100 schrieb Marek Vasut:
> > Dear Fabio Estevam,
> >
> > > On Tue, Jan 8, 2013 at 2:41 PM, Fabio Estevam <festevam@gmail.com> wrote:
> > > > Hi Sascha,
> > > >
> > > > On Mon, Nov 12, 2012 at 1:23 PM, Sascha Hauer
> > > > <s.hauer@pengutronix.de>
> >
> > wrote:
> > > >> The babbage board has a DVI-I output which allows to output analog
> > > >> and digital signals simultaneously. This patch adds support for it
> > > >> to the devicetree. The DDC signals are not wired up on the board, so
> > > >> DRM will fall back on default VESA modes.
> > > >>
> > > >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > > >
> > > > I am running linux-next 20130108, which has this patch applied and I
> > >
> > > > get the following on my mx51babbage:
> > > Ok, good news. I see a nice penguin on my monitor now.
> > >
> > > Discussed with Marek and he proposed a quick workaround:
> > >
> > > --- a/drivers/staging/imx-drm/ipuv3-crtc.c
> > > +++ b/drivers/staging/imx-drm/ipuv3-crtc.c
> > > @@ -343,6 +343,11 @@ static irqreturn_t ipu_irq_handler(int irq, void
> > > *dev_id) {
> > >
> > > struct ipu_crtc *ipu_crtc = dev_id;
> > >
> > > + if (!ipu_crtc->imx_crtc) {
> > > + pr_err("Spurious IPU IRQ\n");
> > > + return IRQ_HANDLED;
> > > + }
> > > +
> > >
> > > imx_drm_handle_vblank(ipu_crtc->imx_crtc);
> > >
> > > if (ipu_crtc->newfb) {
> > >
> > > It seems that this issue happened because bootloader leaves the IPU
> > > turned on.
> >
> > To elaborate more on this stuff:
> >
> > 491 ipu_crtc->irq = ipu_idmac_channel_irq(ipu, ipu_crtc->ipu_ch,
> > 492 IPU_IRQ_EOF);
> > 493 ret = devm_request_irq(ipu_crtc->dev, ipu_crtc->irq,
> > ipu_irq_handler, 0,
> > 494 "imx_drm", ipu_crtc);
> > 495 if (ret < 0) {
> > 496 dev_err(ipu_crtc->dev, "irq request failed with
> > %d.\n", ret);
> > 497 goto err_out;
> > 498 }
> > 499
> > 500 disable_irq(ipu_crtc->irq);
> >
> > This code in drivers/staging/imx-drm/ipuv3-crtc.c is broken. If the IPU
> > is on, it produces an interrupt before the driver is fully set up. I
> > didn't produce a patch yet, I think I might offload this to someone
> > else. Volunteers?
>
> Reordering the ipu_get_resources and imx_drm_add_crtc calls should resolve
> this:
>
> From: Philipp Zabel <p.zabel@pengutronix.de>
> Subject: [PATCH] staging: imx/drm: add crtc before registering interrupt
> handler
>
> If the bootloader already enabled the display, the interrupt handler
> will be called as soon as it is registered. If the CRTC is not already
> added at this time, the call to imx_drm_handle_vblank will result in
> a NULL pointer dereference.
I ain't no IPU expert, but isn't adding the component before having it fully
inited even worse?
next prev parent reply other threads:[~2013-01-08 17:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-12 15:23 [PATCH] i.MX IPU SoC support Sascha Hauer
2012-11-12 15:23 ` [PATCH 1/7] ARM i.MX51: setup MIPI during startup Sascha Hauer
2012-11-12 15:23 ` [PATCH 2/7] ARM i.MX6: fix ldb_di_sel mux Sascha Hauer
2012-11-12 15:23 ` [PATCH 3/7] ARM i.MX5: switch IPU clk support to devicetree bindings Sascha Hauer
2012-12-11 5:57 ` Shawn Guo
2012-12-11 9:14 ` Sascha Hauer
2012-12-11 13:13 ` Shawn Guo
2012-11-12 15:23 ` [PATCH 4/7] ARM i.MX53: Add IPU support Sascha Hauer
2012-11-12 15:23 ` [PATCH 5/7] ARM i.MX51: " Sascha Hauer
2012-11-12 15:23 ` [PATCH 6/7] ARM i.MX6: " Sascha Hauer
2012-11-12 15:23 ` [PATCH 7/7] ARM i.MX51 babbage: Add display support Sascha Hauer
2012-11-12 21:40 ` Martin Fuzzey
2012-11-12 21:53 ` Fabio Estevam
2013-01-08 16:41 ` Fabio Estevam
2013-01-08 17:04 ` Fabio Estevam
2013-01-08 17:09 ` Marek Vasut
2013-01-08 17:23 ` Philipp Zabel
2013-01-08 17:29 ` Marek Vasut [this message]
2013-01-09 9:04 ` Philipp Zabel
2013-01-09 9:26 ` Marek Vasut
2013-01-09 9:46 ` Philipp Zabel
2013-01-09 10:25 ` Marek Vasut
2013-01-08 17:31 ` Fabio Estevam
2012-11-13 2:52 ` [PATCH] i.MX IPU SoC support Shawn Guo
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=201301081829.06441.marex@denx.de \
--to=marex@denx.de \
--cc=linux-arm-kernel@lists.infradead.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.