From: Jani Nikula <jani.nikula@linux.intel.com>
To: Damien Lespiau <damien.lespiau@intel.com>,
intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH] drm/i915: Fix wrong number of HDMI translation entries
Date: Mon, 11 Aug 2014 11:22:51 +0300 [thread overview]
Message-ID: <8761hz77vo.fsf@intel.com> (raw)
In-Reply-To: <1407598171-23000-1-git-send-email-damien.lespiau@intel.com>
On Sat, 09 Aug 2014, Damien Lespiau <damien.lespiau@intel.com> wrote:
> I keep telling myself that those tables aren't great because their size
> is the number of dwords we need to program and not the number of entries
> (number of dwords = number of entries * 2).
>
> And... I got it wrong when I refactored the code. Fortunately, it was
> only wrong when the VBT table (or the code parsing it) is itself
> erroneous. Long story short, it shouldn't matter, but still, there's a
> potential array overflow and random programming of the DDI translation
> tables.
Ugh I looked at the code. I think it would benefit from making the
tables have the right amount of entries, with struct { u32 hi, lo; } for
each element. I also dislike the ARRAY_SIZE(hsw_ddi_translations_fdi) in
the first loop, and magic 2 in the second. But that's for a rainy day.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
> drivers/gpu/drm/i915/intel_ddi.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index ca1f9a8..02d5584 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -169,14 +169,14 @@ static void intel_prepare_ddi_buffers(struct drm_device *dev, enum port port)
> ddi_translations_dp = bdw_ddi_translations_dp;
> ddi_translations_edp = bdw_ddi_translations_edp;
> ddi_translations_hdmi = bdw_ddi_translations_hdmi;
> - n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi);
> + n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi) / 2;
> hdmi_800mV_0dB = 7;
> } else if (IS_HASWELL(dev)) {
> ddi_translations_fdi = hsw_ddi_translations_fdi;
> ddi_translations_dp = hsw_ddi_translations_dp;
> ddi_translations_edp = hsw_ddi_translations_dp;
> ddi_translations_hdmi = hsw_ddi_translations_hdmi;
> - n_hdmi_entries = ARRAY_SIZE(hsw_ddi_translations_hdmi);
> + n_hdmi_entries = ARRAY_SIZE(hsw_ddi_translations_hdmi) / 2;
> hdmi_800mV_0dB = 6;
> } else {
> WARN(1, "ddi translation table missing\n");
> @@ -184,7 +184,7 @@ static void intel_prepare_ddi_buffers(struct drm_device *dev, enum port port)
> ddi_translations_fdi = bdw_ddi_translations_fdi;
> ddi_translations_dp = bdw_ddi_translations_dp;
> ddi_translations_hdmi = bdw_ddi_translations_hdmi;
> - n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi);
> + n_hdmi_entries = ARRAY_SIZE(bdw_ddi_translations_hdmi) / 2;
> hdmi_800mV_0dB = 7;
> }
>
> --
> 1.8.3.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
next prev parent reply other threads:[~2014-08-11 8:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-09 15:29 [PATCH] drm/i915: Fix wrong number of HDMI translation entries Damien Lespiau
2014-08-11 8:22 ` Jani Nikula [this message]
2014-08-11 9:29 ` Daniel Vetter
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=8761hz77vo.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=damien.lespiau@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=paulo.r.zanoni@intel.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