From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 15/24] drm/i2c: tda998x: use irq for connection status and EDID read
Date: Wed, 22 Jan 2014 22:27:05 +0000 [thread overview]
Message-ID: <20140122222705.GL15937@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20140119195843.7ae9753d@armhf>
On Sun, Jan 19, 2014 at 07:58:43PM +0100, Jean-Francois Moine wrote:
> This patch adds the optional treatment of the tda998x IRQ.
>
> The interrupt function is used to know the display connection status
> without polling and to speedup reading the EDID.
>
> The interrupt number may be defined either in the DT or at encoder set
> config time for non-DT boards.
>
> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
> ---
> v3
> - remarks from Russell King
> - move the setting of the wq_edid_wait flag before asking the
> device to read the EDID
> Thanks about this bug fix, but I don't see the other problem:
> there is no reason for the read_edid_block function to be
> called more than once...
It will happen whenever DRM asks the connector for the modes. However,
since the read process is triggered each time, I think this is fine.
> - use '0' as 'no irq'
> - remove the useless delay after irq init
Some further comments...
> @@ -720,6 +787,10 @@ tda998x_encoder_set_config(struct drm_encoder *encoder, void *params)
> priv->audio_port = p->audio_cfg;
> priv->audio_format = p->audio_format;
> }
> +
> + priv->irq = p->irq;
> + if (p->irq)
> + tda_irq_init(priv);
If we're going to do it this way, this should probably release the IRQ if
there was one before re-claiming it, just in case this function gets called
more than once by some driver using it.
The alternative is, as I said before, to use the infrastructure which is
already there, namely setting the interrupt via struct i2c_client's
irq member. Yes, that doesn't satisfy Sebastian's comment about using
a GPIO, but there's no sign of GPIO usage in here at the moment anyway.
So we might as well use what's already provided.
That would then avoid the need to deal with IRQ changes etc in
tda998x_encoder_set_config().
In any case, I've tested this patch in both non-IRQ and IRQ modes, and it
appears to work - but I'd like the suggestion above before I provide any
attributations.
Thanks.
--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".
next prev parent reply other threads:[~2014-01-22 22:27 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1390153344.git.moinejf@free.fr>
2014-01-19 18:58 ` [PATCH v3 01/24] drm/i2c: tda998x: simplify the i2c read/write functions Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 03/24] drm/i2c: tda998x: code cleanup Jean-Francois Moine
2014-01-22 21:22 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 04/24] drm/i2c: tda998x: change probe message origin Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 02/24] drm/i2c: tda998x: check more I/O errors Jean-Francois Moine
2014-01-22 21:21 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 05/24] drm/i2c: tda998x: don't freeze the system at audio startup time Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 06/24] drm/i2c: tda998x: force the page register at " Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 07/24] drm/i2c: tda998x: set the video mode from the adjusted value Jean-Francois Moine
2014-01-22 21:28 ` Russell King - ARM Linux
2014-01-23 23:29 ` Darren Etheridge
2014-01-28 17:12 ` Jean-Francois Moine
2014-01-28 19:24 ` Darren Etheridge
2014-01-19 18:58 ` [PATCH v3 08/24] drm/i2c: tda998x: fix bad value in the AIF Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 12/24] drm/i2c: tda998x: check the CEC device creation Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 11/24] drm/i2c: tda998x: free the CEC device on encoder_destroy Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 09/24] drm/i2c: tda998x: use HDMI constants Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 10/24] drm/i2c: tda998x: don't read write-only registers Jean-Francois Moine
2014-01-22 21:35 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 15/24] drm/i2c: tda998x: use irq for connection status and EDID read Jean-Francois Moine
2014-01-22 22:27 ` Russell King - ARM Linux [this message]
2014-01-24 17:29 ` Sebastian Hesselbarth
2014-01-24 17:47 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 13/24] drm/i2c: tda998x: fix a NULL pointer dereference Jean-Francois Moine
2014-01-22 21:41 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 14/24] drm/i2c: tda998x: add DT support Jean-Francois Moine
2014-01-22 21:37 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 17/24] drm/i2c: tda998x: get a better status of the connection Jean-Francois Moine
2014-01-22 22:51 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 16/24] drm/i2c: tda998x: add DT documentation Jean-Francois Moine
2014-01-20 4:06 ` Olof Johansson
2014-01-20 9:54 ` Jean-Francois Moine
2014-01-21 18:17 ` Olof Johansson
2014-01-22 22:40 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 19/24] drm/i2c: tda998x: use global constants Jean-Francois Moine
2014-01-22 23:29 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 18/24] drm/i2c: tda998x: fix the ENABLE_SPACE register Jean-Francois Moine
2014-01-22 23:27 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 20/24] drm/i2c: tda998x: remove the unused variable ca_i2s Jean-Francois Moine
2014-01-22 23:30 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 21/24] drm/i2c: tda998x: add the active aspect in HDMI AVI frame Jean-Francois Moine
2014-01-22 23:37 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 23/24] drm/i2c: tda998x: code optimization Jean-Francois Moine
2014-01-19 18:58 ` [PATCH v3 22/24] drm/i2c: tda998x: change the frequence in the audio channel Jean-Francois Moine
2014-01-22 23:52 ` Russell King - ARM Linux
2014-01-19 18:58 ` [PATCH v3 24/24] drm/i2c: tda998x: adjust the audio clock divider for S/PDIF Jean-Francois Moine
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=20140122222705.GL15937@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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 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).